diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index b14f6f35..0b932a69 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -387,9 +387,10 @@ public class ResultRecordController extends AbstractController { staffs.addAll(departManagers.getManagers()); } } - /*if(staffs.size() == 0){ - return R.error("找不到有效的评分人,设置的评分人不存在"); - }*/ + if(staffs.size() == 0){ + log.info("无法找到评分人员,开始找绩效管理人员"); + staffs = staffService.findManger(resultRecord.getId(), 4); + } for (StaffEntity staff:staffs ) { diff --git a/src/main/java/com/lz/modules/app/dao/StaffDao.java b/src/main/java/com/lz/modules/app/dao/StaffDao.java index 70f7b8c8..8a367679 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -98,4 +98,6 @@ public interface StaffDao extends BaseMapper { List selectNamesByIds(@Param("list") List sIds); List selectStaffsByGroupId(@Param("copyId") Long copyId); + + List findManger(@Param("recordId") Long recordId, @Param("flowProcess") int flowProcess); } diff --git a/src/main/java/com/lz/modules/app/service/StaffService.java b/src/main/java/com/lz/modules/app/service/StaffService.java index dad4c18f..936f6f45 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -103,5 +103,7 @@ public interface StaffService extends IService { List selectNamesByIds(List sIds); //获取绩效考核管理员 List selectStaffsByGroupId(Long copyId); + + List findManger(Long recordId, int flowProcess); } diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index d2a37b33..a15333aa 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -529,5 +529,10 @@ public class StaffServiceImpl extends ServiceImpl impleme return staffDao.selectStaffsByGroupId(copyId); } + @Override + public List findManger(Long recordId, int flowProcess){ + return staffDao.findManger(recordId, flowProcess); + } + } 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 3e3a4513..2a6c15d4 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -58,4 +58,5 @@ public interface EvaluationGroupService extends IService { String getEvaluationCopyIdsByEvaluationIds(String evaluationIds,Long startId); + EvaluationGroup selectEvaluationGroupByCopyId(Long copyId, Long startId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index a9960339..4e82a9cd 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -414,4 +414,8 @@ public class EvaluationGroupServiceImpl extends ServiceImpl> staffManages, List staffIds, - Map> mustRole, Map> selfMustRole){ + Map> mustRole, Map> selfMustRole, boolean isInsert){ List resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId()); @@ -340,7 +341,7 @@ public class FlowStartServiceImpl extends ServiceImpl evaluationStartStaffs = new ArrayList<>(); + //下面初始化参与人员 + for (StaffSimpleInfo staffInfo:staffIds + ) { + staffInfo.setStartId(flowStart.getId()); + + EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); + evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); + evaluationStartStaff.setEvaluationName(evaluationGroup.getName()); + evaluationStartStaff.setStaffId(staffInfo.getId()); + evaluationStartStaff.setStartId(flowStart.getId()); + evaluationStartStaff.setDepartmentId(staffInfo.getDepartmentId()); + evaluationStartStaff.setType(CheckStaffType.STAFF.getCode()); + evaluationStartStaffs.add(evaluationStartStaff); + + + //初始化lz_result_records数据 + ResultRecord resultRecord = new ResultRecord(); + resultRecord.setDepartmentId(staffInfo.getDepartmentId()); + resultRecord.setDepartmentName(staffInfo.getDepartmentName()); + resultRecord.setStaffId(staffInfo.getId()); + resultRecord.setStaffName(staffInfo.getName()); + resultRecord.setType(1);//设置为提交目标 + resultRecord.setStatus(0);//设置为新建 + resultRecord.setStartId(flowStart.getId()); + resultRecord.setEvaluationId(evaluationGroup.getId()); + resultRecord.setFlowProcess(0);//设置为目标制定 + + //设置当前审批员工id current_approval_staff_id + resultRecord.setCurrentApprovalStaffId(staffInfo.getId()); + //设置当前审批员工姓名 current_approval_staff_name + resultRecord.setCurrentApprovalStaffName(staffInfo.getName()); + + resultRecordService.insertResultRecord(resultRecord); + staffInfo.setRecordId(resultRecord.getId()); + //下面生成实际的考核流程 + resultRecordService.initFlowRecord(resultRecord.getId()); + } + evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); + return 0; } diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index 187511c6..102b4ab8 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -545,4 +545,11 @@ ) and is_delete=0) as staff join lz_staff_occupation as occupation on staff.id = occupation.staff_id where occupation.staff_status=0 + +