From 451a5520586cad0b7b69505c3b15189328743f78 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期日, 14 七月 2024 19:01:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java |   10 +
 src/main/java/com/zy/asrs/domain/enums/WorkNoType.java                |    8 +
 src/main/java/com/zy/core/thread/JarThread.java                       |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java           |  341 ++++++++++++++++++++++++++++++++++++++++++++++--
 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/core/enums/SteTaskModeType.java                  |    3 
 src/main/java/com/zy/asrs/entity/BasJarMast.java                      |   18 ++
 src/main/java/com/zy/core/MainProcess.java                            |    6 
 src/main/resources/mapper/WrkMastExecuteMapper.xml                    |   15 ++
 src/main/java/com/zy/asrs/entity/WrkMastExecute.java                  |    1 
 11 files changed, 390 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/domain/enums/WorkNoType.java b/src/main/java/com/zy/asrs/domain/enums/WorkNoType.java
index 4aa3911..abbd9e5 100644
--- a/src/main/java/com/zy/asrs/domain/enums/WorkNoType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/WorkNoType.java
@@ -10,7 +10,11 @@
     PAKIN(0),
     PICK(1),
     PAKOUT(2),
-    OTHER(3),
+    OTHER1(3),
+    OTHER2(4),
+    OTHER3(5),
+    OTHER4(6),
+    CHARGE(7),
     ;
 
     public Integer type;
@@ -39,6 +43,8 @@
                 return PICK.type;
             case 110:
                 return PAKOUT.type;
+            case 7:
+                return CHARGE.type;
             default:
                 break;
         }
diff --git a/src/main/java/com/zy/asrs/entity/BasJarMast.java b/src/main/java/com/zy/asrs/entity/BasJarMast.java
index 47fa406..f81d3cb 100644
--- a/src/main/java/com/zy/asrs/entity/BasJarMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasJarMast.java
@@ -195,6 +195,24 @@
         this.burial = jar.getBurial();
     }
 
+    public BasJarMast(BasJar jar) {
+        Date now = new Date();
+//        this.jarEnterStaNo = jarEnterStaNo;
+        this.jarOutStaNo = jar.getStaNo();
+        this.jarId = jar.getJarNo();
+        this.jarRegin = jar.getRegion();
+        this.status = 0;
+        this.enterSteNo = jar.getEnterSteNo();
+        this.outSteId = jar.getOutSteNo();
+        this.enterRgvId = jar.getEnterRgvNo();;
+        this.outRgvId = jar.getOutRgvNo();;
+        this.ioTime = now;
+        this.modiTime = now;
+        this.appeTime = now;
+        this.jarLocDigit = jarLocDigit;
+        this.burial = jar.getBurial();
+    }
+
 
 //    BasJarMast basJarMast = new BasJarMast(
 //            null,    // 宸ヤ綔鍙穂闈炵┖]
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
index 3f57233..b71ecda 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
@@ -149,6 +149,7 @@
      * 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
