Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581
This commit is contained in:
commit
d021497652
@ -8,8 +8,6 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author xudawei@axzo.cn
|
||||
* @version 1.0
|
||||
@ -22,11 +20,16 @@ import javax.validation.constraints.NotNull;
|
||||
public class CheckVisaWithVisaIdReq {
|
||||
|
||||
/**
|
||||
* 变更单号Id
|
||||
* 变更单号Id,编辑和详情时传入,与{@code creatFormData}互斥使用
|
||||
*/
|
||||
@NotNull(message = "变更签证单据Id不能为空")
|
||||
// @NotNull(message = "变更签证单据Id不能为空")
|
||||
private Long visaId;
|
||||
|
||||
/**
|
||||
* 创建单据状态下的表单数据,创建时传入,与{@code visaId}互斥使用
|
||||
*/
|
||||
private VisaChangeTempCreateReq creatFormData;
|
||||
|
||||
/**
|
||||
* 校验
|
||||
*/
|
||||
@ -44,7 +47,15 @@ public class CheckVisaWithVisaIdReq {
|
||||
AssertUtil.notEmpty(item.getRelationPersonList(), "确认人不能为空");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void check() {
|
||||
AssertUtil.notNull(this.getCreatFormData().getRelationWorkspaceId(), "关联项目不能为空");
|
||||
AssertUtil.notNull(this.getCreatFormData().getType(), "单据类型不能为空");
|
||||
AssertUtil.notEmpty(this.getCreatFormData().getNo(), "单号不能为空");
|
||||
AssertUtil.notEmpty(this.getCreatFormData().getTopic(), "主题不能为空");
|
||||
AssertUtil.notNull(this.getCreatFormData().getRelationProject(), "关联工程不能为空");
|
||||
AssertUtil.notNull(this.getCreatFormData().getHappenTime(), "提出时间不能为空");
|
||||
AssertUtil.notEmpty(this.getCreatFormData().getReason(), "发生原因不能为空");
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ public class VisaChangeTempCreateReq {
|
||||
/**
|
||||
* 提出时间
|
||||
*/
|
||||
@NotNull(message = "请选择提交日期")
|
||||
@NotNull(message = "请选择提出时间")
|
||||
private Date happenTime;
|
||||
|
||||
/**
|
||||
|
||||
@ -13,6 +13,7 @@ import cn.axzo.nanopart.ess.api.mq.EssContractStateChangeMessage;
|
||||
import cn.axzo.nanopart.ess.api.request.SaveContractSnapshotRequest;
|
||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecord;
|
||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation;
|
||||
import cn.axzo.nanopart.visa.server.dto.RelationEssContextDto;
|
||||
import cn.axzo.nanopart.visa.server.dto.VisaRelationDto;
|
||||
import cn.axzo.nanopart.visa.server.rpc.EssGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway;
|
||||
@ -37,7 +38,7 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.axzo.nanopart.ess.api.enums.EssContractApproveState.ACCEPT;
|
||||
import static cn.axzo.nanopart.ess.api.enums.MQEvent.ESS_CONTRACT_DOWNLOAD_PDF;
|
||||
import static cn.axzo.nanopart.ess.api.enums.MQEvent.ESS_CONTRACT_STATE_CHANGE;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PROCESS_INSTANCE_OF_ESS;
|
||||
|
||||
/**
|
||||
@ -71,7 +72,10 @@ public class EssAllEventHandler implements EventHandler, InitializingBean {
|
||||
log.info("all ess event handle : {}", JSON.toJSONString(event));
|
||||
EssContractStateChangeMessage essContractStateChangeMessage = event.normalizedData(EssContractStateChangeMessage.class);
|
||||
EssContractInfo contract = essContractStateChangeMessage.getContract();
|
||||
AssertUtil.isTrue(Objects.nonNull(essContractStateChangeMessage) && Objects.nonNull(contract), "腾讯电子签事件对象异常");
|
||||
|
||||
// contract.getApproveDetails().stream().filter(i->Objects.nonNull(i.getOuId())).findFirst().get().getSignPerson().setPersonId(9000404670L);
|
||||
|
||||
AssertUtil.isTrue(Objects.nonNull(contract), "腾讯电子签事件对象异常");
|
||||
|
||||
if (Objects.equals(EssContractState.ALL, contract.getState())) {
|
||||
// 所有单位都完成签署
|
||||
@ -106,9 +110,11 @@ public class EssAllEventHandler implements EventHandler, InitializingBean {
|
||||
AssertUtil.isTrue(CollectionUtils.isNotEmpty(workspaces) && workspaces.size() == 1, "未获取到企业工作台信息");
|
||||
GetWorkspaceDetailRes entWorkspace = workspaces.get(0);
|
||||
|
||||
|
||||
RelationEssContextDto relationEssContextDto = JSON.parseObject(i.getContent(), RelationEssContextDto.class);
|
||||
// 同意审批和待办
|
||||
BpmnTaskAuditDTO auditDTO = new BpmnTaskAuditDTO();
|
||||
auditDTO.setTaskId(findTaskId(i.getContentExt(), String.valueOf(approveDetail.getSignPerson().getPersonId())));
|
||||
auditDTO.setTaskId(findTaskId(relationEssContextDto.getApprovalId(), String.valueOf(approveDetail.getSignPerson().getPersonId())));
|
||||
auditDTO.setApprover(BpmnTaskDelegateAssigner.builder()
|
||||
.tenantId(String.valueOf(entWorkspace.getId()))
|
||||
.ouId(String.valueOf(approveDetail.getOuId()))
|
||||
@ -131,6 +137,6 @@ public class EssAllEventHandler implements EventHandler, InitializingBean {
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
eventConsumer.registerHandler(ESS_CONTRACT_DOWNLOAD_PDF.getEventCode(), this);
|
||||
eventConsumer.registerHandler(ESS_CONTRACT_STATE_CHANGE.getEventCode(), this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -226,6 +226,12 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
AssertUtil.notNull(record, "未找到变洽签记录");
|
||||
AssertUtil.isTrue(Objects.equals(record.getImGroupId(), req.getImGroupId()), "IM群信息不匹配");
|
||||
|
||||
List<ChangeRecordRelation> relations = findByCondition(VisaRelationDto.builder()
|
||||
.visaId(req.getVisaId())
|
||||
.varName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.name())
|
||||
.content(String.valueOf(req.getOperatorPersonId()))
|
||||
.build());
|
||||
AssertUtil.isEmpty(relations, "不允许重复操作");
|
||||
ChangeRecordRelation relation = new ChangeRecordRelation();
|
||||
relation.setVisaId(req.getVisaId());
|
||||
relation.setVarName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.name());
|
||||
@ -248,6 +254,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
.appType(AppTypeEnum.CMP)
|
||||
.build());
|
||||
msgRequest.setBizId(IM_GROUP_BIZ_INFO_VISA_ID + ":" + req.getVisaId());
|
||||
msgRequest.setTrySyncSend(true);
|
||||
msgCenterGateway.sendMsgToGroup(msgRequest);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -584,6 +584,11 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
/*编辑*/
|
||||
changeRecord = getById(req.getId());
|
||||
AssertUtil.notNull(changeRecord, "记录不存在");
|
||||
// 编辑态下校验单据状态
|
||||
AssertUtil.isTrue(!StringUtils.hasText(changeRecord.getApprovalId())
|
||||
|| (StringUtils.hasText(changeRecord.getApprovalId()) && !Objects.equals(VisaStatusEnum.APPROVING, changeRecord.getStatus())),
|
||||
"当前单据审批中,不允许操作");
|
||||
|
||||
|
||||
oldContext = new VisaAddLogContext();
|
||||
oldContext.setStatus(changeRecord.getStatus());
|
||||
@ -745,14 +750,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long approveCreateVisaChangeRecord(VisaChangeApproveCreateReq req) {
|
||||
/*校验*/
|
||||
ChangeRecord changeRecord = this.getById(req.getId());
|
||||
if (NumberUtil.isPositiveNumber(changeRecord.getId())) {
|
||||
// 编辑态下校验单据状态
|
||||
AssertUtil.isTrue(!StringUtils.hasText(changeRecord.getApprovalId())
|
||||
|| (StringUtils.hasText(changeRecord.getApprovalId()) && !Objects.equals(VisaStatusEnum.APPROVING.name(), changeRecord.getApprovalStatus())),
|
||||
"当前单据审批中,不允许操作");
|
||||
}
|
||||
validVisaChangeForm(req);
|
||||
ChangeRecord changeRecord = this.getById(req.getId());
|
||||
ChangeRecord oldChangeRecord = BeanUtil.copyProperties(changeRecord, ChangeRecord.class);
|
||||
List<VisaDetailByIdResponse.VisaUploadFile> visaUploadFiles = this.buildAttachUploadFile(req.getId());
|
||||
|
||||
@ -1617,7 +1616,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
validOperationPermission(req.getVisaId(), req.getOperatorPersonId(), req.getOperatorOuId(), req.getOperatorWorkspaceId());
|
||||
|
||||
AssertUtil.isTrue(!StringUtils.hasText(visa.getApprovalId())
|
||||
|| (StringUtils.hasText(visa.getApprovalId()) && !Objects.equals(VisaStatusEnum.APPROVING.name(), visa.getApprovalStatus())),
|
||||
|| (StringUtils.hasText(visa.getApprovalId()) && !Objects.equals(VisaStatusEnum.APPROVING, visa.getStatus())),
|
||||
"当前单据审批中,不允许操作");
|
||||
|
||||
// 组装 REQ 参数
|
||||
@ -1752,9 +1751,15 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
*/
|
||||
@Override
|
||||
public void checkVisaWithVisaId(CheckVisaWithVisaIdReq req) {
|
||||
VisaDetailByIdResponse response = this.detailById(req.getVisaId());
|
||||
req.check(response);
|
||||
this.validVisaChangeForm(Objects.requireNonNull(visaHelper.buildVisaChangeApproveCreateReqByVisaId(req.getVisaId())));
|
||||
if (NumberUtil.isPositiveNumber(req.getVisaId())) {
|
||||
VisaDetailByIdResponse response = this.detailById(req.getVisaId());
|
||||
AssertUtil.notNull(response, "单据不存在");
|
||||
req.check(response);
|
||||
this.validVisaChangeForm(Objects.requireNonNull(visaHelper.buildVisaChangeApproveCreateReqByVisaId(req.getVisaId())));
|
||||
} else {
|
||||
req.check();
|
||||
this.validVisaChangeForm(BeanUtil.copyProperties(req.getCreatFormData(), VisaChangeApproveCreateReq.class));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user