feat(REQ-3300) - 调整审批实例监听逻辑

This commit is contained in:
wangli 2025-02-18 11:15:41 +08:00
parent aaa139ac34
commit 2dd863a674
2 changed files with 7 additions and 10 deletions

View File

@ -1,12 +1,10 @@
package cn.axzo.nanopart.visa.server.mq.listener.workflow.process;
import cn.axzo.framework.rocketmq.EventProducer;
import cn.axzo.nanopart.visa.api.enums.VisaBillTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
import cn.axzo.nanopart.visa.server.domain.ChangeRecord;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordBill;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordLog;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation;
import cn.axzo.nanopart.visa.server.mq.listener.workflow.BasicLogSupport;
@ -19,14 +17,11 @@ import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_COMPLETED;
@ -150,7 +145,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
}
private void updateChangeRecordApprovalStatus(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum) {
// 更新主表审批信息
// 更新主表审批状态信息
Long visaId = Long.valueOf(dto.getBusinessKey());
changeRecordService.lambdaQuery()
.eq(ChangeRecord::getId, visaId)
@ -194,9 +189,8 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
.updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE)
.build());
if (Objects.isNull(visa.getImGroupId())) {
List<ChangeRecordBill> bills = changeRecordBillService.findMainBill(VisaBillTypeEnum.DESIGN_VISA, Lists.newArrayList(visaId));
changeRecordBillService.deleteByCondition(bills.stream().map(ChangeRecordBill::getId).collect(Collectors.toList()), VisaBillTypeEnum.DESIGN_VISA);
}
// 取消当前主单据关联的其他单据的关联状态
changeRecordBillService.billRelationStatus(visaId, false);
}
}

View File

@ -865,6 +865,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
processRelation.setContent(processInstanceId);
processRelation.setContentExt(PROCESSING.getStatus());
changeRecordRelationService.save(processRelation);
// 更新单据关联状态为 true
changeRecordBillService.billRelationStatus(visaId, true);
}
private List<BpmnTaskDelegateAssigner> buildApprovers(List<VisaChangeApproveCreateReq.ApprovePersonInfo> approvePersonInfoList) {