feat:流程回调支持提取流程审批意见
This commit is contained in:
@@ -2,6 +2,7 @@ package com.zt.plat.module.bpm.service.qms.listener;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
|
import com.zt.plat.module.bpm.service.task.BpmTaskService;
|
||||||
import com.zt.plat.module.qms.api.task.QmsApi;
|
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.api.task.dto.QmsBpmDTO;
|
||||||
import com.zt.plat.module.qms.enums.ErrorCodeConstants;
|
import com.zt.plat.module.qms.enums.ErrorCodeConstants;
|
||||||
@@ -15,10 +16,12 @@ import org.flowable.engine.RuntimeService;
|
|||||||
import org.flowable.engine.delegate.DelegateExecution;
|
import org.flowable.engine.delegate.DelegateExecution;
|
||||||
import org.flowable.engine.delegate.JavaDelegate;
|
import org.flowable.engine.delegate.JavaDelegate;
|
||||||
import org.flowable.engine.history.HistoricActivityInstance;
|
import org.flowable.engine.history.HistoricActivityInstance;
|
||||||
|
import org.flowable.task.api.history.HistoricTaskInstance;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -36,6 +39,7 @@ public class QmsExecutionListener implements JavaDelegate {
|
|||||||
private QmsApi qmsApi;
|
private QmsApi qmsApi;
|
||||||
@Resource private RuntimeService runtimeService;
|
@Resource private RuntimeService runtimeService;
|
||||||
@Resource private HistoryService historyService;
|
@Resource private HistoryService historyService;
|
||||||
|
@Resource private BpmTaskService taskService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -50,9 +54,20 @@ public class QmsExecutionListener implements JavaDelegate {
|
|||||||
.activityId(activityId)
|
.activityId(activityId)
|
||||||
.orderByHistoricActivityInstanceStartTime().desc()
|
.orderByHistoricActivityInstanceStartTime().desc()
|
||||||
.list();
|
.list();
|
||||||
|
List<HistoricTaskInstance> taskList = taskService.getTaskListByProcessInstanceId(insId, false);
|
||||||
|
//获取审批意见
|
||||||
|
Map<String, Object> taskVariables = new HashMap<>();
|
||||||
|
if(!taskList.isEmpty()){
|
||||||
|
HistoricTaskInstance task = taskList.get(0);
|
||||||
|
taskVariables = task.getTaskLocalVariables();
|
||||||
|
}
|
||||||
|
|
||||||
String currentActivityInsId = "";
|
String currentActivityInsId = "";
|
||||||
if(instances != null && !instances.isEmpty())
|
String currentActivityName = "";
|
||||||
|
if(instances != null && !instances.isEmpty()){
|
||||||
currentActivityInsId = instances.get(0).getId();
|
currentActivityInsId = instances.get(0).getId();
|
||||||
|
currentActivityName = instances.get(0).getActivityName();
|
||||||
|
}
|
||||||
variables.put("currentActivityInsId", currentActivityInsId);
|
variables.put("currentActivityInsId", currentActivityInsId);
|
||||||
variables.put("processInstanceId", insId);
|
variables.put("processInstanceId", insId);
|
||||||
JSONObject jsonObject = new JSONObject(variables);
|
JSONObject jsonObject = new JSONObject(variables);
|
||||||
@@ -62,7 +77,9 @@ public class QmsExecutionListener implements JavaDelegate {
|
|||||||
List<FieldExtension> fieldExtensions = listener.getFieldExtensions(); //节点执行监听里配置的扩展字段
|
List<FieldExtension> fieldExtensions = listener.getFieldExtensions(); //节点执行监听里配置的扩展字段
|
||||||
String currentActivityId = execution.getCurrentActivityId();
|
String currentActivityId = execution.getCurrentActivityId();
|
||||||
jsonObject.put(QmsBpmConstant.BPM_CALLBACK_ACTIVITY_ID, currentActivityId);
|
jsonObject.put(QmsBpmConstant.BPM_CALLBACK_ACTIVITY_ID, currentActivityId);
|
||||||
|
jsonObject.put("bpmCallbackActivityName", currentActivityName);
|
||||||
jsonObject.put(QmsBpmConstant.BPM_FIELD_EXTENSIONS, fieldExtensions);
|
jsonObject.put(QmsBpmConstant.BPM_FIELD_EXTENSIONS, fieldExtensions);
|
||||||
|
jsonObject.put("taskVariables", taskVariables);
|
||||||
QmsBpmDTO qmsBpmDTO = new QmsBpmDTO(insId, businessKey, jsonObject, "");
|
QmsBpmDTO qmsBpmDTO = new QmsBpmDTO(insId, businessKey, jsonObject, "");
|
||||||
Map<String, Object> v = runtimeService.getVariables(execution.getProcessInstanceId());
|
Map<String, Object> v = runtimeService.getVariables(execution.getProcessInstanceId());
|
||||||
// Object status = runtimeService.getVariable(execution.getProcessInstanceId(), WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE);
|
// Object status = runtimeService.getVariable(execution.getProcessInstanceId(), WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE);
|
||||||
|
|||||||
Reference in New Issue
Block a user