Merge remote-tracking branch 'origin/dev' into dev
commit
cb9de9a06e
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.app.executor.institution;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.qinan.safetyeval.app.convertor.EvalRiskAnalysisCmdConvertor;
|
||||
import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalRiskAnalysisApi;
|
||||
|
|
@ -17,11 +18,19 @@ import org.qinan.safetyeval.domain.exception.ErrorCode;
|
|||
import org.qinan.safetyeval.domain.gateway.EvalRiskAnalysisGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalRiskParticipantGateway;
|
||||
import org.qinan.safetyeval.domain.support.EvalNodeCodes;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalRiskParticipantDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalRiskAnalysisMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalRiskParticipantMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class EvalRiskAnalysisExecutor implements EvalRiskAnalysisApi {
|
||||
|
|
@ -34,6 +43,10 @@ public class EvalRiskAnalysisExecutor implements EvalRiskAnalysisApi {
|
|||
private EvalProjectNodeSupport evalProjectNodeSupport;
|
||||
@Resource
|
||||
private EvalRiskAnalysisCmdConvertor evalRiskAnalysisCmdConvertor;
|
||||
@Autowired
|
||||
private EvalRiskAnalysisMapper evalRiskAnalysisMapper;
|
||||
@Autowired
|
||||
private EvalRiskParticipantMapper evalRiskParticipantMapper;
|
||||
|
||||
@Override
|
||||
public SingleResponse<EvalRiskAnalysisCO> save(EvalRiskAnalysisSaveCmd cmd) {
|
||||
|
|
@ -79,20 +92,30 @@ public class EvalRiskAnalysisExecutor implements EvalRiskAnalysisApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<Boolean> saveParticipant(List<EvalRiskParticipantSaveCmd> cmdList) {
|
||||
List<Long> dbIds = evalRiskParticipantMapper.selectList(new LambdaQueryWrapper<EvalRiskParticipantDO>()
|
||||
.eq(EvalRiskParticipantDO::getRiskId, cmdList.get(0).getRiskId())
|
||||
.eq(EvalRiskParticipantDO::getProjectId, cmdList.get(0).getProjectId()))
|
||||
.stream().map(EvalRiskParticipantDO::getId).collect(Collectors.toList());
|
||||
List<Long> cmdIds = cmdList.stream().map(EvalRiskParticipantSaveCmd::getId).filter(Objects::nonNull).map(Long::new).collect(Collectors.toList());
|
||||
List<Long> delIds = new ArrayList<>();
|
||||
for (Long id : dbIds) {
|
||||
if (!cmdIds.contains(id)) {
|
||||
delIds.add(id);
|
||||
}
|
||||
}
|
||||
evalRiskParticipantMapper.deleteBatchIds(delIds);
|
||||
for (EvalRiskParticipantSaveCmd cmd : cmdList) {
|
||||
EvalRiskAnalysisEntity risk = requireRisk(cmd.getRiskId());
|
||||
// evalProjectNodeSupport.assertWrite(risk.getProjectId(), EvalNodeCodes.NODE_01);
|
||||
EvalRiskParticipantEntity entity = evalRiskAnalysisCmdConvertor.convertParticipantCmdToE(cmd);
|
||||
entity.setRiskId(risk.getId());
|
||||
entity.setProjectId(risk.getProjectId());
|
||||
if (entity.getSignStatusCode() == null) {
|
||||
entity.setSignStatusCode(1);
|
||||
}
|
||||
if (entity.getId() == null) {
|
||||
if (entity.getSortOrder() == null) {
|
||||
entity.setSortOrder(0);
|
||||
}
|
||||
entity.setSignStatusCode(null);
|
||||
evalRiskParticipantGateway.save(entity);
|
||||
} else {
|
||||
EvalRiskParticipantEntity existing = requireParticipant(entity.getId());
|
||||
|
|
|
|||
|
|
@ -12,21 +12,16 @@ import org.qinan.safetyeval.client.dto.SingleResponse;
|
|||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
|
||||
import org.qinan.safetyeval.domain.constant.*;
|
||||
import org.qinan.safetyeval.domain.constant.ProjectStageEnum;
|
||||
import org.qinan.safetyeval.domain.constant.SignTaskStatusEnum;
|
||||
import org.qinan.safetyeval.domain.constant.SignatureTaskStatusEnum;
|
||||
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
|
||||
import org.qinan.safetyeval.domain.entity.SafetyMessageEntity;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||
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;
|
||||
|
|
@ -36,8 +31,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.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
|
|
@ -69,6 +64,7 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
private EvalProjectMemberMapper evalProjectMemberMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<EvalSignTaskCO> save(EvalSignTaskSaveCmd cmd) {
|
||||
Long orgId = institutionOrgSupport.resolveCurrentOrgId();
|
||||
EvalSignTaskEntity entity = evalSignTaskCmdConvertor.convertSaveCmdToE(cmd);
|
||||
|
|
@ -76,9 +72,20 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
EvalSignTaskEntity result = evalSignTaskDomainService.add(entity);
|
||||
// 发送签字任务通知消息
|
||||
safetyMessageGateway.saveSignMsg(cmd.getTaskTitle(), cmd.getNodeCode(), cmd.getProjectId(), cmd.getSignerPersonnelId());
|
||||
support(cmd.getProjectId(), cmd.getSignerPersonnelId(), cmd.getNodeCode());
|
||||
return SingleResponse.success(evalSignTaskCmdConvertor.convertEToCO(result));
|
||||
}
|
||||
|
||||
private void support(String projectId, String signerPersonnelId, String nodeCode) {
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getVal().equals(nodeCode)) {
|
||||
evalRiskParticipantMapper.update(new LambdaUpdateWrapper<EvalRiskParticipantDO>()
|
||||
.eq(EvalRiskParticipantDO::getProjectId, projectId)
|
||||
.eq(EvalRiskParticipantDO::getPersonnelId, signerPersonnelId)
|
||||
.set(EvalRiskParticipantDO::getSignStatusCode, SignTaskStatusEnum.PENDING.getCode()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageResponse<EvalSignTaskCO> page(EvalSignTaskPageQuery query) {
|
||||
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ public class EvalRiskParticipantSaveCmd {
|
|||
@ApiModelProperty("人员ID")
|
||||
private String personnelId;
|
||||
|
||||
private Long projectId;
|
||||
|
||||
@ApiModelProperty("人员姓名")
|
||||
private String personnelName;
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -36,6 +37,7 @@ public class EvalSignTaskGatewayImpl implements EvalSignTaskGateway {
|
|||
EvalSignTaskDO dataObject = evalSignTaskDoConvertor.convertEToDo(entity);
|
||||
dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId()));
|
||||
InsertFieldDefaults.apply(dataObject);
|
||||
dataObject.setIssueTime(LocalDateTime.now());
|
||||
evalSignTaskMapper.insert(dataObject);
|
||||
entity.setId(dataObject.getId());
|
||||
return entity;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class SafetyMessageGatewayImpl implements SafetyMessageGateway {
|
|||
params.put(MsgConstant.MSG_CONTENT_KEY_TITLE, taskTitle);
|
||||
|
||||
Map<String, String> fillMap = new HashMap<>();
|
||||
ProjectStageEnum projectStageEnum = ProjectStageEnum.fromNode(nodeCode);
|
||||
ProjectStageEnum projectStageEnum = ProjectStageEnum.fromVal(nodeCode);
|
||||
if (projectStageEnum == null) {
|
||||
throw new BizException(ErrorCode.EVAL_PROJECT_NODE_NOT_FOUND);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue