wangbo 4 年之前
父节点
当前提交
8284494ce6

+ 55 - 4
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -176,7 +176,6 @@ public class WorkOrderManageController {
             PlanManage plan= planManageService.selectByPrimaryKey(flowId);
             workFlowLog.setProcessInstanceId(plan.getProcessInstanceId());
             workFlowLog.setTaskId(plan.getCurrentTaskId());
-
             if(action!=null){
                 List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,plan.getCurrentTaskId(), args, null);
                 plan.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
@@ -223,7 +222,6 @@ public class WorkOrderManageController {
                     return new AjaxMessage<>(ResultStatus.PARENT_ORDER_ING);
                 }
             }
-
             if(action!=null){
                 List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,order.getCurrentTaskId(), args, null);
                 order.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
@@ -376,9 +374,62 @@ public class WorkOrderManageController {
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
 
+    @GetMapping("/resubmit")
+    @ApiOperation(value = "重新派单")
+    public AjaxMessage reSubmitOrder(
+            @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
+            @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
+            @ApiParam(value = "紧急程度", required = true) @RequestParam(required = true) String urgency,
+            @ApiParam(value = "时限", required = true) @RequestParam(required = true) String dateLimit,
+            @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId){
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
+        if(workOrderManage == null){
+            new AjaxMessage(ResultStatus.ERROR,"工单ID错误!");
+        }
+        if(StringUtils.isEmpty(workOrderManage.getCurrentTaskId())){
+            new AjaxMessage(ResultStatus.ERROR,"流程配置错误!");
+        }
+        Map<String,Object> args=new HashMap<>();
+        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);
+        workOrderManage.setUpdateBy(loginUser.getId().toString());
+        workOrderManage.setDateUpdate(new Date());
+        workOrderManage.setOrderStatus(1);//已执行
+        workOrderManage.setOrderTypeId(orderTypeId);//工单类型ID
+        workOrderManage.setUrgency(urgency);//紧急程度
+        workOrderManage.setOrderUserId(orderUserId);//接单人ID
+        workOrderManage.setDateLimit(dateLimit);
+        if(loginUser.getId() != null) {
+            workOrderManage.setUpdateBy(String.valueOf(loginUser.getId()));
+            workOrderManage.setSendBy(String.valueOf(loginUser.getId()));//派单人
+        }
+        workOrderManage.setSendTime(new Date());// 派单时间
+        workOrderManage.setDateUpdate(new Date());// 更新时间
+        int rows = workOrderManageService.updateByPrimaryKey(workOrderManage);
+        if(rows > 0){
+            //记录日志
+            WorkFlowLog workFlowLog=new WorkFlowLog();
+            workFlowLog.setFlowId(id);
+            workFlowLog.setFlowType(2);
+            workFlowLog.setFlowResult("重新派单");
+            workFlowLog.setCreateBy(loginUser.getId().toString());
+            workFlowLog.setDateCreate(new Date());
+            workFlowLog.setHandleUserId(loginUser.getId()!=null?loginUser.getId().toString():null);
+            workFlowLog.setHandleUserName(loginUser.getUsername());
+            workFlowLog.setProcessInstanceId(workOrderManage.getProcessInstanceId());
+            workFlowLog.setTaskId(workOrderManage.getCurrentTaskId());
+            workFlowLogService.insert(workFlowLog);
+            return new AjaxMessage<>(ResultStatus.OK);
+        }
+        return new AjaxMessage<>(ResultStatus.ERROR);
+    }
+
     @GetMapping("/submit")
-    @ApiOperation(value = "工单派单")
-    public AjaxMessage submitPlan(
+    @ApiOperation(value = "派单")
+    public AjaxMessage submitOrder(
             @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
             @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
             @ApiParam(value = "工单类型名称", required = true) @RequestParam(required = true) String orderType,

+ 1 - 1
operation_manager/src/main/java/com/huaxu/process/utils/Action.java

@@ -4,7 +4,7 @@ public enum Action {
     ACTION_SUBMIT("submit", "提交"),
     ACTION_AUDIT("audit", "审批"), // 审批
     ACTION_REJECT("reject", "驳回"), // 驳回
-    ACTION_RECEIVE("receive", "接单"), // 驳回
+    ACTION_RECEIVE("receive", "接单"), // 接单
     ACTION_HANDLE("handle", "处理"),
     ACTION_TRANSFER("transfer", "指派");  // 处理
     public final String name;