+     * 1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堢Щ鍔ㄤ腑銆�4锛氱Щ鍔ㄥ畬鎴愩��5锛氭洿鏂板畬鎴�   //io_type = 10銆�11
      */
     @ApiModelProperty(value= "宸ヤ綔鐘舵��")
     @TableField("wrk_sts")
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
index 84ffe4d..4691ac7 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -12,6 +12,8 @@
 @Repository
 public interface WrkMastExecuteMapper extends BaseMapper<WrkMastExecute> {
 
+    WrkMastExecute getWrkMastExecuteByCharge(@Param("steNo") Integer steNo);
+
     WrkMastExecute getWrkMastExecuteByWrkNo(@Param("wrkNo") Long wrkNo);
 
     List<WrkMastExecute> getWrkMastExecuteByWrkNoList(@Param("wrkNo") Long wrkNo);
@@ -33,6 +35,8 @@
 
     Integer selectMoveStart(@Param("jarRegin") Integer jarRegin);
 
+    Integer selectMoveStartCharge(@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 ea675cd..167ad70 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
@@ -7,6 +7,8 @@
 
 public interface WrkMastExecuteService extends IService<WrkMastExecute> {
 
+    WrkMastExecute getWrkMastExecuteByCharge(Integer steNo);
+
     WrkMastExecute getWrkMastExecuteByWrkNo(Long wrkNo);
 
     List<WrkMastExecute> getWrkMastExecuteByWrkNoList(Long wrkNo);
@@ -25,6 +27,8 @@
 
     Integer selectMoveStart(Integer jarRegin);
 
+    Integer selectMoveStartCharge(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 0c458be..bb8ab74 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,6 +8,7 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
@@ -5295,7 +5296,7 @@
      *  2锛欱闈� 鍑烘枡闈�
      *  3锛氬喎鍗存ЫB闈� 涓婅緭閫佺嚎
      */
-    public synchronized boolean jarWrkMastExecuteGenerateSteStatus(Integer steNo,Integer type,SteStatusType steStatusType) {
+    public synchronized boolean jarWrkMastExecuteGenerateSteStatus(Integer steNo,Integer type,SteStatusType steStatusType,boolean chargeSign) {
         try{
             //鍒ゆ柇灏忚溅鐘舵��
             SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
@@ -5312,6 +5313,61 @@
             }
             if (steProtocol.getChargeStatus()!=0){
                 log.error(steNo + "鍙峰皬杞﹀湪鍏呯數锛岀瓑寰�....");
+                return false;
+            }
+            if (steProtocol.getCharge()<31.0F && chargeSign){
+                log.error(steNo + "鍙峰皬杞﹀綋鍓嶇數閲忚繃浣庯紝鍑嗗鍏呯數...褰撳墠鐢甸噺"+steProtocol.getCharge().toString());
+                return false;
+            }
+            if (!steProtocol.getStatusType().equals(steStatusType)) {
+                log.error(steNo + "鍙峰皬杞︾姸鎬佷笉鏄�"+JSON.toJSONString(steStatusType)+"锛岀瓑寰�....");
+                return false;
+            }
+            switch (type){
+                case 1:
+                    if (!steProtocol.getLocaType().equals(SteLocaType.POINT20)) {
+                        log.error(steNo + "鍙峰皬杞︿笉鍦ˋ闈㈠钩绉昏溅锛屾棤娉曟搷浣�");
+                        return false;
+                    }
+                    break;
+                case 2:
+                    if (!steProtocol.getLocaType().equals(SteLocaType.POINT23)) {
+                        log.error(steNo + "鍙峰皬杞︿笉鍦˙闈㈠钩绉昏溅锛屾棤娉曟搷浣�");
+                        return false;
+                    }
+                    break;
+                case 3:
+                    if (!steProtocol.getLocaType().equals(SteLocaType.POINT26) && !steProtocol.getLocaType().equals(SteLocaType.POINT25)) {
+                        log.error(steNo + "鍙峰皬杞︿笉鍦ㄦ按妲紹绔紝鏃犳硶鎿嶄綔");
+                        return false;
+                    }
+                    break;
+                default: return false;
+            }
+            return true;
+        } catch (Exception e){
+            log.error("{}鍙峰皬杞︾姸鎬佸垽鏂姸鎬佸紓甯�,寮傚父鍘熷洜={}",steNo,e.getMessage());
+        }
+        return false;
+    }
+
+    public synchronized boolean jarWrkMastExecuteGenerateSteStatusCharge(Integer steNo,Integer type,SteStatusType steStatusType,boolean chargeSign) {
+        try{
+            //鍒ゆ柇灏忚溅鐘舵��
+            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+            if (steThread == null) {
+                return false;
+            }
+            SteProtocol steProtocol = steThread.getSteProtocol();
+            if (steProtocol == null) {
+                return false;
+            }
+            if (steProtocol.getMode() != (short)1) {
+                log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+                return false;
+            }
+            if (steProtocol.getCharge()<31.0F && chargeSign){
+                log.error(steNo + "鍙峰皬杞﹀綋鍓嶇數閲忚繃浣庯紝鍑嗗鍏呯數...褰撳墠鐢甸噺"+steProtocol.getCharge().toString());
                 return false;
             }
             if (!steProtocol.getStatusType().equals(steStatusType)) {
@@ -5387,7 +5443,7 @@
             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.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A  100:灏忚溅鍏呯數浠诲姟
             wrkMastExecute.setType(digit[3]);//璁惧  0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�
             return wrkMastExecuteService.insert(wrkMastExecute);
         } catch (Exception e) {
@@ -5443,6 +5499,7 @@
                 * 7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�
                 * 9: 鍑哄喎鍗存Ы
                 * 10锛欰=>B 11:B=>A
+                * 100锛氬厖鐢典换鍔�
                 * */
                 log.error("JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂===>琛�={}",5326);
                 switch (wrkMastExecute.getIoType()){
@@ -5482,6 +5539,11 @@
                     case 10:
                     case 11:
                         if (jarWrkMastExecuteActionExecute10(wrkMastExecute,sign)){
+                            break;
+                        }
+                        continue;
+                    case 100:
+                        if (jarWrkMastExecuteActionExecute100(wrkMastExecute,sign)){
                             break;
                         }
                         continue;
@@ -5923,7 +5985,7 @@
                         && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
                     log.error("5:鍏ョ~鍖栫綈==>浠诲姟涓嬪彂===>琛�={}",5667);
                     //鍒ゆ柇灏忚溅鐘舵��  //鍏ョ~鍖栫綈灏忚溅鍙复鏃跺睆钄�
-                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
                         return false;
                     }
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
@@ -6048,7 +6110,7 @@
 
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
-                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
                             return false;
                         }
                         //璋冭溅  == > 鍙栬揣
@@ -6157,7 +6219,7 @@
                         && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
                     log.error("6:鍏ュ喎鍗存Ы==>浠诲姟涓嬪彂===>琛�={}",6002);
                     //鍒ゆ柇灏忚溅鐘舵��
-                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                    if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,true)){
                         return false;
                     }
 
@@ -6280,7 +6342,7 @@
 
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
-                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2)){
+                        if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2,false)){
                             return false;
                         }
                         //璋冭溅  == > 鍙栬揣
@@ -6413,7 +6475,7 @@
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
                         if (wrkMastExecute.getIoType()==7){  //7  B=>C
-                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,true)){
                                 //璋冭溅  == > 绉诲姩
                                 if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6425,7 +6487,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                                 }
