From 8b75fe61a3eefe36761aa0f82a79b59342aa6709 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 20 十月 2025 16:10:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java |    1 
 src/main/java/com/zy/asrs/entity/WrkMastSta.java                  |   10 +-
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java       |  121 +++++++++++++----------
 src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java       |    4 
 src/main/java/com/zy/common/config/ControllerResAdvice.java       |    3 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java     |   12 ++
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java            |    2 
 src/main/java/com/zy/asrs/task/WorkLogScheduler.java              |    2 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java      |   53 ++++++++--
 src/main/webapp/static/js/basRgvOpt/basRgvOpt.js                  |   10 +
 src/main/java/com/zy/common/web/WcsController.java                |   43 ++++++++
 src/main/webapp/views/basRgvOpt/basRgvOpt.html                    |    2 
 12 files changed, 182 insertions(+), 81 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
index e403997..cb3fba4 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -211,11 +211,11 @@
 
     public Integer getStaEnd(Integer souSta) {
         switch (souSta) {
-            case 100:
-            case 103:
-            case 106:
-            case 109:
-            case 112:
+            case 2010: return 2012;
+            case 2004: return 2006;
+            case 2016: return 2018;
+            case 2022: return 2024;
+            case 2028: return 2030;
             case 115:
                 return souSta + 1;
             default:
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 591e0f3..7dc807d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -605,6 +605,12 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
+                waitPakin.setStandby1(detlDto.getStandby1());
+                waitPakin.setStandby2(detlDto.getStandby2());
+                waitPakin.setStandby3(detlDto.getStandby3());
+                waitPakin.setStandby1(detlDto.getStandby1());
+                waitPakin.setStandby2(detlDto.getStandby2());
+                waitPakin.setStandby3(detlDto.getStandby3());
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
@@ -660,6 +666,12 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
+                waitPakin.setStandby1(detlDto.getStandby1());
+                waitPakin.setStandby2(detlDto.getStandby2());
+                waitPakin.setStandby3(detlDto.getStandby3());
+                waitPakin.setStandby1(detlDto.getStandby1());
+                waitPakin.setStandby2(detlDto.getStandby2());
+                waitPakin.setStandby3(detlDto.getStandby3());
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index a797915..2a36288 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -43,7 +43,7 @@
         }
     }
 
-    @Scheduled(cron = "0 1 * * * ? ")
+    @Scheduled(cron = "0/5 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderIssuedOnceMore() {
         List<Order> orderList = orderService.selectComplete99();
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
index 35772b4..cad09df 100644
--- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -37,7 +37,7 @@
             return;
         }
         for (WrkMast wrkMast : wrkMasts) {
-            if(wrkMast.getIoType() != 11){
+            if(wrkMast.getIoType() != 11 && wrkMast.getStaNo() < 4000){
                 if(Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("2")){
                     continue;
                 }
diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
index c36ffdb..6804b02 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -58,10 +58,10 @@
         put(1005, 1007);put(1008, 1010);put(1019, 1021);put(1022, 1024);put(1029, 1031);
         put(2001, 2003);put(2007, 2009);put(2013, 2015);put(2019, 2021);put(2025, 2027);
         put(2003, 2003);put(2009, 2009);put(2015, 2015);put(2021, 2021);put(2027, 2027);
-        put(1105,1105);put(1104,1105);put(1043,1042);
+        put(1105,1105);put(1104,1105);put(1043,1042);put(1042,1042);
     }};
     public static final Map<Integer, Integer> siteInMap = new HashMap<Integer, Integer>() {{
-        put(1043, 1042);put(1042, 1042);put(1105, 1105);put(1104, 1105);put(1036, 1036);put(1038, 1038);
+        put(1043, 1042);put(1042, 1042);put(1105, 1105);put(1104, 1105);put(1036, 1036);put(1038, 1038);put(2037,2037);
     }};
 
     // 寮傚父鍑哄簱鍙�
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 002d171..651a4e5 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -69,8 +69,9 @@
             if (orderDetl.getQty().equals(0D)){
                 continue;
             }
-            orderDetl.setWorkQty(orderDetl.getQty());
-            orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
+            orderDetl.setWorkQty(orderDetl.getWorkQty()+orderDetl.getQty());
+//            orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
+            orderDetl.setAnfme(orderDetl.getAnfme());
             orderDetl.setQty(0D);
             orderDetlService.updateById(orderDetl);
         }
