| | |
| | | } |
| | | Short workNo = staProtocol.getWorkNo(); |
| | | Short stano = staProtocol.getStaNo(); |
| | | |
| | | // 尺寸检测异常 |
| | | boolean back = false; |
| | | String errMsg = ""; |
| | | if (staProtocol.isFrontErr()) { |
| | | errMsg = "前超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isBackErr()) { |
| | | errMsg = "后超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isHighErr()) { |
| | | errMsg = "高超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isLeftErr()) { |
| | | errMsg = "左超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isRightErr()) { |
| | | errMsg = "右超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isWeightErr()) { |
| | | errMsg = "超重"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isBarcodeErr()) { |
| | | errMsg = "扫码失败"; |
| | | back = true; |
| | | } |
| | | // 判断是否满足入库条件 |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() |
| | | && staProtocol.isInEnable() |
| | |
| | | continue; |
| | | } |
| | | String BoxNo = barcodeThread.getBarcode(); |
| | | TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); |
| | | if (!Cools.isEmpty(taskWrk1)) { |
| | | log.info("托盘码:" + BoxNo + "任务档存在"); |
| | | if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); |
| | | if (Cools.isEmpty(staDesc)) { |
| | | return; |
| | | } else { |
| | | continue; |
| | | if (BoxNo.equals("00000000")) { |
| | | storageEscalationParam.setWCSStatus(1); |
| | | storageEscalationParam.setWCSErrorMessage("没有扫到码"); |
| | | BasDevp basDevp= basDevpService.selectOne(new EntityWrapper<BasDevp>() |
| | | .eq("dev_no",staProtocol.getSiteId())); |
| | | if(Cools.isEmpty(basDevp)){ |
| | | log.error("扫码失败并且没有找到该站点---"+staProtocol.getSiteId()); |
| | | }else{ |
| | | basDevp.setStaErr(1);//没有扫到码 |
| | | basDevp.setStaErrMsg("没有扫到码!"); |
| | | basDevpService.updateById(basDevp); |
| | | } |
| | | continue; |
| | | }else{ |
| | | TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); |
| | | if (!Cools.isEmpty(taskWrk1)) { |
| | | log.info("托盘码:" + BoxNo + "任务档存在"); |
| | | if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); |
| | | if (Cools.isEmpty(staDesc)) { |
| | | return; |
| | | } else { |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (back) { |
| | | storageEscalationParam.setWCSStatus(1); |
| | | storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg); |
| | | } |
| | | log.info("组托入库={}", storageEscalationParam); |
| | | storageEscalationParam.setBoxNo(BoxNo); |
| | | storageEscalationParam.setWcsIoType(1);//满板 |
| | | storageEscalationParam.setWcsSourceStaNo(staProtocol.getSiteId()); |
| | | String response = ""; |
| | | Boolean success = false; |
| | | try { |
| | |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if (back) { |
| | | if (staProtocol.getWorkNo() >= 9801 && staProtocol.getWorkNo() <= 9825) { |
| | | staProtocol.setStaNo((short) 105); |
| | | } else if (staProtocol.getWorkNo() >= 9826 && staProtocol.getWorkNo() <= 9850) { |
| | | staProtocol.setStaNo((short) 107); |
| | | } else if (staProtocol.getWorkNo() >= 9851 && staProtocol.getWorkNo() <= 9875) { |
| | | staProtocol.setStaNo((short) 109); |
| | | } else { |
| | | staProtocol.setStaNo((short) 110); |
| | | } |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | } else { |
| | | if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { |
| | | Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); |
| | | // 创新一个入库工作档 |
| | | TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()); |
| | | |
| | | if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { |
| | | Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); |
| | | // 创新一个入库工作档 |
| | | TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()+""); |
| | | if (Cools.isEmpty(taskWrk)) { |
| | | taskWrk = createTask1(result, BoxNo,staProtocol.getSiteId()); |
| | | if (Cools.isEmpty(taskWrk)) { |
| | | taskWrk = createTask1(result, BoxNo); |
| | | if (Cools.isEmpty(taskWrk)) { |
| | | log.error("库位异常,库位号:={}", taskWrk.getOriginTargetPoint()); |
| | | } else { |
| | | taskWrkService.insert(taskWrk); |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); |
| | | staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); |
| | | staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("TaskNo", taskWrk.getTaskNo()); |
| | | Boolean bool = false; |
| | | try { |
| | | //开始上报,任务开始时,WCS回调WMS |
| | | response = new HttpHandler.Builder() |
| | | .setUri(wmsUrl) |
| | | .setPath(taskStatusFeedbackPath) |
| | | .setJson(JSON.toJSONString(hashMap)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject1 = JSON.parseObject(response); |
| | | |
| | | if (jsonObject1.get("ReturnStatus").equals(0)) { |
| | | bool = true; |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | |
| | | }finally { |
| | | apiLogService.save("wcs开始入库任务上报wms" |
| | | , wmsUrl + TaskExecCallback |
| | | , null |
| | | , "127.0.0.1" |
| | | , JSON.toJSONString(hashMap) |
| | | , response |
| | | , bool |
| | | ); |
| | | } |
| | | } |
| | | log.error("库位异常,库位号:={}", taskWrk.getOriginTargetPoint()); |
| | | } else { |
| | | // staProtocol.setWorkNo((short) 9991); |
| | | if (staProtocol.getWorkNo() >= 9801 && staProtocol.getWorkNo() <= 9825) { |
| | | staProtocol.setStaNo((short) 105); |
| | | } else if (staProtocol.getWorkNo() >= 9826 && staProtocol.getWorkNo() <= 9850) { |
| | | staProtocol.setStaNo((short) 107); |
| | | } else if (staProtocol.getWorkNo() >= 9851 && staProtocol.getWorkNo() <= 9875) { |
| | | staProtocol.setStaNo((short) 109); |
| | | } else { |
| | | staProtocol.setStaNo((short) 110); |
| | | } |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | taskWrkService.insert(taskWrk); |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); |
| | | staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); |
| | | staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | } |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("TaskNo", taskWrk.getTaskNo()); |
| | | Boolean bool = false; |
| | | try { |
| | | //开始上报,任务开始时,WCS回调WMS |
| | | response = new HttpHandler.Builder() |
| | | .setUri(wmsUrl) |
| | | .setPath(taskStatusFeedbackPath) |
| | | .setJson(JSON.toJSONString(hashMap)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject1 = JSON.parseObject(response); |
| | | |
| | | } else { |
| | | // staProtocol.setWorkNo((short) 9991); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | if (jsonObject1.get("ReturnStatus").equals(0)) { |
| | | bool = true; |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | |
| | | } finally { |
| | | apiLogService.save("wcs开始入库任务上报wms" |
| | | , wmsUrl + TaskExecCallback |
| | | , null |
| | | , "127.0.0.1" |
| | | , JSON.toJSONString(hashMap) |
| | | , response |
| | | , bool |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | continue; |
| | | } |
| | | |
| | | String mbz=taskWrk.getTargetPoint().substring(5); |
| | | String mbz = taskWrk.getTargetPoint().substring(5); |
| | | |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("taskNo",taskWrk.getTaskNo());//wms任务号 |
| | | hashMap.put("sourceStaNo",staDetl.getDevNo());//源站点 |
| | | hashMap.put("staNo",Integer.parseInt(mbz)+"");//目标站 |
| | | hashMap.put("locNo",taskWrk.getTargetPoint());//目标库位 |
| | | hashMap.put("taskNo", taskWrk.getTaskNo());//wms任务号 |
| | | hashMap.put("sourceStaNo", staDetl.getDevNo());//源站点 |
| | | hashMap.put("staNo", Integer.parseInt(mbz) + "");//目标站 |
| | | hashMap.put("locNo", taskWrk.getTargetPoint());//目标库位 |
| | | String response = ""; |
| | | Boolean bool = false; |
| | | try { |
| | |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | if(jsonObject.get("code").equals(200)){ |
| | | if (jsonObject.get("code").equals(200)) { |
| | | bool = true; |
| | | // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 |
| | | taskWrk.setAssignTime(new Date());//派发时间 |
| | |
| | | taskWrk.setModiUser(9988L); |
| | | } |
| | | } catch (Exception e) { |
| | | }finally { |
| | | } finally { |
| | | apiLogService.save("wcs派发入库任务给RCS" |
| | | , wcsUrl + wcsInboundTaskApplyPath |
| | | , null |
| | |
| | | break; |
| | | } |
| | | |
| | | String mbz=taskWrk.getTargetPoint().substring(5); |
| | | String mbz = taskWrk.getTargetPoint().substring(5); |
| | | |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("taskNo",taskWrk.getTaskNo());//wms任务号 |
| | | hashMap.put("sourceStaNo",staDetl.getDevNo());//源站点 |
| | | hashMap.put("staNo",Integer.parseInt(mbz)+"");//目标站 |
| | | hashMap.put("locNo",taskWrk.getTargetPoint());//目标库位 |
| | | hashMap.put("taskNo", taskWrk.getTaskNo());//wms任务号 |
| | | hashMap.put("sourceStaNo", staDetl.getDevNo());//源站点 |
| | | hashMap.put("staNo", Integer.parseInt(mbz) + "");//目标站 |
| | | hashMap.put("locNo", taskWrk.getTargetPoint());//目标库位 |
| | | String response = ""; |
| | | Boolean bool = false; |
| | | try { |
| | |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | if(jsonObject.get("code").equals(200)){ |
| | | if (jsonObject.get("code").equals(200)) { |
| | | bool = true; |
| | | // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 |
| | | taskWrk.setAssignTime(new Date());//派发时间 |
| | |
| | | taskWrk.setModiUser(9988L); |
| | | } |
| | | } catch (Exception e) { |
| | | }finally { |
| | | } finally { |
| | | apiLogService.save("wcs派发出库任务给RCS" |
| | | , wcsUrl + wcsInboundTaskApplyPath |
| | | , null |
| | |
| | | return response; |
| | | } |
| | | |
| | | private TaskWrk createTask1(Result result, String barcode) { |
| | | String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn()); |
| | | |
| | | |
| | | private TaskWrk createTask1(Result result, String barcode,Integer devNo) { |
| | | Date now = new Date(); |
| | | TaskWrk taskWrk = new TaskWrk(); |
| | | int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号 |
| | | taskWrk.setTaskNo(result.getTaskNo());//任务号 |
| | | taskWrk.setWrkNo(workNo1); |
| | | // int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号 |
| | | taskWrk.setTaskNo(result.getTaskNo()+"");//任务号 |
| | | taskWrk.setWrkNo(result.getTaskNo()); |
| | | taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//任务状态:派发 |
| | | taskWrk.setCreateTime(now); |
| | | taskWrk.setIoType(1);//任务类型 |
| | | taskWrk.setIoPri(13);//优先级 |
| | | taskWrk.setBarcode(barcode);//条码 |
| | | LocMast locMast = locMastService.selectByLocNo(locNo); |
| | | taskWrk.setCrnNo(locMast.getCrnNo()); |
| | | taskWrk.setTargetPoint(locNo); |
| | | taskWrk.setStartPoint("116"); |
| | | if (result.getAlley().equals("1")) { |
| | | taskWrk.setCrnNo(1); |
| | | } else { |
| | | taskWrk.setCrnNo(2); |
| | | } |
| | | if (taskWrk.getIoType() == 1) { |
| | | taskWrk.setWrkSts(2); |
| | | if (!Cools.isEmpty(taskWrk.getTargetPoint())) { |
| | | taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); |
| | | } |
| | | } |
| | | taskWrk.setTargetPoint(devNo+"");//站点终点 |
| | | taskWrk.setStartPoint(devNo+"");//站点起点 |
| | | taskWrk.setOriginStartPoint("");//源库位 |
| | | taskWrk.setOriginTargetPoint(result.getShelfUnitId());//目标库位 |
| | | return taskWrk; |
| | | } |
| | | |