-                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,false)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6434,7 +6496,7 @@
                                 }
                             }
                         } else { //8 C=>B
-                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,false)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6446,7 +6508,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                                 }
-                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6576,7 +6638,7 @@
 //                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
 //                ){
                     //鍒ゆ柇灏忚溅鐘舵��
-                    if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+                    if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,true)){
                         log.error("9锛氬嚭鍐峰嵈妲�==>浠诲姟涓嬪彂===>琛�={}",6410);
 
                         //璋冭溅  == > 鍙栬揣
@@ -6634,7 +6696,7 @@
             }
 
             //鍒ゆ柇STE灏忚溅鐘舵��
-            if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE)){
+            if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE,false)){
                 log.error("9锛氬嚭鍐峰嵈妲絋wo==>浠诲姟涓嬪彂===>琛�={}",6468);
                 // 涓嬪彂绔欑偣淇℃伅
                 staProtocol.setWorkNo(wrkMastExecute.getWrkNo().intValue());
@@ -6737,7 +6799,7 @@
                     if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
                         //鍒ゆ柇灏忚溅鐘舵��
                         if (wrkMastExecute.getIoType()==10){//10锛欰=>B
-                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6749,7 +6811,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                                 }
-                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6758,7 +6820,7 @@
                                 }
                             }
                         } else {//11:B=>A
-                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+                            if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
                                 //璋冭溅  == > 绉诲姩
                                 if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6770,7 +6832,7 @@
                                     log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
                                             wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
                                 }
