From 6ca0cf26e5eeaaf8dd3761640dd88c558bf4efc7 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 15 十月 2024 14:35:48 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  158 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 153 insertions(+), 5 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 e06f2a1..1a940ee 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -427,9 +427,10 @@
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo()!=0) {
 //                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
+//                    WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo());
                     if (wrkMast == null) {
                         // 鏃犳嫞鏂欐暟鎹�
                         continue;
@@ -482,7 +483,7 @@
                                     staProtocol.setStaNo(dto.getStaNo());
                                     devpThread.setPakMk(staProtocol.getSiteId(), false);
 //                                    ledThread.errorReset();
-                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
                                     if (!result) {
                                         log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
                                     }
@@ -2318,6 +2319,7 @@
                         param.setIoType(10);
                         param.setSourceStaNo(122);
                         param.setLocType1((short)1);
+                        param.setRgvNo(rgvProtocol.getRgvNo());
                         String response = new HttpHandler.Builder()
                                 .setUri(wmsUrl)
                                 .setPath("/rpc/pakin/empty/loc/v1")
@@ -2363,7 +2365,8 @@
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
             // 鍛戒护闆嗗悎
             List<LedCommand> commands = new ArrayList<>();
-            // 宸ヤ綔妗i泦鍚�
+            String orderNo = null;
+                    // 宸ヤ綔妗i泦鍚�
             List<WrkMast> wrkMasts = new ArrayList<>();
             for (Integer staNo : led.getStaArr()) {
                 // 鑾峰彇鍙夎溅绔欑偣
@@ -2423,7 +2426,13 @@
 //                ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
                 if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
                     List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
-                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl)));
+                    if (Cools.isEmpty(wrkDetls)){
+                        continue;
+                    }
+                    Integer count1 = wrkDetlService.count1();
+                    Integer count2 = wrkDetlService.count2(wrkDetls.get(0).getOrderNo());
+                    Integer count3 = wrkDetlService.count3();
+                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl,count1,count2,count3)));
                 }
                 commands.add(ledCommand);
             }
@@ -3344,6 +3353,14 @@
                 if (basDevp135.getReportSign()!=0){
                     continue;
                 }
+                BasDevp basDevp121 = basDevpService.selectById(121);
+                if (basDevp121.getReportSign()!=0){
+                    continue;
+                }
+                BasDevp basDevp120 = basDevpService.selectById(120);
+                if (basDevp120.getReportSign()!=0){
+                    continue;
+                }
                 WrkMast wrkMast131 = wrkMastMapper.selectWrkMastUnstackingOne202Two(131);
                 if (Cools.isEmpty(wrkMast131)){
                     continue;
@@ -3368,6 +3385,26 @@
                 }
 
                 if (!staProtocol.isLoading()){
+                    continue;
+                }
+                StaProtocol staProtocol120 = devpThread.getStation().get(120);
+                if (staProtocol120 == null) {
+                    continue;
+                } else {
+                    staProtocol120 = staProtocol120.clone();
+                }
+
+                if (staProtocol120.isLoading()){
+                    continue;
+                }
+                StaProtocol staProtocol121 = devpThread.getStation().get(121);
+                if (staProtocol121 == null) {
+                    continue;
+                } else {
+                    staProtocol121 = staProtocol121.clone();
+                }
+
+                if (staProtocol121.isLoading()){
                     continue;
                 }
 //                if (!staProtocol.getWorkNo().equals(wrkMast131.getWrkNo())){
@@ -3707,6 +3744,40 @@
                             }
                         }
                         Date date = new Date();
