From 9784ec36b190d0f0103b42059585d04ea0b10745 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 22 九月 2025 13:33:17 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 309 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 286 insertions(+), 23 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 117747c..ba96987 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -8,7 +8,10 @@ import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.ArmOrderAssignmentParam; import com.zy.asrs.entity.param.ArmTaskAssignmentParam; +import com.zy.asrs.entity.param.CombParam; +import com.zy.asrs.entity.result.OrderDetlValueResultUtil; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.PostMesDataUtils; @@ -104,6 +107,9 @@ @Value("${wms.url}") private String wmsUrl; + + @Value("${wms.comb}") + private String wmsComb; @Value("${inventory.number}") private Integer inventoryNumber; @@ -2811,6 +2817,7 @@ && rgvProtocol.getModeType() == RgvModeType.AUTO && (rgvProtocol.getStatusType() == RgvStatusType.WORKING1) ){ + log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); if(rgvProtocol.getTaskNo1() == 9999){ // 棰勮皟搴︿换鍔$‘璁� BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); @@ -2843,6 +2850,23 @@ if (rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo1()!=9999){ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1()); if(wrkMastSta.getWrkSts() == 1){//鍙栬揣纭 + wrkMastSta.setWrkSts(4); //琛岃蛋鐘舵�� + try{ + wrkMastStaMapper.updateById(wrkMastSta); + log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); + }catch (Exception e){ + log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + } + boolean rgvComplete = false; + + rgvComplete = rgvComplete((int) rgvProtocol.getRgvNo(),7); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + break; + } + break; + } + if(wrkMastSta.getWrkSts() == 4){//琛岃蛋纭 wrkMastSta.setWrkSts(2); try{ wrkMastStaMapper.updateById(wrkMastSta); @@ -2919,7 +2943,24 @@ log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); if (rgvProtocol.getTaskNo2() !=0 ){ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1()); - if(wrkMastSta.getWrkSts() == 1){//缂鸿揣纭 + if(wrkMastSta.getWrkSts() == 1){//鍙栬揣纭 + wrkMastSta.setWrkSts(4); //琛岃蛋鐘舵�� + try{ + wrkMastStaMapper.updateById(wrkMastSta); + log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); + }catch (Exception e){ + log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + } + boolean rgvComplete = false; + + rgvComplete = rgvComplete((int) rgvProtocol.getRgvNo(),7); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + break; + } + break; + } + if(wrkMastSta.getWrkSts() == 4){//琛岃蛋鍚庣‘璁� wrkMastSta.setWrkSts(2); try{ wrkMastStaMapper.updateById(wrkMastSta); @@ -3177,16 +3218,18 @@ // 鍙湁褰揜GV绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� if ((rgvProtocol.getStatusType1() == RgvStatusType.IDLE || rgvProtocol.getStatusType2() == RgvStatusType.IDLE) - && rgvProtocol.getModeType() == RgvModeType.AUTO +// && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk()) { News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛孯GV鍏ュ嚭搴撲綔涓氫笅鍙�"); // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 +// rgvRunWrkMastInTest(); + if (rgvProtocol.getLastIo().equals("I")) { - if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) { + if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) { //mark - 1 - .... this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); // 鍏ュ簱 rgvProtocol.setLastIo("O"); - } else if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) { + } else if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) { //mark - 2 - .... this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); // 鍑哄簱 rgvProtocol.setLastIo("I"); @@ -3194,10 +3237,10 @@ } // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 else if (rgvProtocol.getLastIo().equals("O")) { - if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) { + if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) { this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); // 鍑哄簱 rgvProtocol.setLastIo("I"); - } else if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) { + } else if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) { this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); // 鍏ュ簱 rgvProtocol.setLastIo("O"); } @@ -3218,6 +3261,44 @@ rgvOutExecute(); } + } + } + public synchronized void rgvRunWrkMastInTest(){ + BasRgvMap basRgvMap = basRgvMapMapper.selectById(1); + List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute()); + basRgvMap.setNowRoute(1031); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(342);//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 + +// WrkMastSta wrkMastSta2 = wrkMastStaMapper.selectByWorkSta(2, 1); + boolean result = false; +// if(wrkMastSta2 != null && rgvProtocol.getRgvNo() == 1){ //璺濈璁$畻 2妤煎崟鍏ュ簱鍙d笉闇�瑕佽绠� +// result = rgvCalcDistance((int) rgvProtocol.getRgvNo(),wrkMastSta2.getStaEnd(),wrkMastSta.getStaStart());//宸ヤ綅2鏀捐揣绔欑偣锛屽伐浣�1鍙栬揣绔欑偣 +// } +// if(result){//鑻ュ皬杞﹁窛绂绘斁璐х偣璺濈杩戜簬鍙栬揣鐐瑰垯璺宠繃鍙栬揣 true璺宠繃鍙栬揣/false浼樺厛鍙栬揣 +// rgvThread.setPakRgv(false); +// continue; +// } + wrkMastSta.setWorkSta(1); + wrkMastSta.setRgvNo(1); + wrkMastSta.setStaStart(1031); + Short direction = 2;//鍙屽伐浣嶆渶缁堟姷杈句綅缃� + boolean sign = false; + sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta,direction); //鍛戒护涓嬪彂 + if (sign){ + wrkMastSta.setWrkSts(1); + try{ + wrkMastStaMapper.updateById(wrkMastSta); + log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); + }catch (Exception e){ + log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + } +// rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁� + boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526"); + if (!signMap){ + log.error("璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo()); + } + } else { + log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo()); } } /** @@ -3296,7 +3377,7 @@ Short direction = 2;//鍙屽伐浣嶆渶缁堟姷杈句綅缃� boolean sign = false; //鑻ュ彇璐т负宸ヤ綅2涓斿彇璐у彛鍓嶄竴绔欑偣鏈夌墿锛岀粰鍙屽伐浣嶅悓鏃朵笅鍙戞寚浠� - if(wrkMastSta.getWorkSta() == 2 && staProtocol2 != null && staProtocol2.isLoading() && staProtocol2.getWorkNo() > 0){ + if(wrkMastSta.getWorkSta() == 2 && staProtocol2 != null && staProtocol2.isLoading() && staProtocol2.getWorkNo() > 0 && sign){ WrkMastSta wrkMastSta3 = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol2.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 wrkMastSta3.setWorkSta(1); wrkMastSta3.setRgvNo((int) rgvProtocol.getRgvNo()); @@ -3396,7 +3477,7 @@ boolean sign = false; Short direction = 1;//宸ヤ綅1鏂瑰悜 //鑻ュ彇璐т负宸ヤ綅2涓斿彇璐у彛鍓嶄竴绔欑偣鏈夌墿锛岀粰鍙屽伐浣嶅悓鏃朵笅鍙戞寚浠� - if(wrkMastSta.getWorkSta() == 1 && staProtocol2 != null && staProtocol2.isLoading() && staProtocol2.getWorkNo() > 0){ + if(wrkMastSta.getWorkSta() == 1 && staProtocol2 != null && staProtocol2.isLoading() && staProtocol2.getWorkNo() > 0 && sign){ WrkMastSta wrkMastSta3 = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol2.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 wrkMastSta3.setWorkSta(2); wrkMastSta3.setRgvNo((int) rgvProtocol.getRgvNo()); @@ -3872,14 +3953,54 @@ boolean pakIn1 = true; boolean pakIn2 = true; rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 - if(wrkMastSta.getWrkSts() == 0){//鍙栬揣 + if(wrkMastSta.getWrkSts() == 0 || wrkMastSta.getWrkSts() == 4){//鍒濆鍚庤璧� + if(wrkMastSta.getWorkSta() == 2){//鍑哄簱RGV鍙栬揣琛岃蛋 + rgvCommand.setAckFinish2(false); // 宸ヤ綅2浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskNo2(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅2宸ヤ綔鍙� + rgvCommand.setTaskStatus2(RgvTaskStatusType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍙栨斁璐� + rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 + rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅2鐩爣绔欑偣 +// rgvCommand.setDirection1((short) 2); +// rgvCommand.setWrkTaskMove2(direction); + rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 + pakIn1 = false; + }else{ //鍏ュ簱RGV鍙栬揣琛岃蛋 + rgvCommand.setAckFinish1(false); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskNo1(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅1宸ヤ綔鍙� + rgvCommand.setTaskStatus1(RgvTaskStatusType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� + rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 + rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅1鐩爣绔欑偣 +// rgvCommand.setDirection1((short) 1); +// rgvCommand.setDirection1(direction); + rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 + } + if(!pakIn1){ + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) { + //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); + return false; + } else { + return true; + } + }else{ + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { + //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); + return false; + } else { + return true; + } + } + } + if(wrkMastSta.getWrkSts() == 1){//鍙栬揣 if(wrkMastSta.getWorkSta() == 2){//鍑哄簱RGV鍙栬揣 rgvCommand.setAckFinish2(false); // 宸ヤ綅2浠诲姟瀹屾垚纭浣� rgvCommand.setTaskNo2(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅2宸ヤ綔鍙� rgvCommand.setTaskStatus2(RgvTaskStatusType.FETCH); // 宸ヤ綅2浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 - rgvCommand.setTargetPosition2(wrkMastSta.getStaStart()); //宸ヤ綅2鐩爣绔欑偣 - rgvCommand.setDirection2(direction); + rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅2鐩爣绔欑偣 + rgvCommand.setDirection1((short)2); + rgvCommand.setWrkTaskMove2(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 pakIn1 = false; }else{ //鍏ュ簱RGV鍙栬揣 @@ -3888,7 +4009,8 @@ rgvCommand.setTaskStatus1(RgvTaskStatusType.FETCH); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setDirection1(direction); + rgvCommand.setDirection1((short)1); + rgvCommand.setWrkTaskMove1(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 } if(!pakIn1){ @@ -3915,7 +4037,8 @@ rgvCommand.setTaskNo2(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅2宸ヤ綔鍙� rgvCommand.setTaskStatus2(RgvTaskStatusType.PUT); // 宸ヤ綅2浠诲姟妯″紡: 鏀捐揣 rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 - rgvCommand.setTargetPosition2(wrkMastSta.getStaEnd()); //宸ヤ綅2鐩爣绔欑偣 + rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd()); //宸ヤ綅2鐩爣绔欑偣 + rgvCommand.setDirection1((short)2); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 pakIn2 = false; }else{ //宸ヤ綅1浠诲姟鏀捐揣 @@ -3924,6 +4047,7 @@ rgvCommand.setTaskStatus1(RgvTaskStatusType.PUT); // 宸ヤ綅1浠诲姟妯″紡: 鏀捐揣 rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd()); //宸ヤ綅1鐩爣绔欑偣 + rgvCommand.setDirection1((short)1); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 } if(!pakIn2){ @@ -4195,6 +4319,111 @@ /* + * arm浠诲姟瀹屾垚鑷姩缁勬墭 + * */ + public synchronized void armMissionAccomplished() { + try{ + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鎷f枡鍏ュ簱鍙� + for (DevpSlave.Sta armSta : devp.getArmSta()) { + // 鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, armSta.getBarcode()); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); + if(!Cools.isEmpty(barcode)) { + if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + continue; + } + } else { + continue; + } + + List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>() + .eq("arm_no", armSta.getArmNo()) + .eq("sta_no", armSta.getStaNo()) + .eq("status", 1)); + for (BasArm basArm : basArmList) { + if (basArm.getStatus()!=1){ + continue; + } + try{ + List<BasArmMast> basArmMastList = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", basArm.getArmNo()) + .eq("sorting_line", basArm.getSortingLine()) + .eq("status", 3) + ); + if (basArmMastList.isEmpty()){ + continue; + } + CombParam combParam = new CombParam(basArmMastList); + combParam.setBarcode(barcode); + //璁剧疆宸ヤ綔绌洪棿灏辩华 + ReturnT<String> result = new PostMesDataUtils().postMesData("arm浠诲姟瀹屾垚鑷姩缁勬墭",wmsUrl, wmsComb, combParam); + if (result.getCode()==200){ + basArmMastService.updateArmMastStatus(basArm.getArmNo(),basArm.getSortingLine(),3,4); + } else { + log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細"+JSON.toJSON(basArmMastList)+"===銆嬭嚜鍔ㄧ粍鎵樺け璐ワ紝绛夊緟閲嶈瘯"); + } + } catch (Exception e){ + log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫満姊拌噦鎶撳彇浠诲姟瀹屾垚"+e.getMessage()); + } + break; + } + } + } + } catch (Exception e){ + log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愮粍鎵樺け璐�"+e.getMessage()); + } + } + public synchronized void armMissionAccomplishedScanToCheckIn() { + try{ + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鎷f枡鍏ュ簱鍙� + for (DevpSlave.Sta armSta : devp.getArmSta()) { + + List<BasArmMast> basArmMastList = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", armSta.getArmNo()) + .eq("sta_no", armSta.getStaNo()) + .eq("status", 4) + ); + + if (basArmMastList.isEmpty()){ + continue; + } + // 鑾峰彇绔欑偣淇℃伅 + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(armSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { + int workNo = commonService.getWorkNo(6);//寰呭畬鍠� + // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + staProtocol.setWorkNo(workNo); + staProtocol.setStaNo(armSta.getStaNoEnd().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂5锛�"+workNo+","+armSta.getStaNoEnd()); + if (!result) { + News.error(""+" - 3"+" - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + } + basArmMastService.updateArmMastStatus(basArmMastList.get(0).getArmNo(),basArmMastList.get(0).getSortingLine(),4,5); + } + } + } + } catch (Exception e){ + log.error("缁勬墭瀹屾垚椹卞姩鎵樼洏鎵爜鍏ュ簱澶辫触"+e.getMessage()); + } + } + + /* * arm浠诲姟涓嬪彂 * */ public synchronized void armTaskAssignment() { @@ -4211,7 +4440,13 @@ .eq("sorting_line", basArm.getSortingLine()) .eq("status", 1) ); - if (basArmMastListRuning.isEmpty()){ + List<BasArmMast> basArmMastListRuning3 = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", basArm.getArmNo()) + .eq("sorting_line", basArm.getSortingLine()) + .eq("status", 3) + ); + if (basArmMastListRuning.isEmpty() && basArmMastListRuning3.isEmpty()){ List<BasArmMast> basArmMastList = basArmMastService.selectList( new EntityWrapper<BasArmMast>() .eq("arm_no", basArm.getArmNo()) @@ -4225,16 +4460,44 @@ log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�"); continue; } - for (BasArmMast basArmMast:basArmMastList) { - ArmTaskAssignmentParam armTaskAssignmentParam = new ArmTaskAssignmentParam(basArmMast.getSortingLine()); - //璁剧疆宸ヤ綔绌洪棿灏辩华 - ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔�",ArmConstant.ARM_URL, ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam); - if (result.getCode()==200){ - basArmMast.setStatus(1); - basArmMastService.updateById(basArmMast); - } else { - log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�"); + BasArmMast basArmMast = basArmMastList.get(0); + List<BasArmMast> basArmMastListOrder = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", basArm.getArmNo()) + .eq("sorting_line", basArm.getSortingLine()) + .eq("sku", basArmMast.getSku()) + .eq("order_no", basArmMast.getOrderNo()) + ); + if (basArmMastListOrder.size()==1){ + OrderDetlValueResultUtil orderDetlValueResultUtil = basArmMastService.selectOrderDetlValue(basArmMast.getOrderNo(), basArmMast.getSku()); + + if (Cools.isEmpty(orderDetlValueResultUtil)){ + continue; } + //璁㈠崟涓嬪彂 + try{ + ArmOrderAssignmentParam armOrderAssignmentParam = new ArmOrderAssignmentParam(basArmMast,orderDetlValueResultUtil); +// 璁㈠崟涓嬪彂(SKU+璁㈠崟) + ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細",ArmConstant.getArmUrl(basArmMast.getArmNo()), ArmConstant.ARM_ADAPTOR, armOrderAssignmentParam); + if (result.getCode()==200){ + basArmMast.setStatus(1); + basArmMastService.updateById(basArmMast); + } else { + log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚俊鎭笅鍙戝け璐�"); + } + } catch (Exception e){ + log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚笅鍙戣鍗曚俊鎭笅鍙戝け璐�"); + continue; + } + } + ArmTaskAssignmentParam armTaskAssignmentParam = new ArmTaskAssignmentParam(basArmMast.getSortingLine()); + //璁剧疆宸ヤ綔绌洪棿灏辩华 + ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔′笅鍙戯細閫氱煡宸ヤ綔绌洪棿宸插氨缁�",ArmConstant.getArmUrl(basArmMast.getArmNo()), ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam); + if (result.getCode()==200){ + basArmMast.setStatus(1); + basArmMastService.updateById(basArmMast); + } else { + log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�"); } } } catch (Exception e){ -- Gitblit v1.9.1