Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalSignTaskExecutor.javadev
commit
31957c6bd5
|
|
@ -19,6 +19,12 @@ import org.qinan.safetyeval.domain.gateway.SafetyMessageGateway;
|
|||
import org.qinan.safetyeval.domain.query.EvalSignTaskQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.service.EvalSignTaskDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalProjectMemberDO;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalRiskParticipantDO;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalSignTaskDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalProjectMemberMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalRiskParticipantMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalSignTaskMapper;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.*;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.*;
|
||||
import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport;
|
||||
|
|
@ -28,6 +34,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
|
|
@ -48,6 +56,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
@Autowired
|
||||
private EvalRiskParticipantMapper evalRiskParticipantMapper;
|
||||
@Autowired
|
||||
private EvalProjectMapper evalProjectMapper;
|
||||
@Autowired
|
||||
private EvalInternalReviewMapper evalInternalReviewMapper;
|
||||
@Autowired
|
||||
private EvalTechReviewMapper evalTechReviewMapper;
|
||||
|
|
@ -62,6 +72,38 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
EvalSignTaskEntity result = evalSignTaskDomainService.add(entity);
|
||||
// 发送签字任务通知消息
|
||||
safetyMessageGateway.saveSignMsg(cmd.getTaskTitle(), cmd.getNodeCode(), cmd.getProjectId(), cmd.getSignerPersonnelId());
|
||||
// todo 消息发送
|
||||
SafetyMessageEntity safetyMessageEntity = new SafetyMessageEntity();
|
||||
safetyMessageEntity.setSendName(MsgConstant.MSG_TYPE_SYSTEM);
|
||||
safetyMessageEntity.setSendId(MsgConstant.MSG_TYPE_SYSTEM_ID);
|
||||
safetyMessageEntity.setSendType(NoticeTypeEnum.SIGN_TASK_NOTICE.getMsg());
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("title", cmd.getTaskTitle());
|
||||
Map<String, String> fillMap = new HashMap<>();
|
||||
ProjectStageEnum projectStageEnum = ProjectStageEnum.fromNode(cmd.getNodeCode());
|
||||
if (projectStageEnum == null) {
|
||||
throw new BizException(ErrorCode.EVAL_PROJECT_NODE_NOT_FOUND);
|
||||
}
|
||||
fillMap.put("fileName", projectStageEnum.getMsg());
|
||||
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(cmd.getProjectId());
|
||||
fillMap.put("version", evalProjectDO.getProjectNo());
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getMsg().equals(cmd.getNodeCode())) {
|
||||
fillMap.put("role", "");
|
||||
} else {
|
||||
// 查询角色
|
||||
List<EvalProjectMemberDO> evalProjectMemberDOS = evalProjectMemberMapper.selectList(new LambdaQueryWrapper<EvalProjectMemberDO>()
|
||||
.select(EvalProjectMemberDO::getRole)
|
||||
.eq(EvalProjectMemberDO::getProjectId, cmd.getProjectId())
|
||||
.eq(EvalProjectMemberDO::getPersonnelId, cmd.getSignerPersonnelId())
|
||||
.last("limit 1"));
|
||||
fillMap.put("role", ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
|
||||
}
|
||||
params.put("content", NoticeTypeEnum.SIGN_TASK_NOTICE.fillTemplate(fillMap));
|
||||
safetyMessageEntity.setSendContent(JSON.toJSONString(params));
|
||||
safetyMessageEntity.setReceiveId(Long.valueOf(cmd.getSignerPersonnelId()));
|
||||
safetyMessageEntity.setSendState(0);
|
||||
safetyMessageEntity.setCreateTime(LocalDateTime.now());
|
||||
safetyMessageGateway.save(safetyMessageEntity);
|
||||
return SingleResponse.success(evalSignTaskCmdConvertor.convertEToCO(result));
|
||||
}
|
||||
|
||||
|
|
@ -70,8 +112,21 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
|
||||
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
|
||||
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskDomainService.page(domainQuery);
|
||||
List<EvalSignTaskCO> co = evalSignTaskCmdConvertor.convertEListToCOList(pageResult.getRecords());
|
||||
for (EvalSignTaskCO evalSignTaskCO : co) {
|
||||
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(evalSignTaskCO.getProjectId());
|
||||
evalSignTaskCO.setProjectName(evalProjectDO.getProjectName());
|
||||
evalSignTaskCO.setNodeName(Objects.requireNonNull(ProjectStageEnum.fromVal(evalSignTaskCO.getNodeCode())).getMsg());
|
||||
List<EvalProjectMemberDO> evalProjectMemberDOS = evalProjectMemberMapper.selectList(new LambdaQueryWrapper<EvalProjectMemberDO>()
|
||||
.eq(EvalProjectMemberDO::getProjectId, evalSignTaskCO.getProjectId())
|
||||
.eq(EvalProjectMemberDO::getPersonnelId, evalSignTaskCO.getSignerPersonnelId())
|
||||
.select(EvalProjectMemberDO::getRole, EvalProjectMemberDO::getPersonnelName)
|
||||
.last("limit 1"));
|
||||
evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName());
|
||||
evalSignTaskCO.setSignerRoles(ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
|
||||
}
|
||||
return PageResponse.of(
|
||||
evalSignTaskCmdConvertor.convertEListToCOList(pageResult.getRecords()),
|
||||
co ,
|
||||
pageResult.getTotal());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,17 +11,26 @@ public class EvalSignTaskCO {
|
|||
private String id;
|
||||
private String orgId;
|
||||
private String projectId;
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
private String nodeCode;
|
||||
@ApiModelProperty(value = "节点名称")
|
||||
private String nodeName;
|
||||
private String bizRefId;
|
||||
@ApiModelProperty("待签人员id")
|
||||
private String signerPersonnelId;
|
||||
@ApiModelProperty("待签人员名称")
|
||||
private String signerPersonnelName;
|
||||
private String taskTitle;
|
||||
|
||||
@ApiModelProperty("待签角色")
|
||||
private String signerRoles;
|
||||
@ApiModelProperty(value = "任务状态编码:1待签 2已签 3已作废", example = "1")
|
||||
private Integer taskStatusCode;
|
||||
|
||||
@ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签")
|
||||
private String taskStatusName;
|
||||
|
||||
@ApiModelProperty(value = "任务下发时间")
|
||||
private LocalDateTime issueTime;
|
||||
private String signerUrl;
|
||||
private String remarks;
|
||||
|
|
|
|||
Loading…
Reference in New Issue