From 5dac37cde0205be965c2b74dd1bddefc7f9cceda Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 26 三月 2025 08:56:57 +0800
Subject: [PATCH] Merge branch 'integrationWms' into mdqzasrs

---
 src/main/resources/mapper/OrderMapper.xml                                |    9 +
 src/main/java/com/zy/asrs/service/OrderService.java                      |    1 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java                      |    3 
 src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java |    7 
 src/main/resources/mapper/LocDetlMapper.xml                              |  153 +++++++++++++++++
 src/main/java/com/zy/common/web/WcsController.java                       |    7 
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java                 |    2 
 src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java        |    7 
 src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java        |   44 ++++
 src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java           |    4 
 src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java     |   17 +
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java              |    4 
 src/main/java/com/zy/asrs/controller/OutController.java                  |   37 +++
 src/main/java/com/zy/asrs/entity/param/FullStoreParam.java               |    1 
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java       |   17 +
 src/main/java/com/zy/asrs/service/LocDetlService.java                    |    2 
 src/main/java/com/zy/asrs/controller/OpenController.java                 |   20 ++
 src/main/java/com/zy/asrs/task/OverYearLogScheduler.java                 |    2 
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java           |    7 
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java                   |   32 +++
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java             |    5 
 src/main/java/com/zy/asrs/mapper/OrderMapper.java                        |    1 
 src/main/webapp/static/js/order/order.js                                 |   12 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java             |   84 +++++++--
 src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java     |   17 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java              |    4 
 src/main/resources/application.yml                                       |    2 
 src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java           |    4 
 28 files changed, 441 insertions(+), 64 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index cf545f3..8b0604a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -33,8 +33,26 @@
     @Autowired
     private OpenService openService;
 
+    @PostMapping("/order/matSync/default/v2")
+//    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+    public synchronized R syncMatInfoV2(@RequestHeader(required = false) String appkey,
+                                      @RequestBody(required = false) MatSyncParam.MatParam param,
+                                      HttpServletRequest request){
+
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        MatSyncParam matSyncParam = new MatSyncParam();
+        List<MatSyncParam.MatParam> objects = new ArrayList<>();
+        objects.add(param);
+        matSyncParam.matDetails = objects;
+        openService.syncMat(matSyncParam);
+        return R.ok();
+    }
+
     @PostMapping("/order/matSync/default/v1")