@@ -96,6 +97,10 @@
         List<OrderDetl> orderDetlList = new ArrayList<>();
 
         for (OrderDetl detail : orderDetls) {
+            detail.setAnfme(detail.getAnfme() - detail.getWorkQty());
+            if (detail.getAnfme().equals(0D)){
+                continue;
+            }
             DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),
                     detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
@@ -109,6 +114,12 @@
             } else {
                 list.add(dto);
                 orderDetlList.add(detail);
+            }
+        }
+        if (orderDetlList.size()==0){
+            // 淇敼璁㈠崟鐘舵�� 1.鏈綔涓� ===>> 2.浣滀笟涓�
+            if (!orderService.updateSettle(order.getId(), 4L, null)) {
+                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
             }
         }
         for (OrderDetl orderDetl : orderDetlList){
@@ -142,9 +153,13 @@
                     continue;
                 }
                 if (orderDetlSou.beSimilar(orderDetl)){
-                    double v = orderDetlSou.getAnfme() - orderDetlSou.getQty();
+                    double anfme = orderDetlSou.getAnfme() - orderDetlSou.getWorkQty();
+                    double v = anfme - orderDetlSou.getQty();
+                    if (v<0D){
+                        v = 0D;
+                    }
                     if (v<orderDetl.getQty() || orderDetl.getQty().equals(v)){
-                        orderDetlSou.setQty(orderDetlSou.getAnfme());
+                        orderDetlSou.setQty(anfme);
                         orderDetl.setQty(orderDetl.getQty() - v);
                         break;
                     } else {
@@ -180,16 +195,27 @@
             pakinParam.setLgortFrom("5008");
             pakinParam.setLgortTo("5006");
             for (OrderDetl orderDetl : orderDetls) {
+                double anfme = orderDetl.getAnfme() - orderDetl.getWorkQty();
+                if (anfme<=0D){
+                    continue;
+                }
                 if (!orderDetl.getQty().equals(orderDetl.getAnfme())){
                     settle = 99L;//浜屾鐢熸垚鍗曟嵁
                 }
                 String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
-                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getQty()));
             }
 
             String response = "";
             boolean success = false;
             try {
+                if (pakinParam.getList().size()==0){
+                    success = true;
+                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                    if (!orderService.updateSettle(order.getId(), settle, null)) {
+                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    }
+                } else {
 //                response = new HttpHandler.Builder()
 //                        .setUri(MesConstant.URL)
 //                        .setPath(MesConstant.PAKIN_URL)
@@ -198,15 +224,16 @@
 //                        .doPost();
 //                JSONObject jsonObject = JSON.parseObject(response);
 //                if (jsonObject.getInteger("code").equals(200)) {
-                if (true) {
-                    success = true;
-                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), settle, null)) {
-                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    if (true) {
+                        success = true;
+                        // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                        if (!orderService.updateSettle(order.getId(), settle, null)) {
+                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                        }
+                    } else {
+                        log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
+                        throw new CoolException("涓婃姤mes绯荤粺澶辫触");
                     }
-                } else {
-                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
-                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
                 }
             } catch (Exception e) {
                 log.error("fail", e);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index c99b8ff..164d81d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.zy.asrs.entity.*;
@@ -11,6 +12,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.Date;
 import java.util.List;
@@ -121,28 +123,36 @@
                             }
                         }
 
-                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem
-                                (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        if (orderDetlPakin==null){
-                            orderDetlPakin = orderDetlPakinService.selectItem
-                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),
-                                            wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        }
-                        try {
-                            if(!Cools.isEmpty(orderDetlPakin)){
-                                if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
+                        if (!Cools.isEmpty(wrkDetl.getOrderNo())){
+                            log.info("杩涘叆鍏ュ簱浠诲姟瀹屾垚锛屽甫璁㈠崟:"+ JSON.toJSONString(wrkDetl));
+                            // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                            OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem
+                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                            wrkDetl.getBatch(), wrkDetl.getBrand(),
+                                            wrkDetl.getStandby1(), wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                            if (orderDetlPakin==null){
+                                log.info("杩涘叆鍏ュ簱浠诲姟瀹屾垚锛屾煡璇㈣鍗曞け璐�:"+ JSON.toJSONString(wrkDetl));
+
+                                orderDetlPakin = orderDetlPakinService.selectItem
+                                        (wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                                wrkDetl.getBatch(), wrkDetl.getBrand(),
+                                                wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                                wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
+                            }
+                            try {
+                                if(!Cools.isEmpty(orderDetlPakin)){
+                                    if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                            orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                        return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    }
                                 }
-                            }
-                        } catch (Exception ignore){}
+                            } catch (Exception ignore){}
+                        }
 
                     }
                     // 淇敼搴撲綅鐘舵�� S ====>> F
@@ -224,28 +234,30 @@
                             }
                         }
 
-                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem
-                                (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),
-                                        wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        if (orderDetlPakin==null){
-                            orderDetlPakin = orderDetlPakinService.selectItem
-                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        }
-                        try {
-                            if(!Cools.isEmpty(orderDetlPakin)){
-                                if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
+                        if (!Cools.isEmpty(wrkDetl.getOrderNo())){
+                            // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem
+                                    (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
+                                            wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
+                                            wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                            if (orderDetlPakout==null){
+                                orderDetlPakout = orderDetlPakoutService.selectItem
+                                        (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                                wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
+                            }
+                            try {
+                                if(!Cools.isEmpty(orderDetlPakout)){
+                                    if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                            orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                        return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    }
                                 }
-                            }
-                        } catch (Exception ignore){}
+                            } catch (Exception ignore){}
+                        }
 
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
@@ -444,26 +456,29 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                     }
+
                     for (WrkDetl wrkDetl : wrkDetls101) {
-                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        if (orderDetlPakout==null){
-                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                        if (!Cools.isEmpty(wrkDetl.getOrderNo())){
+                            // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
                                     wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
-                        }
-                        try {
-                            if(!Cools.isEmpty(orderDetlPakout)){
-                                if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
-                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
+                            if (orderDetlPakout==null){
+                                orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
+                            }
+                            try {
+                                if(!Cools.isEmpty(orderDetlPakout)){
+                                    if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                            orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+                                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                        return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                    }
                                 }
-                            }
-                        } catch (Exception ignore){}
+                            } catch (Exception ignore){}
+                        }
                     }
                     // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
                     if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
index 23110ee..d874084 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
@@ -59,6 +59,7 @@
                             case 1015:wrkMastSta1.setStaEnd(1018);break;
                             case 1025:wrkMastSta1.setStaEnd(1028);break;
                             case 1032:wrkMastSta1.setStaEnd(1035);break;
+                            case 2037:wrkMastSta1.setStaEnd(2037);break;
                             case 4001:wrkMastSta1.setStaEnd(4001);break;
                         }
                         wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
diff --git a/src/main/java/com/zy/common/config/ControllerResAdvice.java b/src/main/java/com/zy/common/config/ControllerResAdvice.java
index 52f9708..ba399ec 100644
--- a/src/main/java/com/zy/common/config/ControllerResAdvice.java
+++ b/src/main/java/com/zy/common/config/ControllerResAdvice.java
@@ -87,9 +87,6 @@
                 .eq("namespace", name)
                 .eq("request", request)
                 .eq("response", response)
