From bb8e4e0583cc57206a11f0374598424acf96946e Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期四, 27 六月 2024 20:17:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java |   10 +
 src/main/java/com/zy/core/thread/SteThread.java                       |    3 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java           |  288 +++++++++++++++++++++++++++++-----------
 src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java            |    4 
 src/main/java/com/zy/asrs/service/WrkMastExecuteService.java          |    4 
 src/main/java/com/zy/asrs/entity/BasJarMast.java                      |    4 
 src/main/java/com/zy/core/MainProcess.java                            |    6 
 src/main/resources/mapper/WrkMastExecuteMapper.xml                    |   14 ++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java               |   41 +++++
 src/main/java/com/zy/asrs/entity/WrkMastExecute.java                  |   37 +++-
 10 files changed, 313 insertions(+), 98 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasJarMast.java b/src/main/java/com/zy/asrs/entity/BasJarMast.java
index 92e20f0..9689a51 100644
--- a/src/main/java/com/zy/asrs/entity/BasJarMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasJarMast.java
@@ -293,5 +293,9 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
     }
 
+    public Integer getStatusComplete(){
+        return this.status+1;
+    }
+
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
index cb0f7c2..3f57233 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
@@ -144,10 +144,10 @@
      * 0:鍒濆  wrk_sts
      * 1锛歊GV灏忚溅閬胯銆�2锛氶伩璁╁畬鎴愩��3锛氬紑闂ㄤ腑銆�4锛氬紑闂ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�    //io_type = 1銆�3
      * 1锛歊GV灏忚溅閬胯銆�2锛氶伩璁╁畬鎴愩��3锛氬叧闂ㄤ腑銆�4锛氬叧闂ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�    //io_type = 2銆�4
-     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歳gv鍙栬揣銆�4锛歳gv鍙栬揣瀹屾垚銆�5锛歋te绌挎鐗堝叆纭寲缃愩��6锛氬叆缃愬畬鎴愩��7锛氭洿鏂板畬鎴�   //io_type = 5
-     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堝彇璐с��4锛氬彇璐у畬鎴愮瓑寰呬笅涓�姝ャ��5锛歋te绌挎鐗堟斁璐ц嚦鍐峰嵈姹犮��6锛氭斁璐у畬鎴愩��7锛氭洿鏂板畬鎴�   //io_type = 6
-     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堢Щ鍔ㄤ腑銆�4锛氱Щ鍔ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�   //io_type = 7銆�8
-     * 1锛歋te绌挎鐗堝彇鏀捐揣涓��2锛氭斁璐у畬鎴愮瓑寰呬笅涓�姝ャ��3锛氳緭閫佺嚎浠诲姟涓嬪彂瀹屾垚銆�4锛氭洿鏂板畬鎴�   //io_type = 9
+     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歳gv鍙栬揣銆�4锛歳gv鍙栬揣瀹屾垚銆�5锛歋te绌挎鐗堝叆纭寲缃愩��6锛氬叆缃愬畬鎴愩��7锛氭洿鏂板畬鎴�   //io_type = 5   STE  A闈㈢┛姊溅
+     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堝彇璐с��4锛氬彇璐у畬鎴愮瓑寰呬笅涓�姝ャ��5锛歋te绌挎鐗堟斁璐ц嚦鍐峰嵈姹犮��6锛氭斁璐у畬鎴愩��7锛氭洿鏂板畬鎴�   //io_type = 6  STE  B闈㈢┛姊溅
+     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堢Щ鍔ㄤ腑銆�4锛氱Щ鍔ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�   //io_type = 7  B=>C   銆�8 C=>B
+     * 1锛歋te绌挎鐗堝彇鏀捐揣涓��2锛氭斁璐у畬鎴愮瓑寰呬笅涓�姝ャ��3锛氳緭閫佺嚎浠诲姟涓嬪彂瀹屾垚銆�4锛氭洿鏂板畬鎴�   //io_type = 9   STE   鏈杈撻�佺嚎
      * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堢Щ鍔ㄤ腑銆�4锛氱Щ鍔ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�   //io_type = 10銆�11
      */
     @ApiModelProperty(value= "宸ヤ綔鐘舵��")
