From 534dbf1a8d65111aa5cec544f5f7f45f072010ab Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Fri, 3 Jan 2025 16:13:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(examine):=20=E6=96=B0=E5=A2=9E=E8=80=83?= =?UTF-8?q?=E6=A0=B8=E4=BB=BB=E5=8A=A1=E5=92=8C=E7=94=A8=E6=88=B7=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ExamineTask 模型中添加 userIdList 字段,用于保存考核用户列表 - 在 ExamineUser模型中添加 taskId 字段,用于关联考核任务 - 修改 TaskServiceImpl 中的 addTask 方法,增加考核用户信息的保存逻辑 - 调整 ExamineDetailController 和 ExamineDetailService 中的方法,以适应新的考核用户关联 --- .../detail/ExamineDetailController.java | 3 +-- .../detail/service/ExamineDetailService.java | 2 +- .../impl/ExamineDetailServiceImpl.java | 13 +++++++++-- .../examine/task/domain/ExamineTask.java | 4 ++++ .../task/service/impl/TaskServiceImpl.java | 22 +++++++++++++++---- .../examine/user/domain/ExamineUser.java | 4 ++++ 6 files changed, 39 insertions(+), 9 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 26a7c4c..aa33a96 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 @@ -64,7 +64,6 @@ public class ExamineDetailController extends BaseController { } @GetMapping - @PreAuthorize("@ss.hasPermi('examine:manager:list')") public AjaxResult list(ExamineDetailRequestDto dto) { Assert.notNull(dto.getExamineTaskId(), "考核任务ID不能为空"); // Assert.notNull(dto.getExamineId(), "考核ID不能为空"); @@ -94,11 +93,11 @@ public class ExamineDetailController extends BaseController { Assert.notEmpty(examineDto.getExamineDetailList(), "考核详情不能为空"); Assert.notNull(examineDto.getExamineId(), "考核ID不能为空"); Assert.notNull(examineDto.getTaskId(), "考核任务ID不能为空"); - Assert.notNull(examineDto.getManageScore(), "考核分数不能为空"); for (ExamineDetail examineDetail : examineDto.getExamineDetailList()) { examineDetail.setExamineId(examineDto.getExamineId()); } if (ReviewTypeEnum.MANAGE.getType().equals(examineDto.getReviewType())) { + Assert.notNull(examineDto.getManageScore(), "考核分数不能为空"); //主管才需要计算分数 Map scoreMap = examineDetailService.calculateScoreByDetail(examineDto.getTaskId() , examineDto.getExamineDetailList(), ReviewTypeEnum.MANAGE); diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/ExamineDetailService.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/ExamineDetailService.java index 50ab54f..560589d 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/ExamineDetailService.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/ExamineDetailService.java @@ -53,7 +53,7 @@ public interface ExamineDetailService { void insertBatch(List list); - List formatData(List configList, ExamineDetailRequestDto dto); + Map formatData(List configList, ExamineDetailRequestDto dto); /** * 计算分数 * @param taskId 任务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 23135b3..8c3899c 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 @@ -10,6 +10,7 @@ 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.user.mapper.ExamineUserMapper; import tech.unissense.pms.common.utils.bean.BeanUtils; import javax.annotation.Resource; @@ -32,6 +33,8 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { private ExamineDetailMapper examineDetailMapper; @Resource private ExamineConfigMapper configMapper; + @Resource + private ExamineUserMapper userMapper; /** * 通过ID查询单条数据 @@ -87,7 +90,7 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { } @Override - public List formatData(List configList, ExamineDetailRequestDto dto) { + public Map formatData(List configList, ExamineDetailRequestDto dto) { List examineConfigDetailVoList = new ArrayList<>(); ExamineDetail examineDetail = new ExamineDetail(); examineDetail.setExamineId(dto.getExamineId()); @@ -104,7 +107,13 @@ public class ExamineDetailServiceImpl implements ExamineDetailService { examineConfigDetailVoList.add(examineConfigDetailVo); } examineConfigDetailVoList.sort(Comparator.comparing(ExamineConfigDetailVo::getSortNum)); - return examineConfigDetailVoList; + + + + Map result=new HashMap<>(); + result.put("examineConfigDetailVoList",examineConfigDetailVoList); + result.put("examineUser",userMapper.queryById(dto.getExamineId())); + return result; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java index 5adea30..c457d84 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java @@ -4,6 +4,7 @@ import lombok.Data; import java.util.Date; import java.io.Serializable; +import java.util.List; /** * 考核任务表 (ExamineTask)实体类 @@ -36,5 +37,8 @@ public class ExamineTask implements Serializable { * 截止时间 */ private Date endTime; + + + private List userIdList; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java index b8c0d4b..da97850 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java @@ -1,6 +1,7 @@ package tech.unissense.pms.business.examine.task.service.impl; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.lang.Assert; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,17 +12,17 @@ import tech.unissense.pms.business.examine.task.domain.ExamineTask; import tech.unissense.pms.business.examine.task.domain.TaskQueryDto; import tech.unissense.pms.business.examine.task.mapper.ExamineTaskMapper; import tech.unissense.pms.business.examine.task.service.TaskService; +import tech.unissense.pms.business.examine.user.domain.ExamineUser; +import tech.unissense.pms.business.examine.user.mapper.ExamineUserMapper; import tech.unissense.pms.common.annotation.DataScope; +import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.temporal.TemporalUnit; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -33,6 +34,8 @@ public class TaskServiceImpl implements TaskService { @Autowired private ExamineConfigMapper examineConfigMapper; + @Resource + private ExamineUserMapper userMapper; @Override public ExamineTask addTask(ExamineTask task) { @@ -45,6 +48,17 @@ public class TaskServiceImpl implements TaskService { item.setExamineTaskId(task.getId()); }); examineConfigMapper.insertBatch(list); + //生成考核人员信息 + List userIdList = task.getUserIdList(); + Assert.notEmpty(userIdList, "考核人员不能为空"); + List userList=new ArrayList<>(); + for (Integer userId : userIdList) { + ExamineUser examineUser = new ExamineUser(); + examineUser.setTaskId(task.getId()); + examineUser.setUserId(userId); + userList.add(examineUser); + } + userMapper.insertBatch(userList); return task; } 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 8f5f4ca..4f62f0a 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 @@ -1,6 +1,7 @@ package tech.unissense.pms.business.examine.user.domain; import lombok.Data; +import lombok.NoArgsConstructor; import tech.unissense.pms.common.core.domain.BaseEntity; import java.io.Serializable; @@ -53,5 +54,8 @@ public class ExamineUser extends BaseEntity { private String isAsc; private List userIdList; + + + }