From 0413bd96309c71a2dc3b292fa25f9ca22d268b46 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 20 六月 2025 09:44:06 +0800
Subject: [PATCH] #界面字段显示,订单已完成数量bug修复

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |    6 +++
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    2 +
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |    6 +++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java      |    9 ++++
 src/main/java/com/zy/asrs/entity/OutLocInfoDto.java              |   30 ++++++++++----
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java       |   22 ++++++++--
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java      |    7 ++-
 8 files changed, 68 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/OutLocInfoDto.java b/src/main/java/com/zy/asrs/entity/OutLocInfoDto.java
index b97eeed..607c133 100644
--- a/src/main/java/com/zy/asrs/entity/OutLocInfoDto.java
+++ b/src/main/java/com/zy/asrs/entity/OutLocInfoDto.java
@@ -45,15 +45,15 @@
          */
         private String orderNo;
 
-        /**
-         * 瀹㈡埛鍚嶇О
-         */
-        private String customerName;
-
-        /**
-         * 璁㈠崟澶囨敞
-         */
-        private String memo;
+//        /**
+//         * 瀹㈡埛鍚嶇О
+//         */
+//        private String customerName;
+//
+//        /**
+//         * 璁㈠崟澶囨敞
+//         */
+//        private String memo;
 
         /**
          * 璁㈠崟鏄庣粏鎬绘暟
@@ -69,6 +69,7 @@
          * 宸ヤ綔涓鍗曟槑缁嗘暟
          */
         private Integer workQuantity;
+        private Integer completeQuantity;
 
         @Data
         public static class MaterialDetail {
@@ -101,6 +102,17 @@
             private Double length;
 
             private Double volume;
+            /**
+             * 瀹㈡埛鍚嶇О
+             */
+            private String customerName;
+
+            /**
+             * 璁㈠崟澶囨敞
+             */
+            private String memo;
+
+
         }
 
     }
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 4671efa..64b8ab3 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -63,4 +63,6 @@
      * 鑾峰彇鍖呰缁勫彿鍒楄〃
      */
     List<String> selectDetlList(@Param("orderNo") String orderNo);
+
+    List<OrderDetl> selectByBrand(@Param("brand") String brand);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ecf08d2..475cf80 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -37,4 +37,6 @@
      * @return
      */
     boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+
+    List<OrderDetl> selectByBrand(String brand);
 }
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 965d52b..7322481 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2013,6 +2013,8 @@
                 materialDetail.setWeight(wrkDetl.getWeight());
                 materialDetail.setLength(wrkDetl.getLength());
                 materialDetail.setVolume(wrkDetl.getVolume());
+                materialDetail.setCustomerName(wrkDetl.getSupp());
+                materialDetail.setMemo(wrkDetl.getMemo());
                 material.setBoxPos(wrkDetl.getOrigin()); // 鎵樼洏涓婃湪绠变綅缃�
                 materialDetailList.add(materialDetail);
             }
@@ -2022,14 +2024,15 @@
                 Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
                 if (order != null) {
                     material.setOrderNo(order.getOrderNo());
-                    material.setMemo(order.getMemo());
-                    material.setCustomerName(order.getCstmrName());
+//                    material.setMemo(order.getMemo());
+//                    material.setCustomerName(order.getCstmrName());
                     List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders(order.getOrderNo());
                     if (unfulfilledOrders.size() == 1) {
                         OrderStatisticsDto orderStatisticsDto = unfulfilledOrders.get(0);
                         material.setSum(orderStatisticsDto.getSum());
                         material.setToShipQuantity(orderStatisticsDto.getToShipQuantity());
                         material.setWorkQuantity(orderStatisticsDto.getWorkQuantity());
+                        material.setCompleteQuantity(orderStatisticsDto.getCompletedQuantity());
                     }
                 }
             }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 327edbb..4598dff 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.service.OrderDetlService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.poi.poifs.crypt.dsig.OOXMLURIDereferencer;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -90,4 +91,9 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
     }
+
+    @Override
+    public List<OrderDetl> selectByBrand(String brand) {
+        return this.baseMapper.selectByBrand(brand);
+    }
 }
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 3f19760..2f2eb5d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -385,7 +385,16 @@
             for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                 if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
                 WrkDetl wrkDetl = new WrkDetl();
+                List<OrderDetl> orderDetl = orderDetlService.selectByBrand(detlDto.getLocDetl().getBrand());
                 wrkDetl.sync(detlDto.getLocDetl());
+                for (OrderDetl orderDetlDto : orderDetl) {
+                    if(orderDetlDto.getSupp() != null){
+                        wrkDetl.setSupp(orderDetlDto.getSupp());
+                    }
+                    if(orderDetlDto.getMemo() != null){
+                        wrkDetl.setMemo(orderDetlDto.getMemo());
+                    }
+                }
                 wrkDetl.setOrderNo(detlDto.getOrderNo()); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(now);
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 4fa2fce..68e2b2a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -12,6 +13,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import javax.annotation.Resource;
 import java.util.Iterator;
 import java.util.List;
 
@@ -40,6 +42,9 @@
     private WrkMastStaService wrkMastStaService;
     @Autowired
     private WrkMastStaLogService wrkMastStaLogService;
+
+    @Resource
+    private OrderDetlMapper orderDetlMapper;
 
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
@@ -91,11 +96,18 @@
 
             // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
-//                if (!Cools.isEmpty(wrkDetls)) {
-//                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
-//                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
-//                    }
-//                }
+                List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetls101.isEmpty()) {
+//                        exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                }
+                for (WrkDetl wrkDetl : wrkDetls101) {
+                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand());
+                    }
+                }
             }
 
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 424275d..2cec33a 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -264,4 +264,10 @@
         </foreach>
     </update>
 
+    <select id="selectByBrand" resultMap="BaseResultMap">
+        select *
+        from man_order_detl
+        where brand = #{brand}
+    </select>
+
 </mapper>

--
Gitblit v1.9.1