Compare commits
16 Commits
d331c9f441
...
1f80be555f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f80be555f | ||
|
|
4bf96508a1 | ||
|
|
3fa9312a56 | ||
|
|
b1edfba21c | ||
|
|
912c26ce37 | ||
|
|
72bca7a98d | ||
|
|
5a7de203df | ||
|
|
fd355f29b3 | ||
|
|
6d9b5b82bc | ||
|
|
82e5bb91a0 | ||
|
|
9453757324 | ||
|
|
3d54b2cf73 | ||
|
|
c44f75b2cc | ||
|
|
469558c87d | ||
|
|
61c04b7f36 | ||
|
|
0b50d2444c |
30
pom.xml
30
pom.xml
@@ -16,13 +16,13 @@
|
||||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||||
|
||||
<properties>
|
||||
<revision>3.0.41</revision>
|
||||
<business.supply.version>3.0.41</business.supply.version>
|
||||
<business.base.version>3.0.41</business.base.version>
|
||||
<business.logistic.version>3.0.41</business.logistic.version>
|
||||
<business.manage.version>3.0.41</business.manage.version>
|
||||
<revision>3.0.42</revision>
|
||||
<business.supply.version>3.0.42</business.supply.version>
|
||||
<business.base.version>3.0.42</business.base.version>
|
||||
<business.logistic.version>3.0.42</business.logistic.version>
|
||||
<business.manage.version>3.0.42</business.manage.version>
|
||||
<business.qms.version>3.0.42</business.qms.version>
|
||||
<business.mes.version>3.0.41</business.mes.version>
|
||||
<business.mes.version>3.0.42</business.mes.version>
|
||||
<!-- Maven 相关 -->
|
||||
<java.version>17</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
@@ -195,7 +195,7 @@
|
||||
<name>中铜 ZStack 私服</name>
|
||||
<url>http://172.16.46.63:30708/repository/test/</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>
|
||||
@@ -244,12 +244,12 @@
|
||||
<id>env-local</id>
|
||||
<properties>
|
||||
<env.name>local</env.name>
|
||||
<!-- <config.server-addr>localhost:8848</config.server-addr>-->
|
||||
<config.server-addr>172.16.46.63:30848</config.server-addr>
|
||||
<config.namespace>local</config.namespace>
|
||||
<config.server-addr>localhost:8848</config.server-addr>
|
||||
<!-- <config.server-addr>172.16.46.63:30848</config.server-addr>-->
|
||||
<config.namespace>zgty-qms-local</config.namespace>
|
||||
<config.group>DEFAULT_GROUP</config.group>
|
||||
<config.username/>
|
||||
<config.password/>
|
||||
<config.username>qms</config.username>
|
||||
<config.password>1234567890</config.password>
|
||||
<config.version>1.0.0</config.version>
|
||||
</properties>
|
||||
</profile>
|
||||
@@ -259,6 +259,12 @@
|
||||
<config.namespace>chenbowen</config.namespace>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>qsj</id>
|
||||
<properties>
|
||||
<config.namespace>qsj</config.namespace>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -38,6 +38,16 @@
|
||||
<artifactId>zt-module-capital-api</artifactId>
|
||||
<version>${business.supply.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-module-product-api</artifactId>
|
||||
<version>${business.mes.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-module-product-api</artifactId>
|
||||
<version>${business.mes.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-module-qms-api</artifactId>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
package com.zt.plat.module.bpm.framework.rpc.config;
|
||||
|
||||
import com.zt.plat.module.capital.api.AmountCreditApplyApi;
|
||||
import com.zt.plat.module.capital.api.splyAmountRequest.AmountRequestApi;
|
||||
import com.zt.plat.module.capital.api.splyAmtCrdtAppl.AmountCreditApplyApi;
|
||||
import com.zt.plat.module.product.api.MesProcessRoutApi;
|
||||
import com.zt.plat.module.product.api.plan.MesCompanyPlanApi;
|
||||
import com.zt.plat.module.product.api.plan.MesFactoryPlanApi;
|
||||
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 +17,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, MesFactoryPlanApi.class, MesCompanyPlanApi.class, AmountRequestApi.class})
|
||||
public class RpcConfiguration {
|
||||
}
|
||||
|
||||
@@ -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<String> 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())
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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<String> 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())
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.zt.plat.module.bpm.service.qms.listener;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.qms.api.task.QmsApi;
|
||||
import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO;
|
||||
import com.zt.plat.module.qms.enums.ErrorCodeConstants;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.delegate.DelegateExecution;
|
||||
import org.flowable.engine.delegate.JavaDelegate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||
|
||||
|
||||
/**
|
||||
* QMS模块执行监听
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class QmsExecutionListener implements JavaDelegate {
|
||||
|
||||
@Autowired
|
||||
private QmsApi qmsApi;
|
||||
@Resource private RuntimeService runtimeService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(DelegateExecution execution) {
|
||||
log.info("[QmsExecutionListener][execution({}) 被调用!变量有:{}]", execution.getId(), execution.getCurrentFlowableListener().getFieldExtensions());
|
||||
Map<String, Object> variables = execution.getVariables();
|
||||
JSONObject jsonObject = new JSONObject(variables);
|
||||
|
||||
|
||||
|
||||
String insId = execution.getProcessInstanceId();
|
||||
String businessKey = execution.getProcessInstanceBusinessKey();
|
||||
QmsBpmDTO qmsBpmDTO = new QmsBpmDTO(insId, businessKey, jsonObject, "");
|
||||
Map<String, Object> v = runtimeService.getVariables(execution.getProcessInstanceId());
|
||||
// Object status = runtimeService.getVariable(execution.getProcessInstanceId(), WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE);
|
||||
CommonResult<JSONObject> result = qmsApi.bpmCallback(qmsBpmDTO);
|
||||
if (!result.isSuccess()) {
|
||||
log.error("[QmsExecutionListener][execution({}) 回调失败!错误码:{},错误信息:{}]", execution.getId(), result.getCode(), result.getMsg());
|
||||
throw exception0(ErrorCodeConstants.ERROR_CODE_MODULE_QMS_BPM, result.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.zt.plat.module.bpm.service.qms.listener;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.qms.api.task.QmsApi;
|
||||
import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO;
|
||||
import com.zt.plat.module.qms.enums.ErrorCodeConstants;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.engine.delegate.TaskListener;
|
||||
import org.flowable.task.service.delegate.DelegateTask;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||
|
||||
|
||||
/**
|
||||
* QMS模块任务监听
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class QmsTaskListener implements TaskListener {
|
||||
@Autowired
|
||||
private QmsApi qmsApi;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
log.info("[QmsTaskListener][delegateTask({})]", delegateTask);
|
||||
String state = delegateTask.getState();
|
||||
Map<String, Object> variables = delegateTask.getVariables();
|
||||
JSONObject jsonObject = new JSONObject(variables);
|
||||
String insId = delegateTask.getProcessInstanceId();
|
||||
QmsBpmDTO qmsBpmDTO = new QmsBpmDTO(insId, "", jsonObject, state);
|
||||
CommonResult<JSONObject> result = qmsApi.bpmCallback(qmsBpmDTO);
|
||||
if (!result.isSuccess()) {
|
||||
log.error("[QmsExecutionListener][execution({}) 回调失败!错误码:{},错误信息:{}]", delegateTask.getId(), result.getCode(), result.getMsg());
|
||||
throw exception0(ErrorCodeConstants.ERROR_CODE_MODULE_QMS_BPM, result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<String> 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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user