feat(examine): 新增考核任务和用户关联功能
- 在 ExamineTask 模型中添加 userIdList 字段,用于保存考核用户列表 - 在 ExamineUser模型中添加 taskId 字段,用于关联考核任务 - 修改 TaskServiceImpl 中的 addTask 方法,增加考核用户信息的保存逻辑 - 调整 ExamineDetailController 和 ExamineDetailService 中的方法,以适应新的考核用户关联dev_1.1.0
parent
134597b64d
commit
534dbf1a8d
|
@ -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<Integer, BigDecimal> scoreMap = examineDetailService.calculateScoreByDetail(examineDto.getTaskId()
|
||||
, examineDto.getExamineDetailList(), ReviewTypeEnum.MANAGE);
|
||||
|
|
|
@ -53,7 +53,7 @@ public interface ExamineDetailService {
|
|||
|
||||
void insertBatch(List<ExamineDetail> list);
|
||||
|
||||
List<ExamineConfigDetailVo> formatData(List<ExamineConfig> configList, ExamineDetailRequestDto dto);
|
||||
Map<String,Object> formatData(List<ExamineConfig> configList, ExamineDetailRequestDto dto);
|
||||
/**
|
||||
* 计算分数
|
||||
* @param taskId 任务id
|
||||
|
|
|
@ -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<ExamineConfigDetailVo> formatData(List<ExamineConfig> configList, ExamineDetailRequestDto dto) {
|
||||
public Map<String,Object> formatData(List<ExamineConfig> configList, ExamineDetailRequestDto dto) {
|
||||
List<ExamineConfigDetailVo> 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<String,Object> result=new HashMap<>();
|
||||
result.put("examineConfigDetailVoList",examineConfigDetailVoList);
|
||||
result.put("examineUser",userMapper.queryById(dto.getExamineId()));
|
||||
return result;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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<Integer> userIdList;
|
||||
}
|
||||
|
||||
|
|
|
@ -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<Integer> userIdList = task.getUserIdList();
|
||||
Assert.notEmpty(userIdList, "考核人员不能为空");
|
||||
List<ExamineUser> 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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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<Integer> userIdList;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue