From ad3db22590c09649ce34189ad45d299f6c979abe Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 22 六月 2024 13:49:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/JarThread.java                   |   41 ++-
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java       |  216 +++++++++++++--------
 src/main/java/com/zy/core/model/protocol/JarProtocol.java         |   22 +
 src/main/resources/mapper/BasJarMastMapper.xml                    |   60 +++--
 src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java |  153 +++++++++++++-
 src/main/java/com/zy/core/enums/JarStatusType.java                |    8 
 src/main/java/com/zy/asrs/service/BasJarMastService.java          |   14 +
 src/main/java/com/zy/core/MainProcess.java                        |    6 
 src/main/resources/mapper/WrkMastExecuteMapper.xml                |   12 +
 src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java            |   11 
 src/main/java/com/zy/asrs/entity/WrkMastExecute.java              |   26 ++
 11 files changed, 412 insertions(+), 157 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
index 246e53b..f099c91 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastExecute.java
@@ -142,14 +142,14 @@
     /**
      * 浠诲姟绫诲瀷 0: 鏈煡  1: 寮�闂�  2: 鍏抽棬  3: 鍏ョ~鍖栫綈  4: 鍏ュ喎鍗存Ы  5: 绌挎杞﹁繘鍐峰嵈妲�  6: 绌挎杞︾寮�鍐峰嵈妲�  7: 鍑哄喎鍗存Ы  
      */
-    @ApiModelProperty(value= "浠诲姟绫诲瀷 0: 鏈煡  1: 寮�闂�  2: 鍏抽棬  3: 鍏ョ~鍖栫綈  4: 鍏ュ喎鍗存Ы  5: 绌挎杞﹁繘鍐峰嵈妲�  6: 绌挎杞︾寮�鍐峰嵈妲�  7: 鍑哄喎鍗存Ы  ")
+    @ApiModelProperty(value= "浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы  ")
     @TableField("io_type")
     private Integer ioType;
 
     /**
      * 璁惧 0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  
      */
-    @ApiModelProperty(value= "璁惧 0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  ")
+    @ApiModelProperty(value= "璁惧 0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�  ")
     private Integer type;
 
     public WrkMastExecute() {}
@@ -174,6 +174,28 @@
         this.type = type;
     }
 
+    public WrkMastExecute(BasJarMast basJarMast) {
+        Date now = new Date();
+        this.wrkNo = basJarMast.getWrkNo();
+        this.enterStaNo = basJarMast.getEnterStaNo();           //鍏ュ簱婧愮珯鐐�
+        this.outStaNo = basJarMast.getOutStaNo();               //鍏ュ簱鐩爣绔欑偣
+        this.jarEnterStaNo = basJarMast.getJarEnterStaNo();     //鍏ョ~鍖栫綈绔欑偣
+        this.jarOutStaNo = basJarMast.getJarOutStaNo();         //鍑虹~鍖栫綈绔欑偣
+//        this.jarId = jarId;
+        this.jarRegin = basJarMast.getJarRegin();//鍖哄煙
+        this.status = 0;
+//        this.steId = steId;
+//        this.rgvId = rgvId;
+        this.ioTime = basJarMast.getIoTime();
+        this.modiTime = now;
+        this.appeTime = now;
+        this.wrkType = 0;
+        this.wrkSts = 0;
+//        this.ioType = ioType;
+//        this.type = type;
+    }
+
+
 //    WrkMastExecute wrkMastExecute = new WrkMastExecute(
 //            null,    // 宸ヤ綔鍙穂闈炵┖]
 //            null,    // 鍏ュ簱婧愮珯鐐筟闈炵┖]
diff --git a/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java b/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
index 9dc0c74..23ed3a8 100644
--- a/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasJarMastMapper.java
@@ -16,15 +16,14 @@
 
     List<BasJarMast> getJarMastByJarId(@Param("jarId") Integer jarId);
 
-    BasJarMast getJarMastByJarIdMax(@Param("jarId") Integer jarId);
+    List<BasJarMast> getJarMastByJarIdAndStatusList(@Param("jarId") Integer jarId,@Param("statusList") List<Integer> statusList);
 
-    BasJarMast getJarMastByJarIdMin(@Param("jarId") Integer jarId);
+    BasJarMast getJarMastByJarIdMax(@Param("jarId") Integer jarId,@Param("statusList") List<Integer> statusList);
+
+    BasJarMast getJarMastByJarIdMin(@Param("jarId") Integer jarId,@Param("statusList") List<Integer> statusList);
 
     Integer getJarMastByJarIdCount(@Param("jarId") Integer jarId);
 
