From 4403382cccf10ad69d540bb9f79bd8edc2c9bba7 Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期一, 20 十月 2025 16:10:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 179 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 86 insertions(+), 93 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 a828e56..47e4f08 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -260,6 +260,7 @@ staProtocolNew.setWorkNo(wrkMast.getWrkNo()); staProtocolNew.setStaNo(RouteUtils.SouStaEnd(wrkMast.getStaNo(),wrkMast.getSourceStaNo())); staProtocolNew.setSiteId(staProtocol.getSiteId()); + devpThread.setPakMk(staProtocol.getSiteId(), false); staProtocolNew.setBarcode(barcode); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew)); if (ledThread != null) { @@ -283,10 +284,9 @@ if (!result) { News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触"); log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触"); - -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); continue; } + continue; } WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>() @@ -327,41 +327,14 @@ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } - } -// else if (jsonObject.getInteger("code").equals(700)) { -// SearchLocParam param2 = new SearchLocParam(); -// param2.setBarcode(barcode); -// param2.setBarcodeMat(barcodeMat); -// param2.setSourceStaNo(inSta.getStaNo()); -// param2.setLocType1(locTypeDto.getLocType1()); -// String response2 = new HttpHandler.Builder() -// .setUri(wmsUrl) -// .setPath("/rpc/pakin/yk/loc/v33") -// .setJson(JSON.toJSONString(param2)) -// .build() -// .doPost(); -// JSONObject jsonObject2 = JSON.parseObject(response2); -// if (jsonObject2.getInteger("code").equals(200)) { -// log.info("鑷姩缁勬墭鎴愬姛锛侊紒"); -// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鑷姩缁勬墭鎴愬姛")); -// } else { -// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鑷姩缁勬墭澶辫触锛侊紒锛乥arcodeMat==>"+barcodeMat)); -// News.error(methodName + "==>缁勬墭澶辫触:璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/yk/loc/v33", JSON.toJSONString(param), response2); -// } -// try{ -// Thread.sleep(500); -// } catch (Exception e){ -// -// } -// } - else { + } else { News.error(JSON.toJSONString(staProtocol)); staProtocol.setWorkNo(wrkNo); - wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - News.info("浠诲姟涓嬪彂鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + News.info("浠诲姟涓嬪彂鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛岄敊璇紪鍙穥},浠诲姟鍙凤細{}", inSta.getStaNo(), errMsg,jsonObject.getInteger("code"),wrkNo); + wrkNo++; // if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { @@ -846,7 +819,7 @@ } else { staProtocolIn = staProtocolIn.clone(); } - int[] outStaNos = {1015, 2016}; + int[] outStaNos = {1015, 2016}; //琛旀帴鍏ュ簱鐐� for (int outStaNo : outStaNos) { StaProtocol staProtocolOut = devpThread.getStation().get(outStaNo);// 鐩樼偣鍑哄簱琛旀帴绔欑偣锛堝彲鑳芥槸 1015锛屼篃鍙兘鏄� 2016锛� if (staProtocolOut == null) { @@ -1266,61 +1239,61 @@ // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� // WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo()); List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo()); - if (slave.getId() == 3) { - SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol2 = devpThread1.getStation().get(1015); - if (staProtocol2 == null) { - News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2); - break; - } else { - staProtocol2 = staProtocol2.clone(); - } - WrkMast wrkMast9999 = wrkMastMapper.selectByWrkNo(9997); - BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); - if (staDetl == null) { - News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); - break; -// continue; - } - if(wrkMast9999 != null && staProtocol2.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){ - // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { -// continue; - break; - } - // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� - if (wrkMastMapper.selectWorking(slave.getId()) != null) { - break; -// return; - } - // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙� -// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX((short) 5); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX((short) 6); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ((short) 4); // 鐩爣搴撲綅灞� -// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷 - if (!MessageQueue.offer(SlaveType.Crn, wrkMast9999.getCrnNo(), new Task(2, crnCommand))) { - News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9999.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� - Date now = new Date(); - wrkMast9999.setWrkSts(12L); - wrkMast9999.setCrnStrTime(now); - wrkMast9999.setModiTime(now); - if (wrkMastMapper.updateById(wrkMast9999) == 0) { - News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9999.getWrkNo()); - } - break; - } - } - } +// if (slave.getId() == 3) { +// SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); +// StaProtocol staProtocol2 = devpThread1.getStation().get(1015); +// if (staProtocol2 == null) { +// News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2); +// break; +// } else { +// staProtocol2 = staProtocol2.clone(); +// } +// WrkMast wrkMast9999 = wrkMastMapper.selectByWrkNo(9997); +// BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); +// if (staDetl == null) { +// News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); +// break; +//// continue; +// } +// if(wrkMast9999 != null && staProtocol2.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){ +// // 鍫嗗灈鏈烘帶鍒惰繃婊� +// if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { +//// continue; +// break; +// } +// // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� +// if (wrkMastMapper.selectWorking(slave.getId()) != null) { +// break; +//// return; +// } +// // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� +// CrnCommand crnCommand = new CrnCommand(); +// crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� +// crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙� +//// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� +// crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 +// crnCommand.setSourcePosX((short) 5); // 婧愬簱浣嶆帓 +// crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 +// crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 +// crnCommand.setDestinationPosX((short) 6); // 鐩爣搴撲綅鎺� +// crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅鍒� +// crnCommand.setDestinationPosZ((short) 4); // 鐩爣搴撲綅灞� +//// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷 +// if (!MessageQueue.offer(SlaveType.Crn, wrkMast9999.getCrnNo(), new Task(2, crnCommand))) { +// News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9999.getCrnNo(), JSON.toJSON(crnCommand)); +// } else { +// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� +// Date now = new Date(); +// wrkMast9999.setWrkSts(12L); +// wrkMast9999.setCrnStrTime(now); +// wrkMast9999.setModiTime(now); +// if (wrkMastMapper.updateById(wrkMast9999) == 0) { +// News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9999.getWrkNo()); +// } +// break; +// } +// } +// } for (WrkMast wrkMast : wrkMasts) { if (wrkMast == null) { continue; @@ -2581,18 +2554,18 @@ public synchronized void autoEmptyOut() { SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); List<Integer> list = new ArrayList<>(); - list.add(1109);list.add(2031); + list.add(1108);list.add(2031); for (Integer site:list){ Integer emptyCount = wrkMastMapper.countPakOutEmpty(site); StaProtocol staProtocol = null; - if(emptyCount >= 2 && site == 1109){ + if(emptyCount >= 1 && site == 1108){ continue; }else if(emptyCount == 1 && site == 2031){ continue; } //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔� switch (site){ - case 1109:staProtocol = devpThread.getStation().get(site - 2);break; + case 1108:staProtocol = devpThread.getStation().get(site - 2);break; case 2031:staProtocol = devpThread.getStation().get(site);break; } if (staProtocol == null) { @@ -2602,7 +2575,7 @@ } if (staProtocol.isAutoing() //鑷姩 && !staProtocol.isLoading() //鏃犵墿 - && staProtocol.isOutEnable() //鍙嚭淇″彿 +// && staProtocol.isOutEnable() //鍙嚭淇″彿 && staProtocol.getWorkNo() == 0 ) { Short loctype1 = 1; @@ -4240,7 +4213,9 @@ List<BasArmMast> basArmMastListRuning3 = basArmMastService.selectList( new EntityWrapper<BasArmMast>() .eq("arm_no", basArm.getArmNo()) - .eq("sorting_line", basArm.getSortingLineSou()) + .eq( + + "sorting_line", basArm.getSortingLineSou()) .eq("status", 3) ); if (basArmMastListRuning.isEmpty() && basArmMastListRuning3.isEmpty()){ @@ -4269,6 +4244,24 @@ .eq("binding_tags", basArmMast.getBindingTags()) ); if (basArmMastListOrder.size()==1){ + Thread.sleep(100); + + + List<BasArmMast> basArmMastListRuningBarCode2 = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("barcode", barcode) + ); + if (!basArmMastListRuningBarCode2.isEmpty()){ + int binding_tags = basArmMastService.selectCount( + new EntityWrapper<BasArmMast>() + .eq("status", 2) + .eq("binding_tags", basArmMast.getBindingTags()) + ); + if (binding_tags<2){ + armTaskAssignmentCallApiLogSave(staProtocol, "鏉$爜鏁版嵁宸插瓨鍦紒锛侊紒", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屾潯鐮佹暟鎹鍦ㄨ嚜鍔ㄧ粍鎵�===>>" + barcode, false); + continue; + } + } OrderDetlValueResultUtil orderDetlValueResultUtil = basArmMastService.selectOrderDetlValue(basArmMast.getOrderNo(), basArmMast.getSku()); if (Cools.isEmpty(orderDetlValueResultUtil)){ -- Gitblit v1.9.1