feat(REQ-3300) - 调整审批实例监听逻辑
This commit is contained in:
parent
aaa139ac34
commit
2dd863a674
@ -1,12 +1,10 @@
|
|||||||
package cn.axzo.nanopart.visa.server.mq.listener.workflow.process;
|
package cn.axzo.nanopart.visa.server.mq.listener.workflow.process;
|
||||||
|
|
||||||
import cn.axzo.framework.rocketmq.EventProducer;
|
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.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
|
||||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecord;
|
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.ChangeRecordLog;
|
||||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation;
|
import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation;
|
||||||
import cn.axzo.nanopart.visa.server.mq.listener.workflow.BasicLogSupport;
|
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.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
|
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
|
||||||
import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler;
|
import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler;
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
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.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
|
||||||
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_COMPLETED;
|
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) {
|
private void updateChangeRecordApprovalStatus(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum) {
|
||||||
// 更新主表审批信息
|
// 更新主表审批状态信息
|
||||||
Long visaId = Long.valueOf(dto.getBusinessKey());
|
Long visaId = Long.valueOf(dto.getBusinessKey());
|
||||||
changeRecordService.lambdaQuery()
|
changeRecordService.lambdaQuery()
|
||||||
.eq(ChangeRecord::getId, visaId)
|
.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)
|
.updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE)
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
if (Objects.isNull(visa.getImGroupId())) {
|
// 取消当前主单据关联的其他单据的关联状态
|
||||||
List<ChangeRecordBill> bills = changeRecordBillService.findMainBill(VisaBillTypeEnum.DESIGN_VISA, Lists.newArrayList(visaId));
|
changeRecordBillService.billRelationStatus(visaId, false);
|
||||||
changeRecordBillService.deleteByCondition(bills.stream().map(ChangeRecordBill::getId).collect(Collectors.toList()), VisaBillTypeEnum.DESIGN_VISA);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -865,6 +865,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
processRelation.setContent(processInstanceId);
|
processRelation.setContent(processInstanceId);
|
||||||
processRelation.setContentExt(PROCESSING.getStatus());
|
processRelation.setContentExt(PROCESSING.getStatus());
|
||||||
changeRecordRelationService.save(processRelation);
|
changeRecordRelationService.save(processRelation);
|
||||||
|
|
||||||
|
// 更新单据关联状态为 true
|
||||||
|
changeRecordBillService.billRelationStatus(visaId, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<BpmnTaskDelegateAssigner> buildApprovers(List<VisaChangeApproveCreateReq.ApprovePersonInfo> approvePersonInfoList) {
|
private List<BpmnTaskDelegateAssigner> buildApprovers(List<VisaChangeApproveCreateReq.ApprovePersonInfo> approvePersonInfoList) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user