From 2c3e7ada714806b093be9147c715c3c232f5591b Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 11 八月 2025 15:40:02 +0800 Subject: [PATCH] #自动生成衔接任务 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 390 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 319 insertions(+), 71 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 a93a7c6..f091010 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -296,32 +296,34 @@ 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 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 { staProtocol.setWorkNo(wrkNo); wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); @@ -746,7 +748,7 @@ continue; } // 鍒ゆ柇宸ヤ綔妗f潯浠� - if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { + if ((wrkMast.getIoType() != 12 && wrkMast.getIoType() < 100) || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) { continue; } // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� @@ -800,8 +802,100 @@ } /** - * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 + * 鍫嗗灈鏈轰换鍔¤鎺ヤ换鍔$敓鎴� */ + public synchronized void connectWrk(Integer mark) { + for (DevpSlave devp : slaveProperties.getDevp()) { + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocolIn = devpThread.getStation().get(4001); + if (staProtocolIn == null) { + continue; + } else { + staProtocolIn = staProtocolIn.clone(); + } + StaProtocol staProtocolOut = devpThread.getStation().get(1015); + if (staProtocolOut == null) { + continue; + } else { + staProtocolOut = staProtocolOut.clone(); + } + if(staProtocolOut.getWorkNo() != null &&staProtocolOut.getStaNo() == 4006){ + WrkMast wrkMastOut = wrkMastMapper.selectByWrkNo(staProtocolOut.getWorkNo()); + WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9997); + if(wrkMast == null){ + continue; + } + try { + TransplantWork param = new TransplantWork(); + param.setWorkNo(wrkMastOut.getWrkNo()); + param.setBarcode(wrkMastOut.getBarcode()); + param.setSourceStaNo(1015); + param.setStaNo(wrkMastOut.getStaNo()); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/auto/TransplantingIn/v1") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + staProtocolOut.setWorkNo(9997); + devpThread.setPakMk(staProtocolOut.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolOut)); + + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + } + + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + + if(staProtocolIn.getWorkNo() != null &&staProtocolIn.getStaNo() != 4001){ + WrkMast wrkMastIn = wrkMastMapper.selectByWrkNo(staProtocolIn.getWorkNo()); + WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9996); + if(wrkMast == null){ + continue; + } + try { + TransplantWork param = new TransplantWork(); + param.setWorkNo(wrkMastIn.getWrkNo()); + param.setBarcode(wrkMastIn.getBarcode()); + param.setSourceStaNo(4001); + param.setStaNo(wrkMastIn.getStaNo()); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/auto/TransplantingOut/v1") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + staProtocolIn.setWorkNo(9996); + devpThread.setPakMk(staProtocolIn.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolIn)); + + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + } + + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + } + + } + + + /** + * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 + */ public synchronized void crnIoExecute(Integer mark) { for (CrnSlave crn : slaveProperties.getCrn()) { @@ -852,7 +946,8 @@ // 搴撲綅绉昏浆 //mark - 3 - .... this.locToLoc(crn, crnProtocol,mark); -// this.crnRebackHp(crnProtocol, crnThread); + //棰勮皟搴� + this.crnRebackHp(crnProtocol, crnThread); } // News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚"); @@ -862,21 +957,17 @@ * 鍥炲師鐐癸紝鍫嗗灈鏈烘病鏈夋墽琛屼腑浠诲姟锛岃澶囧瓨鍦ㄥ叆搴撲换鍔℃椂鍙洖鍘熺偣 */ public synchronized void crnRebackHp(CrnProtocol crnProtocol, CrnThread crnThread) { -// for (CrnSlave crn : slaveProperties.getCrn()) { -// // 鑾峰彇鍫嗗灈鏈轰俊鎭� -// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); -// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); -// if (crnProtocol == null) { -// continue; -// } -// BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); -// if (basCrnp == null) { -// log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); -// continue; -// } if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { - if (crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) { + if (crnProtocol.getBay() == 1) { return; + } + int x=1; + switch (crnProtocol.getCrnNo()){ + case 1: x =1; break; + case 2: x =3; break; + case 3: x =5; break; + case 4: x =7; break; + case 5: x =9; break; } // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12 @@ -890,7 +981,7 @@ } //杈撻�佺嚎娌℃湁鍏ュ簱浠诲姟锛岃繃婊�2 - if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) == null) { + if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) != null) { return; } News.info("鍫嗗灈鏈哄彫鍥炲師鐐�==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満鏈夊叆搴撲换鍔�,鍙洖鍘熺偣"); @@ -899,10 +990,10 @@ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍥炲師鐐� - crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 + crnCommand.setTaskMode(CrnTaskModeType.X_MOVE); // 浠诲姟妯″紡: 鍥炲師鐐� + crnCommand.setSourcePosX((short) x); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� @@ -911,6 +1002,7 @@ } crnThread.setBackHpFlag(true); } + // } } @@ -929,6 +1021,61 @@ continue; } else { staProtocol = staProtocol.clone(); + } + if (slave.getId() == 3) { + SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); + StaProtocol staProtocol2 = devpThread1.getStation().get(4001); + if (staProtocol2 == null) { + News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2); + break; + } else { + staProtocol2 = staProtocol2.clone(); + } + WrkMast wrkMast9999 = wrkMastMapper.selectByWrkNo(9996); + BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); + if (staDetl == null) { + News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + break; +// continue; + } + if(wrkMast9999 != null && staProtocol2.isAutoing() && staDetl.getCanining() != null && staDetl.getCanining().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) 9996); // 宸ヤ綔鍙� +// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX((short) 5); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ((short) 4); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX((short) 6); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞� +// 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(3L); + wrkMast9999.setCrnStrTime(now); + wrkMast9999.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast9999) == 0) { + News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9999.getWrkNo()); + } + break; + } + } } // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); @@ -1074,6 +1221,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; + } + } + } for (WrkMast wrkMast : wrkMasts) { if (wrkMast == null) { continue; @@ -1126,11 +1328,11 @@ if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") ) { - if (slave.getId() == 1 || slave.getId() == 2){ - if (staProtocol.isLoading() || staProtocol.getWorkNo() != 0 || !staProtocol.isOutEnable()){ - continue; - } - } +// if (slave.getId() == 1 || slave.getId() == 2){ +// if (staProtocol.isLoading() || staProtocol.getWorkNo() != 0 || !staProtocol.isOutEnable()){ +// continue; +// } +// } // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鍫嗗灈鏈烘帶鍒惰繃婊� @@ -1438,14 +1640,50 @@ if (crnProtocol == null) { continue; } - // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 - if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { - News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:"+crnProtocol.getTaskNo()); + if(crnProtocol.getTaskNo() == 9999){ + // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 + if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { + News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo()); + + + + // 鍫嗗灈鏈哄浣� + News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo()); + crnThread.setResetFlag(true); + } + } else if (crnProtocol.getTaskNo() == 9996) {//鐩樼偣鍏ュ簱琛旀帴 + // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 + if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { + News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo()); // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue()); - if (wrkMast == null) { - News.error(""+mark+" - 1"+" - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); + // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 + if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) { + wrkMast.setWrkSts(4L); + } else { + continue; + } + Date now = new Date(); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + log.error(wrkMast.getWrkNo() + "浠诲姟淇敼鐘舵��4鎴愬姛锛屽浣嶅爢鍨涙満={}", crnThread.getCrnProtocol().getCrnNo()); + News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo()); + crnThread.setResetFlag(true); + } + } + }else{ + // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 + if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { + News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo()); + + // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 + WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue()); + if (wrkMast == null ) { + News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); continue; } // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 @@ -1460,16 +1698,19 @@ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 if (wrkMastMapper.updateById(wrkMast) > 0) { // 鍫嗗灈鏈哄浣� - log.error(wrkMast.getWrkNo()+"浠诲姟淇敼鐘舵��4鎴愬姛锛屽浣嶅爢鍨涙満={}",crnThread.getCrnProtocol().getCrnNo()); - News.warnNoLog(""+mark+" - 2"+" - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}",crnThread.getCrnProtocol().getCrnNo()); + log.error(wrkMast.getWrkNo() + "浠诲姟淇敼鐘舵��4鎴愬姛锛屽浣嶅爢鍨涙満={}", crnThread.getCrnProtocol().getCrnNo()); + News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo()); crnThread.setResetFlag(true); } } + } + } // News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�"); } + /** * 鍫嗗灈鏈哄紓甯镐俊鎭褰� @@ -2320,9 +2561,6 @@ return; } Short loctype1 = 1; - if (site == 101){ - loctype1 = 2; - } LocTypeDto locTypeDto = new LocTypeDto(loctype1, (short) 1, (short) 1); locTypeDto.setSiteId(site); try { @@ -2368,9 +2606,6 @@ try { Short loctype1 = 1; - if (site == 153){ - loctype1 = 2; - } LocTypeDto locTypeDto = new LocTypeDto(loctype1, (short) 1, (short) 1); locTypeDto.setSiteId(site); @@ -2506,11 +2741,22 @@ } /** - * 鑷姩鐢熸垚RGV鎺ラ┏浠诲姟锛堟绱�4妤间换鍔★紝闈�3鍙峰爢鍨涙満锛屽垯鐢熸垚瀵瑰簲鎺ラ┏浠诲姟锛� + * 鑷姩鐢熸垚RGV鎺ラ┏浠诲姟锛堟绱㈠嚭鍏ュ彛浠诲姟锛岀敓鎴愬搴擱GV浠诲姟锛屾绱�4妤间换鍔★紝闈�3鍙峰爢鍨涙満锛屽垯鐢熸垚瀵瑰簲鎺ラ┏浠诲姟锛� */ // public synchronized void rgvCreateWrkMastSta(){ // try{ -// +// for (DevpSlave devp : slaveProperties.getDevp()) { +// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); +// StaProtocol staProtocol = devpThread.getStation().get(1105); +// if (staProtocol == null) { +// continue; +// } else { +// staProtocol = staProtocol.clone(); +// } +// if (!staProtocol.isAutoing() || !staProtocol.isLoading()){ +// continue; +// } +// } // } // } @@ -2659,8 +2905,10 @@ // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO - && rgvProtocol.getLoaded1()==0 + && rgvProtocol.getLoaded1() == 0 && rgvProtocol.getTaskNo1() == 0 + && rgvProtocol.getTaskNo2() == 0 + && rgvProtocol.getLoaded2() == 0 && rgvThread.isPakMk() ) { BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); @@ -2672,9 +2920,9 @@ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route); for (WrkMastSta wrkMastSta : wrkMastStaList){ - if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3 || wrkMastSta.getWrkSts()!=0){//1:婊$増 3锛氬彇鏀� - continue; - } +// if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3 || wrkMastSta.getWrkSts()!=0){//1:婊$増 3锛氬彇鏀� +// continue; +// } //鍒ゆ柇宸ヤ綔缁撴潫浣嶇疆鐘舵�� // boolean signDev = false; // BasDevp devNo = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", wrkMastSta.getStaEnd())); -- Gitblit v1.9.1