+
+                        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
+                        StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+                        if (staProtocol == null) {
+                            log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                            continue;
+                        }
+                        if (!staProtocol.isAutoing() || staProtocol.isLoading() || staProtocol.getWorkNo() != 0){
+                            continue;
+                        }
+                        if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+                            if (staProtocol.isLoadingSuper()){
+                                continue;
+                            }
+                        }
+                        if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
+                            if (!staProtocol.isEmptyMk()){
+                                continue;
+                            }
+                        }
+                        BasDevp basDevpS = basDevpService.selectById(wrkMastSta.getStaStart());
+                        if (!basDevpS.getAutoing().equals("Y") || !basDevpS.getLoading().equals("Y") || basDevpS.getWrkNo()!=wrkMastSta.getWrkNo().intValue()){
+                            continue;
+                        }
+                        StaProtocol staProtocols = devpThread.getStation().get(basDevpS.getDevNo());
+                        if (staProtocols == null) {
+                            log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                            continue;
+                        }
+                        if (!staProtocols.isAutoing() || !staProtocols.isLoading() || staProtocols.getWorkNo() != wrkMastSta.getWrkNo().intValue()){
+                            continue;
+                        }
+
+
                         log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                         log.info(date+"鍙栨斁浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                         boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta);
@@ -3790,6 +3861,27 @@
                                 }
                             }
                             Date date = new Date();
+
+                            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+                            if (staProtocol == null) {
+                                log.info(date+"鎷嗙洏浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                                continue;
+                            }
+                            if (!staProtocol.isAutoing() || staProtocol.isLoading() || staProtocol.getWorkNo() != 0){
+                                continue;
+                            }
+                            if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+                                if (staProtocol.isLoadingSuper()){
+                                    continue;
+                                }
+                            }
+                            if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
+                                if (!staProtocol.isEmptyMk()){
+                                    continue;
+                                }
+                            }
+
                             log.info(date+"鎷嗙洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                             log.info(date+"鎷嗙洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                             sign = rgvPutEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鎷嗙洏
@@ -3877,6 +3969,27 @@
                                 }
                             }
                             Date date = new Date();
+
+                            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+                            if (staProtocol == null) {
+                                log.info(date+"婊℃斁浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                                continue;
+                            }
+                            if (!staProtocol.isAutoing() || staProtocol.isLoading() || staProtocol.getWorkNo() != 0){
+                                continue;
+                            }
+                            if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+                                if (staProtocol.isLoadingSuper()){
+                                    continue;
+                                }
+                            }
+                            if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
+                                if (!staProtocol.isEmptyMk()){
+                                    continue;
+                                }
+                            }
+
                             log.info(date+"婊℃斁浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                             log.info(date+"婊℃斁浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                             sign = rgvPutEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta);
@@ -3956,6 +4069,22 @@
                                 }
                             }
                             Date date = new Date();
+
+                            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+                            if (staProtocol == null) {
+                                log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                                continue;
+                            }
+                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
+                                continue;
+                            }
+                            if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){
+                                if (!staProtocol.isEmptyMk()){
+                                    continue;
+                                }
+                            }
+
                             log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                             log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                             sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏
@@ -4037,6 +4166,17 @@
                                 continue;
                             }
                             Date date = new Date();
+
+                            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+                            if (staProtocol == null) {
+                                log.info(date+"婊″彇浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta);
+                                continue;
+                            }
+                            if (!staProtocol.isAutoing() || staProtocol.isLoading()){
+                                continue;
+                            }
+
                             log.info(date+"婊″彇浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta);
                             log.info(date+"婊″彇浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp);
                             sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta);
@@ -4107,7 +4247,15 @@
                         && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
                         && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
                 ) {
+
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+//                    Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMap.getRgvNo(), basRgvMap.getEndRoute()); //鑾峰彇鍚堝苟骞叉秹椤�
+//                    List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(),fallMerge);
+//                    List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route ,route);
+//                    if (!wrkMastStaList.isEmpty()){
+//                        log.info("灏忚溅瀛樺湪鍙墽琛屼换鍔★紝璺宠繃閬胯锛侊紒4214");
+//                        return;
+//                    }
                     if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
 //                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){
 //                    if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){

--
Gitblit v1.9.1