-                .eq("ip", ip)
-                .eq("url", url)
-                .eq("appkey", appkey)
                 .eq("result", success? 1:0)
                 .orderBy("create_time", false)
         );
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 254a3a6..b01636e 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -31,7 +31,8 @@
 @RestController
 @RequestMapping("/rpc")
 public class WcsController {
-
+    @Autowired
+    private WrkLastnoService wrkLastnoService;
     @Autowired
     private WrkMastService wrkMastService;
     @Autowired
@@ -178,6 +179,45 @@
     }
 
 
+    /**
+     * 鐢熸垚宸ヤ綔鍙�
+     *
+     * @param wrkMk
+     * @return workNo(宸ヤ綔鍙�)
+     */
+    public int getWorkNo(Integer wrkMk) {
+        WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
+        if (Cools.isEmpty(wrkLastno)) {
+            throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+        }
+
+        int workNo = wrkLastno.getWrkNo();
+        int sNo = wrkLastno.getSNo();
+        int eNo = wrkLastno.getENo();
+        workNo = workNo >= eNo ? sNo : workNo + 1;
+        while (true) {
+            WrkMast wrkMast = wrkMastService.selectById(workNo);
+            if (null != wrkMast) {
+                workNo = workNo >= eNo ? sNo : workNo + 1;
+            } else {
+                break;
+            }
+        }
+        // 淇敼搴忓彿璁板綍
+        if (workNo > 0) {
+            wrkLastno.setWrkNo(workNo);
+            wrkLastnoService.updateById(wrkLastno);
+        }
+        // 妫�楠�
+        if (workNo == 0) {
+            throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
+        } else {
+            if (wrkMastService.selectById(workNo) != null) {
+                throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
+            }
+        }
+        return workNo;
+    }
     @PostMapping("/auto/TransplantingOut/v1")
     @ResponseBody
     public R autoTransplantingOut(@RequestBody TransplantWork transplantWork){
@@ -194,6 +234,7 @@
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
+        int workNo = getWorkNo(0);
         wrkMast.setWrkNo(9997);
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(11L);
diff --git a/src/main/webapp/static/js/basRgvOpt/basRgvOpt.js b/src/main/webapp/static/js/basRgvOpt/basRgvOpt.js
index 622f817..792df30 100644
--- a/src/main/webapp/static/js/basRgvOpt/basRgvOpt.js
+++ b/src/main/webapp/static/js/basRgvOpt/basRgvOpt.js
@@ -26,7 +26,15 @@
             // ,{field: 'wrkNo2', align: 'center',title: ''}
             ,{field: 'rgvNo', align: 'center',title: 'rgv缂栧彿'}
             ,{field: 'sendTime$', align: 'center',title: '涓嬪彂鏃堕棿'}
-            ,{field: 'mode', align: 'center',title: '浣滀笟妯″紡'}
+            ,{field: 'mode', align: 'center', title: '浣滀笟妯″紡', templet: function(d){
+                    if (d.mode == 2) {
+                        return '鍙栬揣';
+                    } else if (d.mode == 3) {
+                        return '鏀捐揣';
+                    } else {
+                        return d.mode;
+                    }
+                }}
             // ,{field: 'sourceRow', align: 'center',title: '婧愭帓'}
             // ,{field: 'sourceBay', align: 'center',title: '婧愬垪'}
             // ,{field: 'sourceLev', align: 'center',title: '婧愬眰'}
diff --git a/src/main/webapp/views/basRgvOpt/basRgvOpt.html b/src/main/webapp/views/basRgvOpt/basRgvOpt.html
index bd79047..e3a4135 100644
--- a/src/main/webapp/views/basRgvOpt/basRgvOpt.html
+++ b/src/main/webapp/views/basRgvOpt/basRgvOpt.html
@@ -19,7 +19,7 @@
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+                            <input class="layui-input" type="text" name="rgv_no" placeholder="RGV缂栧彿" autocomplete="off">
                         </div>
                     </div>
                      <div class="layui-inline" style="width: 300px">

--
Gitblit v1.9.1