diff --git a/pom.xml b/pom.xml
index dab3fc0..17c01ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -259,6 +259,12 @@
chenbowen
+
+ qsj
+
+ qsj
+
+
diff --git a/zt-module-bpm/zt-module-bpm-server/pom.xml b/zt-module-bpm/zt-module-bpm-server/pom.xml
index 9642724..73fa3b7 100644
--- a/zt-module-bpm/zt-module-bpm-server/pom.xml
+++ b/zt-module-bpm/zt-module-bpm-server/pom.xml
@@ -43,6 +43,11 @@
zt-module-product-api
${business.mes.version}
+
+ com.zt.plat
+ zt-module-product-api
+ ${business.mes.version}
+
com.zt.plat
zt-module-qms-api
diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesCompanyPlanStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesCompanyPlanStatusListener.java
new file mode 100644
index 0000000..3ecfa57
--- /dev/null
+++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesCompanyPlanStatusListener.java
@@ -0,0 +1,33 @@
+package com.zt.plat.module.bpm.service.mes.plan;
+
+import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEvent;
+import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
+import com.zt.plat.module.product.api.dto.MesApprovalCallbackVO;
+import com.zt.plat.module.product.api.plan.MesCompanyPlanApi;
+import com.zt.plat.module.product.enums.plan.CompanyPlanTypeEnums;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Component
+public class MesCompanyPlanStatusListener extends BpmProcessInstanceStatusEventListener {
+
+ @Resource
+ private MesCompanyPlanApi mesCompanyPlanApi;
+
+ @Override
+ protected List getProcessDefinitionKey() {
+ return Arrays.stream(CompanyPlanTypeEnums.values()).map(CompanyPlanTypeEnums::getProcessKey).toList();
+ }
+
+ @Override
+ protected void onEvent(BpmProcessInstanceStatusEvent event) {
+ mesCompanyPlanApi.updateApprovalStatus(new MesApprovalCallbackVO()
+ .setInstanceId(event.getId())
+ .setBusinessKey(event.getBusinessKey())
+ .setStatus(event.getStatus())
+ );
+ }
+}
diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesFactoryPlanStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesFactoryPlanStatusListener.java
new file mode 100644
index 0000000..c5174bd
--- /dev/null
+++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/mes/plan/MesFactoryPlanStatusListener.java
@@ -0,0 +1,33 @@
+package com.zt.plat.module.bpm.service.mes.plan;
+
+import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEvent;
+import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
+import com.zt.plat.module.product.api.dto.MesApprovalCallbackVO;
+import com.zt.plat.module.product.api.plan.MesFactoryPlanApi;
+import com.zt.plat.module.product.enums.plan.FactoryPlanTypeEnums;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Component
+public class MesFactoryPlanStatusListener extends BpmProcessInstanceStatusEventListener {
+
+ @Resource
+ private MesFactoryPlanApi mesFactoryPlanApi;
+
+ @Override
+ protected List getProcessDefinitionKey() {
+ return Arrays.stream(FactoryPlanTypeEnums.values()).map(FactoryPlanTypeEnums::getProcessKey).toList();
+ }
+
+ @Override
+ protected void onEvent(BpmProcessInstanceStatusEvent event) {
+ mesFactoryPlanApi.updateApprovalStatus(new MesApprovalCallbackVO()
+ .setInstanceId(event.getId())
+ .setBusinessKey(event.getBusinessKey())
+ .setStatus(event.getStatus())
+ );
+ }
+}
diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/process/route/listener/ProcessRouteApprovalBpmListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/process/route/listener/ProcessRouteApprovalBpmListener.java
new file mode 100644
index 0000000..2bdbe8d
--- /dev/null
+++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/process/route/listener/ProcessRouteApprovalBpmListener.java
@@ -0,0 +1,42 @@
+package com.zt.plat.module.bpm.service.process.route.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.product.api.MesProcessRoutApi;
+import com.zt.plat.module.product.enums.process.ProcessConstant;
+import com.zt.plat.module.product.enums.process.ProcessRouteApprovalStatusEnums;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 工艺流程审批状态监听器
+ */
+@Component
+public class ProcessRouteApprovalBpmListener extends BpmProcessInstanceStatusEventListener {
+
+ @Resource
+ private MesProcessRoutApi mesProcessRoutApi;
+
+ @Override
+ protected List getProcessDefinitionKey() {
+ return List.of(ProcessConstant.APPROVAL_PROCESS_KEY);
+ }
+
+ @Override
+ protected void onEvent(BpmProcessInstanceStatusEvent event) {
+ Integer bpmStatus = event.getStatus();
+ String status = null;
+ if (Objects.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus(), bpmStatus)) {
+ status = ProcessRouteApprovalStatusEnums.Approved.getCode();
+ } else if (Objects.equals(BpmProcessInstanceStatusEnum.REJECT.getStatus(), bpmStatus)) {
+ status = ProcessRouteApprovalStatusEnums.Failed.getCode();
+ } else if (Objects.equals(BpmProcessInstanceStatusEnum.CANCEL.getStatus(), bpmStatus)) {
+ status = ProcessRouteApprovalStatusEnums.Draft.getCode();
+ }
+ mesProcessRoutApi.updateProcessRouteApprovalStatus(Long.parseLong(event.getBusinessKey()), status);
+ }
+}
diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmAmountRequestApprovalStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmAmountRequestApprovalStatusListener.java
new file mode 100644
index 0000000..e9f1383
--- /dev/null
+++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmAmountRequestApprovalStatusListener.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.splyAmountRequest.AmountRequestApi;
+import com.zt.plat.module.capital.enums.AmountRequestApiStatusEnum;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * sply_amount_request_approval_process - 请款单的状态的监听器实现类
+ *
+ * @author qianshijiang
+ */
+@Component
+public class BpmAmountRequestApprovalStatusListener extends BpmProcessInstanceStatusEventListener {
+
+ @Resource
+ private AmountRequestApi amountRequestApi;
+
+ @Override
+ protected List getProcessDefinitionKey() {
+ return List.of(amountRequestApi.PROCESS_KEY);
+ }
+
+ @Override
+ protected void onEvent(BpmProcessInstanceStatusEvent event) {
+ // 将流程中的状态转换为业务的状态
+ Integer status = event.getStatus();
+ String approvalStatus = null;
+ if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == status) {
+ approvalStatus = AmountRequestApiStatusEnum.ACAS_PASS.getCode();
+ } else if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == status) {
+ approvalStatus = AmountRequestApiStatusEnum.ACAS_REJECT.getCode();
+ }
+ amountRequestApi.updateAmountRequestStatus(Long.parseLong(event.getBusinessKey()),approvalStatus);
+ }
+
+}
diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java
index 83fed4c..099b709 100644
--- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java
+++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/service/supply/capital/listener/BpmCreditLetterApprovalStatusListener.java
@@ -3,7 +3,7 @@ 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.api.splyAmtCrdtAppl.AmountCreditApplyApi;
import com.zt.plat.module.capital.enums.AmountCreditApplyApiStatusEnum;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;