From 9cfd47f152a8d0dcd825cf9202ddd389b0c4a325 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期五, 19 一月 2024 18:09:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    1 
 src/main/java/com/zy/asrs/utils/RouteUtils.java             |    2 
 src/main/java/com/zy/asrs/entity/BasDevp.java               |    7 +++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 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                  |    6 ++-
 src/main/resources/mapper/BasDevpMapper.xml                 |    1 
 8 files changed, 79 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 2097e20..c969456 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -70,6 +70,13 @@
     private String loading;
 
     /**
+     * 绌烘澘
+     */
+    @ApiModelProperty(value= "绌烘澘")
+    @TableField("empty_mk")
+    private String emptyMk;
+
+    /**
      * 鑳藉叆
      */
     @ApiModelProperty(value= "鑳藉叆")
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index ec1f13c..28442f1 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -258,6 +258,7 @@
      */
     WrkMast selectWrkMastUnstackingOne202(@Param("sourceStaNo")Integer sourceStaNo);
     WrkMast selectWrkMastUnstackingOne202Two(@Param("sourceStaNo")Integer sourceStaNo);
+    WrkMast selectWrkMastUnstackingOne145(@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 95f5d98..20d24ee 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -323,7 +323,11 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    Integer staNo = wrkMast.getStaNo();
+                    if (wrkMast.getSourceStaNo()==145){
+                        staNo = 147;
+                    }
+                    staProtocol.setStaNo(staNo);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     if (result) {
@@ -4213,6 +4217,57 @@
     }
 
     /**
+     * 鍏朵粬  ===>> 閫�璐х爜鍨涘畬鎴愭墭鐩樼户缁笅涓�姝�
+     */
+    public synchronized void stackingCompletionDriveTrayOk3() {
+        try {
+            int[] staNos=new int[]{118};
+            for (int staNo : staNos){
+                BasDevp basDevp = basDevpService.selectById(staNo);
+                if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()!=0 || basDevp.getReportSign()!=3){
+                    continue;
+                }
+                WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne145(145);
+                if (Cools.isEmpty(wrkMast)){
+                    continue;
+                }
+                // 鑾峰彇绔欑偣淇℃伅
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                StaProtocol staProtocol = devpThread.getStation().get(staNo);
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                if (!staProtocol.isLoading()){
+                    log.info("{}绔欑偣鏃犵墿锛屽紓甯革紒",staNo);
+                    continue;
+                }
+                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                if (staProtocol.isAutoing()
+                        && staProtocol.isLoading()
+                        && !staProtocol.isEmptyMk()
+                ) {
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
+                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+                    boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
+                    if (!result) {
+                        throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触==>椹卞姩鐮佸灈浣嶆墭鐩樺墠杩涘け璐ワ紒");
+                    }
+                    wrkMast.setSheetNo("5");
+                    wrkMastMapper.updateById(wrkMast);
+                }
+            }
+        }catch (Exception e){
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error("鍏朵粬  ===>> 閫�璐х爜鍨涘畬鎴愭墭鐩樼户缁笅涓�姝�"+e);
+        }
+    }
+
+    /**
      * 鍏朵粬  ===>> 鎷嗗灈瀹屾垚缁х画涓嬩竴姝�  杩愯閫斾腑鑷姩閬胯绌烘澘
      */
     public synchronized void stackingCompletionDriveTray4() {
@@ -4340,6 +4395,7 @@
                         StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                         WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                         if (!Cools.isEmpty(wrkMast)){
+                            Thread.sleep(100);
                             // 涓嬪彂绔欑偣淇℃伅
                             staProtocol.setWorkNo(wrkMast.getWrkNo());
                             staProtocol.setStaNo(wrkMast.getStaNo());
@@ -4377,6 +4433,7 @@
                         StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                         WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                         if (!Cools.isEmpty(wrkMast)){
+                            Thread.sleep(100);
                             // 涓嬪彂绔欑偣淇℃伅
                             staProtocol.setWorkNo(wrkMast.getWrkNo());
                             staProtocol.setStaNo(wrkMast.getStaNo());
@@ -4546,6 +4603,7 @@
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         &&  (rgvProtocol.getLoaded2()==2  || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗�  锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -4672,6 +4730,7 @@
 
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
+                        && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
                         &&  rgvProtocol.getLoaded2()==0  //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛�   锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3  1銆�2灞傞兘鏈夌墿
                 ) {
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index aa66a4e..2844815 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -37,7 +37,7 @@
     }};
 //    鍙嶅簭
     public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{
-        add(117);add(116);add(1142);add(114);add(113);add(123);add(121);add(111);add(120);add(110);add(119);add(108);add(107);add(118);add(105);add(104);add(122);add(102);add(101);
+        add(117);add(116);add(1142);add(114);add(123);add(113);add(121);add(111);add(120);add(110);add(119);add(108);add(118);add(107);add(105);add(122);add(104);add(102);add(101);
     }};
 
     public static String zerofill(String msg, Integer count){
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 39e9169..40f55ce 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -138,12 +138,14 @@
                     mainService.stackingCompletionDriveTray();
                     //鎷嗗灈瀹屾垚缁х画涓嬩竴姝�
                     mainService.stackingCompletionDriveTray2();
+                    //璐存爣瀹屾垚缁х画涓嬩竴姝�
+//                    mainService.stackingCompletionDriveTray3();
                     //鎷嗗灈瀹屾垚缁х画涓嬩竴姝�  杩愯閫斾腑鑷姩閬胯绌烘澘
                     mainService.stackingCompletionDriveTray4();
                     //鎷嗗灈瀹屾垚鎵樼洏缁х画涓嬩竴姝�
                     mainService.stackingCompletionDriveTrayOk2();
-                    //璐存爣瀹屾垚缁х画涓嬩竴姝�
-//                    mainService.stackingCompletionDriveTray3();
+                    //閫�璐х爜鍨涘畬鎴愭墭鐩樼户缁笅涓�姝�
+                    mainService.stackingCompletionDriveTrayOk3();
 
 
                 } catch (Exception e) {
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index dac0c1e..3e7a89f 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -61,6 +61,7 @@
         basDevp.setWrkNo(workNo);
         basDevp.setAutoing(autoing?"Y":"N");
         basDevp.setLoading(loading?"Y":"N");
+        basDevp.setEmptyMk(emptyMk?"Y":"N");
         if (basDevp.getLoading().equals("N") && basDevp.getAutoing().equals("Y")){
             basDevp.setReportSign(0);
         }
diff --git a/src/main/resources/mapper/BasDevpMapper.xml b/src/main/resources/mapper/BasDevpMapper.xml
index 1b38347..b6b9829 100644
--- a/src/main/resources/mapper/BasDevpMapper.xml
+++ b/src/main/resources/mapper/BasDevpMapper.xml
@@ -42,6 +42,7 @@
         <result column="gross_wt" property="grossWt" />
         <result column="cart_pos" property="cartPos" />
         <result column="report_sign" property="reportSign" />
+        <result column="empty_mk" property="emptyMk" />
 
     </resultMap>
 
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 6e031e3..a1cad95 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -351,6 +351,10 @@
         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="selectWrkMastUnstackingOne145" resultMap="BaseResultMap">
+        SELECT top 1 * FROM dbo.asr_wrk_mast Where 1=1 and io_type=1 and wrk_sts =2 and sheet_no='4' 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