From cdcda32802aabe65fc6d20fb06907998b3bb9a61 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 25 七月 2023 16:25:41 +0800
Subject: [PATCH] #码垛位自动补充空板:驱动拆盘机输出托盘实装

---
 src/main/java/com/zy/asrs/entity/WaitPakin.java             |    3 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   79 ++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/WrkDetl.java               |    1 
 src/main/java/com/zy/asrs/entity/WrkMast.java               |    3 +
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |   26 ++++++++
 src/main/resources/mapper/WrkMastMapper.xml                 |   14 ++++
 src/main/java/com/zy/core/MainProcess.java                  |   45 +++++++++-----
 7 files changed, 149 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index a18b5bf..5eca9e3 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -61,7 +61,8 @@
 
     /**
      * 浠撳簱鍙�
-     */
+     * 寰愬伐姹変簯涓婇ザ姹熼摐锛氭湪绠辩被鍨�
+     * */
     @ApiModelProperty(value= "鍝侀」鏁�")
     private String brand;
 
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index 05c9703..9b092bb 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -224,6 +224,7 @@
 
     /**
      * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+     * 寰愬伐姹変簯鎷嗗灈鏍囪  0: 鏈媶锛堥粯璁わ級  1: 宸叉媶
      */
     @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
     private Integer inspect;
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 0000091..69eb8d2 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -74,6 +74,9 @@
     @TableField("rgv_no")
     private Integer rgvNo;
 
+    /**
+     * 寰愬伐姹変簯鎷嗗灈鏍囪  0: 鏈媶  1: 宸叉媶  2:宸插鐞嗗彲涓嬩竴姝ワ紙杞巻鍙叉。锛�
+     */
     @ApiModelProperty(value= "")
     @TableField("sheet_no")
     private String sheetNo;
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index dad8f44..69829aa 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -174,7 +174,10 @@
      */
     List<WrkMast> selectRgvOutWorking(@Param("rgvNo")Integer rgvNo);
 
-    /*================================================RGV浠诲姟缁戝畾鐩稿叧 ==================================================*/
+    /*..............................寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐..............................*/
+    /*...............................Created by Monkey D. Luffy on 2023.07.19................................*/
+
+    /*=========================================== RGV浠诲姟缁戝畾鐩稿叧 ========================================*/
 
     /**
      * 鑾峰彇绛夊緟缁戝畾RGV鐨勪换鍔�
@@ -219,5 +222,24 @@
     WrkMast selectRgvOutSteNo(@Param("rgvNo")Integer rgvNo);
 
 
-    /*================================================RGV浠诲姟缁戝畾鐩稿叧 ==================================================*/
+    /*=========================================== RGV浠诲姟缁戝畾鐩稿叧 ========================================*/
+
+    /*=========================================== 鑷姩琛ョ┖鏉跨浉鍏� ========================================*/
+
+    /**
+     * 鏌ユ壘鏄惁瀛樺湪鍑哄簱宸ヤ綔涓瓑寰匯GV鎼繍鐨勪换鍔�
+     */
+    List<WrkMast> selectDischargingMachineOutputTray();
+
+
+    int selectConfigCount10468N();
+    // update Config  -- Y
+    @Update("update sys_config set value='Y' where 1=1 and id=10468 and value = 'N'")
+    int updateConfig10468Y();
+    /*=========================================== 鑷姩琛ョ┖鏉跨浉鍏� ========================================*/
+
+
+
+
+    /*..............................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯..............................*/
 }
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 ca57d80..b497b51 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -586,6 +586,8 @@
         for (WrkMast wrkMast : wrkMasts) {
             //鐩爣绔�
             Integer staNo = wrkMast.getStaNo();
+            //婧愮珯
+            Integer sourceStaNo = wrkMast.getSourceStaNo();
             //閫氳繃鐩爣绔欐悳绱gv鍙�
             Integer rgvNo = this.searchRgvNo(staNo);
             if (rgvNo == null) {//鏈壘鍒板彲鐢ㄧ殑rgv
@@ -3258,4 +3260,81 @@
             }
         }
     }
