From 7f1b7dcd78cf25a06fdcad8fb70330668b45d1b0 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 08 九月 2023 13:40:33 +0800
Subject: [PATCH] #流程改动

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  187 ++++++++++++++++++++++++----------------------
 1 files changed, 98 insertions(+), 89 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 0fd8d37..d218b19 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.BasCrnErrorMapper;
 import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.mapper.WaitPakinMapper;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
@@ -69,6 +70,8 @@
     private WrkMastMapper wrkMastMapper;
     @Autowired
     private WrkDetlService wrkDetlService;
+    @Autowired
+    private WaitPakinMapper waitPakinMapper;
     @Autowired
     private LocMastService locMastService;
     @Autowired
@@ -2492,12 +2495,7 @@
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
 
                         SearchLocParam param = new SearchLocParam();
-                        if (emptyInSta.getStaNo().equals(214)){
-                            //鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴�
-                            param.setIoType(201);
-                        }else {
-                            param.setIoType(10);
-                        }
+                        param.setIoType(10);
                         param.setSourceStaNo(emptyInSta.getStaNo());
                         param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
@@ -3209,111 +3207,122 @@
         }
     }
 
-    /**
-     * 鍏朵粬  ===>> 鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩�
-     */
-    public synchronized void dischargingMachineOutputTray() {
-        try {
-            List<WrkMast> wrkMasts = wrkMastMapper.selectDischargingMachineOutputTray();
-            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()>3){
-                return;
-            }
+//    /**
+//     * 鍏朵粬  ===>> 鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩�
+//     */
+//    public synchronized void dischargingMachineOutputTray() {
+//        try {
+//            List<WrkMast> wrkMasts = wrkMastMapper.selectDischargingMachineOutputTray();
+//            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()>3){
+//                return;
+//            }
+//
+//            // 鑾峰彇鍏ュ簱绔欎俊鎭�
+//            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//            StaProtocol staProtocol = devpThread.getStation().get(213);
+//            if (staProtocol == null) {
+//                log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规煡璇㈠け璐�");
+//                return;
+//            } else {
+//                staProtocol = staProtocol.clone();
+//            }
+//
+//            if (!staProtocol.isLoading()){
+//                log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规棤鐗╋紝姝e湪鑷姩璋冨嚭绌烘澘锛�");
+//                int i = wrkMastMapper.selectConfigCount10468N();
+//                if (i==1){
+//                    wrkMastMapper.updateConfig10468Y();
+//                }
+//                return;
+//            }else {
+//                int i = wrkMastMapper.selectConfigCount10468N();
+//                if (i==0){
+//                    return;
+//                }
+//            }
+//            StaProtocol staProtocol214 = devpThread.getStation().get(214);
+//            // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+//            if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk() && staProtocol214.getWorkNo()==0) {
+//                staProtocol.setWorkNo((short)9999);
+//                staProtocol.setStaNo((short)214);
+//                devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
+//                if (!result) {
+//                    throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紒");
+//                }
+//                log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂鎴愬姛锛氬伐浣滃彿9999銆佺洰鏍囩珯214锛�");
+//            }else {
+//                log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐圭姸鎬佷笉绗﹀悎锛�");
+//            }
+//        }catch (Exception e){
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//        }
+//    }
 
-            // 鑾峰彇鍏ュ簱绔欎俊鎭�
-            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-            StaProtocol staProtocol = devpThread.getStation().get(213);
-            if (staProtocol == null) {
-                log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规煡璇㈠け璐�");
-                return;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-
-            if (!staProtocol.isLoading()){
-                log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规棤鐗╋紝姝e湪鑷姩璋冨嚭绌烘澘锛�");
-                int i = wrkMastMapper.selectConfigCount10468N();
-                if (i==1){
-                    wrkMastMapper.updateConfig10468Y();
-                }
-                return;
-            }else {
-                int i = wrkMastMapper.selectConfigCount10468N();
-                if (i==0){
-                    return;
-                }
-            }
-            StaProtocol staProtocol214 = devpThread.getStation().get(214);
-            // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-            if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk() && staProtocol214.getWorkNo()==0) {
-                staProtocol.setWorkNo((short)9999);
-                staProtocol.setStaNo((short)214);
-                devpThread.setPakMk(staProtocol.getSiteId(), false);
-                boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
-                if (!result) {
-                    throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紒");
-                }
-                log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂鎴愬姛锛氬伐浣滃彿9999銆佺洰鏍囩珯214锛�");
-            }else {
-                log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐圭姸鎬佷笉绗﹀悎锛�");
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        }
-    }
+//    /**
+//     * 鍏朵粬  ===>> 鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴�
+//     */
+//    public synchronized void scanBarcodeEmptyBoard() {
+//        try {
+//
+//        }catch (Exception e){
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//        }
+//    }
 
     /**
-     * 鍏朵粬  ===>> 鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴�
-     */
-    public synchronized void scanBarcodeEmptyBoard() {
-        try {
-
-        }catch (Exception e){
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        }
-    }
-
-    /**
-     * 鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏涓嬩竴姝ユ壂鐮佸叆搴�
+     * 鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝ワ紙鍏ュ簱鍓嶆壂鐮侊級
      */
     public synchronized void stackingCompletionDriveTray() {
         try {
-            List<WrkMast> wrkMasts = wrkMastMapper.selectStackingCompletionDriveTray();
-            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0){
-                return;
-            }
-
-            for (WrkMast wrkMast : wrkMasts){
-                wrkMast.setWrkSts(44L);
+            int[] staNos=new int[]{216,220};
+            for (int staNo : staNos){
+                BasDevp basDevp = basDevpService.selectById(staNo);
+                if (basDevp.getWrkNo()!=9992 || Cools.isEmpty(basDevp.getBarcode())){
+                    continue;
+                }
+                Integer zpallet = waitPakinMapper.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()).eq("status","N"));
+                if (zpallet<=0){
+                    continue;
+                }
                 // 鑾峰彇鍏ュ簱绔欎俊鎭�
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-                StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo());
+                StaProtocol staProtocol = devpThread.getStation().get(staNo);
                 if (staProtocol == null) {
-                    log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规煡璇㈠け璐�");
-                    return;
+                    continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
 
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+//                if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
+//                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+//                    continue;
+//                }
+
                 if (!staProtocol.isLoading()){
-                    log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐规棤鐗╋紝姝e湪鑷姩璋冨嚭绌烘澘锛�");
-                    return;
+                    log.info("绔欑偣鏃犵墿锛屾鍦ㄨ嚜鍔ㄨ皟鍑虹┖鏉匡紒");
+                    continue;
                 }
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                if (staProtocol.isAutoing() && staProtocol.getWorkNo().equals(wrkMast.getWrkNo().shortValue()) && staProtocol.isPakMk()) {
+                if (staProtocol.isAutoing()
+                        && staProtocol.isLoading()
+                        && staProtocol.isInEnable()
+                        && !staProtocol.isEmptyMk()
+                        && staProtocol.getWorkNo() == 9992
+                ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
+
                     staProtocol.setWorkNo((short)9999);
-                    int staNo = wrkMast.getStaNo() + 1;
+                    staNo = staNo + 1;
                     staProtocol.setStaNo((short)staNo);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
                     if (!result) {
-                        throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紒");
+                        throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>椹卞姩鐮佸灈浣嶆墭鐩樺墠杩涘け璐ワ紒");
                     }
-                    log.info("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂鎴愬姛锛氬伐浣滃彿9999銆佺洰鏍囩珯214锛�");
-                    wrkMastMapper.updateStackingCompletionDriveTray(wrkMast.getWrkNo());
-                }else {
-                    log.error("鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩橈紝浠诲姟涓嬪彂澶辫触锛岀珯鐐圭姸鎬佷笉绗﹀悎锛�");
+
                 }
             }
         }catch (Exception e){

--
Gitblit v1.9.1