@@ -155,7 +155,7 @@
     private Integer wrkSts;
 
     /**
-     * 浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
+     * 浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  B=>C  8: 绌挎杞︾寮�鍐峰嵈妲� C=>B  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
      */
     @ApiModelProperty(value= "浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A ")
     @TableField("io_type")
@@ -275,25 +275,36 @@
         return null;
     }
 
+    /**
+     * 浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  B=>C  8: 绌挎杞︾寮�鍐峰嵈妲� C=>B  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
+     */
     public String getIoType$(){
         if (null == this.ioType){ return null; }
         switch (this.ioType){
             case 0:
                 return this.ioType+":鏈煡";
             case 1:
-                return this.ioType+":寮�闂�";
+                return this.ioType+":寮�杩涙枡闂�";
             case 2:
-                return this.ioType+":鍏抽棬";
+                return this.ioType+":鍏宠繘鏂欓棬";
             case 3:
-                return this.ioType+":鍏ョ~鍖栫綈";
+                return this.ioType+":寮�鍑烘枡闂�";
             case 4:
-                return this.ioType+":鍏ュ喎鍗存Ы";
+                return this.ioType+":鍏冲嚭鏂欓棬";
             case 5:
-                return this.ioType+":绌挎杞﹁繘鍐峰嵈妲�";
+                return this.ioType+":鍏ョ~鍖栫綈";
             case 6:
-                return this.ioType+":绌挎杞︾寮�鍐峰嵈妲�";
+                return this.ioType+":鍏ュ喎鍗存Ы";
             case 7:
+                return this.ioType+":绌挎杞﹁繘鍐峰嵈妲�:B=>C";
+            case 8:
+                return this.ioType+":绌挎杞︾寮�鍐峰嵈妲�:C=>B";
+            case 9:
                 return this.ioType+":鍑哄喎鍗存Ы";
+            case 10:
+                return this.ioType+":A=>B";
+            case 11:
+                return this.ioType+":B=>A";
             default:
                 return String.valueOf(this.ioType);
         }
@@ -313,5 +324,9 @@
         }
     }
 
+    public Integer getWrkStsComplete(){
+        return this.wrkSts+1;
+    }
+
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
index 1032fb7..2e52a50 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -27,4 +27,8 @@
 
     Integer getWrkMastExecuteByJarIdCount(@Param("jarId") Integer jarId);
 
+    Integer selectNoStart(@Param("jarRegin") Integer jarRegin);
+
+    WrkMastExecute selectStart(@Param("jarRegin") Integer jarRegin);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
index c6116d0..8883731 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
@@ -19,4 +19,8 @@
 
     Integer getWrkMastExecuteByJarIdCount(Integer jarId);
 
+    Integer selectNoStart(Integer jarRegin);
+
+    WrkMastExecute selectStart(Integer jarRegin);
+
 }
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 880220f..c5a2c39 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -23,6 +23,7 @@
 import com.zy.common.utils.RgvUtils;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
+import com.zy.core.Slave;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.*;
@@ -54,6 +55,8 @@
 public class MainServiceImpl {
 
     public static final long COMMAND_TIMEOUT = 5 * 1000;
+//    private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
+    private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{9,3},{10,4},{11,4}};
 
     @Autowired
     private CommonService commonService;
@@ -4544,35 +4547,35 @@
     }
 
     /**
-     *  Jar浠诲姟瀹屾垚   //鏈畬鎴�
+     *  Jar浠诲姟瀹屾垚   //瀹屾垚
      */
