From 15d33ed37d1c8b12659716ee806d3f6ace4317a4 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 05 九月 2024 11:06:47 +0800
Subject: [PATCH] 订单上报mes修改

---
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java |   38 ++++++------
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java  |   34 ++++++-----
 src/main/java/com/zy/asrs/task/GhjtScheduler.java            |   48 ++++++++++++---
 src/main/java/com/zy/asrs/task/handler/GhjtHandler.java      |   55 +-----------------
 4 files changed, 79 insertions(+), 96 deletions(-)

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 952e6da..b3f1cd5 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -74,25 +74,25 @@
             // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
             DocType docType = docTypeService.selectById(order.getDocType());
             if (null != docType && docType.getPakout() == 1) {
-                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
-                    throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                }
-                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
-                for (WrkDetl wrkDetl : wrkDetls) {
-                    OrderDetl orderDetl = new OrderDetl();
-                    orderDetl.sync(wrkDetl);
-                    orderDetl.setQty(orderDetl.getAnfme());
-                    orderDetl.setOrderId(order.getId());
-                    orderDetl.setOrderNo(orderNo);
-                    orderDetl.setStatus(1);
-                    orderDetl.setCreateTime(order.getCreateTime());
-                    orderDetl.setCreateBy(order.getCreateBy());
-                    orderDetl.setUpdateTime(order.getUpdateTime());
-                    orderDetl.setUpdateBy(order.getUpdateBy());
-                    if (!orderDetlService.insert(orderDetl)) {
-                        throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-                    }
-                }
+//                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
+//                    throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
+//                }
+//                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
+//                for (WrkDetl wrkDetl : wrkDetls) {
+//                    OrderDetl orderDetl = new OrderDetl();
+//                    orderDetl.sync(wrkDetl);
+//                    orderDetl.setQty(orderDetl.getAnfme());
+//                    orderDetl.setOrderId(order.getId());
+//                    orderDetl.setOrderNo(orderNo);
+//                    orderDetl.setStatus(1);
+//                    orderDetl.setCreateTime(order.getCreateTime());
+//                    orderDetl.setCreateBy(order.getCreateBy());
+//                    orderDetl.setUpdateTime(order.getUpdateTime());
+//                    orderDetl.setUpdateBy(order.getUpdateBy());
+//                    if (!orderDetlService.insert(orderDetl)) {
+//                        throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
+//                    }
+//                }
             }
 
             if (!this.updateSettle(order.getId(), 4L, null)) {
diff --git a/src/main/java/com/zy/asrs/task/GhjtScheduler.java b/src/main/java/com/zy/asrs/task/GhjtScheduler.java
index 15b27c5..f145c11 100644
--- a/src/main/java/com/zy/asrs/task/GhjtScheduler.java
+++ b/src/main/java/com/zy/asrs/task/GhjtScheduler.java
@@ -6,6 +6,8 @@
 import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.task.handler.GhjtHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.mapper.ConfigMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -31,6 +33,25 @@
     @Resource
     private OrderMapper orderMapper;
 
+    @Resource
+    private ConfigMapper configMapper;
+
+    // 澶囪揣(鏍规嵁鍑哄簱鍗曪紝鎶婅鍑虹殑璐ф彁鍓嶆斁鍒伴潬杩戝嚭搴撳彛浣嶇疆)
+//    @Scheduled(cron = "0/4 * * * * ? ")
+    public void stockUp() {
+        // 鏌ヨ寰呭嚭搴撹鍗�
+        List<Order> orderList = orderMapper.selectList(new EntityWrapper<Order>().eq("settle", 1));
+//        ghjtHandler.stockUp();
+        List<Order> orders = orderMapper.selectComplete();
+        for (Order order : orders) {
+            try {
+//                ghjtHandler.OutBoundCompleteReport(order);
+            } catch (Exception e) {
+                log.error("鍑哄簱璁㈠崟瀹屾垚鍒欎笂鎶ES澶辫触锛屽紓甯镐俊鎭細" + e);
+            }
+        }
+    }
+
     // 涓嬪彂鍑哄簱浠诲姟缁橤WCS(浠庡嚭搴撶爜澶村埌鍑哄簱鍙�)
     @Scheduled(cron = "0/2 * * * * ? ")
     public void ckrwPushGwcs() {
@@ -45,17 +66,22 @@
         }
     }
 