-    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
+//    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
     public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
                                       @RequestBody(required = false) MatSyncParam param,
                                       HttpServletRequest request){
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index fb01a95..60b2dec 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -80,7 +80,8 @@
                 if (issued <= 0.0D) {
                     continue;
                 }
-                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+                List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
+                        orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                 for (LocDetl locDetl : locDetls) {
                     if (issued > 0) {
                         LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -89,6 +90,14 @@
                         locDto.setFrozen(locDetl.getFrozen());
                         locDto.setFrozenLoc(locMast.getFrozen());
                         List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 107);
+                        locDto.setBrand(orderDetl.getBrand());
+                        locDto.setStandby1(orderDetl.getStandby1());
+                        locDto.setStandby2(orderDetl.getStandby2());
+                        locDto.setStandby3(orderDetl.getStandby3());
+                        locDto.setBoxType1(orderDetl.getBoxType1());
+                        locDto.setBoxType2(orderDetl.getBoxType2());
+                        locDto.setBoxType3(orderDetl.getBoxType3());
+
                         locDto.setStaNos(staNos);
                         locDtos.add(locDto);
                         // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
@@ -99,6 +108,14 @@
                 }
                 if (issued > 0) {
                     LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+                    locDto.setBrand(orderDetl.getBrand());
+
+                    locDto.setStandby1(orderDetl.getStandby1());
+                    locDto.setStandby2(orderDetl.getStandby2());
+                    locDto.setStandby3(orderDetl.getStandby3());
+                    locDto.setBoxType1(orderDetl.getBoxType1());
+                    locDto.setBoxType2(orderDetl.getBoxType2());
+                    locDto.setBoxType3(orderDetl.getBoxType3());
                     locDto.setLack(Boolean.TRUE);
                     locDtos.add(locDto);
                 }
@@ -109,7 +126,8 @@
                 if (issued <= 0.0D) {
                     continue;
                 }
-                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+                List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
+                        orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                 for (LocDetl locDetl : locDetls) {
                     if (issued > 0) {
                         LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -119,6 +137,14 @@
                         locDto.setFrozenLoc(locMast.getFrozen());
                         List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                         locDto.setStaNos(staNos);
+                        locDto.setBrand(orderDetl.getBrand());
+
+                        locDto.setStandby1(orderDetl.getStandby1());
+                        locDto.setStandby2(orderDetl.getStandby2());
+                        locDto.setStandby3(orderDetl.getStandby3());
+                        locDto.setBoxType1(orderDetl.getBoxType1());
+                        locDto.setBoxType2(orderDetl.getBoxType2());
+                        locDto.setBoxType3(orderDetl.getBoxType3());
                         locDtos.add(locDto);
                         exist.add(locDetl.getLocNo());
                         // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
@@ -129,6 +155,13 @@
                 }
                 if (issued > 0) {
                     LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+                    locDto.setBrand(orderDetl.getBrand());
+                    locDto.setStandby1(orderDetl.getStandby1());
+                    locDto.setStandby2(orderDetl.getStandby2());
+                    locDto.setStandby3(orderDetl.getStandby3());
+                    locDto.setBoxType1(orderDetl.getBoxType1());
+                    locDto.setBoxType2(orderDetl.getBoxType2());
+                    locDto.setBoxType3(orderDetl.getBoxType3());
                     locDto.setLack(Boolean.TRUE);
                     locDtos.add(locDto);
                 }
diff --git a/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java b/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
index 756b465..673903f 100644
--- a/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
@@ -27,6 +27,7 @@
 
         // 搴忓垪鐮�
         private String batch;
+        private String specs = "";
         private String brand = "";
         private String standby1 = "";
         private String standby2 = "";
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index ff2f451..298a252 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -19,7 +19,7 @@
     public List<MatParam> matDetails;
 
     @Data
-    public class MatParam{
+    public static class MatParam{
         /**
          * 鍟嗗搧缂栧彿
          */
diff --git a/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java b/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
index 4e91dd1..a0b3a9e 100644
--- a/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
+++ b/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
@@ -1,7 +1,9 @@
 package com.zy.asrs.entity.result;
 
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.param.FullStoreParam;
 
 public class FindLocNoAttributeVo {
     private String matnr = "";
@@ -67,6 +69,48 @@
         this.standby3 = standby3;
     }
 
+    public FindLocNoAttributeVo(WaitPakin waitPakin) {
+        this.matnr = waitPakin.getMatnr();
+        this.specs = waitPakin.getSpecs();
+        this.batch = waitPakin.getBatch();
+//        this.grade = waitPakin.g;
+        this.brand = waitPakin.getBrand();
+        this.standby1 = waitPakin.getStandby1();
+        this.standby2 = waitPakin.getStandby2();
+        this.standby3 = waitPakin.getStandby3();
+        this.boxType1 = waitPakin.getBoxType1();
+        this.boxType2 = waitPakin.getBoxType2();
+        this.boxType3 = waitPakin.getBoxType3();
+    }
+
+    public FindLocNoAttributeVo(FullStoreParam.MatCodeStore matCodeStore) {
+        this.matnr = matCodeStore.getMatnr();
+        this.specs = matCodeStore.getSpecs();
+        this.batch = matCodeStore.getBatch();
+//        this.grade = waitPakin.g;
+        this.brand = matCodeStore.getBrand();
+        this.standby1 = matCodeStore.getStandby1();
+        this.standby2 = matCodeStore.getStandby2();
+        this.standby3 = matCodeStore.getStandby3();
+        this.boxType1 = matCodeStore.getBoxType1();
+        this.boxType2 = matCodeStore.getBoxType2();
+        this.boxType3 = matCodeStore.getBoxType3();
+    }
+
+    public FindLocNoAttributeVo(LocDetl locDetl) {
+        this.matnr = locDetl.getMatnr();
+        this.specs = locDetl.getSpecs();
+        this.batch = locDetl.getBatch();
+//        this.grade = waitPakin.g;
+        this.brand = locDetl.getBrand();
+        this.standby1 = locDetl.getStandby1();
+        this.standby2 = locDetl.getStandby2();
+        this.standby3 = locDetl.getStandby3();
+        this.boxType1 = locDetl.getBoxType1();
+        this.boxType2 = locDetl.getBoxType2();
+        this.boxType3 = locDetl.getBoxType3();
+    }
+
     public String getBoxType1() {
         return boxType1;
     }
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index a764efc..bbf8ac8 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -71,6 +71,9 @@
     // -------------------------------------------------
 
     List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
+    List<LocDetl> queryStockAll(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("batch")String batch,
+                                @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
+                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3);
 
     Double queryStockAnfme(String matnr, String batch);
 
diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
index ae0223b..69f50ce 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -16,6 +16,7 @@
 
     List<Order> selectComplete();
     List<Order> selectComplete1();
+    List<Order> selectComplete99();
     List<Order> selectComplete8();
 
     int addToLogTable(Order order);
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index fff4fab..2bdc4f2 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -67,6 +67,8 @@
 
     List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
 
+    List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3);
+
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal();
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 1d3d2c6..878002f 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -26,6 +26,7 @@
 
     List<Order> selectComplete();
     List<Order> selectComplete1();
+    List<Order> selectComplete99();
     List<Order> selectComplete8();
 
     boolean addToLogTable(Order order);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 63c203f..2e14e9b 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -111,6 +111,13 @@
         return this.baseMapper.queryStock(matnr, batch, orderNo, locNos);
     }
 
+
+
+    @Override
+    public List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
+        return this.baseMapper.queryStockAll(orderNo,locNos, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
+    }
+
     @Override
     public Double queryStockAnfme(String matnr, String batch) {
         return this.baseMapper.queryStockAnfme(matnr, batch);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 40251b3..29dfc78 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -564,7 +564,7 @@
                 } else {
                     tagId = tagService.getTop().getId();
                 }
-                mat.sync(param);
+                mat.sync(matParam);
 //            mat.setMatnr(param.getMatnr());
 //            mat.setMaktx(param.getMaktx());
 //            mat.setSpecs(param.getSpecs());
@@ -580,7 +580,7 @@
                     log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
                 }
             } else {
-                mat.sync(param);
+                mat.sync(matParam);
                 if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
                     throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
                 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 0b4877b..ba05f58 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -181,6 +181,11 @@
     }
 
     @Override
