From 64ef5730bf8c96ceb271bcac874c732c1e7d28a0 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Tue, 7 Jan 2025 11:15:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(examine):=20=E4=BF=AE=E5=A4=8D=E8=80=83?= =?UTF-8?q?=E6=A0=B8=E4=BB=BB=E5=8A=A1=E6=9F=A5=E8=AF=A2=E5=92=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复了考核任务查询中根据状态筛选的问题 - 优化了考核用户信息获取的逻辑,增加了主管用户 ID 和名称字段 - 调整了考核用户信息保存逻辑,自动设置主管用户 ID - 优化了任务查询接口,支持直接使用查询参数对象 --- .../business/examine/task/TaskSetUpController.java | 2 +- .../service/impl/ExamineDetailServiceImpl.java | 11 ++++++++++- .../business/examine/user/domain/ExamineUser.java | 2 ++ .../user/service/impl/ExamineUserServiceImpl.java | 4 ++++ .../mapper/business/examine/ExamineTaskMapper.xml | 9 ++++++++- .../mapper/business/examine/ExamineUserMapper.xml | 12 ++++++++++-- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/task/TaskSetUpController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/task/TaskSetUpController.java index 4bfee4d..f153c2b 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/task/TaskSetUpController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/task/TaskSetUpController.java @@ -32,7 +32,7 @@ public class TaskSetUpController extends BaseController { // 分页查询+模糊查询 @GetMapping("/get") - public TableDataInfo getTasks(@RequestBody TaskQueryDto queryDto) { + public TableDataInfo getTasks(TaskQueryDto queryDto) { startPage(); List tasks = taskService.getTasks(queryDto); return getDataTable(tasks); 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 2f9c81b..7dbc326 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 @@ -15,8 +15,10 @@ 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.domain.ExamineUser; import tech.unissense.pms.business.examine.user.mapper.ExamineUserMapper; import tech.unissense.pms.business.work.logger.service.IWorkLoggerService; +import tech.unissense.pms.common.exception.ServiceException; import tech.unissense.pms.common.utils.bean.BeanUtils; import tech.unissense.pms.system.service.ISysDictDataService; @@ -125,7 +127,14 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { Map result=new HashMap<>(); result.put("examineConfigDetailVoList",examineConfigDetailVoList); - result.put("examineUser",userMapper.queryById(dto.getExamineId())); + ExamineUser examineUser = new ExamineUser(); + examineUser.setId(dto.getExamineId()); + List list1 = userMapper.list(examineUser); + if (CollUtil.isEmpty(list1)){ + throw new ServiceException("未找到考核人员"); + } + result.put("examineUser",list1.get(0)); + result.put("examineTask",examineTaskMapper.queryById(dto.getExamineTaskId())); return result; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java index 4f62f0a..a040656 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java @@ -48,6 +48,8 @@ public class ExamineUser extends BaseEntity { * 主管评分状态 0:待完成 1:已完成 */ private String examineStatus; + private Integer manageUserId; + private String manageUserName; private String deptId; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java index 9f1aa3f..e5403ce 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java @@ -10,6 +10,7 @@ import tech.unissense.pms.business.examine.user.mapper.ExamineUserMapper; import tech.unissense.pms.business.examine.user.service.ExamineUserService; import org.springframework.stereotype.Service; import tech.unissense.pms.common.annotation.DataScope; +import tech.unissense.pms.common.utils.SecurityUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -98,6 +99,9 @@ public class ExamineUserServiceImpl implements ExamineUserService { examineUser.setManageScore(examineDto.getManageScore()); String examineStatus = StrUtil.isNotEmpty(examineDto.getExamineStatus()) ? examineDto.getExamineStatus() : user.getExamineStatus(); String examineStatusSelf = StrUtil.isNotEmpty(examineDto.getExamineStatusSelf()) ? examineDto.getExamineStatusSelf() : user.getExamineStatusSelf(); + if ("1".equals(examineStatus) && user.getManageUserId() == null) { + examineUser.setManageUserId(SecurityUtils.getUserId().intValue()); + } //均已完成 计算总分数 boolean flag = "1".equals(examineStatus) && "1".equals(examineStatusSelf); if (flag) { 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 7e41100..9f2bc6d 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineTaskMapper.xml @@ -49,7 +49,14 @@ AND task_name LIKE CONCAT('%', #{taskName}, '%') - AND task_status = #{taskStatus} + + + AND end_time < NOW() + + + AND end_time > CURRENT_TIMESTAMP + + AND year = #{year} diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml index bbeabdd..fc8437e 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml @@ -11,6 +11,7 @@ + @@ -21,7 +22,8 @@ judge_content, manage_score, examine_status, - examine_status_self + examine_status_self, + manage_user_id from pms_examine_user @@ -67,8 +69,11 @@ t1.manage_score, t1.examine_status, t1.examine_status_self, - t2.nick_name as userName + t1.manage_user_id, + t2.nick_name as userName, + t3.nick_name as manageUserName from pms_examine_user t1 left join sys_user t2 on t1.user_id = t2.user_id + left join sys_user t3 on t1.manage_user_id = t3.user_id and t1.id = #{id} @@ -165,6 +170,9 @@ examine_status_self = #{examineStatusSelf}, + + manage_user_id = #{manageUserId}, + where id = #{id}