From 76b99571a4d965d1a825292024696ea0b3a98f0f Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Tue, 7 Jan 2025 09:14:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(examine):=20=E4=BF=AE=E5=A4=8D=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=A0=B8=E7=AE=97=E5=88=86=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加考核人员存在性校验 - 通过任务ID获取年份,替代硬编码的年份值- 添加 ExamineTaskMapper 的 queryById 方法并实现 - 优化系统核算分数的计算逻辑 --- .../examine/detail/ExamineDetailController.java | 1 + .../service/impl/ExamineDetailServiceImpl.java | 12 ++++++++---- .../examine/task/mapper/ExamineTaskMapper.java | 2 ++ .../mapper/business/examine/ExamineTaskMapper.xml | 9 ++++++++- 4 files changed, 19 insertions(+), 5 deletions(-) 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