+    public List<Order> selectComplete99() {
+        return this.baseMapper.selectComplete99();
+    }
+
+    @Override
     public List<Order> selectComplete8() {
         return this.baseMapper.selectComplete8();
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index b2146e7..7bbe338 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -106,9 +106,9 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
+//        List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
 //        List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0));
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
         StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo,locTypeDto);
         if (Cools.isEmpty(dto)){
             throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index d223b49..a797915 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -10,6 +10,7 @@
 import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -30,6 +31,9 @@
     @Autowired
     private ApiLogService apiLogService;
 
+    @Value("${erp.switch.ErpReportOld}")
+    private boolean ErpReportOld;
+
     @Scheduled(cron = "0 0 1 * * ? ")
     public void clearApiLog() {
         try {
@@ -39,7 +43,24 @@
         }
     }
 
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0 1 * * * ? ")
+    @Async("orderThreadPool")
+    public void completeAndReportOrderIssuedOnceMore() {
+        List<Order> orderList = orderService.selectComplete99();
+        for (Order order : orderList) {
+            try {
+                ReturnT<String> result = orderSyncHandler.startOrderIssuedOnceMore(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]鍐嶆杞墽琛岃〃澶辫触:{}", order.getOrderNo(),result.getMsg());
+                }
+            } catch (Exception e){
+                log.error(e.getMessage());
+                log.error("鍗曟嵁[orderNo={}]鍐嶆杞墽琛岃〃澶辫触", order.getOrderNo());
+            }
+        }
+    }
+
+    @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderIssued() {
 //        String erpReport = Parameter.get().getErpReport();
@@ -50,11 +71,11 @@
                 try {
                     ReturnT<String> result = orderSyncHandler.startOrderIssued(order);
                     if (!result.isSuccess()) {
-                        log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+                        log.error("鍗曟嵁[orderNo={}]杞墽琛岃〃澶辫触", order.getOrderNo());
                     }
                 } catch (Exception e){
                     log.error(e.getMessage());
-                    log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+                    log.error("鍗曟嵁[orderNo={}]杞墽琛岃〃澶辫触", order.getOrderNo());
                 }
             }
 //        }
