From ddb9f9d61b9125651c08fc460b5e499950531f24 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 16 十二月 2024 14:13:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java         |    4 
 src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java   |    5 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java                |   40 ++++---
 src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java                   |   15 +-
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java                     |    4 
 src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java |    4 
 src/main/java/com/zy/asrs/controller/MobileController.java                 |   14 ++
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java                 |    8 +
 src/main/java/com/zy/asrs/controller/WaitPakinController.java              |    8 +
 src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java |    4 
 src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java        |   53 +++++++--
 src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java       |    4 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java                |   40 +++++---
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java               |   18 ++-
 src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java       |    4 
 src/main/java/com/zy/asrs/controller/OutController.java                    |   11 +
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java    |   45 ++++++--
 17 files changed, 191 insertions(+), 90 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index e8955ae..7a8c84c 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -235,7 +235,16 @@
             return R.ok();
         }
 //        List<Order> orders = orderService.selectorderNoL(batch);
-        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
+//        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
+        Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, combParam.getOrderNo());
+        List<OrderDetl> orderDetlList = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
+        OrderDetl orderDetl = null;
+        for (OrderDetl orderDetl1 : orderDetlList){
+            if (combParam.getMatnr().equals(orderDetl1.getMatnr()) && combParam.getBatch().equals(orderDetl1.getBatch())){
+                orderDetl = orderDetl1;
+                break;
+            }
+        }
         if (Cools.isEmpty(orderDetl)){
             return R.error("鏈煡鍒版暟鎹�");
         }
@@ -244,7 +253,8 @@
         }
         //澶嶆牳鏁�
         orderDetl.setSource(1);
-        orderDetlService.updateById(orderDetl);
+//        orderDetlService.updateById(orderDetl);
+        OrderInAndOutUtil.updateOrderDetl(Boolean.FALSE,order,orderDetl);
         return R.ok();
     }
 
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 23fb3a9..4713989 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -7,7 +7,9 @@
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderDetlPakout;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
 import com.zy.common.web.BaseController;
@@ -32,6 +34,8 @@
     @Autowired
     private OrderDetlService orderDetlService;
     @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService;
+    @Autowired
     private LocDetlService locDetlService;
     @Autowired
     private LocMastService locMastService;
@@ -47,7 +51,7 @@
     @ManagerAuth
     public R pakoutOrderDetlIds(@RequestParam Long orderId) throws InterruptedException {
         Thread.sleep(200);
-        return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetl::getId).distinct().collect(Collectors.toList()));
+        return R.ok().add(orderDetlPakoutService.selectByOrderId(orderId).stream().map(OrderDetlPakout::getId).distinct().collect(Collectors.toList()));
     }
 
     @PostMapping("/out/pakout/preview/auth")
@@ -56,12 +60,13 @@
         if (Cools.isEmpty(ids)) {
             return R.parse(BaseRes.PARAM);
         }
-        List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
+        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
+
         List<LocDto> locDtos = new ArrayList<>();
 
         Set<String> exist = new HashSet<>();
 
-        for (OrderDetl orderDetl : orderDetls) {
+        for (OrderDetlPakout orderDetl : orderDetlPakouts) {
             double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
             if (issued <= 0.0D) { continue; }
             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
index 7d994d8..89bfc57 100644
--- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -16,6 +16,7 @@
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.WaitPakinService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -105,9 +106,10 @@
             waitPakinService.delete(new EntityWrapper<>(entity));
             //璁㈠崟鍏宠仈锛屼慨鏀硅鍗曚綔涓氭暟閲�
             if (!Cools.isEmpty(entity.getOrderNo())) {
-                if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
-                    return R.error("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-                }
+//                if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
+//                    return R.error("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+//                }
+                OrderInAndOutUtil.decrease(Boolean.TRUE, entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme());
             }
         }
         return R.ok();
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 3aa9551..31c0553 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
 import com.zy.common.model.enums.IoWorkType;
@@ -329,9 +330,12 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         for (LocDto locDto : taskDto.getLocDtos()) {
             if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
-            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+//            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+            OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
             if (orderDetl == null) {
-                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+//                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+                orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), null);
+
             }
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(orderDetl);
@@ -348,11 +352,13 @@
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
-            // 淇敼璁㈠崟鏄庣粏
-            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
-                throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
-            }
-            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+//            // 淇敼璁㈠崟鏄庣粏
+//            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+//                throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+//            }
+//            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+            OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE,orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme());
+            OrderInAndOutUtil.updateOrder(Boolean.FALSE,orderDetl.getOrderId(), 2L, userId);
         }
         // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
         locMast = locMastService.selectById(taskDto.getLocNo());
@@ -888,28 +894,32 @@
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
             for (WrkDetl wrkDetl : wrkDetls) {
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-                    }
+//                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+//                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+//                    }
+                    OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
 
                     //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
                     boolean flag = true;
-                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+//                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+                    Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
+                    List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
                     for(OrderDetl orderDetl : orderDetls){
                         if(orderDetl.getWorkQty() > 0){
                             flag = false;
                         }
                     }
                     if(flag){
-                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
+//                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
                         if(!Cools.isEmpty(order) && order.getSettle()==2){
                             order.setSettle(1L);
                             order.setUpdateBy(userId);
                             order.setUpdateTime(now);
                         }
-                        if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
-                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
-                        }
+//                        if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+//                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+//                        }
+                        OrderInAndOutUtil.updateOrder(Boolean.FALSE,order.getId(),order.getSettle(),userId);
                     }
                 }
             }