-                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+                            } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){
                                 wrkMastExecute.setWrkType(1);
                                 wrkMastExecute.setWrkSts(4);
                                 if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6802,6 +6864,59 @@
             }
         } catch (Exception e){
             log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
+     *  100锛氬厖鐢典换鍔�
+     *  浠诲姟涓嬪彂
+     */
+    public synchronized boolean jarWrkMastExecuteActionExecute100(WrkMastExecute wrkMastExecute,Integer sign) {
+        try{
+            // 鑾峰彇纭寲缃愪俊鎭�
+            BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+            if (Cools.isEmpty(basJar)){
+                log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                return false;
+            }
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+            StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
+            if (staProtocolRGV == null) {
+                return false;
+            } else {
+                staProtocolRGV = staProtocolRGV.clone();
+            }
+            if (staProtocolRGV == null) {
+                return false;
+            }
+
+            if (staProtocolRGV.rgvBoolean(1) || staProtocolRGV.rgvBoolean(2)){
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层��
+                    log.error("100:鍏呯數浠诲姟==>浠诲姟涓嬪彂===>琛�={}",6899);
+                    //鍒ゆ柇灏忚溅鐘舵��
+                    if (!jarWrkMastExecuteGenerateSteStatusCharge(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){
+                        return false;
+                    }
+                    //璋冭溅  == > 鍙栬揣
+                    if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.START_CHARGE,false,wrkMastExecute.getJarId())){
+                        log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+                                wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute));
+                    }
+                    wrkMastExecute.setWrkType(1);
+                    wrkMastExecute.setWrkSts(99);
+                    if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+                        log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+                                wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute));
+                    }
+                    return true;
+                }
+                return false;
+        } catch (Exception e){
+            log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触,寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
         }
         return false;
     }
@@ -7308,7 +7423,7 @@
                 }
 
                 try{
-                    if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE)){
+                    if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE,false)){
                         List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
                         if (wrkMastExecutes.isEmpty()){
                             List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
@@ -7329,11 +7444,28 @@
                                 continue;
                             }
                         }
-                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE)){
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE,false)){
                         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);
+                            List<WrkMastExecute> wrkMastExecutes100 = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 100, null);
+                            if (!wrkMastExecutes100.isEmpty()){
+                                WrkMastExecute wrkMastExecute = wrkMastExecutes100.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+
+                                BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
+                                jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+                                //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 (!wrkMastExecutesA.isEmpty()){
                                 WrkMastExecute wrkMastExecute = wrkMastExecutesA.get(0);
                                 BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
@@ -7364,11 +7496,28 @@
                                 continue;
                             }
                         }
-                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE)){
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE,false)){
                         List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
                         if (wrkMastExecutes.isEmpty()){
                             List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
                             List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
+                            List<WrkMastExecute> wrkMastExecutes100 = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 100, null);
+                            if (!wrkMastExecutes100.isEmpty()){
+                                WrkMastExecute wrkMastExecute = wrkMastExecutes100.get(0);
+                                BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+                                if (Cools.isEmpty(basJar)){
+                                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+                                    return false;
+                                }
+
+                                BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
+                                jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+                                //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;
+                            }
                             if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesA.isEmpty()){
                                 WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesA.get(0);
                                 BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
@@ -7398,5 +7547,159 @@
         }
         return false;
     }