-    Integer selectJarMastOperation1(@Param("jarId") Integer jarId);
-    Integer selectJarMastOperation2(@Param("jarId") Integer jarId);
-    Integer selectJarMastOperation3(@Param("jarId") Integer jarId);
-    Integer selectJarMastOperation4(@Param("jarId") Integer jarId);
+    Integer selectJarMastOperationByStatusList(@Param("jarId") Integer jarId,@Param("statusList") List<Integer> statusList);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/BasJarMastService.java b/src/main/java/com/zy/asrs/service/BasJarMastService.java
index 5b06c9b..b128dfa 100644
--- a/src/main/java/com/zy/asrs/service/BasJarMastService.java
+++ b/src/main/java/com/zy/asrs/service/BasJarMastService.java
@@ -11,12 +11,26 @@
 
     List<BasJarMast> getJarMastByJarId(Integer jarId);
 
+    List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,Integer statusStart,Integer statusEnd);
+
+    List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,List<Integer> statusList);
+
+    List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,Integer type);
+
     BasJarMast getJarMastByJarIdMax(Integer jarId);
+
+    BasJarMast getJarMastByJarIdMax(Integer jarId,Integer statusStart,Integer statusEnd);
 
     BasJarMast getJarMastByJarIdMin(Integer jarId);
 
+    BasJarMast getJarMastByJarIdMin(Integer jarId,Integer statusStart,Integer statusEnd);
+
     Integer getJarMastByJarIdCount(Integer jarId);
 
+    Integer selectJarMastOperation(Integer jarId,Integer statusStart,Integer statusEnd);
+
+    Integer selectJarMastOperation(Integer jarId,List<Integer> statusList);
+
     Integer selectJarMastOperation(Integer jarId,Integer type);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
index 23a310d..1783f39 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasJarMastServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service("basJarMastService")
@@ -24,12 +25,80 @@
         return this.baseMapper.getJarMastByJarId(jarId);
     }
 
+    @Override
+    public List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,Integer statusStart,Integer statusEnd) {
+        ArrayList<Integer> statusList = new ArrayList<>();
+        for (Integer i = statusStart;i<=statusEnd;i++){
+            statusList.add(i);
+        }
+        return this.baseMapper.getJarMastByJarIdAndStatusList(jarId,statusList);
+    }
+    @Override
+    public List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,List<Integer> statusList) {
+        return this.baseMapper.getJarMastByJarIdAndStatusList(jarId,statusList);
+    }
+
+    @Override
+    public List<BasJarMast> getJarMastByJarIdAndStatusList(Integer jarId,Integer type) {
+        ArrayList<Integer> statusList = new ArrayList<>();
+        switch (type){
+            default:
+                statusList.add(15);//瀹屾垚  杈撻�佺嚎瀛樺湪宸ヤ綔鍙枫��===銆嬭浆鍘嗗彶妗f
+            case 5://灏忚溅绉诲姩鑷冲喎鍗存Ы浠诲姟  //鍑哄喎鍗存Ы浠诲姟 //寮�鍑烘枡闂ㄤ换鍔�
+                statusList.add(10);//鍏ュ喎鍗存Ы瀹屾垚
+
+            case 4://鍑虹~鍖栫綈浠诲姟
+                statusList.add(11);//鍐峰嵈涓�
+
+                if (type!=5){
+                    statusList.add(12);//鍐峰嵈瀹屾垚
+                }
+
+                statusList.add(13);//鍑哄喎鍗存Ы涓�
+                statusList.add(14);//鍑哄喎鍗存Ы瀹屾垚
+
+            case 3://鍏宠繘鏂欓棬浠诲姟  //鐢熸垚鍒濆浠诲姟
+                statusList.add(4);//鍏ョ~鍖栫綈瀹屾垚
+
+            case 2://鍏宠繘鏂欓棬浠诲姟  //鐢熸垚鍒濆浠诲姟
+                statusList.add(0);//鍒濆
+
+            case 1://寮�杩涙枡闂ㄤ换鍔�
+                statusList.add(2);//杩涙枡闂ㄦ墦寮�
+
+            case 0://鍏ョ~鍖栫綈浠诲姟
+                statusList.add(1);//寮�杩涙枡闂ㄤ腑
+                statusList.add(3);//鍏ョ~鍖栫綈涓�
+
+                statusList.add(5);//纭寲涓��===銆嬪叧闂ㄥ畬鎴�
+
+                if (type!=4){
+                    statusList.add(6);//纭寲瀹屾垚
+                }
+
+                statusList.add(7);//寮�鍑烘枡闂ㄤ腑
+                statusList.add(8);//鍑烘枡闂ㄦ墦寮�
+                statusList.add(9);//鍑虹~鍖栫綈涓��===銆嬪叆鍐峰嵈妲戒腑
+        }
+        return this.baseMapper.getJarMastByJarIdAndStatusList(jarId,statusList);
+    }
+
     /*
     * 鑾峰彇jarLocDigit鏈�澶х殑BasJarMast
     * */
     @Override
     public BasJarMast getJarMastByJarIdMax(Integer jarId) {
-        return this.baseMapper.getJarMastByJarIdMax(jarId);
+        List<Integer> statusList = new ArrayList<Integer>(){{add(0);add(1);add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);add(11);add(12);add(13);add(14);add(15);}};
+        return this.baseMapper.getJarMastByJarIdMax(jarId,statusList);
+    }
+
+    @Override
+    public BasJarMast getJarMastByJarIdMax(Integer jarId,Integer statusStart,Integer statusEnd) {
+        ArrayList<Integer> statusList = new ArrayList<>();
+        for (Integer i = statusStart;i<=statusEnd;i++){
+            statusList.add(i);
+        }
+        return this.baseMapper.getJarMastByJarIdMax(jarId,statusList);
     }
 
     /*
@@ -37,7 +106,20 @@
      * */
     @Override
     public BasJarMast getJarMastByJarIdMin(Integer jarId) {
-        return this.baseMapper.getJarMastByJarIdMin(jarId);
+        List<Integer> statusList = new ArrayList<Integer>(){{add(0);add(1);add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);add(11);add(12);add(13);add(14);add(15);}};
+        return this.baseMapper.getJarMastByJarIdMin(jarId,statusList);
+    }
+
+    /*
+     * 鑾峰彇jarLocDigit鏈�灏忕殑BasJarMast
+     * */
+    @Override
+    public BasJarMast getJarMastByJarIdMin(Integer jarId,Integer statusStart,Integer statusEnd) {
+        List<Integer> statusList = new ArrayList<>();
+        for (Integer i = statusStart;i<=statusEnd;i++){
+            statusList.add(i);
+        }
+        return this.baseMapper.getJarMastByJarIdMin(jarId,statusList);
     }
 
     @Override
