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; + + + }