From 736706fb6254b43b16b285e2f40880c21c41cd57 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期五, 02 十二月 2022 07:59:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/RgvSlave.java               |   24 ++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  224 +++++++++++++++++++++++++++++++++++--
 src/main/java/com/zy/asrs/entity/WrkMast.java               |   21 +++
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    8 +
 src/main/resources/mapper/WrkMastMapper.xml                 |   15 ++
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/resources/application.yml                          |   28 ++++
 7 files changed, 293 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index e896efc..0000091 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -67,6 +67,13 @@
     @TableField("crn_no")
     private Integer crnNo;
 
+    /**
+     * RGV鍙�
+     */
+    @ApiModelProperty(value= "RGV")
+    @TableField("rgv_no")
+    private Integer rgvNo;
+
     @ApiModelProperty(value= "")
     @TableField("sheet_no")
     private String sheetNo;
@@ -110,6 +117,20 @@
     @TableField("source_loc_no")
     private String sourceLocNo;
 
+    /**
+     * RGV婧愮珯
+     */
+    @ApiModelProperty(value= "RGV婧愮珯")
+    @TableField("rgv_ssta_no")
+    private Integer rgvSstaNo;
+
+    /**
+     * RGV鐩爣绔�
+     */
+    @ApiModelProperty(value= "RGV鐩爣绔�")
+    @TableField("rgv_dsta_no")
+    private Integer rgvDstaNo;
+
     @ApiModelProperty(value= "")
     @TableField("loc_sts")
     private String locSts;
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 6bfd8f0..c1d08a1 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -109,5 +109,11 @@
 
     Integer selectExistInEmpty();
 
-
+    /**
+     * 鏌ユ壘宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級,涓旇揣鐗╁湪RGV鍏ュ簱鎺ラ┏绔欑殑鍏ュ簱宸ヤ綔妗�,鏌ユ壘鏈�澶�2绗�
+     * @param rgvNo
+     * @param staNos
+     * @return
+     */
+    List<WrkMast> selectRgvInStep1(@Param("rgvNo")Integer rgvNo, @Param("staNos")List<Integer> staNos);
 }
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 531405e..701cd6c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -26,17 +26,16 @@
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.*;
-import com.zy.core.model.CrnSlave;
-import com.zy.core.model.DevpSlave;
-import com.zy.core.model.LedSlave;
-import com.zy.core.model.Task;
+import com.zy.core.model.*;
 import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.command.LedCommand;
 import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.LedThread;
+import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,10 +45,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -79,6 +75,8 @@
     private StaDescService staDescService;
     @Autowired
     private BasCrnpService basCrnpService;
+    @Autowired
+    private BasRgvService basRgvService;
     @Autowired
     private BasDevpService basDevpService;
     @Autowired
@@ -532,11 +530,6 @@
                 continue;
             }
 
-//            //鍫嗗灈鏈哄洖鍘熺偣浠诲姟涓�
-//            if(crnThread.isBackHpFlag()){
-//                continue;
-//            }
-
             // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE
                     && crnProtocol.getTaskNo() == 0
@@ -568,6 +561,53 @@
             this.locToLoc(crn, crnProtocol);
 //            this.crnRebackHp(crnProtocol, crnThread);
 
+        }
+    }
+
+    /**
+     * 鍏ュ嚭搴�  ===>>  RGV鍏ュ嚭搴撲綔涓氫笅鍙�
+     */
+    public synchronized void rgvIoExecute() {
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            // 鑾峰彇RGV淇℃伅
+            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+            if (rgvProtocol == null) {
+                continue;
+            }
+            BasRgv basRgv = basRgvService.selectById(rgv.getId());
+            if (basRgv == null) {
+                log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgv.getId());
+                continue;
+            }
+
+            // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�, 骞朵笖鏃犱换鍔°�佹棤鐗╂椂鎵嶇户缁墽琛�
+            if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
+                    && rgvProtocol.getModeType() == RgvModeType.AUTO
+                    && rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0
+                    && rgvProtocol.getLoaded1() == 0 && rgvProtocol.getLoaded2() == 0
+                    ) {
+                // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
+                if (rgvProtocol.getLastIo().equals("I")) {
+                    if (basRgv.getInEnable().equals("Y")) {
+//                        this.rgvInStnToLoc(rgv, rgvProtocol); //  鍏ュ簱
+                        rgvProtocol.setLastIo("O");
+                    } else if (basRgv.getOutEnable().equals("Y")) {
+//                        this.locToCrnStn(rgv, crnProtocol); //  鍑哄簱
+                        rgvProtocol.setLastIo("I");
+                    }
+                }
+                // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+                else if (rgvProtocol.getLastIo().equals("O")) {
+                    if (basRgv.getOutEnable().equals("Y")) {
+//                        this.locToCrnStn(rgv, crnProtocol); //  鍑哄簱
+                        rgvProtocol.setLastIo("I");
+                    } else if (basRgv.getInEnable().equals("Y")) {
+//                        this.rgvInStnToLoc(rgv, rgvProtocol); //  鍏ュ簱
+                        rgvProtocol.setLastIo("O");
+                    }
+                }
+            }
         }
     }
 
@@ -1015,6 +1055,164 @@
 //    }
 
     /**
+     * 鍏ュ簱  ===>>  RGV鍏ュ簱绔欏埌绔�
+     */
+    public synchronized void rgvInStn(RgvSlave slave, RgvProtocol rgvProtocol) {
+        // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級,涓旇揣鐗╁湪RGV鍏ュ簱鎺ラ┏绔欑殑鍏ュ簱宸ヤ綔妗�,鏌ユ壘鏈�澶�2绗�
+        List<Integer> staNos = new ArrayList<>();
+        for (RgvSlave.RgvStn rgvStn : slave.getRgvInStn()) {
+            staNos.add(rgvStn.getStaNo());
+        }
+        List<WrkMast> wrkMasts1 = new ArrayList<>();
+        List<WrkMast> wrkMasts = wrkMastMapper.selectRgvInStep1(slave.getId(), staNos);
+        for(WrkMast wrkMast : wrkMasts){
+            Integer plcId = 0;
+            for (RgvSlave.RgvStn rgvStn : slave.getRgvInStn()) {
+                if(rgvStn.getStaNo() == wrkMast.getRgvSstaNo()){
+                    plcId = rgvStn.getDevpPlcId();
+                    break;
+                }
+            }
+
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, plcId);
+            StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getRgvSstaNo());
+            if (staProtocol == null) {
+                continue;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+        }
+
+//        WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
+//        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
+//            boolean flag = false;
+//            // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
+//            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+//            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+//            if (staProtocol == null) {
+//                continue;
+//            } else {
+//                staProtocol = staProtocol.clone();
+//            }
+//            // 鏌ヨ绔欑偣璇︾粏淇℃伅
+//            BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+//            if (staDetl == null) {
+//                log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+//                continue;
+//            }
+//            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
+//                    && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
+//                flag = true;
+//            }
+//            if (!flag) {
+//                continue;
+//            }
+//            // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
+//            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
+//            if (null == wrkMast) {
+////                log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
+//                continue;
+//            }
+//            // 鑾峰彇搴撲綅淇℃伅
+//            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+//            if (locMast == null) {
+//                log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo());
+//                continue;
+//            }
+//            if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) {
+//                log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
+//                continue;
+//            }
+//
+//            // 鍫嗗灈鏈烘帶鍒惰繃婊�
+//            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+//                continue;
+//            }
+//
+//            // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+//            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+//                continue;
+//            }
+//
+//            // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
+//            if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
+//                String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
+//                LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+//                // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
+//                if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+//                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+//                    if (null == waitWrkMast) {
+//                        log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
+//                    } else {
+//                        waitWrkMast.setIoPri(15D);
+//                        waitWrkMast.setModiTime(new Date());
+//                        if (wrkMastMapper.updateById(waitWrkMast) == 0) {
+//                            log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+//                        }
+//                        continue;
+//                    }
+//
+//                } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+//                    // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
+//                    if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
+//                        wrkMast.setUpdMk("Y");
+//                        wrkMast.setIoPri(14D);
+//                        wrkMastMapper.updateById(wrkMast);
+//                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                        moveLocForDeepLoc(slave, shallowLoc);
+//                        // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
+////                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
+//                    }
+//                    continue;
+//                } else if (shallowLoc.getLocSts().equals("Q")) {
+//                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+//                    if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
+//                        continue;
+//                    }
+//                }
+//            }
+//
+//            // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+//            CrnCommand crnCommand = new CrnCommand();
+//            crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+//            crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+//            crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+//            crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+//            crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
+//            crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 婧愬簱浣嶅垪
+//            crnCommand.setSourcePosZ(crnStn.getLev().shortValue());     // 婧愬簱浣嶅眰
+//            crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
+//            crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
+//            crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+//            if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+//                log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+//            } else {
+//
+////                long startTime = System.currentTimeMillis();
+////                while ((System.currentTimeMillis() - startTime) < COMMAND_TIMEOUT) {
+////
+////                    if (true) {
+////                        break;
+////                    }
+////
+////                    try{
+////                        Thread.sleep(500);
+////                    }catch(Exception ignore){}
+////                }
+//
+//                // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
+//                Date now = new Date();
+//                wrkMast.setWrkSts(3L);
+//                wrkMast.setCrnStrTime(now);
+//                wrkMast.setModiTime(now);
+//                if (wrkMastMapper.updateById(wrkMast) == 0) {
+//                    log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+//                }
+//            }
+//        }
+    }
+
+    /**
      * 搴撲綅绉昏浆
      */
     public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index bd5826d..e62ae2a 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -56,6 +56,8 @@
                     mainService.crnStnToOutStn();
                     // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
                     mainService.crnIoExecute();
