| | |
| | | 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 = ""; |
| | | if (basDevp.getWrkNo() > 0) { |
| | | TaskWrk taskWrk = taskWrkService.selectByWrkNo(basDevp.getWrkNo()); |
| | | if (taskWrk != null) { |
| | | taskNo = taskWrk.getTaskNo(); |
| | | } |
| | | } |
| | | |
| | | StationStatusParam param = new StationStatusParam(); |
| | | param.setStaNo(basDevp.getDevNo()); |
| | | param.setTaskNo(taskNo); |
| | | param.setLoading(basDevp.getLoading()); |
| | | |
| | | 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(); |
| | | } |
| | | |
| | | } |