From 7cefeee8ebf28abf429c3654a0520da2469207f1 Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期二, 14 十月 2025 14:24:00 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 239 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 179 insertions(+), 60 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 d770187..67919d7 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -107,6 +107,8 @@ private BasArmService basArmService; @Autowired private BasArmMastService basArmMastService; + @Autowired + private ApiLogService apiLogService; @Value("${wms.url}") private String wmsUrl; @@ -116,7 +118,7 @@ @Value("${inventory.number}") private Integer inventoryNumber; - public Integer wrkNo = 10000; + public Integer wrkNo = 10001; public static final List<Integer> LEFT_POSITION = Arrays.asList(1018,2018); /** * 缁勬墭 @@ -137,6 +139,9 @@ continue; } else { staProtocol = staProtocol.clone(); + } + if(!staProtocol.isLoading()){ + continue; } if (barcodeThread == null) { @@ -180,7 +185,7 @@ } // 閫�鍥� if (back) { -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); + News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); if (!staProtocol.isLoading()){ @@ -194,10 +199,11 @@ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); } staProtocol.setWorkNo(wrkNo); - News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + News.info("寮傚父鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); + staProtocol.setBarcode(barcode); staProtocol.setPakMk(false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); System.out.println(staProtocol); @@ -209,7 +215,9 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && staProtocol.isPakMk()) { + && staProtocol.isPakMk() + && staProtocol.getWorkNo() == 0 + ) { if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { // News.error(JSON.toJSONString(staProtocol)); News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); @@ -219,9 +227,10 @@ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); } staProtocol.setWorkNo(wrkNo); - News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + News.info("鏉$爜鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); + staProtocol.setBarcode(barcode); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta()); @@ -248,9 +257,10 @@ if (wrkNo1 != 0){ News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); StaProtocol staProtocolNew = new StaProtocol(); - staProtocolNew.setWorkNo(wrkNo1); + staProtocolNew.setWorkNo(wrkMast.getWrkNo()); staProtocolNew.setStaNo(RouteUtils.SouStaEnd(wrkMast.getStaNo(),wrkMast.getSourceStaNo())); staProtocolNew.setSiteId(staProtocol.getSiteId()); + staProtocolNew.setBarcode(barcode); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew)); if (ledThread != null) { News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); @@ -261,6 +271,8 @@ barcodeThread.setBarcode(""); staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo())); + staProtocol.setBarcode(barcode); + devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo()); @@ -349,7 +361,7 @@ 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); // if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { @@ -3063,6 +3075,7 @@ } if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){ rgvThread.setPaking(true); + continue; } //灏忚溅鏃犱换鍔℃椂璺宠繃 if(rgvProtocol.getTaskNo1() ==0 && rgvProtocol.getTaskNo2() == 0 ){ @@ -3106,26 +3119,31 @@ } BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� - Integer workNo = rgvProtocol.getTaskNo2() !=0 ? rgvProtocol.getTaskNo2() : rgvProtocol.getTaskNo1(); //鍏ュ簱鏀捐揣浼樺厛宸ヤ綅2鎵ц + Integer workNo = 0; + if(rgvProtocol.getTaskNo2() > 9999|| rgvProtocol.getTaskNo1() > 9999){ + workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1() : rgvProtocol.getTaskNo2(); + }else{ + workNo = rgvProtocol.getTaskNo2() !=0 ? rgvProtocol.getTaskNo2() : rgvProtocol.getTaskNo1(); + } WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNoPut(workNo); WrkMast wrkMast = wrkMastMapper.selectByWrkNo(workNo); if( null == wrkMastSta ) { News.infoNoLog( " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); continue; } - - boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 if (sign){ try{ rgvThread.setPaking(false); - wrkMast.setSheetNo("2"); + if(wrkMast != null){ + wrkMast.setSheetNo("2"); + wrkMastMapper.updateById(wrkMast); + } wrkMastSta.setWrkSts(2); wrkMastStaMapper.updateById(wrkMastSta); - wrkMastMapper.updateById(wrkMast); log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); }catch (Exception e){ - log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + log.error("鏇存柊灏忚溅浠诲姟澶辫触"+ e); } } else { log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo()); @@ -3175,6 +3193,7 @@ } WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNoPut(workNo);//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 + WrkMast wrkMast = wrkMastMapper.selectByWrkNo(workNo); if( null == wrkMastSta ) { News.infoNoLog( " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍑哄簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); @@ -3184,6 +3203,10 @@ if (sign){ try{ rgvThread.setPaking(false); + if(wrkMast != null){ + wrkMast.setSheetNo("2"); + wrkMastMapper.updateById(wrkMast); + } wrkMastSta.setWrkSts(2); wrkMastStaMapper.updateById(wrkMastSta); log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); @@ -3412,7 +3435,14 @@ News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo()); continue; } - wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo()); + if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){ + //褰撹繛缁彇璐х珯鐐逛负鐩稿悓绫诲瀷鏃舵墠鑳借繛缁彇 + wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo()); + } + + } + if(rgvProtocol.getTaskNo2() > 9999 && staProtocol.getWorkNo() < 10000){ + continue; } if (staProtocol == null) { @@ -3444,7 +3474,8 @@ case 2: route = RouteUtils.getRouteTwo();break; } basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� - WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 + basRgvMapService.updateById(basRgvMap); + WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 if( null == wrkMastSta ) { News.infoNoLog("" + mark + " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); continue; @@ -3469,24 +3500,25 @@ boolean sign = false; sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 if (sign){ - if(wrkMastSta3 != null){ - wrkMastSta3.setMk(1); - basRgv.setPakAll("0"); - basRgvService.updateById(basRgv); - try{ - wrkMastStaMapper.updateById(wrkMastSta3); - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); - }catch (Exception e){ - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + if(wrkMastSta3 != null ){ + List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); + if(wrkMastStaPaking.size() < 1){//宸叉湁鏍囪涓嶅啀鏍囪 + wrkMastSta3.setMk(1); + basRgv.setPakAll("0"); + basRgvService.updateById(basRgv); + + try{ + wrkMastStaMapper.updateById(wrkMastSta3); + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); + }catch (Exception e){ + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + } } - } - basRgv.setPakOut("0"); + basRgv.setPakOut("0");//鍑哄簱涓嶅厑璁� basRgvService.updateById(basRgv); - rgvThread.setPaking(false); -// rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁� -// basRgvService.updateById(basRgv); + rgvThread.setPaking(false);//浠诲姟涓嬪彂閿佸畾 try{ wrkMastSta.setWrkSts(1); @@ -3568,6 +3600,7 @@ case 2: route = RouteUtils.getRouteTwo();break; } basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� + basRgvMapService.updateById(basRgvMap); WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 if( null == wrkMastSta ) { News.infoNoLog("" + mark + " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); @@ -3596,15 +3629,20 @@ // rgvThread.setPakToCrn(false); //閿佸畾灏忚溅鍙兘鎺ユ帴椹充换鍔� } - if(wrkMastSta3 != null){ - wrkMastSta3.setMk(1); - try{ - wrkMastStaMapper.updateById(wrkMastSta3); - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); - }catch (Exception e){ - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); - } + if(wrkMastSta3 != null ){ + List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); + if(wrkMastStaPaking.size() < 1){ + wrkMastSta3.setMk(1); + basRgv.setPakAll("0"); + basRgvService.updateById(basRgv); + try{ + wrkMastStaMapper.updateById(wrkMastSta3); + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); + }catch (Exception e){ + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + } + } } basRgv.setPakIn("0"); basRgvService.updateById(basRgv); @@ -4013,7 +4051,7 @@ /* * arm浠诲姟瀹屾垚鑷姩缁勬墭 * */ - public synchronized void armMissionAccomplished() { + public synchronized void armMissionAccomplished() { try{ for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鎷f枡鍏ュ簱鍙� @@ -4027,17 +4065,16 @@ } else { staProtocol = staProtocol.clone(); } - String barcode = staProtocol.getBarcode(); - if(!Cools.isEmpty(barcode)) { - if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { - log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細"+JSON.toJSON(barcode)+"===銆嬫墭鐩樻潯鐮佸紓甯�"); - continue; - } - } else { - log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細===銆嬫墭鐩樻潯鐮佷负绌�"); - continue; - } - +// String barcode = staProtocol.getBarcode(); +// if(!Cools.isEmpty(barcode)) { +// if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { +// armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false); +// continue; +// } +// } else { +// armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false); +// continue; +// } List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>() .eq("arm_no", armSta.getArmNo()) .eq("sta_no_sou", armSta.getStaNo()) @@ -4057,16 +4094,17 @@ continue; } CombParam combParam = new CombParam(basArmMastList); - combParam.setBarcode(barcode); //arm浠诲姟瀹屾垚鑷姩缁勬墭 ReturnT<String> result = new PostMesDataUtils().postMesData("arm浠诲姟瀹屾垚鑷姩缁勬墭",wmsUrl, wmsComb, combParam); if (result.getCode()==200){ basArmMastService.updateArmMastStatus(basArm.getArmNo(),basArm.getSortingLineSou(),3,4); } else { - log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細"+JSON.toJSON(basArmMastList)+"===銆嬭嚜鍔ㄧ粍鎵樺け璐ワ紝绛夊緟閲嶈瘯"); + armTaskAssignmentCallApiLogSave(staProtocol, "鑷姩缁勬墭澶辫触", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬭嚜鍔ㄧ粍鎵樺け璐ワ紝绛夊緟閲嶈瘯", false); +// log.error("鏈烘鑷傛姄鍙栦换鍔″畬鎴愶細"+JSON.toJSON(basArmMastList)+"===銆嬭嚜鍔ㄧ粍鎵樺け璐ワ紝绛夊緟閲嶈瘯"); } } catch (Exception e){ - log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫満姊拌噦鎶撳彇浠诲姟瀹屾垚"+e.getMessage()); + armTaskAssignmentCallApiLogSave(staProtocol, "鏈烘鑷傛姄鍙栦换鍔″畬鎴愬紓甯�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬭嚜鍔ㄧ粍鎵樺け璐ワ紝绛夊緟閲嶈瘯", false); +// log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫満姊拌噦鎶撳彇浠诲姟瀹屾垚"+e.getMessage()); } break; } @@ -4100,7 +4138,6 @@ } else { staProtocol = staProtocol.clone(); } - // if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { // int workNo = commonService.getWorkNo(6);//寰呭畬鍠� // // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 @@ -4132,6 +4169,56 @@ continue; } try{ + // 鑾峰彇绔欑偣淇℃伅 + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basArm.getDevpId()); + StaProtocol staProtocol = devpThread.getStation().get(basArm.getStaNoSou()); + if (staProtocol == null || !staProtocol.isLoading()) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + String barcode = staProtocol.getBarcode(); + if(!Cools.isEmpty(barcode)) { + if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false); +// log.error(staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�"); + continue; + } + } else { + armTaskAssignmentCallApiLogSave(staProtocol, "鎵樼洏鏉$爜涓虹┖", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false); + +// log.error(staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�"); + continue; + } + + if(barcode.length()!=6){ + armTaskAssignmentCallApiLogSave(staProtocol, "鏉$爜闀垮害涓嶆槸6浣�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屾潯鐮侀暱搴︿笉鏄�6浣�===>>" + barcode, false); +// log.error(staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屾潯鐮侀暱搴︿笉鏄�6浣�===>>" + barcode); + continue; +// throw new CoolException(staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屾潯鐮侀暱搴︿笉鏄�6浣�===>>" + barcode); + } + + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",barcode)); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",barcode)); + int countwait = waitPakinMapper.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",barcode)); + if (countLoc > 0 || countWrk > 0 || countwait > 0) { +// throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + barcode); + armTaskAssignmentCallApiLogSave(staProtocol, "鏉$爜鏁版嵁宸插瓨鍦�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛岀粍鎵樻。/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + barcode, false); + +// log.error(staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛岀粍鎵樻。/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + barcode); + continue; + } + + List<BasArmMast> basArmMastListRuningBarCode = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("barcode", barcode) + .eq("status", 3) + ); + if (!basArmMastListRuningBarCode.isEmpty()){ + armTaskAssignmentCallApiLogSave(staProtocol, "鏉$爜鏁版嵁宸插瓨鍦�,姝e湪鑷姩缁勬墭锛侊紒锛�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屾潯鐮佹暟鎹鍦ㄨ嚜鍔ㄧ粍鎵�===>>" + barcode, false); + continue; + } List<BasArmMast> basArmMastListError = basArmMastService.selectList( new EntityWrapper<BasArmMast>() .eq("arm_no", basArm.getArmNo()) @@ -4139,7 +4226,9 @@ .eq("status", 9) ); if (!basArmMastListError.isEmpty()){ - log.error(basArm.getArmNo()+"鍙锋満姊拌噦瀛樺湪寮傚父鏁版嵁闇�瑕佺淮鎶わ紒锛侊紒"); + armTaskAssignmentCallApiLogSave(staProtocol, "瀛樺湪寮傚父鏈烘鑷備换鍔�", basArm.getArmNo()+"鍙锋満姊拌噦瀛樺湪寮傚父鏁版嵁闇�瑕佺淮鎶わ紒锛侊紒", false); + +// log.error(basArm.getArmNo()+"鍙锋満姊拌噦瀛樺湪寮傚父鏁版嵁闇�瑕佺淮鎶わ紒锛侊紒"); continue; } List<BasArmMast> basArmMastListRuning = basArmMastService.selectList( @@ -4165,7 +4254,9 @@ continue; } if (basArmMastList.size()>1){ - log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�"); + armTaskAssignmentCallApiLogSave(staProtocol, "浠诲姟寰呮墽琛屾暟閲忓ぇ浜�1", "arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�", false); + +// log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�"); continue; } BasArmMast basArmMast = basArmMastList.get(0); @@ -4188,13 +4279,17 @@ // 璁㈠崟涓嬪彂(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); +// basArmMast.setStatus(1); +// basArmMast.setBarcode(barcode); +// basArmMastService.updateById(basArmMast); } else { - log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚俊鎭笅鍙戝け璐�"); + armTaskAssignmentCallApiLogSave(staProtocol, "鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙�", "arm缂栧彿锛�"+basArm.getArmNo()+"璁㈠崟涓嬪彂璁㈠崟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false); + +// log.error("arm缂栧彿锛�"+basArm.getArmNo()+"鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚俊鎭笅鍙戝け璐�"); } } catch (Exception e){ - log.error("鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚笅鍙戣鍗曚俊鎭笅鍙戝け璐�"); + armTaskAssignmentCallApiLogSave(staProtocol, "鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙�", "arm缂栧彿锛�"+basArm.getArmNo()+"璁㈠崟涓嬪彂璁㈠崟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false); +// log.error("arm缂栧彿锛�"+basArm.getArmNo()+"鏈烘鑷傛姄鍙栬鍗曪紙SKU锛変笅鍙戯細"+JSON.toJSON(basArmMast)+"===銆嬭鍗曚笅鍙戣鍗曚俊鎭笅鍙戝け璐�"); continue; } } @@ -4203,9 +4298,11 @@ ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔′笅鍙戯細閫氱煡宸ヤ綔绌洪棿宸插氨缁�",ArmConstant.getArmUrl(basArmMast.getArmNo()), ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam); if (result.getCode()==200){ basArmMast.setStatus(1); + basArmMast.setBarcode(barcode); basArmMastService.updateById(basArmMast); } else { - log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�"); + armTaskAssignmentCallApiLogSave(staProtocol, "鏈烘鑷傛姄鍙栦换鍔′俊鎭笅鍙戝け璐�", "arm缂栧彿锛�"+basArm.getArmNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false); +// log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�"); } } } catch (Exception e){ @@ -4217,4 +4314,26 @@ } } + public void armTaskAssignmentCallApiLogSave(StaProtocol staProtocol ,String tableName, String response, Boolean bool) { + ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>() + .eq("namespace", "鏈烘鑷備换鍔$浉鍏�") + .eq("request", "绔欑偣鍙�:" + staProtocol.getSiteId()) + .eq("response", response) + .eq("url", tableName) + .eq("client_ip", staProtocol.getBarcode()) + .eq("result", 0) + .orderBy("create_time", false) + ); + + if (!Cools.isEmpty(apiLog)){ + long parseLong = Long.parseLong(apiLog.getTimestamp()); + if (new Date().getTime()-parseLong<5*1000*60){ + return; + } + } + apiLogService.save("鏈烘鑷備换鍔$浉鍏�", tableName, "null", staProtocol.getBarcode(), + "绔欑偣鍙�:" + staProtocol.getSiteId() , + response, bool); + } + } -- Gitblit v1.9.1