-    public synchronized boolean jarMastGenerateComplete(JarSlave jarSlave) {
+    public synchronized boolean jarMastGenerateComplete() {
         try{
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-            JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
-            JarProtocol jarProtocol = jarThread.getJarProtocol();
-            if (jarProtocol == null) {
-                return false;
-            }
-            if (jarProtocol.modeType != JarModeType.AUTO){
-                return false;
-            }
-
-            JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
-            JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
-            if (jarOtherProtocol == null) {
-                return false;
-            }
-            if (jarOtherProtocol.modeType != JarModeType.AUTO){
-                return false;
-            }
-
-            //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��
-            if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.jarErr==0){
-
+            for (int[] ex : execute){
+                try{
+                    WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+                    wrkMastExecuteSou.setIoType(ex[0]);
+                    wrkMastExecuteSou.setWrkSts(ex[1]);
+                    wrkMastExecuteSou.setWrkType(1);
+                    List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+                    for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+                        BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+                        jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete());
+                        if (!basJarMastService.updateById(jarMastByWrkNo)){
+                            log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+                        }
+                        wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsComplete());
+                        wrkMastExecute.setWrkType(2);
+                        if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                            log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,wrkMastExecute={},寮傚父淇℃伅={}",JSON.toJSONString(wrkMastExecute),"鏇存柊wrkMastExecute澶辫触");
+                        }
+                    }
+                }catch (Exception e){
+                    log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,execute={},寮傚父淇℃伅={}",JSON.toJSONString(ex),e.getMessage());
+                }
             }
         } catch (Exception e){
-//            log.error("鍫嗗灈鏈哄伐浣嶄簩瀹屾垚绛夊緟纭寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crn.getId(),e.getMessage(),2);
+            log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
         }
         return false;
     }
@@ -4594,10 +4597,13 @@
                 default:
                     jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
             }
+            if (!signExecute[0] && !signExecute[1]){
+                //Ste绉诲姩
+                jarMastMove();
+            }
         } catch (Exception e){
-
+            log.error("纭寲鍖哄煙鍒嗘浠诲姟鍒涘缓寮傚父,寮傚父淇℃伅={}",e.getMessage());
         }
-
     }
 
     public synchronized boolean[] jarWrkMastExecuteGenerateJar(boolean[] signExecute,Integer sign) {
@@ -4787,10 +4793,10 @@
                 add(2);
             }});
 
-            //鍒ゆ柇灏忚溅鐘舵��
-            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
-                return false;
-            }
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
+//                return false;
+//            }
 
             for (BasJarMast basJarMast : basJarMastList){
                 JarSlave.StaStn staStn = null;
@@ -4899,10 +4905,10 @@
             if (Cools.isEmpty(basJarMastSign)){
                 return false;
             }
-            //鍒ゆ柇灏忚溅鐘舵��
-            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
-                return false;
-            }
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
+//                return false;
+//            }
 
             JarSlave.RgvStn rgvStn = jarSlave.getJarInRgv().get(0);
 
@@ -4971,10 +4977,10 @@
             if (Cools.isEmpty(basJarMastSign)){
                 return false;
             }
-            //鍒ゆ柇灏忚溅鐘舵��
-            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
-                return false;
-            }
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
+//                return false;
+//            }
 
             //鍒ゆ柇RGV鐘舵��
             JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5041,10 +5047,10 @@
             if (Cools.isEmpty(jarMastByJarIdMin)){
                 return false;
             }
-            //鍒ゆ柇灏忚溅鐘舵��
-            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
-                return false;
-            }
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
+//                return false;
+//            }
 
             //鍒ゆ柇RGV鐘舵��
             JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5112,10 +5118,10 @@
                 return false;
             }
 