+    /**
+     *  ste鍏呯數浠诲姟鍒涘缓   //瀹屾垚
+     */
+    public synchronized boolean jarChargeGenerate() {
+        try{
+            //80%鐢甸噺 鏃犱换鍔�  鍏呯數  >50鐢甸噺  鏈変换鍔�  鏂數
+            //30%鐢甸噺  涓嶆帴鍙栦换鍔�  鏃犺繘琛屼腑浠诲姟  鍏呯數     >50鐢甸噺  鏈変换鍔�  鏂數
+            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 || steProtocol.getChargeStatus()!=0) {
+                    continue;
+                }
+                WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
+                if (!Cools.isEmpty(wrkMastExecuteByCharge)){
+                    continue;
+                }
+
+                if (steProtocol.getCharge()<30.0F){
+                    if (wrkMastExecuteService.selectMoveStartCharge(steSlave.getId())!=0){
+                        continue;
+                    }
+                } else if (steProtocol.getCharge()<80.0F){
+                    if (wrkMastExecuteService.selectNoStart(steSlave.getId())!=0){
+                        continue;
+                    }
+                    if (wrkMastExecuteService.selectMoveStart(steSlave.getId())!=0){
+                        continue;
+                    }
+                }
+
+                try{
+                    boolean jarIDLESign = false;
+                    if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE,false)){
+                        //鐢熸垚鍏呯數浠诲姟
+                        //A
+                        BasJar basJar = basJarMapper.selectById(steSlave.getId()==1? 1:3);
+                        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+                        BasJarMast basJarMast = new BasJarMast(basJar);
+                        basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
+                            log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                        continue;
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE,false)){
+                        jarIDLESign =true;
+                    } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE,false)){
+                        jarIDLESign =true;
+                    }
+                    if (jarIDLESign){
+                        //鐢熸垚鍏呯數浠诲姟
+                        //C==>A
+                        BasJar basJar = null;
+                        List<BasJar> basJarList = basJarMapper.selectList(new EntityWrapper<BasJar>().eq("region", steSlave.getId()));
+                        for (BasJar basJarNow : basJarList){
+                            // 鑾峰彇纭寲缃愪俊鎭�0.0
+                            JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, basJarNow.getJarNo());
+                            JarProtocol jarProtocol = jarThread.getJarProtocol();
+                            if (jarProtocol == null) {
+                                continue;
+                            }
+                            if (jarProtocol.modeType != JarModeType.AUTO){
+                                continue;
+                            }
+                            if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+                                continue;
+                            }
+                            if (jarProtocol.getJarTemperature()>50){
+                                continue;
+                            }
+                            if (jarProtocol.leftDoorOpen != 0 || jarProtocol.rightDoorOpen != 0){
+                                continue;
+                            }
+                            basJar = basJarNow;
+                            break;
+                        }
+                        if (basJar == null){
+                            continue;
+                        }
+                        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+                        BasJarMast basJarMast = new BasJarMast(basJar);
+                        basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
+                            log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                    }
+                }catch (Exception e){
+                    log.error("鍏呯數浠诲姟鍒涘缓寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+                }
+            }
+        } catch (Exception e){
+            log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+        }
+        return false;
+    }
+    /**
+     *  Ste鍏呯數浠诲姟瀹屾垚   //瀹屾垚
+     */
+    public synchronized boolean jarChargeComplete() {
+        try{
+            //80%鐢甸噺 鏃犱换鍔�  鍏呯數  >50鐢甸噺  鏈変换鍔�  鏂數
+            //30%鐢甸噺  涓嶆帴鍙栦换鍔�  鏃犺繘琛屼腑浠诲姟  鍏呯數     >50鐢甸噺  鏈変换鍔�  鏂數
+            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 || steProtocol.getChargeStatus()!=1) {
+                    continue;
+                }
+                WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
+                if (!Cools.isEmpty(wrkMastExecuteByCharge)){
+                    continue;
+                }
+
+                if (steProtocol.getCharge()>50.0F){
+                    if (wrkMastExecuteService.selectNoStart(steSlave.getId())==0){
+                        if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
+                            continue;
+                        }
+                    }
+                } else if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
+                } else {
+                    continue;
+                }
+
+                try{
+                    if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.MOVING,true)){
+                        //瀹屾垚鍏呯數浠诲姟
+                        //璋冭溅  == > 鏂紑鍏呯數
+                        if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,false,wrkMastExecuteByCharge.getJarId())){
+                            log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+                                    wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
+                        }
+                        wrkMastExecuteByCharge.setWrkType(2);
+                        wrkMastExecuteByCharge.setWrkSts(100);
+                        if (!wrkMastExecuteService.updateById(wrkMastExecuteByCharge)){
+                            log.error("鍏呯數浠诲姟瀹屾垚鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+                                    wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
+                        }
+                    }
+                }catch (Exception e){
+                    log.error("鍏呯數浠诲姟瀹屾垚寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+                }
+            }
+        } 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 811bbd5..352cd63 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -12,6 +12,11 @@
 public class WrkMastExecuteServiceImpl extends ServiceImpl<WrkMastExecuteMapper, WrkMastExecute> implements WrkMastExecuteService {
 
     @Override
+    public WrkMastExecute getWrkMastExecuteByCharge(Integer steNo) {
+        return this.baseMapper.getWrkMastExecuteByCharge(steNo);
+    }
+
+    @Override
     public WrkMastExecute getWrkMastExecuteByWrkNo(Long wrkNo) {
         return this.baseMapper.getWrkMastExecuteByWrkNo(wrkNo);
     }
@@ -57,6 +62,11 @@
     }
 
     @Override