+
+    /**
+     * 鍏朵粬  ===>> 鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩�
+     */
+    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;
+                }
+            }
+
+            // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+            if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {
+                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 stackingCompletionDriveTray() {
+        try {
+
+        }catch (Exception e){
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index bb4baec..9918d03 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -63,18 +63,19 @@
                     // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
                     mainService.storeFinished();
 
-                    ///////////////////////RGV璋冨害/////////////////////////////////////
-                    //缁戝畾灏忚溅鏂规硶
-                    mainService.rgvBindSte();
-                    // 鍏ュ嚭搴�  ===>>  RGV鍏ュ嚭搴撲綔涓氫笅鍙�
-                    mainService.rgvIoExecute();
-                    // RGV鍏ュ簱  ===>> 鏍规嵁RGV瀹屾垚淇″彿,鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-                    mainService.rgvFinished();
+                    /////////////////////////////////////RGV璋冨害/////////////////////////////////////
+
+//                    //缁戝畾灏忚溅鏂规硶
+//                    mainService.rgvBindSte();
+//                    // 鍏ュ嚭搴�  ===>>  RGV鍏ュ嚭搴撲綔涓氫笅鍙�
+//                    mainService.rgvIoExecute();
+//                    // RGV鍏ュ簱  ===>> 鏍规嵁RGV瀹屾垚淇″彿,鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+//                    mainService.rgvFinished();
 //                    // 鍏ュ嚭搴�  ===>>  RGV鍑哄簱绔欏埌绯荤粺鍏ュ嚭搴撶珯
 //                    mainService.rgvDestStnToCrnStn();
 //                    // 鍑哄簱  ===>>  RGV鍑哄簱绔欏埌绯荤粺鍑哄簱绔�
 //                    mainService.rgvOutDStnToOutStn();
-                    //////////////////////////////////////////////////////////////////
+                    /////////////////////////////////////RGV璋冨害/////////////////////////////////////
 
                     // 寮傚父淇℃伅璁板綍
                     mainService.recErr();
@@ -85,19 +86,29 @@
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
 
-                    mainService.outOfDevp();
+//                    mainService.outOfDevp();
 
-                    //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
-                    mainService.autoEmptyOut();
+//                    //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
+//                    mainService.autoEmptyOut();
 //                    //绌烘墭鐩樿嚜鍔ㄥ叆搴�
 //                    mainService.autoEmptyIn();
 
-                    // 鍏朵粬  ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
-                    i++;
-                    if (i > 1) {
-                        mainService.ioConvert();
-                        i = 0;
-                    }
+//                    // 鍏朵粬  ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
+//                    i++;
+//                    if (i > 1) {
+//                        mainService.ioConvert();
+//                        i = 0;
+//                    }
+
+                    //鐮佸灈浣嶈嚜鍔ㄨˉ鍏呯┖鏉匡細椹卞姩鎷嗙洏鏈鸿緭鍑烘墭鐩�
+                    mainService.dischargingMachineOutputTray();
+
+                    //鎷嗙洏鏈哄绌烘澘鎵爜锛岄┍鍔ㄦ墭鐩樺悜鐮佸灈浣嶏紝涓嶅叆搴�
+                    mainService.scanBarcodeEmptyBoard();
+
+                    //鐮佸灈瀹屾垚椹卞姩鎵樼洏涓嬩竴姝ユ壂鐮佸叆搴�
+                    mainService.stackingCompletionDriveTray();
+
 
                 } catch (Exception e) {
                     e.printStackTrace();
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ae4b2c5..66bfd2b 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -243,7 +243,7 @@
     <select id="selectWaitBindRGV" resultMap="BaseResultMap">
         select * from dbo.asr_wrk_mast
         where 1=1
-        and wrk_sts in (2,22)
+        and wrk_sts in (2,14)
         and rgv_no is null
     </select>
 
@@ -264,7 +264,7 @@
     </select>
 
     <select id="selectRgvInSteNo" resultMap="BaseResultMap">
-        select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts =12 and rgv_no=#{rgvNo}
+        select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts =14 and rgv_no=#{rgvNo}
         <if test="rgvNo == 1">
             order by rgv_dsta_no
         </if>
@@ -284,5 +284,15 @@
     </select>
 
     <!-- ==============================================RGV浠诲姟缁戝畾鐩稿叧 ============================================== -->
+    <!-- ==============================================鑷姩琛ョ┖鏉跨浉鍏� ============================================== -->
+    <select id="selectConfigCount10468N" resultMap="BaseResultMap">
+        select * from dbo.asr_wrk_mast where 1=1 and io_type = 201
+    </select>
+
+    <select id="selectExistInEmpty" resultType="java.lang.Integer">
+        SELECT COUNT(1) FROM dbo.sys_config Where 1=1 and id=10468 and value = 'N'
+    </select>
+
+    <!-- ==============================================鑷姩琛ョ┖鏉跨浉鍏� ============================================== -->
 
 </mapper>

--
Gitblit v1.9.1