@@ -46,19 +128,62 @@
     }
 
     @Override
-    public Integer selectJarMastOperation(Integer jarId,Integer type) {
-        switch (type){
-            case 1:
-                return this.baseMapper.selectJarMastOperation1(jarId);
-            case 2:
-                return this.baseMapper.selectJarMastOperation2(jarId);
-            case 3:
-                return this.baseMapper.selectJarMastOperation3(jarId);
-            case 4:
-                return this.baseMapper.selectJarMastOperation4(jarId);
-            default:
-                return 99;
+    public Integer selectJarMastOperation(Integer jarId,Integer statusStart,Integer statusEnd) {
+        ArrayList<Integer> statusList = new ArrayList<>();
+        for (Integer i = statusStart;i<=statusEnd;i++){
+            statusList.add(i);
         }
+        return this.baseMapper.selectJarMastOperationByStatusList(jarId,statusList);
+    }
+
+    @Override
+    public Integer selectJarMastOperation(Integer jarId,List<Integer> statusList) {
+        return this.baseMapper.selectJarMastOperationByStatusList(jarId,statusList);
+    }
+
+    @Override
+    public Integer selectJarMastOperation(Integer jarId,Integer type) {
+        ArrayList<Integer> statusList = new ArrayList<>();
+        switch (type){
+            default:
+                statusList.add(15);//瀹屾垚  杈撻�佺嚎瀛樺湪宸ヤ綔鍙枫��===銆嬭浆鍘嗗彶妗f
+            case 5://灏忚溅绉诲姩鑷冲喎鍗存Ы浠诲姟  //鍑哄喎鍗存Ы浠诲姟 //寮�鍑烘枡闂ㄤ换鍔�
+                statusList.add(10);//鍏ュ喎鍗存Ы瀹屾垚
+
+            case 4://鍑虹~鍖栫綈浠诲姟
+                statusList.add(11);//鍐峰嵈涓�
+
+                if (type!=5){
+                    statusList.add(12);//鍐峰嵈瀹屾垚
+                }
+
+                statusList.add(13);//鍑哄喎鍗存Ы涓�
+                statusList.add(14);//鍑哄喎鍗存Ы瀹屾垚
+
+            case 3://鍏宠繘鏂欓棬浠诲姟  //鐢熸垚鍒濆浠诲姟
+                statusList.add(4);//鍏ョ~鍖栫綈瀹屾垚
+
+            case 2://鍏宠繘鏂欓棬浠诲姟  //鐢熸垚鍒濆浠诲姟
+                statusList.add(0);//鍒濆
+
+            case 1://寮�杩涙枡闂ㄤ换鍔�
+                statusList.add(2);//杩涙枡闂ㄦ墦寮�
+
+            case 0://鍏ョ~鍖栫綈浠诲姟
+                statusList.add(1);//寮�杩涙枡闂ㄤ腑
+                statusList.add(3);//鍏ョ~鍖栫綈涓�
+
+                statusList.add(5);//纭寲涓��===銆嬪叧闂ㄥ畬鎴�
+
+                if (type!=4){
+                    statusList.add(6);//纭寲瀹屾垚
+                }
+
+                statusList.add(7);//寮�鍑烘枡闂ㄤ腑
+                statusList.add(8);//鍑烘枡闂ㄦ墦寮�
+                statusList.add(9);//鍑虹~鍖栫綈涓��===銆嬪叆鍐峰嵈妲戒腑
+        }
+        return this.baseMapper.selectJarMastOperationByStatusList(jarId,statusList);
     }
 
 }
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 e8eb287..96191c9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -45,6 +45,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import springfox.documentation.spring.web.json.Json;
 
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -4414,11 +4415,14 @@
     }
 
     /**
-     *  Jar浠诲姟鍒涘缓
+     *  Jar浠诲姟鍒涘缓  //瀹屾垚
      */
