From 5b23b3412acd4024948b7745e2d0c5d8c6ee8e04 Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期二, 03 十二月 2024 21:03:25 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 76 ++++++++++++++++++++++++++++--------- 1 files changed, 57 insertions(+), 19 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 9f32414..292b860 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -112,6 +112,10 @@ private NavigateMapUtils navigateMapUtils; @Autowired private WrkDetlLogService wrkDetlLogService; + @Autowired + private MatService matService; + @Autowired + private NavigateMapData navigateMapData; /** @@ -936,8 +940,8 @@ if (basMap == null) { //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙� //杞藉叆鍦板浘 - NavigateMapData mapData = new NavigateMapData(i); - List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱) + navigateMapData.setLev(i); + List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱) //瀛樺叆鏁版嵁搴� basMap = new BasMap(); @@ -2513,7 +2517,7 @@ /** * AGV琛ヨ揣 => 鐢熸垚鍏ュ簱閫氱煡妗� */ - public void robotGenerateAgvTask() { + public synchronized void robotGenerateAgvTask() { try { //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿 for (DevpSlave devp : slaveProperties.getDevp()) { @@ -2539,10 +2543,13 @@ //鍒ゆ柇鏈烘鑷傛嫞鏂欑珯鏄惁绌洪棽 StaProtocol staProtocol303 = devpThread.getStation().get(303); StaProtocol staProtocol317 = devpThread.getStation().get(317); - if (staProtocol303.isAutoing() && !staProtocol303.isLoading()) { + + List<WrkMast> wrkMasts303 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 303)); + List<WrkMast> wrkMasts317 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 317)); + if (staProtocol303.isAutoing() && !staProtocol303.isLoading() && wrkMasts303.isEmpty()) { //鑷姩銆佹棤鐗� targetSta = (short) 303; - } else if (staProtocol317.isAutoing() && !staProtocol317.isLoading()) { + } else if (staProtocol317.isAutoing() && !staProtocol317.isLoading() && wrkMasts317.isEmpty()) { //鑷姩銆佹棤鐗� targetSta = (short) 317; } else { @@ -2613,7 +2620,7 @@ /** * AGV琛ヨ揣 => 鏈烘鑷傛嫞鏂� */ - public void agvRestockByRobot() { + public synchronized void agvRestockByRobot() { try { //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿 for (DevpSlave devp : slaveProperties.getDevp()) { @@ -2674,7 +2681,7 @@ /** * AGV琛ヨ揣(閫氱煡AGV鍙栬揣) */ - public void agvRestockInto() { + public synchronized void agvRestockInto() { try { //妫�娴�309鍜�312绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗� for (DevpSlave devp : slaveProperties.getDevp()) { @@ -2695,8 +2702,11 @@ String barcode = barcodeThread.getBarcode(); if (!Cools.isEmpty(barcode)) { //閫氱煡AGV鍙栬揣 - agvRestockCall("301-1", barcode); - log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); + boolean result = agvRestockCall("301-1", barcode); + log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); + if (result) { + barcodeThread.setBarcode(""); + } } } @@ -2709,8 +2719,11 @@ String barcode = barcodeThread.getBarcode(); if (!Cools.isEmpty(barcode)) { //閫氱煡AGV鍙栬揣 - agvRestockCall("302-1", barcode); - log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); + boolean result = agvRestockCall("302-1", barcode); + log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); + if (result) { + barcodeThread.setBarcode(""); + } } } } @@ -2772,7 +2785,7 @@ /** * AGV琛ヨ揣(鎮寕绾块�氱煡AGV鍙栬揣) */ - public void agvRestockIntoByHangingWire() { + public synchronized void agvRestockIntoByHangingWire() { try { //妫�娴�350鍜�351鎵爜鍣� int[] barcodeStaNo = {11, 12,14,16,18,20};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 @@ -2818,7 +2831,7 @@ /** * AGV鎷f枡绔欑偣淇℃伅 */ - public void agvCurrentContainerCodeInfoWire() { + public synchronized void agvCurrentContainerCodeInfoWire() { try { //妫�娴�350鍜�351鎵爜鍣� int[] barcodeStaNo = {13, 15,17,19};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 @@ -2992,13 +3005,38 @@ ledCommand.setBarcode(barcode); if (ioType != 110 && ioType != 10) { List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)); - wrkDetls.forEach(wrkDetl -> { - double remainNum = wrkDetl.getStock() - wrkDetl.getAnfme();//鍓╀綑鏁伴噺 - if (remainNum < 0) { - remainNum = 0; + if (!wrkDetls.isEmpty()) { + wrkDetls.forEach(wrkDetl -> { + double remainNum = wrkDetl.getStock() - wrkDetl.getAnfme();//鍓╀綑鏁伴噺 + if (remainNum < 0) { + remainNum = 0; + } + String matnr = wrkDetl.getMatnr(); + Mat mat = matService.selectByMatnr(wrkDetl.getMatnr()); + if (mat != null) { + if (!mat.getMatnr().equals(mat.getMatnr2())) { + matnr += " - " + mat.getMatnr2(); + } + } + ledCommand.getMatDtos().add(new MatDto(matnr, wrkDetl.getMaktx(), wrkDetl.getAnfme(), remainNum, wrkDetl.getSpecs(), wrkDetl.getSuppCode(), wrkDetl.getOrderNo())); + }); + }else { + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkNo, barcode); + for (WrkDetlLog wrkDetlLog : wrkDetlLogs) { + double remainNum = wrkDetlLog.getStock() - wrkDetlLog.getAnfme();//鍓╀綑鏁伴噺 + if (remainNum < 0) { + remainNum = 0; + } + String matnr = wrkDetlLog.getMatnr(); + Mat mat = matService.selectByMatnr(wrkDetlLog.getMatnr()); + if (mat != null) { + if (!mat.getMatnr().equals(mat.getMatnr2())) { + matnr += " - " + mat.getMatnr2(); + } + } + ledCommand.getMatDtos().add(new MatDto(matnr, wrkDetlLog.getMaktx(), wrkDetlLog.getAnfme(), remainNum, wrkDetlLog.getSpecs(), wrkDetlLog.getSuppCode())); } - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), remainNum, wrkDetl.getSpecs(), wrkDetl.getSuppCode(), wrkDetl.getOrderNo())); - }); + } // List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); // if (ioType == 101) { -- Gitblit v1.9.1