From eeda896972c8408a797bab5980d732e4c8982e0a Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期三, 15 十月 2025 10:46:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java     |    5 +
 src/main/java/com/zy/asrs/service/OrderPakinService.java           |    4 +
 src/main/java/com/zy/asrs/entity/OrderDetlPakout.java              |   14 ++++
 src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java |    9 +++
 src/main/resources/mapper/OrderPakinMapper.xml                     |   13 ++++
 src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java       |   72 +++--------------------
 src/main/java/com/zy/asrs/entity/OrderDetlPakin.java               |   14 ++++
 src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java             |    3 +
 src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java            |    3 +
 src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java  |    9 +++
 src/main/resources/mapper/OrderPakoutMapper.xml                    |   13 ++++
 src/main/java/com/zy/asrs/service/OrderPakoutService.java          |    4 +
 12 files changed, 100 insertions(+), 63 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
index 19ed434..b9ea4ce 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -352,6 +352,20 @@
     @TableField("box_type3")
     private String boxType3 = "1";
 
+    /**
+     * 瀹藉害
+     */
+    @ApiModelProperty(value= "瀹藉害")
+    @TableField("width")
+    private Double width;
+
+    /**
+     * 楂樺害
+     */
+    @ApiModelProperty(value= "楂樺害")
+    @TableField("height")
+    private Double height;
+
     public OrderDetlPakin() {}
 
     public OrderDetlPakin(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double manLength, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
index 3af2a93..2c80df8 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -352,6 +352,20 @@
     @TableField("box_type3")
     private String boxType3 = "1";
 
+    /**
+     * 瀹藉害
+     */
+    @ApiModelProperty(value= "瀹藉害")
+    @TableField("width")
+    private Double width;
+
+    /**
+     * 楂樺害
+     */
+    @ApiModelProperty(value= "楂樺害")
+    @TableField("height")
+    private Double height;
+
     public OrderDetlPakout() {}
 
     public OrderDetlPakout(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double manLength, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
diff --git a/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java b/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
index cee44b4..9ec1c99 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
@@ -23,4 +23,7 @@
 
     OrderPakin selectOrderMoveStatus();
     OrderPakin selectOrderMoveStatusInitial();
+
+    List<String> AllStatusSatisfyOrder(@Param("moveStatus") Integer moveStatus);
+    boolean updateOrderStatus(@Param("orderNo")String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java b/src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
index 6682c7c..9fa6f80 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
@@ -23,4 +23,7 @@
 
     OrderPakout selectOrderMoveStatus();
     OrderPakout selectOrderMoveStatusInitial();
+
+    List<String> AllStatusSatisfyOrder(@Param("moveStatus") Integer moveStatus);
+    boolean updateOrderStatus(@Param("orderNo")String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderPakinService.java b/src/main/java/com/zy/asrs/service/OrderPakinService.java
index 34fd21b..dcaf604 100644
--- a/src/main/java/com/zy/asrs/service/OrderPakinService.java
+++ b/src/main/java/com/zy/asrs/service/OrderPakinService.java
@@ -34,4 +34,8 @@
     OrderPakin selectOrderMoveStatus();
     OrderPakin selectOrderMoveStatusInitial();
 
+    List<String> AllStatusSatisfyOrder(Integer moveStatus);
+
+    boolean updateOrderStatus(String orderNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderPakoutService.java b/src/main/java/com/zy/asrs/service/OrderPakoutService.java
index 60a6c8e..d0836cd 100644
--- a/src/main/java/com/zy/asrs/service/OrderPakoutService.java
+++ b/src/main/java/com/zy/asrs/service/OrderPakoutService.java
@@ -34,4 +34,8 @@
     OrderPakout selectOrderMoveStatus();
     OrderPakout selectOrderMoveStatusInitial();
 
+    List<String> AllStatusSatisfyOrder(Integer moveStatus);
+
+    boolean updateOrderStatus(String orderNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
index 2437d39..8bd39eb 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
@@ -201,4 +201,13 @@
         return this.baseMapper.selectOrderMoveStatusInitial();
     }
 
+    @Override
+    public List<String> AllStatusSatisfyOrder(Integer moveSatus){
+        return this.baseMapper.AllStatusSatisfyOrder(moveSatus);
+    }
+
+    @Override
+    public boolean updateOrderStatus(String orderNo){
+        return this.baseMapper.updateOrderStatus(orderNo);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
index 592f297..1301d0c 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
@@ -200,4 +200,13 @@
         return this.baseMapper.selectOrderMoveStatusInitial();
     }
 
+    @Override
+    public List<String> AllStatusSatisfyOrder(Integer moveSatus){
+        return this.baseMapper.AllStatusSatisfyOrder(moveSatus);
+    }
+
+    @Override
+    public boolean updateOrderStatus(String orderNo){
+        return this.baseMapper.updateOrderStatus(orderNo);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
index 192066f..3fae3ca 100644
--- a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -1,19 +1,16 @@
 package com.zy.asrs.task;
 
 import com.alibaba.fastjson.JSON;
-import com.zy.asrs.entity.BasArmMastSign;
-import com.zy.asrs.entity.BasArmRules;
-import com.zy.asrs.entity.OrderDetl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderToLine;
-import com.zy.asrs.service.BasArmMastSignService;
-import com.zy.asrs.service.BasArmRulesService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.*;
 import com.zy.asrs.service.impl.OrderDetlServiceImpl;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.OrderToLineHandler;
 import com.zy.asrs.utils.GroupedLockerOptimizerUtils;
 import com.zy.asrs.utils.OptimizedLockerPackingUtils;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.ToSortLineUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,9 +25,9 @@
 //璁㈠崟涓嬪彂鑷冲垎鎷g嚎
 public class OrderToSortLineScheduler {
     @Autowired
-    private OrderService orderService;
+    private OrderPakinService orderPakinService;
     @Autowired
-    private OrderDetlService orderDetlService;
+    private OrderDetlPakinService orderDetlPakinService;
     @Autowired
     private BasArmRulesService basArmRulesService;
     @Autowired
@@ -41,7 +38,7 @@
     @Scheduled(cron = "0/3 * * * * ? ")
     private void orderToSortLine() {
         //鑾峰彇鏈笅鍙戝崟鎹�
-        List<String> orderNos = orderService.AllStatusSatisfyOrder(0);
+        List<String> orderNos = orderPakinService.AllStatusSatisfyOrder(0);
         if(orderNos == null || orderNos.isEmpty()) {
 //            log.info("鏈湁鏂拌鍗�");
             return;
@@ -50,14 +47,14 @@
         //閬嶅巻鍗曟嵁
         for (String orderNo : orderNos) {
             try{
-                List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(orderNo);
+                List<OrderDetlPakin> orderDetlPakinList = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo));
 //                List<GroupedLockerOptimizerUtils.Item> items = new ArrayList<>();
-                if (orderDetls.size()<1){
+                if (orderDetlPakinList.size()<1){
                     continue;
                 }
-                
+
                 List<OptimizedLockerPackingUtils.Item> items = new ArrayList<>();
-                for (OrderDetl orderDetl:orderDetls){
+                for (OrderDetlPakin orderDetl:orderDetlPakinList){
                     Integer number =  basArmRulesService.getNumber(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight());
                     if (number == null) {
                         BasArmRules basArmRules = new BasArmRules();
@@ -111,53 +108,6 @@
                 log.error("涓嬪彂鍗曟嵁寮傚父,璺宠浆涓嬩竴涓鍗�===>"+e.getMessage());
             }
         }
-    }
-
-
-    private void groupRemainders(List<OrderDetl> sameMaterialList, double totalRemainder,
-                                 int number, List<OrderToLine.MatList> matLists) {
-        // 绛栫暐1: 濡傛灉浣欐枡鎬婚噺杈冨ぇ锛屽皾璇曞垎鎴愬涓悎鐞嗗ぇ灏忕殑缁�
-        if (totalRemainder > number * 0.6) {
-            // 鍙互鍒嗘垚2缁勬垨鏇村缁�
-            int suggestedGroups = (int) Math.ceil(totalRemainder / (number * 0.8));
-            distributeRemainders(sameMaterialList, totalRemainder, suggestedGroups, matLists);
-        } else {
-            // 灏忎綑鏂欏崟缁勫鐞�
-            Long bindingTag = System.currentTimeMillis();
-            matLists.add(createMatListItem(sameMaterialList.get(0), totalRemainder, bindingTag, true));
-        }
-    }
-
-
-    private void distributeRemainders(List<OrderDetl> sameMaterialList, double totalRemainder,
-                                      int groupCount, List<OrderToLine.MatList> matLists) {
-        double average = totalRemainder / groupCount;
-
-        for (int i = 0; i < groupCount; i++) {
-            double groupQuantity;
-            if (i == groupCount - 1) {
-                // 鏈�鍚庝竴缁勫彇鍓╀綑鎵�鏈�
-                groupQuantity = totalRemainder - (average * (groupCount - 1));
-            } else {
-                groupQuantity = average;
-            }
-
-            // 涓烘瘡缁勭敓鎴愬敮涓�鏍囪
-            Long groupTag = System.currentTimeMillis() + i;
-            matLists.add(createMatListItem(sameMaterialList.get(0), groupQuantity, groupTag, true));
-        }
-    }
-
-    private OrderToLine.MatList createMatListItem(OrderDetl orderDetl, Double quantity, Long bindingTag, boolean isRemainder) {
-        return new OrderToLine.MatList(
-                orderDetl.getMatnr(),
-                orderDetl.getSupp(),
-                quantity,
-                orderDetl.getBarcode(),
-                1,
-                isRemainder ? null : orderDetl.getOrigin(),
-                isRemainder ? bindingTag : System.currentTimeMillis()
-        );
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
index 143bc74..153f89d 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.entity.param.OrderToLine;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.BasArmRulesService;
+import com.zy.asrs.service.OrderPakinService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -27,7 +28,7 @@
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
-    private OrderService orderService;
+    private OrderPakinService orderPakinService;
 
     @Value("${line.address.URL}")
     //绔彛
@@ -54,7 +55,7 @@
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
-                    orderService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
+                    orderPakinService.updateOrderStatus(orderToline.getOrderNo());   //鏇存柊璁㈠崟鐘舵�� 0 -> 1
                 } else {
                     log.error("涓嬪彂鍗曟嵁锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+Path, JSON.toJSONString(orderToline), response);
                     throw new CoolException("涓嬪彂鍗曟嵁澶辫触");
diff --git a/src/main/resources/mapper/OrderPakinMapper.xml b/src/main/resources/mapper/OrderPakinMapper.xml
index cd82c6c..b7c2d36 100644
--- a/src/main/resources/mapper/OrderPakinMapper.xml
+++ b/src/main/resources/mapper/OrderPakinMapper.xml
@@ -101,4 +101,17 @@
         order by update_time
     </select>
 
+    <select id="AllStatusSatisfyOrder" resultType="String">
+        select order_no
+        from man_order_pakin
+        where move_status = #{moveStatus}
+    </select>
+
+    <update id="updateOrderStatus">
+        update man_order_pakin
+        set move_status = 1
+        where 1=1
+        and order_no = #{orderNo}
+    </update>
+
 </mapper>
diff --git a/src/main/resources/mapper/OrderPakoutMapper.xml b/src/main/resources/mapper/OrderPakoutMapper.xml
index 4f733a9..ab391cb 100644
--- a/src/main/resources/mapper/OrderPakoutMapper.xml
+++ b/src/main/resources/mapper/OrderPakoutMapper.xml
@@ -101,4 +101,17 @@
         order by update_time
     </select>
 
+    <select id="AllStatusSatisfyOrder" resultType="String">
+        select order_no
+        from man_order_pakout
+        where move_status = #{moveStatus}
+    </select>
+
+    <update id="updateOrderStatus">
+        update man_order_pakout
+        set move_status = 1
+        where 1=1
+        and order_no = #{orderNo}
+    </update>
+
 </mapper>

--
Gitblit v1.9.1