From 7e11c0b06cb884c5748dc8e522a67e20c9b00d52 Mon Sep 17 00:00:00 2001 From: LSH <1> Date: 星期日, 16 六月 2024 14:56:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 227 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 144 insertions(+), 83 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 7c79839..d595267 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -32,6 +32,7 @@ import com.zy.core.model.command.CrnCommand; import com.zy.core.model.command.LedCommand; import com.zy.core.model.command.RgvCommand; +import com.zy.core.model.cpmmandParam.CrnCommandParam; import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.model.protocol.StaProtocol; @@ -109,7 +110,8 @@ @Value("${wms.url}") private String wmsUrl; - private WrkMastSplitTwinServiceImpl wrkMastSplitTwinService; + @Autowired + private WrkMastSplitTwinService wrkMastSplitTwinService; /** * 缁勬墭 @@ -1408,7 +1410,7 @@ && crnProtocol.getLoaded()==0) { List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(wrkMast.getCrnNo(), conStation, null, 2, 3); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",wrkMast.getCrnNo(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",conStation,2,3); + log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",wrkMast.getCrnNo(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",conStation,2,3); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ if (wrkMastSplitTwin.getWrkNo()!=wrkMast.getWrkNo().longValue()){ @@ -1453,7 +1455,7 @@ && crnProtocol.getLoadedTwo()==0) { List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(wrkMast.getCrnNo(), conStation, null, 2, 3); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",wrkMast.getCrnNo(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",conStation,2,3); + log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",wrkMast.getCrnNo(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",conStation,2,3); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ if (wrkMastSplitTwin.getWrkNo()!=wrkMast.getWrkNo().longValue()){ @@ -1696,8 +1698,6 @@ && crnProtocol.getTaskNo() == 0 && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) { -// sign[0] = 1; -// sign[1] = 1; /* * 浠诲姟鎷嗗垎鐗规畩澶勭悊 * */ @@ -1708,16 +1708,10 @@ sign[0] = 1; sign[1] = 1; } - }else if (crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE - && crnProtocol.getTaskNoTwo() == 0 - && crnProtocol.getLoadedTwo() == 0 - && crnProtocol.getForkPosTwo() == 0){ - sign[0] = 1; - sign[1] = 2; } } - if (sign[0]==1 && sign[1] == 1){ + if (sign[0]==1){ // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 if (crnProtocol.getLastIo().equals("I")) { if (basCrnp.getInEnable().equals("Y")) { @@ -3072,47 +3066,93 @@ // return; } - // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐� - crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞� - if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� - Date now = new Date(); - wrkMast.setWrkSts(12L); - wrkMast.setCrnStrTime(now); - wrkMast.setModiTime(now); - WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now); - wrkMastSplitTwin.setWrkSts(1); - wrkMastSplitTwin.setWrkStart(wrkMast.getSourceLocNo()); - wrkMastSplitTwin.setWrkEnd(wrkMast.getSourceStaNo().toString()); - wrkMastSplitTwin.setStartRow(sourceSta.getRow1()); - wrkMastSplitTwin.setStartBay(sourceSta.getBay1()); - wrkMastSplitTwin.setStartLev(sourceSta.getLev1()); - wrkMastSplitTwin.setEndRow(crnStn.getRow()); - wrkMastSplitTwin.setEndBay(crnStn.getBay()); - wrkMastSplitTwin.setEndLev(crnStn.getLev()); - wrkMastSplitTwin.setWrkType(1); - wrkMastSplitTwin.setIoType(2); - if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); - } + if (true){ + // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐� + crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� + Date now = new Date(); + wrkMast.setWrkSts(12L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now); + wrkMastSplitTwin.setWrkSts(1); + wrkMastSplitTwin.setWrkStart(wrkMast.getSourceLocNo()); + wrkMastSplitTwin.setWrkEnd(wrkMast.getSourceStaNo().toString()); + wrkMastSplitTwin.setStartRow(sourceSta.getRow1()); + wrkMastSplitTwin.setStartBay(sourceSta.getBay1()); + wrkMastSplitTwin.setStartLev(sourceSta.getLev1()); + wrkMastSplitTwin.setEndRow(crnStn.getRow()); + wrkMastSplitTwin.setEndBay(crnStn.getBay()); + wrkMastSplitTwin.setEndLev(crnStn.getLev()); + wrkMastSplitTwin.setWrkType(1); + wrkMastSplitTwin.setIoType(2); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } - if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){ - log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo()); + if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){ + log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo()); + } + break; } - break; } +// else { +// // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� +// CrnCommandParam crnCommandParam = new CrnCommandParam(); +// CrnCommand crnCommand = new CrnCommand(); +// crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� +// crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� +// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� +// crnCommand.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐� +// crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 +// crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 +// crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 +// crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺� +// crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒� +// crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞� +// if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { +// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); +// } else { +// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� +// Date now = new Date(); +// wrkMast.setWrkSts(12L); +// wrkMast.setCrnStrTime(now); +// wrkMast.setModiTime(now); +// WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now); +// wrkMastSplitTwin.setWrkSts(1); +// wrkMastSplitTwin.setWrkStart(wrkMast.getSourceLocNo()); +// wrkMastSplitTwin.setWrkEnd(wrkMast.getSourceStaNo().toString()); +// wrkMastSplitTwin.setStartRow(sourceSta.getRow1()); +// wrkMastSplitTwin.setStartBay(sourceSta.getBay1()); +// wrkMastSplitTwin.setStartLev(sourceSta.getLev1()); +// wrkMastSplitTwin.setEndRow(crnStn.getRow()); +// wrkMastSplitTwin.setEndBay(crnStn.getBay()); +// wrkMastSplitTwin.setEndLev(crnStn.getLev()); +// wrkMastSplitTwin.setWrkType(1); +// wrkMastSplitTwin.setIoType(2); +// if (wrkMastMapper.updateById(wrkMast) == 0) { +// log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); +// } +// +// if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){ +// log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo()); +// } +// break; +// } +// } } } @@ -3454,7 +3494,7 @@ // 鍫嗗灈鏈哄浣� List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(crn.getId(), 1, null, 2, 3); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",1,2,3); + log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",1,2,3); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ if (wrkMastSplitTwin.getWrkNo()!=wrkMast.getWrkNo().longValue()){ @@ -3487,7 +3527,7 @@ } else { List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(crn.getId(), 1, null, 1, 1); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",1,1,1); + log.error("鍫嗗灈鏈烘斁璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",1,1,1); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ Date now = new Date(); @@ -3607,7 +3647,7 @@ // 鍫嗗灈鏈哄浣� List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(crn.getId(), 2, null, 2, 3); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈哄彇璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",2,2,3); + log.error("鍫嗗灈鏈哄彇璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",2,2,3); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ if (wrkMastSplitTwin.getWrkNo()!=wrkMast.getWrkNo().longValue()){ @@ -3639,7 +3679,7 @@ } else { List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinMapper.getWrkMastSplitTwin(crn.getId(), 2, null, 1, 1); if (wrkMastSplitTwinList.size()!=1){ - log.error("鍫嗗灈鏈哄彇璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",2,1,1); + log.error("鍫嗗灈鏈哄彇璐у畬鎴愮瓑寰呯‘璁ゅ紓甯�,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crn.getId(),"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",2,1,1); } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ Date now = new Date(); @@ -6235,14 +6275,14 @@ /** * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 */ - public synchronized void crnIoExecuteTwoExecute() { + public synchronized void crnIoExecuteTwoExecute(Integer i) { for (CrnSlave crn : slaveProperties.getCrn()) { try{ switch (crn.getId()){ case 3: case 4: case 5: - crnWrkMastSplitTwinExecute(crn); + crnWrkMastSplitTwinExecute(crn,i); continue; default: continue; @@ -6254,7 +6294,7 @@ } - public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn){ + public synchronized boolean crnWrkMastSplitTwinExecute(CrnSlave crn,Integer i){ try{ // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); @@ -6273,40 +6313,61 @@ // 鍙湁褰撳爢鍨涙満鑷姩鏃舵墠缁х画鎵ц if (crnProtocol.getModeType() == CrnModeType.AUTO) { // 鍙湁褰撳爢鍨涙満宸ヤ綅1鍙栬揣鎴栬�呮湁鐗� 骞朵笖 宸ヤ綅2鏃犱换鍔℃椂鎵嶇户缁墽琛� - if (crnProtocol.getStatusType() == CrnStatusType.IDLE - && crnProtocol.getTaskNo() == 0 - && crnProtocol.getLoaded() == 0 - && crnProtocol.getForkPos() == 0) { - sign[0] = 1; - sign[1] = 1; - } else if (crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE - && crnProtocol.getTaskNoTwo() == 0 - && crnProtocol.getLoadedTwo() == 0 - && crnProtocol.getForkPosTwo() == 0){ - sign[0] = 1; - sign[1] = 2; - } else if (crnProtocol.getStatusType() == CrnStatusType.SEPARATE_IDLE - && crnProtocol.getTaskNo() == 0 - && crnProtocol.getLoaded() == 1 - && crnProtocol.getForkPos() == 0) { - sign[0] = 2; - sign[1] = 1; - } else if (crnProtocol.getStatusTypeTwo() == CrnStatusType.SEPARATE_IDLE - && crnProtocol.getTaskNoTwo() == 0 - && crnProtocol.getLoadedTwo() == 1 - && crnProtocol.getForkPosTwo() == 0){ - sign[0] = 2; - sign[1] = 2; + switch (i){ + case 1: + if (crnProtocol.getStatusType() == CrnStatusType.IDLE + && crnProtocol.getTaskNo() == 0 + && crnProtocol.getLoaded() == 0 + && crnProtocol.getForkPos() == 0) { + sign[0] = 1; + sign[1] = 1; + } + break; + case 2: + if (crnProtocol.getStatusType() == CrnStatusType.SEPARATE_IDLE + && crnProtocol.getTaskNo() == 0 + && crnProtocol.getLoaded() == 1 + && crnProtocol.getForkPos() == 0) { + sign[0] = 2; + sign[1] = 1; + } + break; + case 3: + if (crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE + && crnProtocol.getTaskNoTwo() == 0 + && crnProtocol.getLoadedTwo() == 0 + && crnProtocol.getForkPosTwo() == 0){ + sign[0] = 1; + sign[1] = 2; + } + break; + case 4: + if (crnProtocol.getStatusTypeTwo() == CrnStatusType.SEPARATE_IDLE + && crnProtocol.getTaskNoTwo() == 0 + && crnProtocol.getLoadedTwo() == 1 + && crnProtocol.getForkPosTwo() == 0){ + sign[0] = 2; + sign[1] = 2; + } + break; + default: } } if (sign[0]!=0){ List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwin(crn.getId(),sign[1],null,sign[0],0); - if (wrkMastSplitTwinList.size()!=1){ + if (wrkMastSplitTwinList.size()>1){ log.error("鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",sign[1],sign[0]); + return false; } for (WrkMastSplitTwin wrkMastSplitTwin:wrkMastSplitTwinList){ - return sign[0] == 1? crnExecuteTakeFull(crn.getId(), wrkMastSplitTwin, sign[1]) : crnExecutePutFull(crn.getId(), wrkMastSplitTwin, sign[1]); + boolean ack = sign[0] == 1 ? crnExecuteTakeFull(crn.getId(), wrkMastSplitTwin, sign[1]) : crnExecutePutFull(crn.getId(), wrkMastSplitTwin, sign[1]); + if (ack){ + wrkMastSplitTwin.setWrkSts(wrkMastSplitTwin.getWrkType()==1? 1:3); + wrkMastSplitTwinService.updateById(wrkMastSplitTwin); + }else { + log.error("鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂鎶ラ敊,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={}",crn.getId(),"涓嬪彂浠诲姟杩斿洖鍊间负锛�"+ack); + } } } }catch (Exception e){ -- Gitblit v1.9.1