@@ -80,9 +101,12 @@
 //        }
     }
 
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/30 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReportOrderReport() {
+        if (!ErpReportOld){
+            return;
+        }
         String erpReport = Parameter.get().getErpReport();
         if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
             List<Order> orders = orderService.selectComplete();
diff --git a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
index 95a8a29..2865cc3 100644
--- a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
@@ -19,7 +19,7 @@
     @Autowired
     private OverYearLogHandler overYearLogHandler;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+    @Scheduled(cron = "0 0 1 * * ? ")
     private void execute(){
         ReturnT<String> returnT = overYearLogHandler.start();
         if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java
index 97124d1..d1f7212 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoLocMoveHandler.java
@@ -49,7 +49,7 @@
                             for (LocMast locMast:locMasts){
                                 LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
 //                                StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 6 : 5, ioType, crnNo == 1 ? 917 : 918, locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), null);
-                                FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl.getMatnr(),locDetl.getBatch(),locDetl.getBrand());
+                                FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
 
                                 StartupDto startupDto = commonService.getLocNo( ioType, crnNo == 1 ? 917 : 918, findLocNoAttributeVo, null);
                                 workService.locMove(locMast.getLocNo(), startupDto.getLocNo(),9527L);
@@ -72,7 +72,7 @@
                     List<LocDetl> locDetlList = locDetlService.selectLocDetlUnilateralMoveShuttle(matnr, batch, grade, crnNo);
                     for (LocDetl locDetl : locDetlList) {
 //                        StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 4 : 3, ioType, crnNo == 1 ? 901 : 932, locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(), null);
-                        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl.getMatnr(),locDetl.getBatch(),locDetl.getBrand());
+                        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
 
                         StartupDto startupDto = commonService.getLocNo( ioType, crnNo == 1 ? 901 : 932, findLocNoAttributeVo, null);
                         workService.locMove(locDetl.getLocNo(), startupDto.getLocNo(), 9527L);
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 b4f717d..002d171 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -46,6 +46,42 @@
     private ApiLogService apiLogService;
     @Autowired
     private DocTypeService docTypeService;
+
+    @Transactional
+    public ReturnT<String> startOrderIssuedOnceMore(Order order) {
+        DocType docType = docTypeService.selectById(order.getDocType());
+        if (null == docType) {
+            return SUCCESS;
+        }
+
+        Order order1 = OrderInAndOutUtil.selectByNo(order.getPakinPakoutStatus$(), order.getOrderNo());
+        if (!Cools.isEmpty(order1)){
+            return FAIL.setMsg("璇风瓑寰�...璁㈠崟鎵ц妗f姝e湪杞巻鍙叉。妗堬紒锛侊紒");
+        }
+        List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
+        if (!Cools.isEmpty(orderDetls) || !orderDetls.isEmpty()) {
+            return FAIL.setMsg("璇风瓑寰�...璁㈠崟鎵ц鏄庣粏妗f姝e湪杞巻鍙叉。妗堬紒锛侊紒");
+        }
+
+        // 鍗曟嵁鏄庣粏妗�
+        List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
+        for (OrderDetl orderDetl : orderDetlList){
+            if (orderDetl.getQty().equals(0D)){
+                continue;
+            }
+            orderDetl.setWorkQty(orderDetl.getQty());
+            orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
+            orderDetl.setQty(0D);
+            orderDetlService.updateById(orderDetl);
+        }
+
+        // 淇敼璁㈠崟鐘舵�� 99.鍐嶆浣滀笟 ===>> 1.寰呬綔涓�
+        if (!orderService.updateSettle(order.getId(), 1L, null)) {
+            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+        }
+        return SUCCESS;
+    }
+
     @Transactional
     public ReturnT<String> startOrderIssued(Order order) {
         DocType docType = docTypeService.selectById(order.getDocType());
@@ -76,6 +112,7 @@
             }
         }
         for (OrderDetl orderDetl : orderDetlList){
+            orderDetl.setWorkQty(0D);
             OrderInAndOutUtil.insertOrderDetl(order.getPakinPakoutStatus$(),order,orderDetl);
         }
         // 淇敼璁㈠崟鐘舵�� 1.鏈綔涓� ===>> 2.浣滀笟涓�
@@ -84,6 +121,7 @@
         }
         return SUCCESS;
     }
