| @@ -210,6 +210,24 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| return new HashMap<>(); | return new HashMap<>(); | ||||
| } | } | ||||
| /** | |||||
| * 设置会签代办人 | |||||
| */ | |||||
| public void setSignAssignee(Map<String, Object> map, String flowJsoin){ | |||||
| WxFlowModel flowModel = (WxFlowModel)JsonUtil.readValue(flowJsoin,WxFlowModel.class); | |||||
| List<UserTaskVo> taskAssigneeList = flowModel.getLists(); | |||||
| for (UserTaskVo userTaskVo:taskAssigneeList) { | |||||
| if(EnumTaskType.AND.getCode().equals(userTaskVo.getType())){ | |||||
| List<String> assigneeList = new ArrayList<>(); | |||||
| for (FlowUserVo flowUserVo:userTaskVo.getUserList()) { | |||||
| assigneeList.add(flowUserVo.getId()); | |||||
| } | |||||
| map.put(userTaskVo.getKey()+"_signAssignee",assigneeList); | |||||
| } | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class}) | ||||
| public ResultData start(Map<String, Object> params,Long userId,String userName,String tenantId) { | public ResultData start(Map<String, Object> params,Long userId,String userName,String tenantId) { | ||||
| @@ -237,10 +255,7 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| map.put("variables",variables); | map.put("variables",variables); | ||||
| map.put("supplement",supplement); | map.put("supplement",supplement); | ||||
| map.put("taskAssignee",flowModel.getFlow()); | map.put("taskAssignee",flowModel.getFlow()); | ||||
| List<String> assigneeList = new ArrayList<>(); | |||||
| assigneeList.add("243650055783841792"); | |||||
| assigneeList.add("204398756307664896"); | |||||
| map.put("assigneeList",assigneeList); | |||||
| setSignAssignee(map,flowModel.getFlow()); | |||||
| ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(flowModel.getFlowId(), map); | ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(flowModel.getFlowId(), map); | ||||
| logger.debug("流程启动,流程id:{}",processInstance.getId()); | logger.debug("流程启动,流程id:{}",processInstance.getId()); | ||||
| @@ -1109,17 +1124,9 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| userTask.setName("节点" + (i + 1)); | userTask.setName("节点" + (i + 1)); | ||||
| userTask.setId("userTask" + (i + 1)); | userTask.setId("userTask" + (i + 1)); | ||||
| List<String> userIdList = new ArrayList<>(); | List<String> userIdList = new ArrayList<>(); | ||||
| String collection = ""; | |||||
| for (int j = 0; j < taskVo.getUserList().size(); j++) { | |||||
| FlowUserVo userVo = taskVo.getUserList().get(j); | |||||
| for (FlowUserVo userVo:taskVo.getUserList()) { | |||||
| userIdList.add(userVo.getId() + ""); | userIdList.add(userVo.getId() + ""); | ||||
| if(j==taskVo.getUserList().size()-1){ | |||||
| collection += userVo.getId(); | |||||
| }else{ | |||||
| collection += userVo.getId()+","; | |||||
| } | |||||
| } | } | ||||
| collection += ""; | |||||
| if(EnumTaskType.NORMAL.getCode().equals(taskVo.getType()) || EnumTaskType.OR.getCode().equals(taskVo.getType())){ | if(EnumTaskType.NORMAL.getCode().equals(taskVo.getType()) || EnumTaskType.OR.getCode().equals(taskVo.getType())){ | ||||
| userTask.setCandidateUsers(userIdList); | userTask.setCandidateUsers(userIdList); | ||||
| @@ -1127,7 +1134,7 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| userTask.setAssignee("${assignee}"); | userTask.setAssignee("${assignee}"); | ||||
| MultiInstanceLoopCharacteristics mi = new MultiInstanceLoopCharacteristics(); | MultiInstanceLoopCharacteristics mi = new MultiInstanceLoopCharacteristics(); | ||||
| mi.setLoopCardinality(userIdList.size()+""); | mi.setLoopCardinality(userIdList.size()+""); | ||||
| mi.setInputDataItem("${assigneeList}"); | |||||
| mi.setInputDataItem("${"+userTask.getId()+"_signAssignee}"); | |||||
| mi.setElementVariable("assignee"); | mi.setElementVariable("assignee"); | ||||
| userTask.setLoopCharacteristics(mi); | userTask.setLoopCharacteristics(mi); | ||||
| } | } | ||||