+    public Integer selectMoveStartCharge(Integer jarRegin) {
+        return this.baseMapper.selectMoveStartCharge(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 23c4895..84155f8 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -102,6 +102,8 @@
                     mainService.ledReset();
 
                     /************************************JAR璋冨害************************************/
+                    //Jar鍏呯數浠诲姟瀹屾垚
+                    mainService.jarChargeComplete();
                     //JarWrkMastExecute浠诲姟瀹屾垚
                     mainService.jarWrkMastExecuteGenerateComplete(k);
                     //JarWrkMastExecute浠诲姟鍒涘缓   //纭寲缃�
@@ -112,6 +114,10 @@
                     mainService.jarMastGenerate();
                     //Jar浠诲姟瀹屾垚
                     mainService.jarMastGenerateComplete();
+                    //Jar鍏呯數浠诲姟鍒涘缓
+                    mainService.jarChargeGenerate();
+
+
 
 
 
diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java
index 6d8bf48..db4eace 100644
--- a/src/main/java/com/zy/core/enums/SteTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -29,7 +29,8 @@
     STE_WFQH_12(12,"寰�杩斿彇璐�"),
     STE_WFFH_13(13,"寰�杩旀斁璐�"),
     STE_MOVE_14(14,"绉诲姩"),
-//    CLOSE_CHARGE(17, "鏂紑鍏呯數"),   // 鏂紑鍏呯數
+    START_CHARGE(16, "寮�濮嬪厖鐢�"),   // 寮�濮嬪厖鐢�
+    CLOSE_CHARGE(17, "鏂紑鍏呯數"),   // 鏂紑鍏呯數
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/thread/JarThread.java b/src/main/java/com/zy/core/thread/JarThread.java
index 729dc64..faf68c1 100644
--- a/src/main/java/com/zy/core/thread/JarThread.java
+++ b/src/main/java/com/zy/core/thread/JarThread.java
@@ -169,7 +169,7 @@
                 jarProtocol.setMode((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 12));//妯″紡
                 jarProtocol.setJarErr((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 14));//寮傚父鐮�
                 jarProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));//鐘舵��
-                jarProtocol.setJarTemperature((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 18));//娓╁害
+                jarProtocol.setJarTemperature((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 26));//娓╁害
 
                 jarProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 12) == 2);//鑷姩
 
diff --git a/src/main/resources/mapper/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml
index a194a43..a2c7434 100644
--- a/src/main/resources/mapper/WrkMastExecuteMapper.xml
+++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -56,6 +56,14 @@
 
     </sql>
 
+    <select id="getWrkMastExecuteByCharge" resultMap="BaseResultMap">
+        select top 1 * from jar_wrk_mast_execute
+        where 1=1
+        and ste_id = #{steNo}
+        and io_type = 100
+        and wrk_type != 2
+    </select>
+
     <select id="getWrkMastExecuteByWrkNo" resultMap="BaseResultMap">
         select top 1 * from jar_wrk_mast_execute
         where 1=1
@@ -121,6 +129,13 @@
         and io_type in (7,8,10,11)
     </select>
 
+    <select id="selectMoveStartCharge" resultType="Integer">
+        select count(1) from jar_wrk_mast_execute
+        where 1=1
+        and jar_regin = #{jarRegin}
+        and io_type in (8,11)
+    </select>
+
     <select id="selectStart" resultMap="BaseResultMap">
         select top 1 * from jar_wrk_mast_execute
         where 1=1

--
Gitblit v1.9.1