+
     @Transactional
     public ReturnT<String> startOrderInAndOutUtil(Order order) {
         DocType docType = docTypeService.selectById(order.getDocType());
@@ -133,6 +171,7 @@
         if (null == docType) {
             return SUCCESS;
         }
+        long settle = 6L;
         List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         // 鍏ュ簱瀹屾垚涓婃姤
         if (docType.getPakin() == 1) {
@@ -141,23 +180,28 @@
             pakinParam.setLgortFrom("5008");
             pakinParam.setLgortTo("5006");
             for (OrderDetl orderDetl : orderDetls) {
+                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()));
             }
+
             String response = "";
             boolean success = false;
             try {
-                response = new HttpHandler.Builder()
-                        .setUri(MesConstant.URL)
-                        .setPath(MesConstant.PAKIN_URL)
-                        .setJson(JSON.toJSONString(pakinParam))
-                        .build()
-                        .doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
+//                response = new HttpHandler.Builder()
+//                        .setUri(MesConstant.URL)
+//                        .setPath(MesConstant.PAKIN_URL)
+//                        .setJson(JSON.toJSONString(pakinParam))
+//                        .build()
+//                        .doPost();
+//                JSONObject jsonObject = JSON.parseObject(response);
+//                if (jsonObject.getInteger("code").equals(200)) {
+                if (true) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                    if (!orderService.updateSettle(order.getId(), settle, null)) {
                         throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                     }
                 } else {
@@ -195,23 +239,27 @@
             }
             pakoutParam.setOrderNo(order.getOrderNo());
             for (OrderDetl orderDetl : orderDetls) {
+                if (!orderDetl.getQty().equals(orderDetl.getAnfme())){
+                    settle = 99L;//浜屾鐢熸垚鍗曟嵁
+                }
                 String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
                 pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
             }
             String response = "";
             boolean success = false;
             try {
-                response = new HttpHandler.Builder()
-                        .setUri(MesConstant.URL)
-                        .setPath(MesConstant.PAKOUT_URL)
-                        .setJson(JSON.toJSONString(pakoutParam))
-                        .build()
-                        .doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
+//                response = new HttpHandler.Builder()
+//                        .setUri(MesConstant.URL)
+//                        .setPath(MesConstant.PAKOUT_URL)
+//                        .setJson(JSON.toJSONString(pakoutParam))
+//                        .build()
+//                        .doPost();
+//                JSONObject jsonObject = JSON.parseObject(response);
+//                if (jsonObject.getInteger("code").equals(200)) {
+                if (true) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                    if (!orderService.updateSettle(order.getId(), settle, null)) {
                         throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                     }
                 } else {
diff --git a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
index 62b7596..ebd2260 100644
--- a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
@@ -22,9 +22,9 @@
         try {
             // 鍒犻櫎鍗婂勾浠ヤ笂鐨勫巻鍙叉。
             jdbcTemplate.update("delete from asr_stk_hplc where dateadd(day,180,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from asr_wrk_detl_log where dateadd(day,360,appe_time) <= getdate();");
+            jdbcTemplate.update("delete from asr_wrk_detl_log where dateadd(day,1080,appe_time) <= getdate();");
             jdbcTemplate.update("delete from asr_wrk_mast_log where dateadd(day,360,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,360,appe_time) <= getdate();");
+            jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,1080,appe_time) <= getdate();");
 
         } catch (Exception e) {
             e.printStackTrace();
diff --git a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
index 2955277..1c68d49 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
@@ -1,6 +1,8 @@
 package com.zy.asrs.task.kingdee;
 
+import com.core.common.Cools;
 import com.zy.asrs.task.kingdee.handler.InboundOrderHandler;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -21,7 +23,10 @@
         if(!InboundOrderSwitch){
             return;
         }
-        inboundOrderHandler.start();
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            inboundOrderHandler.start();
+        }
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
index 8b7be90..c6befac 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
@@ -1,6 +1,8 @@
 package com.zy.asrs.task.kingdee;
 
