| | |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.SerializationException; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.flowable.engine.RuntimeService; |
| | | import org.flowable.engine.TaskService; |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.flowable.task.api.Task; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | |
| | | import org.springblade.mdm.flow.service.FlowProgramFileService; |
| | | import org.springblade.mdm.flow.service.TaskDispatchService; |
| | | import org.springblade.mdm.flow.service.execute.AbstractFlowCompleteService; |
| | | import org.springblade.mdm.flow.service.execute.BatchDispatchService; |
| | | import org.springblade.mdm.flow.service.execute.DefaultFlowCompleteService; |
| | | import org.springblade.mdm.flow.service.execute.TryFlowCompleteService; |
| | | import org.springblade.mdm.flow.vo.TaskAssignVO; |
| | |
| | | private final TryFlowCompleteService tryFlowCompleteService; |
| | | private final DefaultFlowCompleteService defaultFlowCompleteService; |
| | | private final TaskDispatchService taskDispatchService; |
| | | private final BatchDispatchService dispatchService; |
| | | |
| | | /** |
| | | * å起派工æµç¨ |
| | | */ |
| | |
| | | try { |
| | | AbstractFlowCompleteService completeService = getActualService(processInstanceId); |
| | | completeService.completeTask(taskId, processInstanceId, comment, variables); |
| | | |
| | | |
| | | return R.success("æµç¨æäº¤æå"); |
| | | }catch(Exception e){ |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | /* |
| | | Task task = taskService.createTaskQuery() |
| | | .taskId(taskId) |
| | | .singleResult(); |
| | | String operateResult = variables.get("approve")+""; |
| | | if(task.getTaskDefinitionKey().equals("programmingTask")) {//ç¼å¶èç¹ |
| | | flowProgramFileService.checkProgramFiles(processInstanceId,"Y".equals(operateResult)); |
| | | } |
| | | // å¢å è¯è®º |
| | | if (StringUtil.isNoneBlank(processInstanceId, comment)) { |
| | | taskService.addComment(taskId, processInstanceId, comment); |
| | | } |
| | | // éç©ºå¤æ |
| | | if (Func.isEmpty(variables)) { |
| | | variables = Kv.create(); |
| | | } |
| | | |
| | | //å å
¥å®¡æ¹ç¨æ· |
| | | variables.put(FlowContants.LAST_STEP_USER_NICKNAME,AuthUtil.getNickName()); |
| | | |
| | | if(variables.containsKey("assignee")){ |
| | | addApproveRecord(taskId,comment,variables); |
| | | |
| | | //å¨ç¼å¶ä»»å¡æ¶ï¼å建èç¹ï¼æ²¡æèç¹ååå»ºï¼æå°±ç´æ¥ä½¿ç¨ |
| | | if(task.getTaskDefinitionKey().equals("programmingTask") && "Y".equals(operateResult)) { |
| | | ncNodeAutoCreateService.createNodeTreeWithProgram(flowCommonService.getProgramProperties(processInstanceId)); |
| | | } |
| | | if(!"confirmIsUseableTask".equals(task.getTaskDefinitionKey())){ |
| | | |
| | | variables.remove(FlowContants.PROCESS_EDITION);//TODO 临æ¶é误æ¯ï¼ç»é¿æäº¤çæ¶åä¼æäº¤ä¸ä¸ªç©ºä¸²ï¼æ¸
空äºå
鍿°æ® |
| | | }else{ |
| | | //åç |
| | | |
| | | } |
| | | |
| | | //æå®äºä¸ä¸æ¥æ§è¡äºº |
| | | taskService.complete(taskId, variables); |
| | | |
| | | return R.success("æµç¨æäº¤æå"); |
| | | }else { |
| | | // 宿任å¡,ç»é»è®¤ç¨æ· |
| | | return R.fail("请æå®æµç¨ä¸ä¸æ¥å¤ç人"); |
| | | }*/ |
| | | |
| | | |
| | | } |
| | | |
| | | @Operation(summary = "æ¹é派工", description = "ç»é¿æ¹é派工") |
| | | @PostMapping("batchDispatch") |
| | | public R<Void> batchDispatch(String[] taskIds, String[] processInstanceIds, @Parameter(name = "comment", description = "夿³¨")String comment,@Parameter(name = "assignee", description = "å¤ç人id") String assignee) { |
| | | try { |
| | | dispatchService.batchCompleteTask(taskIds, processInstanceIds, comment, assignee); |
| | | return R.success("æµç¨æäº¤æå"); |
| | | }catch(Exception e){ |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | |
| | | } |
| | | /* |
| | | void addApproveRecord(String taskId,String comment,Map<String, Object> variables){ |
| | | String operateResult = variables.get("approve")+""; |
| | | |
| | |
| | | .singleResult(); |
| | | approveRecordService.saveApproveRecords(task,operateResult,comment); |
| | | |
| | | } |
| | | }*/ |
| | | } |