From 298adfe254be9a5976a28dfd63f915842886d588 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期三, 17 一月 2024 14:23:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/model/DevpSlave.java | 1 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++++---- src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 1 src/main/resources/mapper/WrkMastMapper.xml | 4 + src/main/java/com/zy/core/MainProcess.java | 4 + src/main/resources/application.yml | 12 ++++ 6 files changed, 156 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 6320ce1..ec1f13c 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -257,6 +257,7 @@ * 鏌ユ壘鏄惁瀛樺湪鎷嗗灈鍗曟瀹屾垚鐨勫伐浣滄。 */ WrkMast selectWrkMastUnstackingOne202(@Param("sourceStaNo")Integer sourceStaNo); + WrkMast selectWrkMastUnstackingOne202Two(@Param("sourceStaNo")Integer sourceStaNo); WrkMast selectWrkMastLabelingOne54(); 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 101bb26..7859cd6 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -492,17 +492,17 @@ WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3"); if (wrkMast == null) { - WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); - if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ - WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); - if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); - wrkMastSta1.setType(2); - wrkMastSta1.setWrkType(1); - wrkMastStaMapper.insert(wrkMastSta1); - } - continue; - } +// WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); +// if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ +// WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); +// if (Cools.isEmpty(wrkMastSta)){ +// WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); +// wrkMastSta1.setType(2); +// wrkMastSta1.setWrkType(1); +// wrkMastStaMapper.insert(wrkMastSta1); +// } +// continue; +// } // log.error("绔欑偣鍙�"+staProtocol.getSiteId()+"鏈煡璇㈠埌宸ヤ綔妗f锛�"); // 鏃犳嫞鏂欐暟鎹� continue; @@ -580,6 +580,46 @@ } + } + } + + /** + * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 鎷嗗灈浣嶇疆 + */ + public synchronized void storeEmptyPlt4() { + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鍙犵洏鍏ュ簱鍙� + for (DevpSlave.Sta pickSta : devp.getEmptyInSta2()) { + + // 鑾峰彇鍏ュ簱绔欎俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + BasDevp basDevp = basDevpService.selectById(staProtocol.getSiteId()); + if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){ + continue; + } + + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk() && staProtocol.getWorkNo()==0 && !staProtocol.isOutEnable() && staProtocol.isInEnable()) { + WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3"); + if (wrkMast == null) { + WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); + if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L); + if (Cools.isEmpty(wrkMastSta)){ + WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); + wrkMastSta1.setType(2); + wrkMastSta1.setWrkType(1); + wrkMastStaMapper.insert(wrkMastSta1); + } + } + } + } + } } } @@ -3992,7 +4032,10 @@ int[] staNos=new int[]{131,135};//(2涓叆搴撶珯鐐癸紝1妤�2涓嚭搴撶爜鍨涚珯,鏍规嵁鐜板満淇敼) for (int staNo : staNos){ BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp.getWrkNo()!=0){ + if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){ + continue; + } + if (basDevp.getWrkNo()!=0 && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999)){ continue; } WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo); @@ -4116,7 +4159,7 @@ int[] staNos=new int[]{144};//(1妤�1涓创鏍囦綅,鏍规嵁鐜板満淇敼) for (int staNo : staNos){ BasDevp basDevp = basDevpService.selectById(staNo); - if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>19999) && basDevp.getWrkNo()!=32222){ + if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999) && basDevp.getWrkNo()!=32222){ continue; } WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo); @@ -4170,6 +4213,84 @@ } /** + * 鍏朵粬 ===>> 鎷嗗灈瀹屾垚缁х画涓嬩竴姝� 杩愯閫斾腑鑷姩閬胯绌烘澘 + */ + public synchronized void stackingCompletionDriveTray4() { + try { + int[] staNos=new int[]{134};//(134鏈変换鍔★紝135绌洪棽锛屽垯閬胯) + for (int staNo : staNos){ + BasDevp basDevp = basDevpService.selectById(staNo); + BasDevp basDevp135 = basDevpService.selectById(135); + if (basDevp.getWrkNo()==0 || (basDevp.getWrkNo()<10000 && basDevp.getWrkNo()>9899) ){ + continue; + } + if (basDevp135.getReportSign()!=0){ + continue; + } + WrkMast wrkMast131 = wrkMastMapper.selectWrkMastUnstackingOne202Two(131); + if (Cools.isEmpty(wrkMast131)){ + continue; + } + // 鑾峰彇绔欑偣淇℃伅 + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol135 = devpThread.getStation().get(135); + if (staProtocol135 == null) { + continue; + } else { + staProtocol135 = staProtocol135.clone(); + } + if (staProtocol135.getWorkNo()<9900 || staProtocol135.getWorkNo()>9999 || staProtocol135.getWorkNo()==0 + || !staProtocol135.isLoading() || !staProtocol135.isAutoing()){ + continue; + } + StaProtocol staProtocol = devpThread.getStation().get(staNo); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + if (!staProtocol.isLoading()){ + continue; + } +// if (!staProtocol.getWorkNo().equals(wrkMast131.getWrkNo())){ +// log.info("绔欑偣宸ヤ綔鍙�={} 涓庤创鏍囧伐浣滃彿={} 涓嶄竴鑷达紝寮傚父锛�",staProtocol.getWorkNo(),wrkMast131.getWrkNo().shortValue()); +// } + // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && basDevp.getReportSign()==0 + ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { + if (true){ + return; + } + + //浠诲姟瀹屾垚 + boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol135)); + try{ + Thread.sleep(100); + }catch (Exception e){ } + basDevp135.setReportSign(2); + basDevpService.updateById(basDevp135); + staProtocol135.setWorkNo(32222); + staProtocol135.setStaNo(144); + devpThread.setPakMk(staProtocol135.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol135)); + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>椹卞姩鐮佸灈浣嶆墭鐩樺墠杩涘け璐ワ紒"); + } + boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol135)); + + } + } + }catch (Exception e){ +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鍏朵粬 ===>> 璐存爣瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e); + } + } + + /** * 瀹屾垚灏忚溅浠诲姟 */ public synchronized void rgvCompleteWrkMastSta() { diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 491999c..39e9169 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -107,6 +107,8 @@ mainService.storeEmptyPlt2(); // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,1妤煎彔鐩樻満绌烘澘鍏ュ簱 mainService.storeEmptyPlt3(); + // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱鎷嗙洏鍖� 1妤兼媶鍨涗綅缃� 绌烘澘鍙犵洏 + mainService.storeEmptyPlt4(); // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� mainService.ledExecute(); // 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 @@ -136,6 +138,8 @@ mainService.stackingCompletionDriveTray(); //鎷嗗灈瀹屾垚缁х画涓嬩竴姝� mainService.stackingCompletionDriveTray2(); + //鎷嗗灈瀹屾垚缁х画涓嬩竴姝� 杩愯閫斾腑鑷姩閬胯绌烘澘 + mainService.stackingCompletionDriveTray4(); //鎷嗗灈瀹屾垚鎵樼洏缁х画涓嬩竴姝� mainService.stackingCompletionDriveTrayOk2(); //璐存爣瀹屾垚缁х画涓嬩竴姝� diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java index 450e05d..0cfa480 100644 --- a/src/main/java/com/zy/core/model/DevpSlave.java +++ b/src/main/java/com/zy/core/model/DevpSlave.java @@ -24,6 +24,7 @@ private List<Sta> inWmsSta = new ArrayList<>(); private List<Sta> emptyInSta = new ArrayList<>(); + private List<Sta> emptyInSta2 = new ArrayList<>(); private List<Sta> outSta = new ArrayList<>(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 130f8cd..7e5742b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -348,6 +348,18 @@ # 绌烘澘鍏ュ簱鍙�1 emptyInSta[0]: staNo: 122 + # 鎷嗗灈鍙犵洏鍙�1 + emptyInSta2[0]: + staNo: 118 + # 鎷嗗灈鍙犵洏鍙�2 + emptyInSta2[1]: + staNo: 119 + # 鎷嗗灈鍙犵洏鍙�3 + emptyInSta2[2]: + staNo: 120 + # 鎷嗗灈鍙犵洏鍙�4 + emptyInSta2[3]: + staNo: 121 # 鍑哄簱鍙�1 outSta[0]: staNo: 122 diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index fac4623..6e031e3 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -347,6 +347,10 @@ SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =51 and source_sta_no = #{sourceStaNo} </select> + <select id="selectWrkMastUnstackingOne202Two" resultMap="BaseResultMap"> + SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =52 and source_sta_no = #{sourceStaNo} + </select> + <select id="selectWrkMastLabelingOne54" resultMap="BaseResultMap"> SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=202 and wrk_sts =54 </select> -- Gitblit v1.9.1