Commit 1b1f5ac8 by 赵剑炜

重写record方法

parent 520709b3
......@@ -20,8 +20,10 @@ import lombok.SneakyThrows;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType;
import org.flowable.common.engine.impl.event.FlowableEntityEventImpl;
import org.flowable.engine.HistoryService;
import org.flowable.engine.delegate.event.AbstractFlowableEngineEventListener;
import org.flowable.task.service.impl.persistence.entity.TaskEntity;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
......@@ -35,6 +37,8 @@ import java.util.Map;
public class GlobalEndListener extends AbstractFlowableEngineEventListener {
@Resource
public OrderMainService orderMainService;
@Resource
private HistoryService historyService;
protected Logger logger = LoggerFactory.getLogger(this.getClass());
@SneakyThrows
......@@ -46,6 +50,10 @@ import java.util.Map;
// 获取流程定义ID
String processDefinitionId = event.getProcessDefinitionId();
List<HistoricVariableInstance> orderType = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).variableName("orderType").list();
String Type= orderType.get(0).getValue().toString();
if (Type.equals("workOrder"))//出入库单据
{
OrderMainReq req=new OrderMainReq();
req.setProcessId(processInstanceId);
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
......@@ -56,29 +64,31 @@ import java.util.Map;
updateOrderReq.setExamineState("finished");
updateOrderReq.setOrderState("ready");
orderMainService.ChangeOrderState(updateOrderReq);
}
// 获取流程实例关联的变量
Map<String, Object> processVariables = getProcessVariables(processInstanceId);
if (processVariables!=null)
{
// 获取单据类型
String documentType = (String) processVariables.get("documentType");
updateOrderReq = JSONObject.parseObject(documentType, new TypeReference<UpdateOrderReq>() {
});
updateOrderReq.setExamineState("finished");
updateOrderReq.setOrderState("ready");
orderMainService.updateOrder(updateOrderReq);
// 获取单据类型
String orderReq = (String) processVariables.get("orderReq");
// 根据单据类型执行不同的操作
if ("equipment".equals(documentType)) {
// 执行装备相关操作,防止循环应用,丢入消息队列
orderMainService.AddOrder(updateOrderReq);
} else if ("personnel".equals(documentType)) {
// 执行人员相关操作
// ...
}
}
// Map<String, Object> processVariables = getProcessVariables(processInstanceId);
// if (processVariables!=null)
// {
// // 获取单据类型
// String documentType = (String) processVariables.get("documentType");
// updateOrderReq = JSONObject.parseObject(documentType, new TypeReference<UpdateOrderReq>() {
// });
// updateOrderReq.setExamineState("finished");
// updateOrderReq.setOrderState("ready");
// orderMainService.updateOrder(updateOrderReq);
// // 获取单据类型
// String orderReq = (String) processVariables.get("orderReq");
// // 根据单据类型执行不同的操作
// if ("equipment".equals(documentType)) {
// // 执行装备相关操作,防止循环应用,丢入消息队列
// orderMainService.AddOrder(updateOrderReq);
// } else if ("personnel".equals(documentType)) {
// // 执行人员相关操作
// // ...
// }
// }
}
......
......@@ -7,6 +7,7 @@ import com.junmp.junmpProcess.dto.TaskDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.junmpProcess.service.IFlowTaskService;
import com.junmp.junmpProcess.vo.HistoryProcessInstanceVO;
import com.junmp.junmpProcess.vo.RecordVO;
import com.junmp.junmpProcess.vo.TaskDetailVO;
import com.junmp.junmpProcess.vo.TaskVO;
import com.junmp.v2.common.bean.response.ApiRes;
......@@ -62,7 +63,7 @@ public class FlowTaskController {
@ApiOperation("通过流程实例查看审批记录")
@PostMapping("record")
public ApiRes<List<TaskDetailVO>> record(@RequestBody HandleDataDTO handleDataDTO) {
public ApiRes<RecordVO> record(@RequestBody HandleDataDTO handleDataDTO) {
return FlowTaskService.record(handleDataDTO.getProcessInstanceId());
}
......
package com.junmp.junmpProcess.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class FlowViewerDto implements Serializable {
/**
* 流程key
*/
private String key;
/**
* 是否完成(已经审批)
*/
private boolean completed;
}
......@@ -5,25 +5,6 @@ import lombok.Data;
import java.util.List;
/**
* @Author:LoveMyOrange
* @Description:
* @Date:Created in 2022/10/9 16:20
* <p>
* process: "
* {\"id\":\"root\",\
* "parentId\":null,\
* "type\":\"ROOT\",\
* "name\":\"发起人\",\
* "desc\":\"任何人\",\
* "props\":{\
* "assignedUser\":
* <p>
* <p>
* [{\"id\":1486186,\"name\":\"xx科技有限公司\",\"type\":\"dept\",\"sex\":null,\"selected\":false}],\
* "formPerms\":[{\"id\":\"field6131501574832\",\"title\":\"单行文本输入\",\"required\":true,\"perm\":\"E\"}]},\
* "children\":{\"id\":\"node_040730749764\",\"parentId\":\"root\",\"props\":{\"assignedType\":\"ASSIGN_USER\",\"mode\":\"AND\",\"sign\":true,\"nobody\":{\"handler\":\"TO_PASS\",\"assignedUser\":[]},\"timeLimit\":{\"timeout\":{\"unit\":\"H\",\"value\":\"1\"},\"handler\":{\"type\":\"REFUSE\",\"notify\":{\"once\":true,\"hour\":1}}},\"assignedUser\":[{\"id\":381496,\"name\":\"旅人\",\"type\":\"user\",\"sex\":false,\"selected\":false}],\"formPerms\":[{\"id\":\"field6131501574832\",\"title\":\"单行文本输入\",\"required\":true,\"perm\":\"R\"}],\"selfSelect\":{\"multiple\":false},\"leaderTop\":{\"endCondition\":\"TOP\",\"endLevel\":1},\"leader\":{\"level\":1},\"role\":[],\"refuse\":{\"type\":\"TO_END\",\"target\":\"\"},\"formUser\":\"\"},\"type\":\"APPROVAL\",\"name\":\"审批人\",\"children\":{}}}"
*/
@Data
public class ChildNode {
private String id;
......
......@@ -5,6 +5,7 @@ import com.junmp.junmpProcess.dto.ApplyDTO;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.dto.TaskDTO;
import com.junmp.junmpProcess.vo.HistoryProcessInstanceVO;
import com.junmp.junmpProcess.vo.RecordVO;
import com.junmp.junmpProcess.vo.TaskDetailVO;
import com.junmp.junmpProcess.vo.TaskVO;
import com.junmp.v2.common.bean.response.ApiRes;
......@@ -62,5 +63,5 @@ public interface IFlowTaskService {
*
* @return
*/
ApiRes<List<TaskDetailVO>> record(String processInstanceId);
ApiRes<RecordVO> record(String processInstanceId);
}
......@@ -133,7 +133,6 @@ public class BpmnConvert {
*/
private static Inout drawBzNode(Process process, JsonNode node,JsonNode formJson,String typeNode) {
// String id= "Node_"+UUID.randomUUID();
String id="root";
//创建发起人结点
UserTask task = new UserTask();
......
package com.junmp.junmpProcess.vo;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class RecordVO {
private List<TaskDetailVO> taskVo;
Map<String, Object> result;
JSONObject formJson;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论