-            //鍒ゆ柇灏忚溅鐘舵��
-            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
-                return false;
-            }
+//            //鍒ゆ柇灏忚溅鐘舵��
+//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
+//                return false;
+//            }
 
             //鍒ゆ柇RGV鐘舵��
             JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5248,6 +5254,25 @@
      *  JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц   //瀹屾垚
      */
     public synchronized boolean jarWrkMastExecuteGenerateExecute(BasJar basJar,BasJarMast basJarMast,Integer id,int[] digit) {
+        try {
+            WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
+            wrkMastExecute.setJarId(id);
+            wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
+            wrkMastExecute.setRgvId(basJar.getEnterRgvNo());//RGV ID  enter
+            wrkMastExecute.setRgvEndId(basJar.getOutRgvNo());//RGV ID  out
+            wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
+            wrkMastExecute.setType(digit[3]);//璁惧  0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�
+            return wrkMastExecuteService.insert(wrkMastExecute);
+        } catch (Exception e) {
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц   //瀹屾垚
+     */
+    public synchronized boolean jarWrkMastExecuteGenerateExecuteMove(BasJar basJar,BasJarMast basJarMast,Integer id,int[] digit) {
         try {
             WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
             wrkMastExecute.setJarId(id);
@@ -5701,11 +5726,6 @@
                 return false;
             }
 
-//            //鍒ゆ柇灏忚溅鐘舵��
-//            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
-//                return false;
-//            }
-
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
@@ -5739,12 +5759,12 @@
                 //鑷姩銆佺┖闂层��  杩涙枡浠墦寮�闇�鍏抽棴
                 if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
                         && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
-
+                    //鍒ゆ柇灏忚溅鐘舵��
+                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                        return false;
+                    }
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
-                        //鍒ゆ柇灏忚溅鐘舵��
-                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
-                            return false;
-                        }
+
                         //璋冭溅  == > 鍙栬揣
                         if (!jarRgvGetTake(wrkMastExecute
                                 ,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1
@@ -5919,11 +5939,6 @@
                 return false;
             }
 
-//            //鍒ゆ柇灏忚溅鐘舵��
-//            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
-//                return false;
-//            }
-
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
             StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
             if (staProtocolRGV == null) {
@@ -5958,12 +5973,13 @@
                 //鑷姩銆佺┖闂层��
                 if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
                         && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
+                    //鍒ゆ柇灏忚溅鐘舵��
+                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                        return false;
+                    }
 
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
-                        //鍒ゆ柇灏忚溅鐘舵��
-                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
-                            return false;
-                        }
+
                         //璋冭溅  == > 鍙栬揣
                         if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){
                             log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6113,7 +6129,8 @@
 
     /**
      *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
-     *  7锛氱┛姊溅杩涘喎鍗存Ы\8锛氱┛姊溅绂诲紑鍐峰嵈妲�
+     *  7锛氱┛姊溅杩涘喎鍗存Ы   7  B=>C
+     *  8锛氱┛姊溅绂诲紑鍐峰嵈妲�  8 C=>B
      *  浠诲姟涓嬪彂
      */
     public synchronized boolean jarWrkMastExecuteActionExecute7(WrkMastExecute wrkMastExecute,Integer sign) {
@@ -6199,10 +6216,10 @@
 
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
-                        if (wrkMastExecute.getIoType()==7){
+                        if (wrkMastExecute.getIoType()==7){  //7  B=>C
                             if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
-                                if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
+                                if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
@@ -6212,7 +6229,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
-                            } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6220,8 +6237,8 @@
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             }
-                        } else {
-                            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+                        } else { //8 C=>B
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6233,7 +6250,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
-                            } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6502,8 +6519,8 @@
 
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
-                        if (wrkMastExecute.getIoType()==10){
-                            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                        if (wrkMastExecute.getIoType()==10){//10锛欰=>B
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6515,7 +6532,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
-                            } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6523,8 +6540,8 @@
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
                             }
-                        } else {
-                            if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                        } else {//11:B=>A
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_WFQH_12,false)){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6536,7 +6553,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
                                 }
