From b909f4e136ca3182befba9510fd0ccc13f6a784f Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期四, 21 三月 2024 16:05:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 62 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 72c2c3c..00b8ea0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -182,7 +182,7 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (workNo >= 0) + && !staProtocol.isEmptyMk() && (workNo == 9991 ) && staProtocol.isPakMk()) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); @@ -196,7 +196,19 @@ TaskWrk taskWrk1=taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode",barcode)); if(!Cools.isEmpty(taskWrk1)){ log.info("鎵樼洏鐮侊細"+barcode+"浠诲姟妗e瓨鍦�"); - continue; + 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)){ + log.info("鎵樼洏鐮侊細"+barcode+"浠诲姟妗e瓨鍦�"); + return; + }else { + staProtocol.setWorkNo(taskWrk1.getWrkNo().shortValue()); + staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + } + } + return; } HashMap<String, Object> headParam = new HashMap<>(); headParam.put("Content-Type","application/json"); @@ -349,6 +361,24 @@ // } // } + } else { + // 閫�鍥� + log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); +// staProtocol.setWorkNo((short)0); +// staProtocol.setStaNo(inSta.getStaNo().shortValue()); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// +// Thread.sleep(500); + + staProtocol.setWorkNo((short)9999); + staProtocol.setStaNo(inSta.getStaNo().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); + if (taskWrk != null) { + taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず + taskWrkMapper.updateById(taskWrk); + } } } @@ -967,6 +997,8 @@ headParam.put("ioType",taskWrk.getIoType()); headParam.put("barcode",taskWrk.getBarcode()); String response; + log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", headParam); + response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(wmsUrl) @@ -974,7 +1006,11 @@ .setJson(JSON.toJSONString(headParam)) .build() .doPost(); - JSONObject jsonObject = JSON.parseObject(response); + log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", response); + +// JSONObject jsonObject = JSON.parseObject(response); +// log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", jsonObject); + apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms" ,wmsUrl+taskStatusFeedbackPath ,null @@ -985,7 +1021,8 @@ ); }catch (Exception e){ log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触", taskWrk); - throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); + log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e); +// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); } } @@ -1135,6 +1172,12 @@ //agv鍙栨斁璐т换鍔″畬鎴� public synchronized void autoCompleteAGV() { List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); + try{ + Thread.sleep(500); + }catch (Exception e){ + + } + for (BasDevp basDevp:basDevps){ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo()); @@ -1149,7 +1192,9 @@ staProtocol.setStaNo(basDevp.getDevNo().shortValue()); MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol)); } + boolean sign = true; if (basDevp.getAgvTargetPlace()!=0){ + sign = false; basDevp.setAgvTargetPlace(0); basDevpService.updateById(basDevp); staProtocol.setAgvTypeSign((short)3);//1 @@ -1158,9 +1203,19 @@ } }else { if (basDevp.getAgvTargetPlace()!=0){ - staProtocol.setAgvTypeSign((short)1); - staProtocol.setStaNo(basDevp.getDevNo().shortValue()); - MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol)); + if (basDevp.getLoading().equals("Y")){ + staProtocol.setAgvTypeSign((short)1); + staProtocol.setStaNo(basDevp.getDevNo().shortValue()); + MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol)); + }else { + log.error("AGV鏀捐揣瀹屾垚浣嗚緭閫佺嚎鏃犵墿锛屽浣嶄俊鍙� ===>> [staNo:{}] [basDevp:{}]", basDevp.getDevNo(), basDevp); + basDevp.setAgvTargetPlace(0); + basDevpService.updateById(basDevp); + staProtocol.setAgvTypeSign((short)3);//1 + staProtocol.setStaNo(basDevp.getDevNo().shortValue()); + MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol)); + } + } if (basDevp.getAgvTargetPick()!=0){ basDevp.setAgvTargetPick(0); -- Gitblit v1.9.1