-    public synchronized void jarGenerateWrkMastSta() {
+    public synchronized void jarMastGenerate() {
         for (JarSlave jarSlave : slaveProperties.getJar()) {
             try{
+                if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                    continue;
+                }
                 for(JarSlave.StaStn staStn : jarSlave.getJarInSta()){
                     // 鑾峰彇纭寲缃愬叆搴撶珯淇℃伅
                     DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, staStn.getDevpPlcId());
@@ -4430,22 +4434,34 @@
                     }
                     if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo()!=0){
                         try{
-                            if (basJarMastService.selectJarMastOperation(jarSlave.getId(),1)!=0){
+                            if (basJarMastService.selectJarMastOperation(jarSlave.getId(),2)!=0){
                                 break;
                             }
-                            if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),1)!=0){
+                            if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
 //                            log.error("{}鍙峰皬杞�",jarSlave.getJarOtherId());
                                 break;
                             }
-                            if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                            if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=14){
                                 break;
                             }
-                            if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=7){
+                            if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=7){
                                 break;
                             }
-                            BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId());
+                            if (!Objects.equals
+                                    (
+                                    basJarMastService.selectJarMastOperation(jarSlave.getId(), 0, 4)
+                                    ,
+                                    basJarMastService.selectJarMastOperation(jarSlave.getId(), 0, 9)
+                                    )
+                            ){
+                                break;
+                            }
+                            BasJarMast jarMastByJarIdMax = basJarMastService.getJarMastByJarIdMax(jarSlave.getId(),0,4);
                             int jarLocDigit = 0;
                             if (Cools.isEmpty(jarMastByJarIdMax)){
+                                if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,4)!=0){
+                                    break;
+                                }
                                 jarLocDigit = 1;
                             } else if (jarMastByJarIdMax.getJarLocDigit()<7){
                                 jarLocDigit = jarMastByJarIdMax.getJarLocDigit()+1;
@@ -4464,7 +4480,7 @@
                             if (!Cools.isEmpty(wrkMastExecute)){
                                 continue;
                             }
-                            if (jarGenerateWrkMastStaExecute(jarSlave,wrkMast,jarLocDigit,staStn.getStaNo())){
+                            if (jarMastGenerateExecute(jarSlave,wrkMast,jarLocDigit,staStn.getStaNo())){
                                 return;
                             }
                         }catch (Exception e){
@@ -4480,11 +4496,11 @@
     }
 
     /**
-     *  Jar浠诲姟鍒涘缓  鎵ц
+     *  Jar浠诲姟鍒涘缓===銆嬫墽琛�  //瀹屾垚
      */
-    public synchronized boolean jarGenerateWrkMastStaExecute(JarSlave jarSlave,WrkMast wrkMast,Integer jarLocDigit,Integer staNo) {
+    public synchronized boolean jarMastGenerateExecute(JarSlave jarSlave,WrkMast wrkMast,Integer jarLocDigit,Integer staNo) {
         try{
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            // 鑾峰彇纭寲缃愪俊鎭�
             JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
             JarProtocol jarProtocol = jarThread.getJarProtocol();
             if (jarProtocol == null) {
@@ -4499,9 +4515,9 @@
             if (jarOtherProtocol == null) {
                 return false;
             }
-            if (jarOtherProtocol.modeType != JarModeType.AUTO){
-                return false;
-            }
+//            if (jarOtherProtocol.modeType != JarModeType.AUTO){
+//                return false;
+//            }
 
             BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
             if (Cools.isEmpty(basJar)){
@@ -4514,7 +4530,8 @@
             }
 
             //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
-            if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0
+            if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
+                    && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
                     && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
                 if (jarProtocol.statusType == JarStatusType.IDLE || jarProtocol.statusType == JarStatusType.MOVING){
                     BasJarMast basJarMast = new BasJarMast(basJar, wrkMast, jarLocDigit);
@@ -4531,9 +4548,9 @@
     }
 
     /**
-     *  Jar浠诲姟鍒涘缓  鎵ц
+     *  Jar浠诲姟瀹屾垚   //鏈畬鎴�
      */
-    public synchronized boolean jarGenerateWrkMastStaExecuteOne(JarSlave jarSlave) {
+    public synchronized boolean jarMastGenerateComplete(JarSlave jarSlave) {
         try{
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
@@ -4558,7 +4575,6 @@
             if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.jarErr==0){
 
             }
-
         } catch (Exception e){
 //            log.error("鍫嗗灈鏈哄伐浣嶄簩瀹屾垚绛夊緟纭寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crn.getId(),e.getMessage(),2);
         }
@@ -4566,86 +4582,114 @@
     }
 
     /**
-     *  Jar浠诲姟鍒涘缓  鎵ц
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //鏈畬鎴�
+     *  寮�闂ㄣ�佸叆纭寲缃�
      */
-    public synchronized boolean jarGenerateWrkMastStaExecuteTwo(JarSlave jarSlave) {
+    public synchronized void jarWrkMastExecuteGenerate() {
+        for (JarSlave jarSlave : slaveProperties.getJar()) {
+            try{
+                if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                    continue;
+                }
+                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                    add(0);
+                    add(2);
+                }});
+                for (BasJarMast basJarMast : basJarMastList){
+                    // 鑾峰彇纭寲缃愪俊鎭�
+                    JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                    JarProtocol jarProtocol = jarThread.getJarProtocol();
+                    if (jarProtocol == null) {
+                        break;
+                    }
+                    if (jarProtocol.modeType != JarModeType.AUTO){
+                        break;
+                    }
+
+                    JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                    JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                    if (jarOtherProtocol == null) {
+                        break;
+                    }
+//                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
+//                        continue;
+//                    }
+
+                    BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                    if (Cools.isEmpty(basJar)){
+                        log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                        break;
+                    }
+
+                    //闂ㄤ綔涓�  鏃�
+                    //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+                    if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
+                            && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
+                            && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
+                        if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
+                            //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
+                            if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
+                                log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                            }
+                            return;
+                        } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
+                            //鐢熸垚鍏ョ~鍖栫綈浠诲姟
+                            if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
+                                log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                            }
+                            return;
+                        }
+                    }
+                    break;
+                }
+            } catch (Exception e){
+                log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
+            }
+        }
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц   //鏈畬鎴�
+     */
+    public synchronized boolean jarWrkMastExecuteGenerateExecute(BasJar basJar,BasJarMast basJarMast,int[] digit) {
         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){
-
-            }
-
-        } catch (Exception e){
-//            log.error("鍫嗗灈鏈哄伐浣嶄簩瀹屾垚绛夊緟纭寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crn.getId(),e.getMessage(),2);
+            WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
+            wrkMastExecute.setJarId(digit[3]==2? basJar.getBurial():basJar.getJarNo());
+            wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
+            wrkMastExecute.setRgvId(digit[1]);//RGV ID
+            wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы
+            wrkMastExecute.setType(digit[3]);//璁惧  0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�
+            return wrkMastExecuteService.insert(wrkMastExecute);
+        }catch (Exception e){
+            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage());
         }
         return false;
