Commit 0f03a8a5 by 王衍超

增加合同审批工作流提交的接口;

parent 3ba47959
......@@ -69,6 +69,25 @@ public class ContractConfiguration {
return configuration;
}
//合同变更审批工作流
@Bean
public BizTypeWorkflowConfiguration contractUpdateWorkflowConfig() {
//1.根据业务主体初始化配置类
BizTypeInfo bizTypeInfo = new BizTypeInfo(ContractConstant.BIZ_TYPE_UPDATE,ContractConstant.BIZ_TITLE_UPDATE, ContractConstant.ENTITY_CONTRACT);
BizTypeWorkflowConfiguration configuration = new BizTypeWorkflowConfiguration(bizTypeInfo);
//2.配置触发动作
TriggerCondition triggerCondition = new TriggerCondition();
List<TriggerAction> triggerActions = new ArrayList<>();
triggerActions.add(new TriggerAction("SUBMIT","提交"));
triggerCondition.setTriggerActions(triggerActions);
configuration.setTriggerCondition(triggerCondition);
//3.配置流程监听器
ProcessConfiguration processConfig = new ProcessConfiguration();
processConfig.setProcessEventListener(ContractConstant.CONTRACT_UPDATE_LISTENER);
configuration.setProcessConfiguration(processConfig);
return configuration;
}
@Bean("com.xyst.dinas.contract.query.processor.PerformWarningProcessor")
public PerformWarningProcessor performWarningProcessor() {
return new PerformWarningProcessor();
......
......@@ -35,14 +35,20 @@ public class ContractConstant {
/** 流程配置 */
/** 业务类型名称 */
/** 业务类型名称:合同 */
public static final String BIZ_TYPE = "Contract";
/** 业务类型标题 */
public static final String BIZ_TITLE = "合同";
/** 流程监听器 */
public static final String CONTRACT_LISTENER = "com.xyst.dinas.contract.listene.ContractProcessEventListener";
/** 业务类型名称:合同变更 */
public static final String BIZ_TYPE_UPDATE = "ContractUpdate";
/** 业务类型标题 */
public static final String BIZ_TITLE_UPDATE = "合同变更";
/** 流程监听器 */
public static final String CONTRACT_LISTENER = "com.xyst.dinas.contract.listene.ContractProcessEventListener";
public static final String CONTRACT_UPDATE_LISTENER = "com.xyst.dinas.contract.listene.ContractUpdateProcessListener";
}
......@@ -86,25 +86,32 @@ public class ContractServiceImpl implements ContractService {
return obj;
}
@Override
@Transactional
@Override
public void submitFlow(UUID id) {
KObject kobject = contractInfoDao.load(id);
if (needSubmitFlow(kobject)) {
// 调用流程接口发起流程
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE, kobject.getString("lendReason"),
kobject);
if (needSubmitFlow(ContractConstant.BIZ_TYPE,kobject)) {
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE, kobject.getString("lendReason"),kobject);
}
}
//变更合同的工作流
public void submitFlowForUpdate(UUID id) {
KObject kobject = contractInfoDao.load(id);
if (needSubmitFlow(ContractConstant.BIZ_TYPE_UPDATE,kobject)) {
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE_UPDATE, kobject.getString("lendReason"),kobject);
}
}
/**
* 判断提交是否需要走流程
*
* @param bizTypeName 业务类型标识
* @param data
* @return
*/
private boolean needSubmitFlow(KObject data) {
return inzWorkflowService.canStartWotkflow("SUBMIT", ContractConstant.BIZ_TYPE, data);
private boolean needSubmitFlow(String bizTypeName ,KObject data) {
return inzWorkflowService.canStartWotkflow("SUBMIT", bizTypeName, data);
}
@Override
......
package com.xyst.dinas.contract.listener;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.inz.workflow.listener.InzBizProcessEvent;
import com.beecode.inz.workflow.listener.InzBizProcessEventListener;
import com.xyst.dinas.contract.service.ContractWarnService;
public class ContractUpdateProcessListener implements InzBizProcessEventListener {
// @Autowired
// private ContractWarnService contractWarnService;
@Override
public void beforeProcessStarted(InzBizProcessEvent event) {
//do nothing
}
@Override
public void afterProcessStarted(InzBizProcessEvent event) {
//do nothing
}
@Override
public void beforeProcessCompleted(InzBizProcessEvent event) {
//do nothing
}
@Override
public void afterProcessCompleted(InzBizProcessEvent event) {
//自动新增合同预警条目
if(event.getInzBizProcess().getWorkflowState() == BizProcessState.DONE_WITH_AGREE.getValue()){
// contractWarnService.afterApproved(event.getInzBizProcess().getBizDataObject());
}
}
}
......@@ -16,7 +16,17 @@ public interface ContractService {
KObject queryContractInfo(UUID id);
/**
* 新增合同工作流
* @param id
*/
void submitFlow(UUID id);
/**
* 变更合同工作流
* @param id
*/
void submitFlowForUpdate(UUID id);
/**
* 根据购砂单位ID 查询所有合同列表里的项目ID列表
......
......@@ -68,6 +68,13 @@ public class ContractController {
return baseEntity;
}
@PostMapping("/contract/update/submitFlow")
public Object submitFlowForUpdate(@RequestBody BaseEntity baseEntity) {
UUID id = UUID.fromString(baseEntity.getId());
contractService.submitFlowForUpdate(id);
return baseEntity;
}
//根据购砂单位ID 查询所有合同列表里的项目ID列表
@PostMapping("/sand/user/projectList")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment