feat(REQ-3300) - 优化审批结果监听

This commit is contained in:
wangli 2025-02-15 12:51:31 +08:00
parent 7f7eb28317
commit 18b9e58cf0
2 changed files with 13 additions and 6 deletions

View File

@ -86,6 +86,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
String visaType = (String) dto.getVariables().getOrDefault(WORKFLOW_VAR_VISA_TYPE_KEY, "");
return StringUtils.hasText(visaType) ? VisaTypeEnum.valueOf(visaType).getDesc() : "";
}
@Override
public void onCompleted(ProcessInstanceDTO dto) {
String visaTypeDesc = parseVisaType(dto);
@ -157,15 +158,21 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
.eq(ChangeRecord::getIsDelete, 0)
.oneOpt()
.ifPresent(changeRecord -> {
changeRecord.setApprovalStatus(resultEnum.getStatus());
changeRecord.setApprovalCompleteTime(new Date());
if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) {
changeRecord.setApprovalStatus(resultEnum.getStatus());
changeRecord.setApprovalCompleteTime(new Date());
} else {
changeRecord.setApprovalId("");
changeRecord.setApprovalStatus("");
changeRecord.setApprovalCompleteTime(null);
}
changeRecordService.updateById(changeRecord);
});
// 更新关联表审批信息
changeRecordRelationService.lambdaQuery()
.eq(ChangeRecordRelation::getVisaId, visaId)
.eq(ChangeRecordRelation::getVarName, PROCESS_INSTANCE.getCode())
.eq(ChangeRecordRelation::getVarName, PROCESS_INSTANCE.name())
.eq(ChangeRecordRelation::getContent, dto.getProcessInstanceId())
.oneOpt()
.ifPresent(changeRecordRelation -> {

View File

@ -733,9 +733,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
if (Objects.nonNull(req.getAmountChange())) {
String amountDesc = "不变";
if (req.getAmountChange().compareTo(BigDecimal.ZERO) > 0) {
amountDesc = "增加" + req.getAmountChange().toPlainString() + "";
amountDesc = "增加" + req.getAmountChange().abs().toPlainString() + "";
} else if (req.getAmountChange().compareTo(BigDecimal.ZERO) < 0) {
amountDesc = "减少" + req.getAmountChange().toPlainString() + "";
amountDesc = "减少" + req.getAmountChange().abs().toPlainString() + "";
}
formVariables.put(FORM_FIELD_AMOUNT_CHANGE, amountDesc);
}
@ -861,7 +861,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
// 设置关联表的审批信息
ChangeRecordRelation processRelation = new ChangeRecordRelation();
processRelation.setVisaId(visaId);
processRelation.setVarName(VisaRelationFieldEnum.PROCESS_INSTANCE.getCode());
processRelation.setVarName(VisaRelationFieldEnum.PROCESS_INSTANCE.name());
processRelation.setVarType(VisaRelationVarTypeEnum.STRING.getType());
processRelation.setContent(processInstanceId);
processRelation.setContentExt(PROCESSING.getStatus());