-    }
-
-    /**
-     *  Jar浠诲姟鎵ц
-     */
-    public synchronized void jarExecuteWrkMastSta() {
-        try{
-
-        }catch (Exception e){
-            log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
-        }
-    }
-
-    /**
-     *  Jar瀹屾垚
-     */
-    public synchronized void jarCompleteWrkMastSta() {
-        try{
-
-        }catch (Exception e){
-            log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
-        }
     }
 
     /*
-     * 灏忚溅鍙栫┖鏉胯嚦宸ヤ綅浠诲姟  婊″彇
+     * 寮�闂ㄤ换鍔″垱寤�
      * */
-    public synchronized boolean jarRgvTake1(Integer rgvId,WrkMastSta wrkMastSta){
+    public synchronized boolean jarWrkMastExecuteGenerate2(){
         try{
-            //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            RgvCommand rgvCommand = new RgvCommand();
-            rgvCommand.setRgvNo(rgvId); // RGV缂栧彿
-            rgvCommand.setAckFinish2((short) 0);  // 宸ヤ綅2浠诲姟瀹屾垚纭浣�
-            rgvCommand.setTaskNo2(wrkMastSta.getWrkNo().shortValue()); // 宸ヤ綅2宸ヤ綔鍙�
-            rgvCommand.setTaskMode2(RgvTaskModeType.FETCH_5); // 宸ヤ綅2浠诲姟妯″紡:  婊″彇
-            rgvCommand.setSourceStaNo2(wrkMastSta.getStaStart().shortValue());   //宸ヤ綅2璧风偣
-            rgvCommand.setCommand((short) 2);   //宸ヤ綅2浠诲姟纭
-            if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
-                //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�
-                log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-                return false;
-            } else {
-                return true;
-            }
+
         } catch (Exception e){
-            return false;
+            log.error("{}鍙风~鍖栫綈OpenTheDoorGenerate==銆婮arWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",null,e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟瀹屾垚   //鏈畬鎴�
+     */
+    public synchronized void jarWrkMastExecuteGenerateComplete() {
+        try{
+
+        }catch (Exception e){
+            log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
         }
     }
+
+
     /*
      * Rgv  绉诲姩
      * */
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index eabfd96..69ad5fe 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -95,7 +95,11 @@
                     mainService.ledReset();
 
                     /************************************JAR璋冨害************************************/
-                    mainService.jarGenerateWrkMastSta();
+
+                    //寮�闂ㄣ�佸叆纭寲缃�
+                    mainService.jarWrkMastExecuteGenerate();
+                    //Jar浠诲姟鍒涘缓  //瀹屾垚
+                    mainService.jarMastGenerate();
 
 
 
diff --git a/src/main/java/com/zy/core/enums/JarStatusType.java b/src/main/java/com/zy/core/enums/JarStatusType.java
index 0efae16..467e6f1 100644
--- a/src/main/java/com/zy/core/enums/JarStatusType.java
+++ b/src/main/java/com/zy/core/enums/JarStatusType.java
@@ -7,10 +7,10 @@
     SOS(2, "纭寲涓�"),
     WAITING1(3, "鍑烘枡涓�"),
     WAITING2(4, "鍋滄"),
-    WAITING3(5, "宸﹂棬鎵撳紑涓�"),
-    WAITING4(6, "鍙抽棬鎵撳紑涓�"),
-    WAITING5(7, "宸﹂棬鍏抽棴涓�"),
-    OFF_LINE(8, "鍙抽棬鍏抽棴涓�"),
+    WAITING3(5, "杩涙枡闂ㄦ墦寮�涓�"),
+    WAITING4(6, "鍑烘枡闂ㄦ墦寮�涓�"),
+    WAITING5(7, "杩涙枡闂ㄥ叧闂腑"),
+    OFF_LINE(8, "鍑烘枡闂ㄥ叧闂腑"),
     OTHER(100, "鍏跺畠"),
     ;
 
diff --git a/src/main/java/com/zy/core/model/protocol/JarProtocol.java b/src/main/java/com/zy/core/model/protocol/JarProtocol.java
index 29966ae..21fb8a1 100644
--- a/src/main/java/com/zy/core/model/protocol/JarProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/JarProtocol.java
@@ -30,9 +30,15 @@
 
     /**
      IDLE(0, "绌洪棽"),
-     MOVING(1, "浣滀笟涓�"),
-     SOS(2, "鎶ヨ"),
-     WAITING(3, "浠诲姟瀹屾垚绛夊緟WCS纭"),
+     MOVING(1, "鍏ユ枡涓�"),
+     SOS(2, "纭寲涓�"),
+     WAITING1(3, "鍑烘枡涓�"),
+     WAITING2(4, "鍋滄"),
+     WAITING3(5, "杩涙枡闂ㄦ墦寮�涓�"),
+     WAITING4(6, "鍑烘枡闂ㄦ墦寮�涓�"),
+     WAITING5(7, "杩涙枡闂ㄥ叧闂腑"),
+     OFF_LINE(8, "鍑烘枡闂ㄥ叧闂腑"),
+     OTHER(100, "鍏跺畠"),
      */
     public Short status;
 
@@ -40,31 +46,37 @@
 
     /*
      * 宸﹂棬鐘舵��
+     * 杩涙枡闂�
      * */
     private boolean leftDoor;
 
     /*
      * 鍙抽棬鐘舵��
+     * 鍑烘枡闂�
      * */
     private boolean rightDoor;
 
     /*
      * 宸﹂棬鍙紑
+     * 杩涙枡闂�
      * */
     private boolean leftInEnable;
 
     /*
      * 宸﹂棬鍙叧
+     * 杩涙枡闂�
      * */
     private boolean leftOutEnable;
 
     /*
      * 鍙抽棬鍙紑
+     * 鍑烘枡闂�
      * */
     private boolean rightInEnable;
 
     /*
      * 鍙抽棬鍙叧
+     * 鍑烘枡闂�
      * */
     private boolean rightOutEnable;
 
@@ -75,21 +87,25 @@
 
     /*
      * open the left door
+     * 杩涙枡闂�
      * */
     public Integer leftDoorOpen;
 
     /*
      * close the left door
+     * 杩涙枡闂�
      * */
     public Integer leftDoorClose;
 
     /*
      * open the right door
+     * 鍑烘枡闂�
      * */
     public Integer rightDoorOpen;
 
     /*
      * close the right door
+     * 鍑烘枡闂�
      * */
     public Integer rightDoorClose;
 
diff --git a/src/main/java/com/zy/core/thread/JarThread.java b/src/main/java/com/zy/core/thread/JarThread.java
index 7a2f354..b58c74b 100644
--- a/src/main/java/com/zy/core/thread/JarThread.java
+++ b/src/main/java/com/zy/core/thread/JarThread.java
@@ -123,27 +123,32 @@
                     jarProtocol = new JarProtocol();
                     jarProtocol.setJarNo(slave.getId());
                 }
-                jarProtocol.setLeftDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 0) != 0);//宸﹂棬鐘舵��
-                jarProtocol.setRightDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 2) != 0);//鍙抽棬鐘舵��
-                jarProtocol.setLeftInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 4) != 0);//宸﹂棬鍙紑
-                jarProtocol.setLeftOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 5) != 0);//宸﹂棬鍙叧
-                jarProtocol.setRightInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 8) != 0);//鍙抽棬鍙紑
-                jarProtocol.setRightOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 10) != 0);//鍙抽棬鍙叧
-
+                if (slave.getId() == 1 || slave.getId() == 3){
+                    jarProtocol.setRightDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 0) != 0);//宸﹂棬鐘舵��  //鍑烘枡闂�
+                    jarProtocol.setLeftDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 2) != 0);//鍙抽棬鐘舵��  //杩涙枡闂�
+                    jarProtocol.setRightInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 4) != 0);//宸﹂棬鍙紑  //鍑烘枡闂�
+                    jarProtocol.setRightOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 6) != 0);//宸﹂棬鍙叧  //鍑烘枡闂�
+                    jarProtocol.setLeftInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 8) != 0);//鍙抽棬鍙紑  //杩涙枡闂�
+                    jarProtocol.setLeftOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 10) != 0);//鍙抽棬鍙叧  //杩涙枡闂�
+                    jarProtocol.setRightDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 18));//open the left door  //鍑烘枡闂�
+                    jarProtocol.setRightDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 20));//close the left door  //鍑烘枡闂�
+                    jarProtocol.setLeftDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 22));//open the right door  //杩涙枡闂�
+                    jarProtocol.setLeftDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 24));//close the right door  //杩涙枡闂�
+                } else {
+                    jarProtocol.setLeftDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 0) != 0);//宸﹂棬鐘舵��  //杩涙枡闂�
+                    jarProtocol.setRightDoor(siemensS7Net.getByteTransform().TransInt16(result.Content, 2) != 0);//鍙抽棬鐘舵��  //鍑烘枡闂�
+                    jarProtocol.setLeftInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 4) != 0);//宸﹂棬鍙紑  //杩涙枡闂�
+                    jarProtocol.setLeftOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 6) != 0);//宸﹂棬鍙叧  //杩涙枡闂�
+                    jarProtocol.setRightInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 8) != 0);//鍙抽棬鍙紑  //鍑烘枡闂�
+                    jarProtocol.setRightOutEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, 10) != 0);//鍙抽棬鍙叧  //鍑烘枡闂�
+                    jarProtocol.setLeftDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 18));//open the left door  //杩涙枡闂�
+                    jarProtocol.setLeftDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 20));//close the left door  //杩涙枡闂�
+                    jarProtocol.setRightDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 22));//open the right door  //鍑烘枡闂�
+                    jarProtocol.setRightDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 24));//close the right door  //鍑烘枡闂�
+                }
                 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.setLeftDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 18));//open the left door
