diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java index aa33a96..e2ee372 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java @@ -71,6 +71,7 @@ public class ExamineDetailController extends BaseController { if (dto.getExamineId() == null) { Assert.notNull(dto.getUserId(), "用户ID不能为空"); ExamineUser examineUser = examineUserService.queryByTaskIdAndUserId(dto.getExamineTaskId(), dto.getUserId()); + Assert.notNull(examineUser, "考核人员不存在"); dto.setExamineId(examineUser.getId()); } Assert.notNull(dto.getExamineId(), "考核ID不能为空"); diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java index be13e1e..2f9c81b 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java @@ -13,8 +13,9 @@ import tech.unissense.pms.business.examine.detail.mapper.ExamineDetailMapper; import tech.unissense.pms.business.examine.detail.service.ExamineDetailService; import org.springframework.stereotype.Service; import tech.unissense.pms.business.examine.detail.vo.ExamineConfigDetailVo; +import tech.unissense.pms.business.examine.task.domain.ExamineTask; +import tech.unissense.pms.business.examine.task.mapper.ExamineTaskMapper; import tech.unissense.pms.business.examine.user.mapper.ExamineUserMapper; -import tech.unissense.pms.business.examine.user.service.impl.ExamineUserServiceImpl; import tech.unissense.pms.business.work.logger.service.IWorkLoggerService; import tech.unissense.pms.common.utils.bean.BeanUtils; import tech.unissense.pms.system.service.ISysDictDataService; @@ -45,6 +46,8 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { private IWorkLoggerService workLoggerService; @Autowired private ISysDictDataService sysDictDataService; + @Autowired + private ExamineTaskMapper examineTaskMapper; /** * 通过ID查询单条数据 @@ -144,8 +147,9 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { examineConfigQueryDto.setReviewType(typeEnum.getType()); } List configList = configMapper.list(examineConfigQueryDto); + ExamineTask examineTask = examineTaskMapper.queryById(taskId); //系统核算单独处理 - dealSystemBusinessAccount(examineList, configList); + dealSystemBusinessAccount(examineList, configList,examineTask); Map configMap = configList.stream().collect(Collectors.toMap(ExamineConfig::getId, Function.identity())); Map scoreMap = new HashMap<>(); for (ExamineDetail detail : examineList) { @@ -168,12 +172,12 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { return scoreMap; } - private void dealSystemBusinessAccount(List examineList, List configList) { + private void dealSystemBusinessAccount(List examineList, List configList, ExamineTask examineTask) { Map systemExamineConfigMap = configList.stream().filter(item -> ReviewTypeEnum.SYSTEM.getType().equals(item.getReviewType())).collect(Collectors.toMap(ExamineConfig::getId, Function.identity())); //如有系统核算才处理 if (CollUtil.isNotEmpty(systemExamineConfigMap)) { - String workDay = sysDictDataService.selectDictLabel("pms_work_day", "2024"); + String workDay = sysDictDataService.selectDictLabel("pms_work_day", examineTask.getYear().toString()); workDay = StrUtil.isNotEmpty(workDay) ? workDay : "251"; BigDecimal configWorkDay = new BigDecimal(workDay); List collect = examineList.stream().filter(item -> systemExamineConfigMap.containsKey(item.getConfigId())).collect(Collectors.toList()); diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/mapper/ExamineTaskMapper.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/mapper/ExamineTaskMapper.java index af61232..547fc26 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/mapper/ExamineTaskMapper.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/mapper/ExamineTaskMapper.java @@ -26,5 +26,7 @@ public interface ExamineTaskMapper { void deleteTask(Integer id); List listTask(TaskQueryDto queryDto); + + ExamineTask queryById(Integer taskId); } diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml index cbbee96..bce5fbe 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml @@ -29,7 +29,7 @@ - select distinct t1.id,t1.task_name, t1.people_number, t1.people_number_detail, t1.task_status, t1.create_time, t1.end_time from pms_examine_task t1 left join pms_examine_user t2 on t1.id = t2.task_id @@ -41,11 +41,18 @@ AND task_status = #{taskStatus} + + AND year = #{year} + ${params.dataScope} + UPDATE pms_examine_task