diff --git a/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
index d90a3a3..698e864 100644
--- a/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
@@ -5,6 +5,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.handler.AutoLocMoveHandler;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.properties.SlaveWmsParameterProperties;
 import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
@@ -33,6 +34,8 @@
     @Autowired
     private OrderService orderService;
     @Autowired
+    private OrderPakoutService orderPakoutService;
+    @Autowired
     private OrderDetlService orderDetlService;
     @Autowired
     private AutoMoveService autoMoveService;
@@ -45,16 +48,16 @@
             if (Cools.isEmpty(config) || config.getValue().equals("false")) {
                 return;
             }
-            Order order = orderService.selectOrderMoveStatus();
-            if (!Cools.isEmpty(order)){
+            OrderPakout orderPakout = orderPakoutService.selectOrderMoveStatus();
+            if (!Cools.isEmpty(orderPakout)){
 //                autoMoveService.selectList()
             }else {
-                order = orderService.selectOrderMoveStatusInitial();
-                if (Cools.isEmpty(order)){
+                orderPakout = orderPakoutService.selectOrderMoveStatusInitial();
+                if (Cools.isEmpty(orderPakout)){
                     return;
                 }
-                order.setMoveStatus(2);
-                orderService.updateById(order);
+                orderPakout.setMoveStatus(2);
+                orderPakoutService.updateById(orderPakout);
             }
         }
     }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 61004e9..e97ffdf 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.OrderSyncHandler;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,7 +44,8 @@
     public void completeAndReport(){
         String erpReport = Parameter.get().getErpReport();
         if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
-            List<Order> orders = orderService.selectComplete();
+//            List<Order> orders = orderService.selectComplete();
+            List<Order> orders = OrderInAndOutUtil.selectComplete(null);
             for (Order order : orders) {
                 ReturnT<String> result = orderSyncHandler.start(order);
                 if (!result.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
index 76ec280..ae177fd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -2,12 +2,13 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,14 +22,24 @@
     @Autowired
     private OrderService orderService;
     @Autowired
+    private OrderPakinService orderPakinService;
+    @Autowired
+    private OrderPakoutService orderPakoutService;
+    @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderDetlPakinServiceImpl orderDetlPakinService;
+    @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService;
 
     public ReturnT<String> start(){
-        List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
-                .eq("settle", 6));
+//        List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
+//                .eq("settle", 6));
+        List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L);
         for (Order order : settleEqual6) {
-            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
-                    .eq("order_no", order.getOrderNo()));
+//            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+//                    .eq("order_no", order.getOrderNo()));
+            List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
             moveBoth(order,orderDetls);
             log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
         }
@@ -41,17 +52,31 @@
             for (OrderDetl orderDetl : orderDetls) {
                 orderDetl.setUpdateBy(0L);
                 orderDetl.setUpdateTime(now);
-                orderDetlService.addToLogTable(orderDetl);
-                orderDetlService.delete(new EntityWrapper<OrderDetl>()
-                        .eq("id",orderDetl.getId()));
+//                orderDetlService.addToLogTable(orderDetl);
+                OrderInAndOutUtil.addToLogTableOrderDetl(order.getPakinPakoutStatus$(),orderDetl);
+                if (order.getPakinPakoutStatus() == 1){
+                    orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>()
+                            .eq("id",orderDetl.getId()));
+                } else {
+                    orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>()
+                            .eq("id",orderDetl.getId()));
+                }
             }
         }
         if (!Cools.isEmpty(order)){
             order.setUpdateBy(0L);
             order.setUpdateTime(now);
-            orderService.addToLogTable(order);
-            orderService.delete(new EntityWrapper<Order>()
-                    .eq("id",order.getId()));
+//            orderService.addToLogTable(order);
+            OrderInAndOutUtil.addToLogTableOrder(order.getPakinPakoutStatus$(),order);
+//            orderService.delete(new EntityWrapper<Order>()
+//                    .eq("id",order.getId()));
+            if (order.getPakinPakoutStatus() == 1){
+                orderPakinService.delete(new EntityWrapper<OrderPakin>()
+                        .eq("id",order.getId()));
+            } else {
+                orderPakoutService.delete(new EntityWrapper<OrderPakout>()
+                        .eq("id",order.getId()));
+            }
         }
     }
 
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 43b50b1..400eea6 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.model.MesPakinParam;
 import com.zy.common.model.MesPakoutParam;