-
-                jarProtocol.setLeftDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 20));//close the left door
-
-                jarProtocol.setRightDoorOpen((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 22));//open the right door
-
-                jarProtocol.setRightDoorClose((int)siemensS7Net.getByteTransform().TransInt16(result.Content, 24));//close the right door
-
 
                 jarProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, 12) != 2);//鑷姩
                 // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
diff --git a/src/main/resources/mapper/BasJarMastMapper.xml b/src/main/resources/mapper/BasJarMastMapper.xml
index 7990a38..dd70c8b 100644
--- a/src/main/resources/mapper/BasJarMastMapper.xml
+++ b/src/main/resources/mapper/BasJarMastMapper.xml
@@ -39,9 +39,30 @@
         order by jar_loc_digit desc
     </select>
 
+    <select id="getJarMastByJarIdAndStatusList" resultMap="BaseResultMap">
+        select * from asr_bas_jar_mast
+        where 1=1
+          and
+            (
+            status in
+            <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=",">
+                #{status}
+            </foreach>
+            )
+          and jar_id = #{jarId}
+        order by jar_loc_digit desc
+    </select>
+
     <select id="getJarMastByJarIdMax" resultMap="BaseResultMap">
         select top 1 * from asr_bas_jar_mast
         where 1=1
+            and
+                (
+                status in
+                <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=",">
+                    #{status}
+                </foreach>
+                )
           and jar_id = #{jarId}
         order by jar_loc_digit desc
     </select>