-                            } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6680,7 +6697,7 @@
     }
 
     /**
-     *  JarWrkMastExecute浠诲姟瀹屾垚   //鏈畬鎴�
+     *  JarWrkMastExecute浠诲姟瀹屾垚   //瀹屾垚
      */
     public synchronized void jarWrkMastExecuteGenerateComplete(Integer sign) {
         try{
@@ -7043,4 +7060,115 @@
         return false;
     }
 
+    /**
+     *  Jar浠诲姟  绌挎杞︾Щ鍔ㄤ换鍔�   //瀹屾垚
+     */
+    public synchronized boolean jarMastMove() {
+        try{
+            for (SteSlave steSlave : slaveProperties.getSte()){
+                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+                if (steThread == null) {
+                    continue;
+                }
+                SteProtocol steProtocol = steThread.getSteProtocol();
+                if (steProtocol == null) {
+                    continue;
+                }
+                Integer integer = wrkMastExecuteService.selectNoStart(steSlave.getId());
+                if (integer!=0){
+                    continue;
+                }
+
+                try{
+                    if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE)){
+                        List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
+                        if (wrkMastExecutes.isEmpty()){
+                            List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+                            List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+
+                            if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesC.isEmpty()){
+                                WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesC.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+                                BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+                                //A==>B
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),10,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+                                }
+                                continue;
+                            }
+                        }
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE)){
+                        List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+                        if (wrkMastExecutes.isEmpty()){
+                            List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
+                            List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+                            if (!wrkMastExecutesA.isEmpty()){
+                                WrkMastExecute wrkMastExecute = wrkMastExecutesA.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+                                BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+                                //B==>A
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),11,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+                                }
+                                continue;
+                            }
+
+                            if (!wrkMastExecutesC.isEmpty()){
+                                WrkMastExecute wrkMastExecute = wrkMastExecutesC.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+                                BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+                                //B==>C
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),7,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+                                }
+                                continue;
+                            }
+                        }
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE)){
+                        List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+                        if (wrkMastExecutes.isEmpty()){
+                            List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+                            List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+                            if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesA.isEmpty()){
+                                WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesA.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+                                BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+                                //C==>B
+                                if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),8,1})){
+                                    log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+                                }
+                                continue;
+                            }
+                        }
+                    }
+                }catch (Exception e){
+                    log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+                }
+
+                WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectStart(steSlave.getId());
+
+
+            }
+        } catch (Exception e){
+            log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+        }
+        return false;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
index 7311dc5..7d16aea 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -40,4 +40,14 @@
     public Integer getWrkMastExecuteByJarIdCount(Integer jarId) {
         return this.baseMapper.getWrkMastExecuteByJarIdCount(jarId);
     }
+
+    @Override
+    public Integer selectNoStart(Integer jarRegin) {
+        return this.baseMapper.selectNoStart(jarRegin);
+    }
+
+    @Override
+    public WrkMastExecute selectStart(Integer jarRegin) {
+        return this.baseMapper.selectStart(jarRegin);
+    }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 451beab..c7110b0 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -108,8 +108,12 @@
                     mainService.jarWrkMastExecuteGenerate(k);
                     //JarWrkMastExecute浠诲姟鎵ц
                     mainService.jarWrkMastExecuteAction(k,j);
-                    //Jar浠诲姟鍒涘缓  //瀹屾垚
+                    //Jar浠诲姟鍒涘缓
                     mainService.jarMastGenerate();
+                    //Jar浠诲姟瀹屾垚
+                    mainService.jarMastGenerateComplete();
+
+
 
                     /************************************JAR璋冨害************************************/
 
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index dc39b89..49ba3f6 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.core.DevpThread;
+import com.zy.core.News;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
@@ -573,28 +574,42 @@
         if (null == staProtocol) {
             return;
         }
+        News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
+
         boolean rgv6 = staProtocol.isRGV6();
         OperateResult result1 = null;
         OperateResult result2 = null;
         String resultV1 = "";
+        String resultV2 = "";
+        String resultV3 = "";
         short resultS1 = 1;
         short resultS2 = 2;
         switch (staProtocol.getSiteId()){
             case 623:
                 resultV1 = "DB100.1830";
+                resultV2 = "DB100.1826";
+                resultV3 = "DB100.1828";
                 break;
             case 624:
                 resultV1 = "DB100.1840";
+                resultV2 = "DB100.1826";
+                resultV3 = "DB100.1828";
                 break;
             case 625:
                 resultV1 = "DB100.1850";
+                resultV2 = "DB100.1826";
+                resultV3 = "DB100.1828";
                 break;
             case 626:
                 resultV1 = "DB100.1860";
+                resultV2 = "DB100.1826";
+                resultV3 = "DB100.1828";
                 break;
             default:
                 return;
         }
+        siemensS7Net.Write(resultV2, (short) 0);
+        siemensS7Net.Write(resultV3, (short) 0);
         result1 = siemensS7Net.Write(resultV1, resultS1);
 
         //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
@@ -689,26 +704,33 @@
         if (null == staProtocol) {
             return;
         }
+        News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
+
         boolean rgv4 = staProtocol.isRGV4();
         boolean rgv5 = staProtocol.isRGV5();
         OperateResult result1 = null;
         OperateResult result2 = null;
         String resultV1 = "";