+import com.core.common.Cools;
 import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -20,6 +22,9 @@
         if(!LoginAuthenticationSwitch){
             return;
         }
-        loginAuthenticationHandler.start();
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            loginAuthenticationHandler.start();
+        }
     }
 }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
index 79647e8..a3c9e16 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
@@ -1,11 +1,13 @@
 package com.zy.asrs.task.kingdee;
 
+import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler;
 import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -36,12 +38,15 @@
         if(!ReviewOrderSwitch){
             return;
         }
-//        List<Order> orders = orderService.selectComplete();
-        List<Order> orders = OrderInAndOutUtil.selectComplete(null);
-        for (Order order : orders) {
-            ReturnT<String> result = reviewOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]鍚慹rp瀹℃牳澶辫触", order.getOrderNo());
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            //        List<Order> orders = orderService.selectComplete();
+            List<Order> orders = OrderInAndOutUtil.selectComplete(null);
+            for (Order order : orders) {
+                ReturnT<String> result = reviewOrderSyncHandler.start(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]鍚慹rp瀹℃牳澶辫触", order.getOrderNo());
+                }
             }
         }
     }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
index 46f5910..4fe4f26 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -1,10 +1,12 @@
 package com.zy.asrs.task.kingdee;
 
+import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler;
 import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -36,12 +38,15 @@
         if(!ReviewOrderSwitch){
             return;
         }
-//        List<Order> orders = orderService.selectComplete8();
-        List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
-        for (Order order : orders) {
-            ReturnT<String> result = submitOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]鎻愪氦鑷砮rp澶辫触", order.getOrderNo());
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            //        List<Order> orders = orderService.selectComplete8();
+            List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
+            for (Order order : orders) {
+                ReturnT<String> result = submitOrderSyncHandler.start(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]鎻愪氦鑷砮rp澶辫触", order.getOrderNo());
+                }
             }
         }
     }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
index 785657e..e35710e 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.task.kingdee;
 
+import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderService;
@@ -8,6 +9,7 @@
 import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler;
 import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler;
 import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -38,12 +40,15 @@
         if(!ReviewOrderSwitch){
             return;
         }
-//        List<Order> orders = orderService.selectComplete8();
-        List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
-        for (Order order : orders) {
-            ReturnT<String> result = saveOrderSyncHandler.start(order);
-            if (!result.isSuccess()) {
-                log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            //        List<Order> orders = orderService.selectComplete8();
+            List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
+            for (Order order : orders) {
+                ReturnT<String> result = saveOrderSyncHandler.start(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo());
+                }
             }
         }
     }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 059a759..d20e59f 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -182,9 +182,10 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
+//        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
+//        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
         StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
         int workNo = dto.getWorkNo();
         Date now = new Date();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5edac76..bbdcc4f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -75,6 +75,8 @@
 erp:
   #  寮�鍏�
   switch:
