From df115aec77ff63d19e74193478b46bcc6bbc4f09 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 12 九月 2025 17:05:24 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/OrderMapper.xml                           |   16 ++++++++
 src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java |   18 +++++++++
 src/main/java/com/zy/asrs/controller/OpenController.java            |    2 
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java              |   23 +++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |   30 +++++++-------
 src/main/java/com/zy/asrs/service/OpenService.java                  |    2 
 6 files changed, 74 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 3114ac3..f3a5d9b 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -495,7 +495,7 @@
     @PostMapping("/returnOrder/auth/v1")
     @AppAuth(memo = "閫�搴撳崟鍗曟嵁涓嬪彂")
     public synchronized R returnOrder(@RequestHeader(required = false) String appkey,
-                                            @RequestBody GroupOrderConfirmParam param,
+                                            @RequestBody ReturnOrderConfirmParam param,
                                             HttpServletRequest request) {
         auth(appkey, param, request);
         openService.returnOrder(param);
diff --git a/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java b/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java
new file mode 100644
index 0000000..7f8650c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ReturnOrderConfirmParam {
+    private String orderNumber; //缁勮揣鍗曞彿
+    private String packageGroupNo; // 澶氫釜鍖呰缁勫彿
+    private List<VolumeNumber> volumeNumbers; // 澶氫釜鍖呰缁勫彿
+
+
+    @Data
+    public static class VolumeNumber {
+        private String volumeNumber;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index d49a933..da9ddc7 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -156,7 +156,7 @@
 
     R groupOrderConfirm(GroupOrderConfirmParam param);
 
-    R returnOrder(GroupOrderConfirmParam param);
+    R returnOrder(ReturnOrderConfirmParam param);
 
 
 }
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 a2ac7e5..8879063 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2344,16 +2344,19 @@
 
     @Override
     @Transactional
-    public R returnOrder(GroupOrderConfirmParam param) {
+    public R returnOrder(ReturnOrderConfirmParam param) {
+        if (Cools.isEmpty(param.getOrderNumber())) {
+            param.setOrderNumber("THCK" + snowflakeIdWorker.nextId() + "");
+        }
         // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪
-        Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber());
+        Order order = orderMapper.selectOrderByOrderNo(param.getOrderNumber());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
         if (order == null) {
             // 1.1 涓嶅瓨鍦紝鏂板缓鍗曟嵁
             order = new Order();
-            order.setOrderNo(param.getGroupOrderNumber());
-            order.setStatus(Integer.valueOf(param.getGroupStatus()));
+            order.setOrderNo(param.getOrderNumber());
+            order.setStatus(1);
             order.setOrderTime(sdf.format(new Date()));
             order.setCreateTime(new Date());
             order.setSettle(1L);
@@ -2361,34 +2364,31 @@
             orderMapper.insert(order);
         } else {
             // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
-            order.setStatus(Integer.valueOf(param.getGroupStatus()));
+            order.setStatus(1);
             orderMapper.updateById(order);
         }
         orderDetlMapper.delete(
-                new EntityWrapper<OrderDetl>().eq("order_no", param.getGroupOrderNumber())
+                new EntityWrapper<OrderDetl>().eq("order_no", param.getOrderNumber())
         );
 
         // 2. 涓�涓�瀵瑰簲閬嶅巻
-        List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos();
-        List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
+        List<ReturnOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
 
-        int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫
-        for (int i = 0; i < size; i++) {
-            GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i);
-            GroupOrderConfirmParam.VolumeNumber vn = volList.get(i);
+        for (int i = 0; i < volList.size(); i++) {
+            ReturnOrderConfirmParam.VolumeNumber vn = volList.get(i);
 
             // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl
             OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo(
-                    param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber()
+                    param.getOrderNumber(), param.getPackageGroupNo(), vn.getVolumeNumber()
             );
 
             if (detl == null) {
                 detl = new OrderDetl();
                 detl.setOrderId(order.getId());
-                detl.setOrderNo(param.getGroupOrderNumber());
+                detl.setOrderNo(param.getOrderNumber());
                 detl.setCreateTime(new Date());
                 detl.setAnfme(1.0);
-                detl.setBrand(pg.getPackageGroupNo());   // 鍖呰缁勫彿
+                detl.setBrand(param.getPackageGroupNo());   // 鍖呰缁勫彿
                 detl.setModel(vn.getVolumeNumber());     // 鍗峰彿
                 orderDetlMapper.insert(detl);
             }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 10d0ebb..8a59743 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -74,6 +74,29 @@
 
     }
 
+    @Scheduled(cron = "0/9 * * * * ? ")
+    @Async("orderThreadPool")
+    public void completeAndReport2() {
+        Config config = configMapper.selectConfigByCode("RETURN_REPORT");
+        if (config == null || config.getStatus() == 0 || Cools.isEmpty(config.getValue())) {
+            return;
+        }
+
+        List<Order> orders = orderService.selectComplete();
+        for (Order order : orders) {
+            try {
+                ReturnT<String> result = orderSyncHandler.start(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+                }
+            } catch (Exception e) {
+                log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+                log.error("璁㈠崟" + order + "澶勭悊澶辫触锛屽紓甯镐俊鎭細" + e);
+            }
+        }
+
+    }
+
 
     @Scheduled(cron = "0/30 * * * * ? ")
     public void complete() {
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 7377a19..2d0db2c 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -85,6 +85,22 @@
             mo.create_time asc
     </select>
 
+    <select id="selectComplete2" resultMap="BaseResultMap">
+        select
+            top 5 mo.*
+        from
+            man_order mo
+                inner join man_doc_type mt on
+                mo.doc_type = mt.doc_id
+        where
+            mt.pakout = 1
+          and mo.settle = 5
+          and mo.status = 1
+          and mo.doc_type = 26
+        order by
+            mo.create_time asc
+    </select>
+
     <insert id="addToLogTable">
         INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id}
     </insert>

--
Gitblit v1.9.1