+        String resultV2 = "";
         short resultS1 = 1;
         short resultS2 = 2;
         if (rgv4){
             switch (staProtocol.getSiteId()){
                 case 623:
                     resultV1 = "DB100.1826";
+                    resultV2 = "DB100.1830";
                     break;
                 case 624:
                     resultV1 = "DB100.1836";
+                    resultV2 = "DB100.1840";
                     break;
                 case 625:
                     resultV1 = "DB100.1846";
+                    resultV2 = "DB100.1850";
                     break;
                 case 626:
                     resultV1 = "DB100.1856";
+                    resultV2 = "DB100.1860";
                     break;
                 default:
                     return;
@@ -717,20 +739,25 @@
             switch (staProtocol.getSiteId()){
                 case 623:
                     resultV1 = "DB100.1828";
+                    resultV2 = "DB100.1830";
                     break;
                 case 624:
                     resultV1 = "DB100.1838";
+                    resultV2 = "DB100.1840";
                     break;
                 case 625:
                     resultV1 = "DB100.1848";
+                    resultV2 = "DB100.1850";
                     break;
                 case 626:
                     resultV1 = "DB100.1858";
+                    resultV2 = "DB100.1860";
                     break;
                 default:
                     return;
             }
         }
+        siemensS7Net.Write(resultV2, (short) 0);
         result1 = siemensS7Net.Write(resultV1, resultS1);
         //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
         try {
@@ -824,22 +851,24 @@
         OperateResult result2 = null;
         String resultV1 = "";
         String resultV2 = "";
+        News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
+
         switch (staProtocol.getSiteId()){
             case 623:
                 resultV1 = "DB100.1824";
-                resultV2 = "DB100.1828";
+                resultV2 = "DB100.1834";
                 break;
             case 624:
-                resultV1 = "DB100.1828";
+                resultV1 = "DB100.1834";
                 resultV2 = "DB100.1824";
                 break;
             case 625:
-                resultV1 = "DB100.1832";
-                resultV2 = "DB100.1836";
+                resultV1 = "DB100.1844";
+                resultV2 = "DB100.1854";
                 break;
             case 626:
-                resultV1 = "DB100.1836";
-                resultV2 = "DB100.1832";
+                resultV1 = "DB100.1854";
+                resultV2 = "DB100.1844";
                 break;
             default:
                 return;
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 651a4c3..4b538c2 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -218,6 +218,8 @@
         }
         command.setSteNo(slave.getId());
         OperateResult result = null;
+        News.error("绌挎杞﹀啓鍏ュ懡浠�"+JSON.toJSONString(command));
+
         // 寮�濮嬩换鍔�
         if (!command.getComplete()) {
             //缁勭粐浠诲姟鍓嶏紝鍏堟竻绌哄啓浠诲姟纭浣嶏紝浠ュ強浠诲姟瀹屾垚纭浣�
@@ -226,6 +228,7 @@
             siemensS7Net.Write("DB100.12", (short) 0);//璧峰鐐逛綅
             siemensS7Net.Write("DB100.14", (short) 0);//鐩殑鐐逛綅
             siemensS7Net.Write("DB100.16.0", false);//浠诲姟寮�濮嬬‘璁や綅
+            siemensS7Net.Write("DB100.16.1", false);//浠诲姟瀹屾垚纭浣�
 //            siemensS7Net.Write("DB100.18", (short) 0);//纭寲缃愬彿
             // 1.浠诲姟鍙�
             OperateResult result0 = siemensS7Net.Write("DB100.2", command.getTaskNo().shortValue());
diff --git a/src/main/resources/mapper/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml
index 3eb6f4e..f0c2360 100644
--- a/src/main/resources/mapper/WrkMastExecuteMapper.xml
+++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -101,4 +101,18 @@
         and jar_id = #{jarId}
     </select>
 
+    <select id="selectNoStart" resultType="Integer">
+        select count(1) from jar_wrk_mast_execute
+        where 1=1
+        and jar_regin = #{jarRegin}
+        and wrk_type != 0
+    </select>
+
+    <select id="selectStart" resultMap="BaseResultMap">
+        select top 1 * from jar_wrk_mast_execute
+        where 1=1
+        and jar_regin = #{jarRegin}
+        and wrk_type = 0
+    </select>
+
 </mapper>

--
Gitblit v1.9.1