diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java index 11b182e2..ce4e07b1 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationStartStaffMapper.java @@ -41,4 +41,9 @@ public interface EvaluationStartStaffMapper extends BaseMapper staffIds); + + List selectStaffIdsByStart(@Param("startId") Long startId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java index 37970d09..323470a2 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -6,6 +6,7 @@ import com.lz.common.utils.R; import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.req.EvaluationGroupReq; +import com.lz.modules.performance.dto.CheckStaffDto; import java.util.List; @@ -48,4 +49,6 @@ public interface EvaluationGroupService extends IService { List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); void deleteByIds(List ids); + + List checkStaff(EvaluationGroup evaluationGroup); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationStartStaffService.java b/src/main/java/com/lz/modules/flow/service/EvaluationStartStaffService.java index 96ba897d..04122182 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationStartStaffService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationStartStaffService.java @@ -38,4 +38,6 @@ public interface EvaluationStartStaffService extends IService getStaffIdsByGroup(EvaluationGroup evaluationGroup){ String depIds = evaluationGroup.getDepIds(); Set allDeparmentIds = new HashSet<>(); if(StringUtils.isNotBlank(depIds)){ @@ -165,7 +173,6 @@ public class EvaluationGroupServiceImpl extends ServiceImpl data = staffOccupationService.removeDimissionStaffByStaffIds(distDepStaffIds); return data; } - @Override public List selectEvaluationGroupByIds(List ids){ return evaluationGroupMapper.selectEvaluationGroupByIds(ids); @@ -251,4 +258,28 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids) { evaluationGroupMapper.deleteByIds(ids); } + + + @Override + public List checkStaff(EvaluationGroup evaluationGroup) { + List staffs= new ArrayList<>(); + //本次参加人员 + List staffIdsByGroup = getStaffIdsByGroup(evaluationGroup); + + //获取之前 + List evaluationGroups = evaluationGroupMapper.selectList(new QueryWrapper() + .eq("is_delete", 0).eq("copy_id", 0)); + + if(CollectionUtils.isEmpty(evaluationGroups)){ + return staffs; + } + evaluationGroups.stream().map(new Function() { + @Override + public CheckStaffDto apply(EvaluationGroup evaluationGroup) { + //evaluationGroupService. + return null; + } + }); + return null; + } } diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java index 8f4b2609..0b739f1f 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java @@ -99,4 +99,8 @@ public class EvaluationStartStaffServiceImpl extends ServiceImpl strings = Arrays.asList(split); List ids = strings.stream().map(s -> Long.valueOf(s)).collect(toList()); List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids); - Set staffIds = new HashSet<>(); - //获取所有考核人员 - for(EvaluationGroup group:evaluationGroups){ - List staff = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); - staffIds.addAll(staff); - } - List all = new ArrayList<>(staffIds); + + //获取变更人员 String[] changeStaffIds = req.getStaffIds().split(","); - List change = Arrays.asList(changeStaffIds); + List change = new ArrayList<>(Arrays.asList(changeStaffIds)); + if(req.getChangeType() == 0){ - //获取不在考评组的人员 + //获取所有考核人员 + List all = new ArrayList<>(); + + //根据组id成员分组 + Map> map = Maps.newHashMap(); + for(EvaluationGroup group:evaluationGroups){ + List staff = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); + all.addAll(staff); + map.put(group.getId(),staff); + } + + //获取不在考核组成员 List notInGroup = change.stream().filter(item -> !all.contains(item)).collect(toList()); + + //获取不在考评组的人员 if(CollectionUtils.isNotEmpty(notInGroup)){ - List collect = notInGroup.stream().map(s -> Long.valueOf(s)).collect(toList()); + List collect = notInGroup.stream().map(s -> Long.valueOf(s)).distinct().collect(toList()); List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(collect); String notInGroupNames = StringUtil.EMPTY; for(StaffSimpleDto dto:staffSimpleDtos){ notInGroupNames = notInGroupNames + dto.getName() + " "; } - return notInGroupNames; + return notInGroupNames + "已在其他类型为月度的考评组中,是否改为到此考评组中进行考核"; } - //初始化添加用户的数据 TODO + //初始化添加用户的数据 + List groupS = new ArrayList<>(); + + //排除已发起过的 + List longs = evaluationStartStaffMapper.selectStaffIdsByStart(req.getStartId()); + + for(EvaluationGroup group:evaluationGroups){ + GroupStaffs groupStaffs = new GroupStaffs(); + groupStaffs.setEvaluationGroup(group); + + List staffs = map.get(group.getId()); + staffs.retainAll(notInGroup); + + List collect = staffs.stream().map(s -> Long.valueOf(s)).collect(toList()); + collect.removeAll(longs); + groupStaffs.setStaffIds(collect); + groupS.add(groupStaffs); + } + + StartGroups startGroups = new StartGroups(); + startGroups.setStartId(req.getStartId()); + startGroups.setGroups(groupS); + flowStartService.startStaffs(startGroups); return ok; @@ -148,6 +194,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { if(req.getChangeType() == 1){ //删除本次考核任务 resultRecordMapper.batchDeleteByStartIdAndStaffId(req.getStartId(),change); + evaluationStartStaffMapper.deleteEvaluationStartStaffChangeAssess(req.getStartId(),change); return ok; } return ok; @@ -158,11 +205,23 @@ public class AssessManagerServiceImpl implements AssessManagerService { @Override public void toScore(AssessToScoreReq req) { String[] split = req.getEvaluationIds().split(","); - Arrays.asList(split); + for(String s:split){ + Long evaluation = Long.valueOf(s); + //更新评分 + int i = evaluationStartStaffService.updateBatchToScore(req.getStartId(), evaluation); - /* evaluationStartStaffService.updateBatchById() - evaluationStartStaffService.saveBatch()*/ + List longs = resultRecordMapper.selectToScoreList(req.getStartId(), evaluation); + } + List strings = Arrays.asList(split); + + //更新流程绩效 + ApprovalDto approvalDto = new ApprovalDto(); + try { + resultRecordService.newApproval(approvalDto); + } catch (Exception e) { + e.printStackTrace(); + } } @@ -183,4 +242,6 @@ public class AssessManagerServiceImpl implements AssessManagerService { return evaluationStartStaffs; } + + } diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 91ac06e9..78189749 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -90,4 +90,6 @@ public interface ResultRecordMapper extends BaseMapper { List countAssessNumByFlowProcess(@Param("req")AssessDetailReq req); void batchDeleteByStartIdAndStaffId(@Param("startId")Long startId,@Param("staffIds") List staffIds); + + List selectToScoreList(@Param("startId")Long startId,@Param("evaluationId")Long evaluationId); } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 19403641..fd3c7dec 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -461,5 +461,12 @@ ) + + diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index 993afe17..f2c8754b 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -137,5 +137,35 @@ select count(1) from lz_evaluation_start_staff where is_delete = 0 and evaluation_id=#{evaluationId} AND start_id =#{startId} and score = 1 limit 1 + + + update + lz_evaluation_start_staff + set + score = 1, + ,gmt_modified = now() + where is_delete = 0 and score = 0 and type = 0 + and evaluation_id = #{evaluationId} and start_id = #{startId} + + + + + update + lz_evaluation_start_staff + set + is_delete = 1, + ,gmt_modified = now() + where is_delete = 0 and type = 0 + and start_id = #{startId} + and staff_id in ( + + #{staff_id} + + ) + + +