From 0bdf2da5b1407d7d0dbb90ba11a6ba0f18856ac0 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期五, 09 五月 2025 16:55:17 +0800 Subject: [PATCH] 单机调试完成 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 130 ++++++++++++++++++++++++++---------------- 1 files changed, 80 insertions(+), 50 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 4f9173a..e69cd54 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -112,12 +112,15 @@ private boolean crn3; - public void generateStoreWrkFile() throws IOException, InterruptedException { + public synchronized void generateStoreWrkFile() { try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� for (DevpSlave.Sta inSta : devp.getInSta()) { + if (inSta.getStaNo() != 114) { + continue; + } StorageEscalationParam storageEscalationParam = new StorageEscalationParam(); storageEscalationParam.setStationCode(inSta.getStaNo()); // 鑾峰彇鍏ュ簱绔欎俊鎭� @@ -161,28 +164,32 @@ back = true; } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && workNo >= 9790 - && staProtocol.isPakMk()) { + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() + && !staProtocol.isEmptyMk() && workNo >= 9000 && staProtocol.isPakMk()) { +// if(true){ // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); if (barcodeThread == null) { continue; } String BoxNo = barcodeThread.getBarcode(); + if (Cools.isEmpty(BoxNo)) { + log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo); + continue; + } TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); if (!Cools.isEmpty(taskWrk1)) { log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�"); - 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; - } - } + 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)) { +// return; +// } else { +// continue; +// } +// } } if (back) { storageEscalationParam.setWCSStatus(1); @@ -191,26 +198,37 @@ storageEscalationParam.setBarcode(BoxNo); log.info("缁勬墭鍏ュ簱={}", storageEscalationParam); TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam); + if (taskWrk == null) { + log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam); + continue; + } if (back) { log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } else { - if (!Cools.isEmpty(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)); - //娣诲姞涓婃姤鏃ュ織 - toWmsService.addReportLog(taskWrk); - } else { - log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo()); - staProtocol.setStaNo(inSta.getBackSta().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - } + 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)); + //娣诲姞涓婃姤鏃ュ織 +// toWmsService.addReportLog(taskWrk); +// if (!Cools.isEmpty(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)); +// //娣诲姞涓婃姤鏃ュ織 +// toWmsService.addReportLog(taskWrk); +// } else { +// log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo()); +// staProtocol.setStaNo(inSta.getBackSta().shortValue()); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// } } @@ -231,8 +249,8 @@ for (CrnSlave crnSlave : slaveProperties.getCrn()) { // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); - for (StaDesc staDesc : staDescs) { +// List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); +// for (StaDesc staDesc : staDescs) { try { // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); @@ -244,34 +262,42 @@ } if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { // 鏌ヨ宸ヤ綔妗� - TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString()); + TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1)); if (taskWrk == null) { continue; } - log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getStnNo().shortValue()); - boolean offer = false; - try { - offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); - } catch (Exception e) { - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e); - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer); - } - if (offer) { - log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk)); - taskWrk.setStatus(5); - taskWrk.setWrkSts(14); - taskWrkService.updateById(taskWrk); + // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� +// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo()); +// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); +// log.info(crnProtocol.statusType+""+crnProtocol.getForkPosType()); +// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue()) +// && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED +// && crnProtocol.forkPosType == CrnForkPosType.HOME) { + log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); + staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); + staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint())); + boolean offer = false; + try { + offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); + } catch (Exception e) { + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e); + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer); + } + if (offer) { + log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk)); + taskWrk.setStatus(5); + taskWrk.setWrkSts(14); + taskWrkService.updateById(taskWrk); - } else { - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); - } + } else { + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); + } +// } } } catch (Exception e) { log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e); } - } +// } } } @@ -398,6 +424,8 @@ throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } else { try { + // 涓婃姤鎵ц鐘舵�� + toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts()); taskWrkService.updateById(taskWrk); } catch (Exception e) { log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); @@ -522,6 +550,8 @@ if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } + // 涓婃姤鎵ц鐘舵�� + toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts()); } catch (Exception e) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e); -- Gitblit v1.9.1