+    #璁℃椂鍣ㄤ笂鎶ュ紑鍏�
+    ErpReportOld: false
     #鑾峰彇鍗曟嵁寮�鍏�
     InboundOrderSwitch: false
     #鐧诲綍鎺ュ彛寮�鍏�
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index e248a83..958190a 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -119,6 +119,72 @@
             </otherwise>
         </choose>
     </sql>
+    <sql id="batchSeqA">
+        <choose>
+            <when test="batch != null and batch != ''">
+                and a.batch = #{batch}
+            </when>
+            <otherwise>
+                and (a.batch IS NULL OR a.batch = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="brand != null and brand != ''">
+                and a.brand = #{brand}
+            </when>
+            <otherwise>
+                and (a.brand IS NULL OR a.brand = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="standby1 != null and standby1 != ''">
+                and a.standby1 = #{standby1}
+            </when>
+            <otherwise>
+                and (a.standby1 IS NULL OR a.standby1 = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="standby2 != null and standby2 != ''">
+                and a.standby2 = #{standby2}
+            </when>
+            <otherwise>
+                and (a.standby2 IS NULL OR a.standby2 = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="standby3 != null and standby3 != ''">
+                and a.standby3 = #{standby3}
+            </when>
+            <otherwise>
+                and (a.standby3 IS NULL OR a.standby3 = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="boxType1 != null and boxType1 != ''">
+                and a.box_type1 = #{boxType1}
+            </when>
+            <otherwise>
+                and (a.box_type1 IS NULL OR a.box_type1 = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="boxType2 != null and boxType2 != ''">
+                and a.box_type2 = #{boxType2}
+            </when>
+            <otherwise>
+                and (a.box_type2 IS NULL OR a.box_type2 = '')
+            </otherwise>
+        </choose>
+        <choose>
+            <when test="boxType3 != null and boxType3 != ''">
+                and a.box_type3 = #{boxType3}
+            </when>
+            <otherwise>
+                and (a.box_type3 IS NULL OR a.box_type3 = '')
+            </otherwise>
+        </choose>
+    </sql>
     <sql id="batchSeqNew">
         <choose>
             <when test="batch != null and batch != ''">
@@ -456,6 +522,93 @@
         desc
     </select>
 
+    <select id="queryStockAll" resultMap="BaseResultMap">
+        select a.*
+        from asr_loc_detl a
+        left join asr_loc_mast b on a.loc_no = b.loc_no
+        where 1=1
+        and b.loc_sts = 'F'
+        and a.matnr = #{matnr}
+        <!--        <choose>-->
+        <!--            <when test="batch != null and batch != ''">-->
+        <!--                and a.batch = #{batch}-->
+        <!--            </when>-->
+        <!--            <otherwise>-->
+        <!--                and (a.batch IS NULL OR a.batch = '')-->
+        <!--            </otherwise>-->
+        <!--        </choose>-->
+        <if test="orderNo != null and orderNo != ''">
+            and a.order_no = #{orderNo}
+        </if>
+
+        <include refid="batchSeqA"></include>
+
+
+        <if test="locNos != null and locNos.size > 0">
+            and b.loc_no not in
+            <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        order by
+        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
+        desc,
+        NEWID(),
+        case
+        when (left(a.loc_no, 2) = '01') then 0
+        when (left(a.loc_no, 2) = '02') then 1
+        when (left(a.loc_no, 2) = '03') then 1
+        when (left(a.loc_no, 2) = '04') then 0
+        when (left(a.loc_no, 2) = '05') then 0
+        when (left(a.loc_no, 2) = '06') then 1
+        when (left(a.loc_no, 2) = '07') then 1
+        when (left(a.loc_no, 2) = '08') then 0
+        when (left(a.loc_no, 2) = '09') then 0
+        when (left(a.loc_no, 2) = '10') then 1
+        when (left(a.loc_no, 2) = '11') then 1
+        when (left(a.loc_no, 2) = '12') then 0
+        when (left(a.loc_no, 2) = '13') then 0
+        when (left(a.loc_no, 2) = '14') then 1
+        when (left(a.loc_no, 2) = '15') then 1
+        when (left(a.loc_no, 2) = '16') then 0
+        when (left(a.loc_no, 2) = '17') then 0
+        when (left(a.loc_no, 2) = '18') then 1
+        when (left(a.loc_no, 2) = '19') then 1
+        when (left(a.loc_no, 2) = '20') then 0
+        when (left(a.loc_no, 2) = '21') then 0
+        when (left(a.loc_no, 2) = '22') then 1
+        when (left(a.loc_no, 2) = '23') then 1
+        when (left(a.loc_no, 2) = '24') then 0
+        when (left(a.loc_no, 2) = '25') then 0
+        when (left(a.loc_no, 2) = '26') then 1
+        when (left(a.loc_no, 2) = '27') then 1
+        when (left(a.loc_no, 2) = '28') then 0
+        when (left(a.loc_no, 2) = '29') then 0
+        when (left(a.loc_no, 2) = '30') then 1
+        when (left(a.loc_no, 2) = '31') then 1
+        when (left(a.loc_no, 2) = '32') then 0
+        when (left(a.loc_no, 2) = '33') then 0
+        when (left(a.loc_no, 2) = '34') then 1
+        when (left(a.loc_no, 2) = '35') then 1
+        when (left(a.loc_no, 2) = '36') then 0
+        when (left(a.loc_no, 2) = '37') then 0
+        when (left(a.loc_no, 2) = '38') then 1
+        when (left(a.loc_no, 2) = '39') then 1
+        when (left(a.loc_no, 2) = '40') then 0
+        when (left(a.loc_no, 2) = '41') then 0
+        when (left(a.loc_no, 2) = '42') then 1
+        when (left(a.loc_no, 2) = '43') then 1
+        when (left(a.loc_no, 2) = '44') then 0
+        when (left(a.loc_no, 2) = '45') then 0
+        when (left(a.loc_no, 2) = '46') then 1
+        when (left(a.loc_no, 2) = '47') then 1
+        when (left(a.loc_no, 2) = '48') then 0
+        else 0
+        end
+        desc
+    </select>
+
     <select id="queryStockAnfme" resultType="java.lang.Double">
         select sum(anfme) as count from man_loc_detl
          where 1=1
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 0e7e9a8..f8c5070 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -73,6 +73,15 @@
         order by create_time asc
     </select>
 
+    <select id="selectComplete99" resultMap="BaseResultMap">
+        select top 5 *
+        from man_order
+        where 1=1
+          and settle = 99
+          and status = 1
+        order by create_time asc
+    </select>
+
     <select id="selectComplete8" resultMap="BaseResultMap">
         select top 5 *
         from man_order
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index ad09170..6345ea7 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -124,10 +124,11 @@
                             {type: 'numbers'},
                             {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+                            {field: 'specs', title: '瑙勬牸'},
                             {field: 'batch', title: '鎵瑰彿'},
-                            {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'workQty', title: '浣滀笟鏁伴噺'},
-                            {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
+                            {field: 'anfme', title: '寰呭畬缁撴暟閲�'},
+                            {field: 'qty', title: '寰呬笂鎶ユ暟閲�', style: 'font-weight: bold'},
+                            {field: 'workQty', title: '宸蹭笂鎶ユ暟閲�'},
                             // {field: 'unit', title: '鍗曚綅'},
                             // {
                             //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
@@ -135,8 +136,7 @@
                             //     },  width: 180
                             // },
                             // {field: 'inQty', title: '宸插叆搴撻噺'},
-                            // {field: 'color', title: '棰滆壊'},
-                            {field: 'specs', title: '瑙勬牸'}
+                            // {field: 'color', title: '棰滆壊'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -501,7 +501,7 @@
                                 var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
                                 var traceOptions = {
                                     title: {
-                                        text: '鎬婚噺/浣滀笟/瀹屾垚', x: 'center', y: '38%',
+                                        text: '浣滀笟/瀹岀粨/涓婃姤', x: 'center', y: '38%',
                                         textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'},
                                         subtextStyle: {fontSize: 36, color: '#10B4E8'},
                                         itemGap: 20

--
Gitblit v1.9.1