工艺流程审批监听

This commit is contained in:
yueyi
2025-10-10 10:12:43 +08:00
parent 0b50d2444c
commit 61c04b7f36
3 changed files with 49 additions and 1 deletions

View File

@@ -38,6 +38,11 @@
<artifactId>zt-module-capital-api</artifactId>
<version>${business.version}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-product-api</artifactId>
<version>${business.version}</version>
</dependency>
<!-- 业务组件 -->
<dependency>

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.bpm.framework.rpc.config;
import com.zt.plat.module.capital.api.AmountCreditApplyApi;
import com.zt.plat.module.product.api.MesProcessRoutApi;
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;
@@ -13,6 +14,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, AmountCreditApplyApi.class})
PermissionApi.class, AmountCreditApplyApi.class, MesProcessRoutApi.class})
public class RpcConfiguration {
}

View File

@@ -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<String> 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);
}
}