From 3b8fb98eeb8eb09c13372b02f917d8a311b65209 Mon Sep 17 00:00:00 2001
From: qianshijiang <1965297290@qq.com>
Date: Tue, 23 Sep 2025 11:38:29 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=9C=8D=E5=8A=A1=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0-=E8=B5=84=E9=87=91=E6=8E=88=E4=BF=A1=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E7=9A=84=E6=B5=81=E7=A8=8B=E7=8A=B6=E6=80=81=E7=9B=91?=
=?UTF-8?q?=E5=90=AC=E5=99=A8=E8=BF=9B=E8=A1=8C=E4=B8=9A=E5=8A=A1=E5=9B=9E?=
=?UTF-8?q?=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
zt-module-bpm-server/pom.xml | 5 +++
.../rpc/config/RpcConfiguration.java | 3 +-
...terApprovalProcessLeaveStatusListener.java | 42 +++++++++++++++++++
3 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java
diff --git a/zt-module-bpm-server/pom.xml b/zt-module-bpm-server/pom.xml
index 06a5ac4..eac85c0 100644
--- a/zt-module-bpm-server/pom.xml
+++ b/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-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java b/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java
index 0be19c0..0ab98bc 100644
--- a/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/rpc/config/RpcConfiguration.java
+++ b/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-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java b/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalProcessLeaveStatusListener.java
new file mode 100644
index 0000000..40d911c
--- /dev/null
+++ b/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);
+ }
+
+}