diff --git a/zt-module-bpm/zt-module-bpm-server/pom.xml b/zt-module-bpm/zt-module-bpm-server/pom.xml index 06a5ac44..eac85c0a 100644 --- a/zt-module-bpm/zt-module-bpm-server/pom.xml +++ b/zt-module-bpm/zt-module-bpm-server/pom.xml @@ -33,6 +33,11 @@ zt-module-system-api ${revision} + + com.zt.plat + cloud-module-capital-api + ${revision} + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java index 0be19c0b..0ab98bc8 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java @@ -1,5 +1,6 @@ package com.zt.plat.module.bpm.framework.rpc.config; +import com.zt.plat.module.capital.api.AmountCreditApplyApi; import com.zt.plat.module.system.api.dept.DeptApi; import com.zt.plat.module.system.api.dept.PostApi; import com.zt.plat.module.system.api.dict.DictDataApi; @@ -12,6 +13,6 @@ import org.springframework.context.annotation.Configuration; @Configuration(value = "bpmRpcConfiguration", proxyBeanMethods = false) @EnableFeignClients(clients = {RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, - PermissionApi.class}) + PermissionApi.class, AmountCreditApplyApi.class}) public class RpcConfiguration { } diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java new file mode 100644 index 00000000..40d911cc --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.bpm.service.supply.capital.listener; + +import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEvent; +import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEventListener; +import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum; +import com.zt.plat.module.capital.api.AmountCreditApplyApi; +import com.zt.plat.module.capital.enums.AmountCreditApplyApiStatusEnum; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * credit_letter_approval_process - 授信单的状态的监听器实现类 + * + * @author ZT + */ +@Component +public class BpmCreditLetterApprovalProcessLeaveStatusListener extends BpmProcessInstanceStatusEventListener { + + @Resource + private AmountCreditApplyApi amountCreditApplyApi; + + @Override + protected List getProcessDefinitionKey() { + return List.of(amountCreditApplyApi.PROCESS_KEY); + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + // 将流程中的状态转换为业务的状态 + Integer status = event.getStatus(); + String approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_PASS.getCode(); + if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == status) { + approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_PASS.getCode(); + } else if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == status) { + approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_REJECT.getCode(); + } + amountCreditApplyApi.updateAmountCreditApplyStatus(Long.parseLong(event.getBusinessKey()),approvalStatus); + } + +}