Commit 9e91d01a by 赵剑炜

修改审核人为审核组

parent 4fb5556d
...@@ -200,7 +200,10 @@ public class CounterSignListener implements ExecutionListener { ...@@ -200,7 +200,10 @@ public class CounterSignListener implements ExecutionListener {
if (assigneeList.size()!=0) if (assigneeList.size()!=0)
{ {
execution.setVariable(variable, assigneeList); execution.setVariable(variable, assigneeList);
execution.setVariable("currentAssignee", assigneeList); // execution.setVariable("candidateGroups", assigneeList);
userTask.setCandidateGroups(assigneeList);
userTask.setAssignee(null); // 清除原有的 assignee,因为你现在是设置候选组
// execution.setVariable("currentAssignee", assigneeList);
//为流程进行中的单据设置审核信息 //为流程进行中的单据设置审核信息
String orderType= execution.getVariable("orderType").toString(); String orderType= execution.getVariable("orderType").toString();
if (orderType.equals("workOrder")) if (orderType.equals("workOrder"))
......
...@@ -568,6 +568,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -568,6 +568,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Override @Override
public ApiRes<RecordVO> record(String processInstanceId) { public ApiRes<RecordVO> record(String processInstanceId) {
RecordVO vo=new RecordVO(); RecordVO vo=new RecordVO();
String tempID= flowInstanceService.getFormIdByInstanceId(processInstanceId);//先拿到表单id,然后通过表单拿到初始表结构 String tempID= flowInstanceService.getFormIdByInstanceId(processInstanceId);//先拿到表单id,然后通过表单拿到初始表结构
ProcessTemplates processTemplates = processTemplateService.getById(tempID); ProcessTemplates processTemplates = processTemplateService.getById(tempID);
...@@ -589,9 +591,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -589,9 +591,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list(); List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list();
List<TaskDetailVO> taskDetailVOS= new ArrayList<>(); List<TaskDetailVO> taskDetailVOS= new ArrayList<>();
String userStart = historicProcessInstance.getStartUserId(); String userStart = historicProcessInstance.getStartUserId();
// taskDetailVO.setUserId(user.getUserId().toString());
for (HistoricActivityInstance historicActivityInstance : list) { for (HistoricActivityInstance historicActivityInstance : list) {
if("startEvent".equals(historicActivityInstance.getActivityType())){ if("startEvent".equals(historicActivityInstance.getActivityType())){
...@@ -600,8 +599,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -600,8 +599,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskDetailVO.setActivityId(historicActivityInstance.getActivityId()); taskDetailVO.setActivityId(historicActivityInstance.getActivityId());
taskDetailVO.setName("发起人"); taskDetailVO.setName("发起人");
taskDetailVO.setTaskStatusWrapper("发起"); taskDetailVO.setTaskStatusWrapper("发起");
// taskDetailVO.setUserId(JSONObject.parseObject(userStart, UserInfo.class).getUserId().toString());
// taskDetailVO.setUserName(JSONObject.parseObject(userStart, UserInfo.class).getRealName().toString());
taskDetailVO.setCreateTime(historicActivityInstance.getStartTime()); taskDetailVO.setCreateTime(historicActivityInstance.getStartTime());
taskDetailVO.setEndTime(historicActivityInstance.getEndTime()); taskDetailVO.setEndTime(historicActivityInstance.getEndTime());
......
...@@ -2,6 +2,7 @@ package com.junmp.junmpProcess.utils; ...@@ -2,6 +2,7 @@ package com.junmp.junmpProcess.utils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.junmp.junmpProcess.dto.json.flowJson.Inout; import com.junmp.junmpProcess.dto.json.flowJson.Inout;
import com.junmp.junmpProcess.entity.ProcessTemplates; import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService; import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
...@@ -192,6 +193,18 @@ public class BpmnConvert { ...@@ -192,6 +193,18 @@ public class BpmnConvert {
userTask.setId(id); userTask.setId(id);
//写入节点名称 //写入节点名称
userTask.setName(node.get("name").asText()); userTask.setName(node.get("name").asText());
// 设置候选用户组(Candidate Groups)
ArrayNode candidateGroups = (ArrayNode) node.get("candidateGroups");
if (candidateGroups != null && candidateGroups.size() > 0) {
List<String> candidateGroupList = new ArrayList<>();
for (JsonNode group : candidateGroups) {
candidateGroupList.add(group.asText());
}
userTask.setCandidateGroups(candidateGroupList);
}
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
JsonNode[] approverGroups = objectMapper.convertValue(node.get("approverGroups"), JsonNode[].class); JsonNode[] approverGroups = objectMapper.convertValue(node.get("approverGroups"), JsonNode[].class);
userTask.setExecutionListeners(getTaskListeners());//角色监听 userTask.setExecutionListeners(getTaskListeners());//角色监听
...@@ -203,9 +216,12 @@ public class BpmnConvert { ...@@ -203,9 +216,12 @@ public class BpmnConvert {
// 迭代集合 // 迭代集合
multiInstanceLoopCharacteristics.setElementVariable("assigneeName"); multiInstanceLoopCharacteristics.setElementVariable("assigneeName");
// 串行 // 串行
multiInstanceLoopCharacteristics.setSequential(false); multiInstanceLoopCharacteristics.setSequential(false); // 并行流程
multiInstanceLoopCharacteristics.setCompletionCondition("${nrOfCompletedInstances/nrOfInstances > 0}"); multiInstanceLoopCharacteristics.setInputDataItem("${assigneeList}"); // 输入参数,可以是候选组成员列表
multiInstanceLoopCharacteristics.setCompletionCondition("${nrOfCompletedInstances/nrOfInstances >=1}");
userTask.setAssignee("${assigneeName}"); userTask.setAssignee("${assigneeName}");
// userTask.setCandidateGroups("${assigneeName}");
// userTask.setCandidateGroups(Arrays.asList("group1", "group2")); // 设置候选组
// 设置多实例属性 // 设置多实例属性
userTask.setLoopCharacteristics(multiInstanceLoopCharacteristics); userTask.setLoopCharacteristics(multiInstanceLoopCharacteristics);
process.addFlowElement(userTask); process.addFlowElement(userTask);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论