@@ -49,6 +70,13 @@
     <select id="getJarMastByJarIdMin" resultMap="BaseResultMap">
         select top 1 * from asr_bas_jar_mast
         where 1=1
+            and
+                (
+                status in
+                <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=",">
+                    #{status}
+                </foreach>
+                )
           and jar_id = #{jarId}
         order by jar_loc_digit asc
     </select>
@@ -59,32 +87,18 @@
         and jar_id = #{jarId}
     </select>
 
-    <select id="selectJarMastOperation1" resultType="Integer">
+    <select id="selectJarMastOperationByStatusList" resultType="Integer">
         select count(1) from asr_bas_jar_mast
         where 1=1
+          and
+            (
+            status in
+            <foreach collection="statusList" item="status" index="index" open="(" close=")" separator=",">
+                #{status}
+            </foreach>
+            )
           and jar_id = #{jarId}
-          and wrk_sts in (0,1,2,3)
-    </select>
-
-    <select id="selectJarMastOperation2" resultType="Integer">
-        select count(1) from asr_bas_jar_mast
-        where 1=1
-          and jar_id = #{jarId}
-          and wrk_sts in (4,5,6,7)
-    </select>
-
-    <select id="selectJarMastOperation3" resultType="Integer">
-        select count(1) from asr_bas_jar_mast
-        where 1=1
-          and jar_id = #{jarId}
-          and wrk_sts in (0,1,2,3)
-    </select>
-
-    <select id="selectJarMastOperation4" resultType="Integer">
-        select count(1) from asr_bas_jar_mast
-        where 1=1
-          and jar_id = #{jarId}
-          and wrk_sts in (0,1,2,3)
+        order by jar_loc_digit desc
     </select>
 
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml
index 6e40ecc..09c7edf 100644
--- a/src/main/resources/mapper/WrkMastExecuteMapper.xml
+++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -25,4 +25,16 @@
 
     </resultMap>
 
+    <select id="getWrkMastByWrkNo" resultMap="BaseResultMap">
+        select * from jar_wrk_mast_execute
+        where 1=1
+        and jar_id = #{jarId}
+    </select>
+
+    <select id="getWrkMastByJarIdCount" resultType="Integer">
+        select count(1) from jar_wrk_mast_execute
+        where 1=1
+        and jar_id = #{jarId}
+    </select>
+
 </mapper>

--
Gitblit v1.9.1