-    // 鍑哄簱璁㈠崟瀹屾垚鍒欎笂鎶ES
-//    @Scheduled(cron = "0/4 * * * * ? ")
-    public void OutBoundCompleteReport() {
-        // 鏌ヨ鍑哄簱璁㈠崟鐘舵�佷负4.宸插畬鎴�
-        List<Order> orders = orderMapper.selectComplete();
-        for (Order order : orders) {
-            try {
-                ghjtHandler.OutBoundCompleteReport(order);
-            } catch (Exception e) {
-                log.error("鍑哄簱璁㈠崟瀹屾垚鍒欎笂鎶ES澶辫触锛屽紓甯镐俊鎭細" + e);
-            }
+    // 绌洪棽鐞嗚揣
+    @Scheduled(cron = "0/5 * * * * ? ")
+    public void autoTallyGoods() {
+        // 绯荤粺閰嶇疆鐣岄潰鍚敤
+        Config config = configMapper.selectConfigByCode("auto_tally_goods");
+        if (config == null || config.getStatus() == 0) {
+            return;
         }
+        // 鍥涗釜鎹㈢洏鐐癸紝涓や釜缁勭洏鐐�
+        // 鍏堟煡浠诲姟鐩爣绔欎负 3045/3044鍜�3041/3040鐨勬崲鐩樼粍 濡傛灉鏈変负绌虹殑缁勫垯鍙互鍑猴紝鏈変竴涓垨涓や釜閮戒笉鑳藉嚭
+        // todo 闇�鏂板涓や釜鍏ュ簱璺緞 3046/3042
+        // 瀵绘壘涓や釜鑳界粍鐩樼殑搴撲綅锛屽簱浣嶇姸鎬佷负F锛屾弧瓒崇粍鐩樻潯浠�
+        // 鍑哄簱鎬庝箞鍑猴紝鎵嶈兘鎶婄粍濂界殑鐩樹竴娆″嚭鍑哄幓
+        // gwcs鎬庝箞淇濊瘉涓や釜閮芥媶瀹屼簡鎵嶈姹傜粍鐩樺畬鎴�
+
+
     }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
index d8243c6..60150c6 100644
--- a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
@@ -4,9 +4,9 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.ApiLogService;
@@ -45,6 +45,9 @@
 
     @Resource
     private WrkDetlService wrkDetlService;
+
+    @Resource
+    private OrderDetlMapper orderDetlMapper;
 
     @Transactional
     public void startCkrwPushGwcs(WrkMast wrkMast) {
@@ -155,54 +158,4 @@
         return flag;
     }
 
-    @Transactional
-    public void OutBoundCompleteReport(Order order) {
-
-        // 鑾峰彇璇锋眰澶�
-        Map<String, Object> headers = new HashMap<>();
-        headers.put("Content-Type", "application/json;charset=UTF-8");
-
-        // 鏋勯�犺姹備綋
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("orderNo", order.getOrderNo());
-        jsonObject.put("complete", 1); // 璁㈠崟瀹屾垚涓�1锛屽叾浠�...
-        String body = jsonObject.toJSONString();
-
-        boolean success = false;
-        String response = "";
-        try {
-            response = new HttpHandler.Builder()
-                    .setUri(MesConstant.URL)
-                    .setPath(MesConstant.PAKIN_URL)
-                    .setHeaders(headers)
-                    .setJson(body)
-                    .build()
-                    .doPost();
-            if (!Cools.isEmpty(response)) {
-                order.setSettle(6L);
-                orderMapper.updateById(order);
-                success = true;
-            } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response);
-                throw new CoolException("涓嬪彂鍑哄簱浠诲姟缁橤WCS(浠庡嚭搴撶爜澶村埌鍑哄簱鍙�)澶辫触");
-            }
-        } catch (Exception e) {
-            log.error("鍑哄簱璁㈠崟瀹屾垚涓婃姤MES寮傚父锛屽伐浣滃彿锛歿}锛寋}", order.getOrderNo(), e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鍑哄簱璁㈠崟瀹屾垚涓婃姤MES",
-                        MesConstant.URL + MesConstant.PAKIN_URL,
-                        null,
-                        "127.0.0.1",
-                        jsonObject.toJSONString(),
-                        response,
-                        success
-                );
-            } catch (Exception e) {
-                log.error("鎺ュ彛鏃ュ織淇濆瓨寮傚父", e);
-            }
-        }
-    }
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 3d0c777..042a645 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -457,22 +457,26 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls111) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (orderDetl == null) {
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+                            // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                            orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand());
                         }
-                        try {
-                            if (!Cools.isEmpty(orderDetl)) {
-                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
-//                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
-                                }
-                            }
-                        } catch (Exception ignore) {
-                        }
+//                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+//                        if (orderDetl == null) {
+//                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+//                        }
+//                        try {
+//                            if (!Cools.isEmpty(orderDetl)) {
+//                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+//                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+////                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+////                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+//                                }
+//                            }
+//                        } catch (Exception ignore) {
+//                        }
                     }
                     break;
                 default:

--
Gitblit v1.9.1