|
@@ -438,9 +438,36 @@ public class WorkOrderManageController {
|
|
|
args.put("工单编号",workOrderManage.getTaskNo());
|
|
|
args.put("url",String.format("?id=%s",workOrderManage.getId().toString()));
|
|
|
List<TaskPorcessResult> handleResult = workFlowService.handleTask(Action.ACTION_AUDIT,workOrderManage.getCurrentTaskId(), args, null);
|
|
|
- workOrderManage.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
- workOrderManage.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
- workOrderManage.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
+ if(workOrderManage.getOrderTypeId() == orderTypeId){
|
|
|
+ workOrderManage.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
+ workOrderManage.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
+ workOrderManage.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ workFlowService.stopProcessInstance(workOrderManage.getProcessInstanceId());
|
|
|
+ ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
|
|
|
+ loginUser.getTenantId(),
|
|
|
+ loginUser.getCompanyId(),
|
|
|
+ orderTypeId);
|
|
|
+ if(processDefinition == null){
|
|
|
+ return new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能派单!");
|
|
|
+ }
|
|
|
+ args.put("templateId",7);
|
|
|
+ args.put("msgType",7);
|
|
|
+ String startProcess = workFlowService.startProcess(processDefinition,args);
|
|
|
+ Task task = workFlowService.getProcessRuntimeTask(startProcess).get(0);
|
|
|
+ Set<String> taskParticipator = workFlowService.getTaskParticipator(task.getId(),false,null);
|
|
|
+ String currentUsers = "";
|
|
|
+ for (String str : taskParticipator) {
|
|
|
+ currentUsers += String.format("%s,",str);
|
|
|
+ }
|
|
|
+ workOrderManage.setProcessInstanceId(task.getProcessInstanceId());
|
|
|
+ workOrderManage.setProcessDefId(task.getProcessDefinitionId());
|
|
|
+ workOrderManage.setCurrentTaskId(task.getId());
|
|
|
+ workOrderManage.setCurrentUsers(currentUsers);
|
|
|
+ workOrderManage.setCurrentTaskName(task.getName());
|
|
|
+ }
|
|
|
+
|
|
|
workOrderManage.setUpdateBy(loginUser.getId().toString());
|
|
|
workOrderManage.setDateUpdate(new Date());
|
|
|
workOrderManage.setOrderStatus(1);//已执行
|