+                        // 鍏ュ嚭搴�  ===>>  RGV鍏ュ嚭搴撲綔涓氫笅鍙�
+                    mainService.rgvIoExecute();
                     // 鍏ュ嚭搴撳寮� ===>> 鍫嗗灈鏈哄懡浠や笅鍙戝悗锛屽紓姝ヤ慨鏀瑰伐浣滄。鐘舵��
 //                    mainService.crnIoWrkMast();
                     // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
diff --git a/src/main/java/com/zy/core/model/RgvSlave.java b/src/main/java/com/zy/core/model/RgvSlave.java
index 33d9e14..6f182af 100644
--- a/src/main/java/com/zy/core/model/RgvSlave.java
+++ b/src/main/java/com/zy/core/model/RgvSlave.java
@@ -23,28 +23,28 @@
     private Boolean demo;
 
     // 鍫嗗灈鏈哄叆搴撶珯鐐�
-    private List<CrnStn> rgvInStn = new ArrayList<>();
+    private List<RgvStn> rgvInStn = new ArrayList<>();
 
     // 鍫嗗灈鏈哄嚭搴撶珯鐐�
-    private List<CrnStn> rgvOutStn = new ArrayList<>();
+    private List<RgvStn> rgvOutStn = new ArrayList<>();
 
     @Data
-    public static class CrnStn {
+    public static class RgvStn {
 
         // 杈撻�佺嚎plc缂栧彿
         private Integer devpPlcId;
 
-        // 鍫嗗灈鏈虹珯鐐圭紪鍙�
+        // RGV绔欑偣缂栧彿
         private Integer staNo;
 
-        // 鎺�
-        private Integer row;
-
-        // 鍒�
-        private Integer bay;
-
-        // 灞�
-        private Integer lev;
+//        // 鎺�
+//        private Integer row;
+//
+//        // 鍒�
+//        private Integer bay;
+//
+//        // 灞�
+//        private Integer lev;
 
     }
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1e7a087..d2130f1 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=xjhsasrs
     username: sa
     password: sa@123
   mvc:
@@ -21,8 +21,10 @@
 
 mybatis-plus:
   mapper-locations: classpath:mapper/*.xml
-#  global-config:
-#    field-strategy: 0
+  global-config:
+    field-strategy: 0
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
 logging:
   path: /stock/out/@pom.build.finalName@/logs
@@ -148,6 +150,18 @@
     port: 502
     rack: 0
     slot: 0
+    rgvInStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 101
+    rgvInStn[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 102
+    rgvOutStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 110
+    rgvOutStn[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 112
   # RGV绌挎杞�2
   rgv[1]:
     id: 2
@@ -155,6 +169,14 @@
     port: 502
     rack: 0
     slot: 0
+    rgvInStn[0]:
+      staNo: 101
+    rgvInStn[1]:
+      staNo: 102
+    rgvOutStn[0]:
+      staNo: 110
+    rgvOutStn[1]:
+      staNo: 112
 
   # 杈撻�佺嚎
   devp[0]:
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 8e22381..2715f0c 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -12,6 +12,7 @@
         <result column="wrk_sts" property="wrkSts" />
         <result column="io_type" property="ioType" />
         <result column="crn_no" property="crnNo" />
+        <result column="rgv_no" property="rgvNo" />
         <result column="sheet_no" property="sheetNo" />
         <result column="io_pri" property="ioPri" />
         <result column="wrk_date" property="wrkDate" />
@@ -19,6 +20,8 @@
         <result column="sta_no" property="staNo" />
         <result column="source_sta_no" property="sourceStaNo" />
         <result column="source_loc_no" property="sourceLocNo" />
+        <result column="rgv_ssta_no" property="rgvSstaNo" />
+        <result column="rgv_dsta_no" property="rgvDstaNo" />
         <result column="loc_sts" property="locSts" />
         <result column="picking" property="picking" />
         <result column="link_mis" property="linkMis" />
@@ -185,4 +188,16 @@
     <select id="selectExistInEmpty" resultType="java.lang.Integer">
         SELECT COUNT(*) FROM dbo.asr_wrk_mast Where io_type = 10 and wrk_sts in (1,2,3)
     </select>
+
+    <!--                                       RGV璋冨害鍏ュ嚭搴撶浉鍏�                                      -->
+    <select id="selectRgvInStep1" resultMap="BaseResultMap">
+        select * from dbo.asr_wrk_mast
+        where rgv_no=#{rgvNo} and rgv_ssta_no in
+            <foreach item="item" collection="staNos" index="index"  separator="," open="(" close=")">
+                #{item}
+            </foreach>
+            and wrk_sts=2 and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57)
+        order by io_pri desc,io_time,wrk_no asc
+    </select>
+
 </mapper>

--
Gitblit v1.9.1