@@ -50,7 +51,8 @@
         if (null == docType) {
             return SUCCESS;
         }
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
         // 鍏ュ簱瀹屾垚涓婃姤
         if (docType.getPakin() == 1) {
             MesPakinParam pakinParam = new MesPakinParam();
@@ -74,9 +76,10 @@
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
-                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                    }
+//                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+//                    }
+                    OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null);
                 } else {
                     log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
                     throw new CoolException("涓婃姤mes绯荤粺澶辫触");
@@ -128,9 +131,10 @@
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
-                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-                    }
+//                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+//                    }
+                    OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null);
                 } else {
                     log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response);
                     throw new CoolException("涓婃姤mes绯荤粺澶辫触");
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index d71d3e4..506c965 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -8,6 +8,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -49,7 +50,12 @@
                 while (iterator.hasNext()) {
                     WrkDetl wrkDetl = iterator.next();
                     if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-                        orderService.checkComplete(wrkDetl.getOrderNo());
+//                        orderService.checkComplete(wrkDetl.getOrderNo());
+                        if (wrkMast.getIoType() ==  1 ||  wrkMast.getIoType() == 54 ||  wrkMast.getIoType() == 104){
+                            OrderInAndOutUtil.checkComplete(Boolean.TRUE,wrkDetl.getOrderNo());
+                        } else {
+                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
+                        }
                         iterator.remove();
                     }
                 }
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 acb5fa9..397ca6e 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -35,6 +35,10 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderDetlPakinService orderDetlPakinService;
+    @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -115,14 +119,14 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetlPakin==null){
+                            orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                         }
                         try {
-                            if(!Cools.isEmpty(orderDetl)){
-                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                            if(!Cools.isEmpty(orderDetlPakin)){
+                                if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetlPakin.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -166,14 +170,14 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetlPakin==null){
+                            orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                         }
                         try {
-                            if(!Cools.isEmpty(orderDetl)){
-                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                            if(!Cools.isEmpty(orderDetlPakin)){
+                                if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetlPakin.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -349,14 +353,14 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetlPakout==null){
+                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                         }
                         try {
-                            if(!Cools.isEmpty(orderDetl)){
-                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                            if(!Cools.isEmpty(orderDetlPakout)){
+                                if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetlPakout.getBatch(),wrkDetl.getAnfme())){
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
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 2767e9f..79647e8 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
@@ -5,6 +5,7 @@
 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 lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -35,7 +36,8 @@
         if(!ReviewOrderSwitch){
             return;
         }
-        List<Order> orders = orderService.selectComplete();
+//        List<Order> orders = orderService.selectComplete();
+        List<Order> orders = OrderInAndOutUtil.selectComplete(null);
         for (Order order : orders) {
             ReturnT<String> result = reviewOrderSyncHandler.start(order);
             if (!result.isSuccess()) {
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 932bca7..46f5910 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -4,6 +4,7 @@
 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 lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -35,7 +36,8 @@
         if(!ReviewOrderSwitch){
             return;
         }
-        List<Order> orders = orderService.selectComplete8();
+//        List<Order> orders = orderService.selectComplete8();
+        List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
         for (Order order : orders) {
             ReturnT<String> result = submitOrderSyncHandler.start(order);
             if (!result.isSuccess()) {
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 069489a..785657e 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler;
 import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler;
 import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -37,7 +38,8 @@
         if(!ReviewOrderSwitch){
             return;
         }
-        List<Order> orders = orderService.selectComplete8();
+//        List<Order> orders = orderService.selectComplete8();
+        List<Order> orders = OrderInAndOutUtil.selectComplete8(null);
         for (Order order : orders) {
             ReturnT<String> result = saveOrderSyncHandler.start(order);
             if (!result.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index c98e298..6443a4b 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.erp.kingdee.entity.param.InFormIdParam;
 import com.zy.erp.kingdee.enums.KingDeeUtilType;
 import com.zy.common.utils.HttpHandler;
@@ -25,6 +26,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 
 @Service
 @Slf4j
@@ -171,7 +173,8 @@
                         //鏈�鏂版姄鍙栨椂闂�
                         Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString());
                         docType.setCreateTime(jsonDate);
-                        Order order = orderService.selectByNo(jsonArray.get(0).toString());
+                        Order order = OrderInAndOutUtil.selectByNo(kingDeeUtilType.pakIn == 1, jsonArray.get(0).toString());
+//                        Order order = orderService.selectByNo(jsonArray.get(0).toString());
                         if (Cools.isEmpty(order)) {
                             Date now = new Date();
                             // 鍗曟嵁涓绘。
@@ -211,14 +214,15 @@
                                     now,    // 淇敼鏃堕棿
                                     null    // 澶囨敞
                             );
+                             OrderInAndOutUtil.insertOrder(kingDeeUtilType.pakIn == 1, order);
 
-                            if (!orderService.insert(order)) {
-                                if (!jsonDate.equals(docType.getCreateTime())){
-                                    callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"+order, false);
-                                }
-                                continue;
-//                                throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-                            }
+//                            if (!orderService.insert(order)) {
+//                                if (!jsonDate.equals(docType.getCreateTime())){
+//                                    callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"+order, false);
+//                                }
+//                                continue;
+////                                throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+//                            }
                         }
                         //鐗╂枡缂栫爜
                         Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
@@ -228,8 +232,20 @@
                             }
                             continue;
                         }
-                        OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
-                        if (!Cools.isEmpty(orderDetl1)) {
+//                        OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
+//                        if (!Cools.isEmpty(orderDetl1)) {
+//                            continue;
+//                        }
+                        Order order1 = OrderInAndOutUtil.selectByNo(kingDeeUtilType.pakIn == 1, jsonArray.get(0).toString());
+                        List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(kingDeeUtilType.pakIn == 1, order1.getId());
+                        boolean sign = false;
+                        for (OrderDetl orderDetl : orderDetls){
+                            if (orderDetl.getMatnr().equals( jsonArray.get(2).toString())){
+                                sign = true;
+                                break;
+                            }
+                        }
+                        if (sign){
                             continue;
                         }
                         OrderDetl orderDetl = new OrderDetl();
@@ -244,10 +260,11 @@
                         orderDetl.setUpdateTime(new Date());
                         orderDetl.setStatus(1);
                         orderDetl.setQty(0.0D);
-                        if (!orderDetlService.insert(orderDetl)) {
-                            callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�!璁㈠崟鍙凤細"+order.getOrderNo(), false);
-//                            throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-                        }
+//                        if (!orderDetlService.insert(orderDetl)) {
+//                            callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�!璁㈠崟鍙凤細"+order.getOrderNo(), false);
+////                            throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+//                        }
+                        OrderInAndOutUtil.insertOrderDetl(kingDeeUtilType.pakIn == 1,order,orderDetl);
                     }
                     docTypeService.updateById(docType);
                 }
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
index 313ebc8..9b3a0b4 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.utils.HttpHandler;
 import com.zy.erp.kingdee.enums.KingDeeUtilType;
 import lombok.extern.slf4j.Slf4j;
@@ -83,7 +84,8 @@
             if(bool.equals("true")){
                 success = true;
                 order.setSettle(8L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+//                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+                OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 8L, null);
             }
         } catch (Exception e) {
             log.error("fail", e);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
index 88134a3..65de7a7 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.utils.HttpHandler;
 import com.zy.erp.kingdee.enums.KingDeeUtilType;
 import lombok.extern.slf4j.Slf4j;
@@ -83,7 +84,9 @@
             if(bool.equals("true")){
                 success = true;
                 order.setSettle(6L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+//                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+                OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 6L, null);
+
             }
         } catch (Exception e) {
             log.error("fail", e);
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
index 7e922d6..32ead63 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.common.utils.HttpHandler;
 import com.zy.erp.kingdee.enums.KingDeeUtilType;
 import lombok.extern.slf4j.Slf4j;
@@ -83,7 +84,8 @@
             if(bool.equals("true")){
                 success = true;
                 order.setSettle(6L);
-                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+//                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
+                OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 6L, null);
             }
         } catch (Exception e) {
             log.error("fail", e);

--
Gitblit v1.9.1