This commit is contained in:
杜建超 2020-11-11 11:56:37 +08:00
parent 9300ba5c8c
commit 7410defba0

View File

@ -40,7 +40,9 @@ import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.function.ToLongFunction;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static java.util.stream.Collectors.toList;
@ -343,8 +345,8 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
//是否存在其他组成员
staffIdsByGroup.retainAll(allStaffIdsByGroup);
if(CollectionUtils.isNotEmpty(staffIdsByGroup)){
List<Long> collect = staffIdsByGroup.stream().map(s -> Long.valueOf(s)).distinct().collect(toList());
List<StaffSimpleDto> staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(collect);
List<Long> longCollect = staffIdsByGroup.stream().distinct().map(s -> Long.valueOf(s)).collect(toList());
List<StaffSimpleDto> staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(longCollect);
String notInGroupNames = StringUtil.EMPTY;
for(StaffSimpleDto dto:staffSimpleDtos){
notInGroupNames = notInGroupNames + dto.getName() + " ";
@ -353,14 +355,17 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
if(evaluationGroup.getConfirm()==0){
return R.error(504,notInGroupNames + "已在其他类型为月度的考评组中,是否改为到此考评组中进行考核");
}
List<String> stringCollect = staffIdsByGroup.stream().distinct().collect(toList());
evaluationGroups.forEach(evaluationGroup12 -> {
List<String> staffs = map.get(evaluationGroup12.getId());
staffs.retainAll(collect);
//如果组里面有他删除掉
staffs.retainAll(stringCollect);
if(CollectionUtils.isNotEmpty(staffs)){
//添加到保存时添加
//删除存在得
log.info("需删除其他组信息staffs:" + JSON.toJSONString(staffs));
removeStaffsToAssessGroup(collect,evaluationGroup12);
removeStaffsToAssessGroup(stringCollect,evaluationGroup12);
}
});
@ -371,7 +376,7 @@ public class EvaluationGroupServiceImpl extends ServiceImpl<EvaluationGroupMappe
return R.ok();
}
private int removeStaffsToAssessGroup(List<Long> ids,EvaluationGroup group) {
private int removeStaffsToAssessGroup(List<String> ids,EvaluationGroup group) {
String staffIds = group.getStaffIds();
if(StringUtil.isNotBlank(staffIds)){
String[] split = staffIds.split(",");