From 35dcba93ed8f31066d36aa5bd46bd6bd7e092bbe Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 24 四月 2022 23:14:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/OrderService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java |   28 ++++++--
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java |   92 +++++++++++++++++-------------
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java   |   14 +++-
 4 files changed, 85 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 08eae7a..588f64b 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -18,7 +18,7 @@
 
     void checkComplete(String orderNo);
 
-    boolean saveHandlerOrder(WrkMast wrkMast, List<WrkDetl> wrkDetls);
+    boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
 
     void remove(Long orderId);
 
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 f0bbfb5..1a1379e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.OpenOrderPakoutParam;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.entity.Order;
@@ -79,20 +80,31 @@
     }
 
     @Override
-    public boolean saveHandlerOrder(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+    public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) {
         try {
             List<DetlDto> detlDtos = new ArrayList<>();
             wrkDetls.forEach(wrkDetl -> {
                 detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()));
             });
-            // 鐢熸垚鍏ュ簱鍗曟嵁
             String orderNo = "HAND" + snowflakeIdWorker.nextId();
-            OpenOrderPakinParam openParam = new OpenOrderPakinParam();
-            openParam.setOrderNo(orderNo);
-            openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
-            openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
-            openParam.setOrderDetails(detlDtos);
-            openService.pakinOrderCreate(openParam);
+            if (pakin) {
+                // 鐢熸垚鍏ュ簱鍗曟嵁
+                OpenOrderPakinParam openParam = new OpenOrderPakinParam();
+                openParam.setOrderNo(orderNo);
+                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+                openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
+                openParam.setOrderDetails(detlDtos);
+                openService.pakinOrderCreate(openParam);
+            } else {
+                // 鐢熸垚鍑哄簱鍗曟嵁
+                OpenOrderPakoutParam openParam = new OpenOrderPakoutParam();
+                openParam.setOrderNo(orderNo);
+                openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+                openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
+                openParam.setOrderDetails(detlDtos);
+                openService.pakoutOrderCreate(openParam);
+            }
+
             Order order = this.selectByNo(orderNo);
             if (null == order) {
                 throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
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 dcb5a32..a94b4bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -5,9 +5,11 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.DocTypeService;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
@@ -38,56 +40,68 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private ApiLogService apiLogService;
+    @Autowired
+    private DocTypeService docTypeService;
 
     @Transactional
     public ReturnT<String> start(Order order) {
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-
-        MesPakinParam pakinParam = new MesPakinParam();
-        pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
-        pakinParam.setLgortFrom("5008");
-        pakinParam.setLgortTo("5006");
-        for (OrderDetl orderDetl : orderDetls) {
-            String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
-            pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+        DocType docType = docTypeService.selectById(order.getDocType());
+        if (null == docType) {
+            return SUCCESS;
         }
-        String response = "";
-        boolean success = false;
-        try {
-            response = new HttpHandler.Builder()
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+        // 鍏ュ簱瀹屾垚涓婃姤
+        if (docType.getPakin() == 1) {
+            MesPakinParam pakinParam = new MesPakinParam();
+            pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
+            pakinParam.setLgortFrom("5008");
+            pakinParam.setLgortTo("5006");
+            for (OrderDetl orderDetl : orderDetls) {
+                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)) {
-                success = true;
-                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-                if (!orderService.updateSettle(order.getId(), 6L, null)) {
-                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getInteger("code").equals(200)) {
+                    success = true;
+                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    }
+                } else {
+                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
+                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
                 }
-            } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
-                throw new CoolException("涓婃姤mes绯荤粺澶辫触");
-            }
-        } catch (Exception e) {
-            log.error("fail", e);
+            } catch (Exception e) {
+                log.error("fail", e);
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鎴愬搧搴撳叆搴撲笂鎶�",
-                        MesConstant.URL + MesConstant.PAKIN_URL,
-                        null,
-                        "127.0.0.1",
-                        JSON.toJSONString(pakinParam),
-                        response,
-                        success
-                );
-            } catch (Exception e) { log.error("", e); }
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "鎴愬搧搴撳叆搴撲笂鎶�",
+                            MesConstant.URL + MesConstant.PAKIN_URL,
+                            null,
+                            "127.0.0.1",
+                            JSON.toJSONString(pakinParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        // 鍑哄簱瀹屾垚涓婃姤
+        if (docType.getPakout() == 1) {
+            // todo
         }
         return SUCCESS;
     }
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 69cc3d3..173bc58 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -72,18 +72,26 @@
                     }
                     // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
                     if (!Cools.isEmpty(wrkDetls)) {
-                        if (!orderService.saveHandlerOrder(wrkMast, wrkDetls)) {
+                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
                             exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                     }
                 // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
-
+                    if (!Cools.isEmpty(wrkDetls)) {
+                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
+                            exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                        }
+                    }
                 }
 
             // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
-
+                if (!Cools.isEmpty(wrkDetls)) {
+                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
+                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                    }
+                }
             }
 
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�

--
Gitblit v1.9.1