diff --git a/src/main/java/com/lz/modules/flow/model/GroupStaffs.java b/src/main/java/com/lz/modules/flow/model/GroupStaffs.java index 307a2a29..789ac5cd 100644 --- a/src/main/java/com/lz/modules/flow/model/GroupStaffs.java +++ b/src/main/java/com/lz/modules/flow/model/GroupStaffs.java @@ -1,11 +1,12 @@ package com.lz.modules.flow.model; +import com.lz.modules.flow.entity.EvaluationGroup; import lombok.Data; import java.util.List; //组,人员ids @Data public class GroupStaffs { - private Long groupId; + private EvaluationGroup evaluationGroup; private List staffIds; } diff --git a/src/main/java/com/lz/modules/flow/model/StartGroups.java b/src/main/java/com/lz/modules/flow/model/StartGroups.java index eb770c6b..fdd75add 100644 --- a/src/main/java/com/lz/modules/flow/model/StartGroups.java +++ b/src/main/java/com/lz/modules/flow/model/StartGroups.java @@ -7,5 +7,5 @@ import java.util.List; @Data public class StartGroups { private Long startId; - private List staffIds; + private List groups; } diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index a7f4f48a..53d10c46 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -10,10 +10,7 @@ import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.*; -import com.lz.modules.flow.model.DepartManagers; -import com.lz.modules.flow.model.ResultModelDto; -import com.lz.modules.flow.model.ResultTagetLibDto; -import com.lz.modules.flow.model.StartGroups; +import com.lz.modules.flow.model.*; import com.lz.modules.flow.service.*; import com.lz.modules.performance.service.ResultTagetLibService; import com.lz.modules.sys.entity.app.ResultDetail; @@ -135,6 +132,28 @@ public class FlowStartServiceImpl extends ServiceImpl> staffManages = new HashedMap();//部门(id+几级)和部门几级管理对应关系,减少数据库查找 + for (GroupStaffs groupStaffs:startGroupStaffIds.getGroups() + ) { + List staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds()); + if(staffSimpleInfos.size() == 0){ + R.error(groupStaffs.getEvaluationGroup().getName() + "——无有效考核人员"); + } + switch (start(groupStaffs.getEvaluationGroup(), flowStart, staffManages, staffSimpleInfos)){ + + case 1: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核模板"); + case 2: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有绩效流程节点"); + case 3: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核流程"); + case 4: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置绩效管理人员"); + case 5: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——初始化考核流程失败"); + } + } + return R.ok(); } @@ -180,44 +199,45 @@ public class FlowStartServiceImpl extends ServiceImpl staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup); + + if(staffIds.size() == 0){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + + return R.error(evaluationGroup.getName() + "——无有效考核人员"); + } + switch (start(evaluationGroup, flowStart, staffManages, staffIds)){ + case 1: - return R.error(evaluationGroup.getName() + "——无有效考核人员"); - case 2: return R.error(evaluationGroup.getName() + "——没有设置考核模板"); - case 3: + case 2: return R.error(evaluationGroup.getName() + "——没有绩效流程节点"); - case 4: + case 3: return R.error(evaluationGroup.getName() + "——没有设置考核流程"); - case 5: + case 4: return R.error(evaluationGroup.getName() + "——没有设置绩效管理人员"); - case 6: + case 5: return R.error(evaluationGroup.getName() + "——初始化考核流程失败"); } } return R.ok("发起成功").put("data", flowStart); } - private int start(EvaluationGroup evaluationGroup, FlowStart flowStart, Map> staffManages){ + private int start(EvaluationGroup evaluationGroup, FlowStart flowStart, + Map> staffManages, List staffIds){ - //下面初始化员工考核流程 - List staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup); - if(staffIds.size() == 0){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - - return 1; - } List resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId()); if(resultModelDtos.size() == 0){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return 2; + return 1; } List flowCharts = flowChartService.selectFlowChartsByGroupId(evaluationGroup.getId()); if(flowCharts.size() == 0){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return 3; + return 2; } List flowChartDetailRecords = new ArrayList<>(); for (FlowChart chart:flowCharts @@ -229,7 +249,7 @@ public class FlowStartServiceImpl extends ServiceImpl chartNameMaps = flowCharts.stream().collect(Collectors.toMap(FlowChart::getId, FlowChart::getName));//流程节点与流程名称对应map,下面多次循环,减少数据库查找 @@ -249,15 +269,18 @@ public class FlowStartServiceImpl extends ServiceImpl resultTagetLibs = new ArrayList<>(); @@ -512,7 +535,7 @@ public class FlowStartServiceImpl extends ServiceImpl