|  |  | 
 |  |  |     private CommonService commonService; | 
 |  |  |     @Autowired | 
 |  |  |     private NotifyUtils notifyUtils; | 
 |  |  |     @Autowired | 
 |  |  |     private BasDevpService basDevpService; | 
 |  |  |  | 
 |  |  |     private static final boolean auth = true; | 
 |  |  |  | 
 |  |  | 
 |  |  |     @PostMapping("/taskCreate") | 
 |  |  |     @Transactional | 
 |  |  |     public R taskCreate(@RequestHeader String appkey, | 
 |  |  |                           @RequestBody List<TaskCreateParam> param1, | 
 |  |  |                           @RequestBody TaskCreateParam param, | 
 |  |  |                           HttpServletRequest request) { | 
 |  |  |         auth(appkey, param1, request); | 
 |  |  |         auth(appkey, param, request); | 
 |  |  |  | 
 |  |  |         R result = null; | 
 |  |  |         try{ | 
 |  |  |             List<TaskCreateParam> paramList = new ArrayList<>(); | 
 |  |  |             List<String> locNoList = new ArrayList<>(); | 
 |  |  |             for (TaskCreateParam param : param1) { | 
 |  |  |                 if (Cools.isEmpty(param)) { | 
 |  |  |                     return R.parse(BaseRes.PARAM); | 
 |  |  |                 } | 
 |  |  |                 if (Cools.isEmpty(param.getTaskNo())) { | 
 |  |  |                     return R.error("任务号[taskNo]不能为空"); | 
 |  |  |                 } | 
 |  |  |                 if (Cools.isEmpty(param.getIoType())) { | 
 |  |  |                     return R.error("任务类型[ioType]不能为空"); | 
 |  |  |                 } | 
 |  |  |                 if (Cools.isEmpty(param.getBarcode())) { | 
 |  |  |                     return R.error("条码[barcode]不能为空"); | 
 |  |  |                 } | 
 |  |  |                 String locNo=null; | 
 |  |  |                 if (param.getIoType() == 1) { | 
 |  |  |                     locNo = param.getTargetPoint(); | 
 |  |  |                 } else { | 
 |  |  |                     locNo = param.getStartPoint(); | 
 |  |  |                 } | 
 |  |  |                 try { | 
 |  |  |                     LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() | 
 |  |  |                             .eq("loc_no", locNo).ne("loc_sts", "X")); | 
 |  |  |                     if (Cools.isEmpty(locMast)) { | 
 |  |  |                         log.error("库位号不存在" + locNo); | 
 |  |  |                         return R.error("库位号不存在" + locNo).add("库位号不存在" + locNo); | 
 |  |  |                     } | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     log.error("库位号检测程序异常==》异常信息" + e); | 
 |  |  |                     return R.error("库位号检测程序异常").add("库位号检测程序异常==》异常信息" + e); | 
 |  |  |                 } | 
 |  |  |             if (Cools.isEmpty(param)) { | 
 |  |  |                 result = R.parse(BaseRes.PARAM); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             if (Cools.isEmpty(param.getTaskNo())) { | 
 |  |  |                 result = R.error("任务号[taskNo]不能为空"); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             if (Cools.isEmpty(param.getIoType())) { | 
 |  |  |                 result = R.error("任务类型[ioType]不能为空"); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             if (Cools.isEmpty(param.getBarcode())) { | 
 |  |  |                 result = R.error("条码[barcode]不能为空"); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             String locNo=null; | 
 |  |  |             if (param.getIoType() == 1) { | 
 |  |  |                 locNo = param.getTargetPoint(); | 
 |  |  |             } else { | 
 |  |  |                 locNo = param.getStartPoint(); | 
 |  |  |             } | 
 |  |  |             try { | 
 |  |  |                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() | 
 |  |  |                         .eq("loc_sts", "F") | 
 |  |  |                         .eq("loc_no", locNo) | 
 |  |  |                         .eq("barcode", param.getBarcode())); | 
 |  |  |                 if(Cools.isEmpty(locMast)){ | 
 |  |  |                     return R.error("该库位不满足出库条件"+param.getTargetPoint()); | 
 |  |  |                         .eq("loc_no", locNo).ne("loc_sts", "X")); | 
 |  |  |                 if (Cools.isEmpty(locMast)) { | 
 |  |  |                     log.error("库位号不存在" + locNo); | 
 |  |  |                     result = R.error("库位号不存在" + locNo).add("库位号不存在" + locNo); | 
 |  |  |                     return result; | 
 |  |  |                 } | 
 |  |  |                 if (!locNoList.contains(locMast.getLocNo())){ | 
 |  |  |                     locNoList.add(locMast.getLocNo()); | 
 |  |  |                     paramList.add(param); | 
 |  |  |                 }else { | 
 |  |  |                     return R.error("该库位不能同时下发两笔任务" + locMast.getLocNo()); | 
 |  |  |                 } | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 log.error("库位号检测程序异常==》异常信息" + e); | 
 |  |  |                 result = R.error("库位号检测程序异常").add("库位号检测程序异常==》异常信息" + e); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             for (TaskCreateParam param : paramList){ | 
 |  |  |                 openService.taskCreate(param); | 
 |  |  |             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() | 
 |  |  |                     .eq("loc_sts", "F") | 
 |  |  |                     .eq("loc_no", locNo) | 
 |  |  |                     .eq("barcode", param.getBarcode())); | 
 |  |  |             if(Cools.isEmpty(locMast)){ | 
 |  |  |                 result = R.error("该库位不满足出库条件" + locMast.getLocNo()); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             result = openService.taskCreate(param); | 
 |  |  |             return result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("任务下发异常"+e); | 
 |  |  |             log.error("任务下发异常" + e); | 
 |  |  |             return R.error(); | 
 |  |  |         }finally { | 
 |  |  |             apiLogService.save("wms任务下发接口" | 
 |  |  |                     ,request.getRemoteAddr()+request.getRequestURI() | 
 |  |  |                     ,"" | 
 |  |  |                     ,request.getRemoteAddr() | 
 |  |  |                     ,JSON.toJSONString(param) | 
 |  |  |                     ,JSON.toJSONString(result) | 
 |  |  |                     ,true | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //创建入库任务 | 
 |  |  | 
 |  |  |                                @RequestBody TaskCancelParam param, | 
 |  |  |                                HttpServletRequest request) { | 
 |  |  |         auth(appkey, param, request); | 
 |  |  |         if (Cools.isEmpty(param)) { | 
 |  |  |             return R.error("参数为空!"); | 
 |  |  |         } else if (Cools.isEmpty(param.getTaskNo())) { | 
 |  |  |             return R.error("工作号为空!"); | 
 |  |  |         } else if (Cools.isEmpty(param.getIoType())) { | 
 |  |  |             return R.error("操作类型为空!"); | 
 |  |  |         } else if (Cools.isEmpty(param.getBarcode())) { | 
 |  |  |             return R.error("托盘码不能为空!"); | 
 |  |  |         } | 
 |  |  |         R result = null; | 
 |  |  |         try { | 
 |  |  |             if (Cools.isEmpty(param)) { | 
 |  |  |                 return R.error("参数为空!"); | 
 |  |  |             } else if (Cools.isEmpty(param.getTaskNo())) { | 
 |  |  |                 return R.error("工作号为空!"); | 
 |  |  |             } else if (Cools.isEmpty(param.getIoType())) { | 
 |  |  |                 return R.error("操作类型为空!"); | 
 |  |  |             } else if (Cools.isEmpty(param.getBarcode())) { | 
 |  |  |                 return R.error("托盘码不能为空!"); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>() | 
 |  |  |                 .eq("task_no", param.getTaskNo()) | 
 |  |  |                 .eq("io_type", param.getIoType()) | 
 |  |  |                 .eq("barcode", param.getBarcode())); | 
 |  |  |         if (Cools.isEmpty(taskWrk)){ | 
 |  |  |             return R.error("未查到当前任务---" + param); | 
 |  |  |             TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>() | 
 |  |  |                     .eq("task_no", param.getTaskNo()) | 
 |  |  |                     .eq("io_type", param.getIoType()) | 
 |  |  |                     .eq("barcode", param.getBarcode())); | 
 |  |  |             if (Cools.isEmpty(taskWrk)){ | 
 |  |  |                 result =  R.error("未查到当前任务---" + param); | 
 |  |  |                 return result; | 
 |  |  |             } | 
 |  |  |             boolean sign = false; | 
 |  |  |             switch (param.getTaskStatus()) { | 
 |  |  |                 case 1://正常取消 | 
 |  |  |                     if (taskWrk.getStatus() > 1) { | 
 |  |  |                         if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() <= 2) {//入库 | 
 |  |  |                             break; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         result = R.error("任务已开始执行"); | 
 |  |  |                         return result; | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 case 2://正常完成 | 
 |  |  |                     if (taskWrk.getStatus() > 1) { | 
 |  |  |                         result = R.error("任务已开始执行"); | 
 |  |  |                         return result; | 
 |  |  |                     } | 
 |  |  |                     sign = true; | 
 |  |  |                     break; | 
 |  |  |                 default: | 
 |  |  |                     result = R.error("未知操作"); | 
 |  |  |                     return result; | 
 |  |  |             } | 
 |  |  |             result = taskWrkOperate(taskWrk, sign); | 
 |  |  |             return result; | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |             result = R.error(e.getMessage()); | 
 |  |  |             return R.error(e.getMessage()); | 
 |  |  |         }finally { | 
 |  |  |             apiLogService.save("wms任务下发接口" | 
 |  |  |                     ,request.getRemoteAddr()+request.getRequestURI() | 
 |  |  |                     ,"" | 
 |  |  |                     ,request.getRemoteAddr() | 
 |  |  |                     ,JSON.toJSONString(param) | 
 |  |  |                     ,JSON.toJSONString(result) | 
 |  |  |                     ,true | 
 |  |  |             ); | 
 |  |  |         } | 
 |  |  |         boolean sign =false; | 
 |  |  |         switch (param.getTaskStatus()) { | 
 |  |  |             case 1://正常取消 | 
 |  |  |                 if (taskWrk.getStatus() > 1) { | 
 |  |  |                     return R.error("任务已开始执行"); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case 2://正常完成 | 
 |  |  |                 if (taskWrk.getStatus() > 1) { | 
 |  |  |                     return R.error("任务已开始执行"); | 
 |  |  |                 } | 
 |  |  |                 sign = true; | 
 |  |  |                 break; | 
 |  |  |             default: | 
 |  |  |                 return R.error("未知操作"); | 
 |  |  |         } | 
 |  |  |         return taskWrkOperate(taskWrk, sign); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //任务操作 | 
 |  |  | 
 |  |  |             crnStatusParams.add(crnStatusParam); | 
 |  |  |         } | 
 |  |  |         return R.ok(crnStatusParams); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //输送站点状态查询接口 | 
 |  |  |     @GetMapping("/stationStatus") | 
 |  |  |     @Transactional | 
 |  |  |     public R stationStatus() { | 
 |  |  |         List<StationStatusParam> data = new ArrayList<>(); | 
 |  |  |         List<BasDevp> list = basDevpService.selectList(new EntityWrapper<BasDevp>() | 
 |  |  |                 .in("dev_no", 102, 104, 106, 108, 203, 206, 209, 212)); | 
 |  |  |         for (BasDevp basDevp : list) { | 
 |  |  |             String taskNo = ""; | 
 |  |  |             String barcode = ""; | 
 |  |  |             if (basDevp.getWrkNo() > 0) { | 
 |  |  |                 TaskWrk taskWrk = taskWrkService.selectByWrkNo(basDevp.getWrkNo()); | 
 |  |  |                 if (taskWrk != null) { | 
 |  |  |                     taskNo = taskWrk.getTaskNo(); | 
 |  |  |                     barcode = taskWrk.getBarcode(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             StationStatusParam param = new StationStatusParam(); | 
 |  |  |             param.setStaNo(basDevp.getDevNo()); | 
 |  |  |             param.setTaskNo(taskNo); | 
 |  |  |             param.setLoading(basDevp.getLoading()); | 
 |  |  |             param.setBarcode(barcode); | 
 |  |  |  | 
 |  |  |             data.add(param); | 
 |  |  |         } | 
 |  |  |         return R.ok(data); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //模拟输送线入库 | 
 |  |  | 
 |  |  |  | 
 |  |  |             JSONObject result = jsonObject.getJSONObject("data"); | 
 |  |  |             Integer resultWrkNo = result.getInteger("wrkNo"); | 
 |  |  |             Integer resultStaNo = result.getInteger("staNo"); | 
 |  |  |             Integer resultStaNo = result.getInteger("stnNo"); | 
 |  |  |             String resultLocNo = result.getString("locNo"); | 
 |  |  |  | 
 |  |  |             // 创新一个入库工作档 | 
 |  |  | 
 |  |  |         } | 
 |  |  |         log.info("入库请求参数=" + JSON.toJSONString(barcode)); | 
 |  |  |         log.info("入库请求返回参数=" + JSON.toJSONString(response)); | 
 |  |  |         return R.error(); | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |