From c0586c8f9da15829be14077c2a1c22caa1e8cf83 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 15 三月 2024 14:37:42 +0800
Subject: [PATCH] 查看单据明细时显示该物料在立库和平库中的库存

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |   12 ++++++
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    9 ++++
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |   16 ++++++++
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   22 +++++++++--
 src/main/webapp/static/js/order/order.js                         |    9 ++++
 src/main/java/com/zy/asrs/controller/OrderDetlController.java    |    9 ++++
 6 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 16a7660..4a0f5b3 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -47,7 +47,14 @@
             wrapper.orderBy("create_time", false);
         }
         wrapper.eq("status", 1);
-        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+        Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+        // 鏍规嵁鍟嗗搧缂栧彿鍜屾壒鍙凤紝鍒嗗埆鍦ㄧ珛搴撳拰骞冲簱搴撳瓨琛ㄤ腑鏌ヨ鍏跺瓨閲忥紝骞跺瓨鍏ヤ袱涓复鏃跺睘鎬т腑
+        orderDetlPage.getRecords().forEach(orderDetl -> {
+            Map<String, Long> map = orderDetlService.selectCountByMatnr(orderDetl.getMatnr(), orderDetl.getBatch());
+            orderDetl.setSupp(String.valueOf(map.get("asrCount")));
+            orderDetl.setSuppCode(String.valueOf(map.get("manCount")));
+        });
+        return R.ok(orderDetlPage);
     }
 
     @RequestMapping(value = "/orderDetl/pakout/list/auth")
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 79db4e5..497cc9d 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -40,4 +40,20 @@
     Integer sameOrderComb(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
 
     int increaseAnfme(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+
+    /**
+     * 鏍规嵁鍟嗗搧缂栫爜鍜屾壒鍙峰垎鍒煡璇㈠湪骞冲簱璇ョ墿鏂欏簱瀛�
+     * @param matnr 鍟嗗搧缂栧彿
+     * @param batch 鎵瑰彿
+     * @return 搴撳瓨鏁伴噺
+     */
+    Long selectCountToAsrByMatnr(@Param("matnr") String matnr,@Param("batch") String batch);
+
+    /**
+     * 鏍规嵁鍟嗗搧缂栫爜鍜屾壒鍙峰垎鍒煡璇㈠湪绔嬪簱璇ョ墿鏂欏簱瀛�
+     * @param matnr 鍟嗗搧缂栧彿
+     * @param batch 鎵瑰彿
+     * @return 搴撳瓨鏁伴噺
+     */
+    Long selectCountToManByMatnr(@Param("matnr") String matnr,@Param("batch") String batch);
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 76c4d3c..78708f9 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -5,6 +5,7 @@
 import com.zy.asrs.entity.OrderDetl;
 
 import java.util.List;
+import java.util.Map;
 
 public interface OrderDetlService extends IService<OrderDetl> {
 
@@ -43,4 +44,12 @@
     Integer sameOrderComb(String orderNo, String matnr, String batch);
 
     boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty);
+
+    /**
+     * 鏍规嵁鍟嗗搧缂栫爜鍜屾壒鍙峰垎鍒煡璇㈠湪骞冲簱鍜岀珛搴撹鐗╂枡搴撳瓨
+     * @param matnr 鍟嗗搧缂栫爜
+     * @param batch 鎵瑰彿
+     * @return 杩斿洖涓や釜閿�煎锛宎srCount鍦ㄧ珛搴撳簱瀛橈紝manCount鍦ㄥ钩搴撳簱瀛�
+     */
+    Map<String,Long> selectCountByMatnr(String matnr, String batch);
 }
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 9cc6040..db16b05 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -2,17 +2,23 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.Cools;
-import com.zy.asrs.mapper.OrderDetlMapper;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.OrderDetlService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service("orderDetlService")
 public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
+
+    @Resource
+    private OrderDetlMapper orderDetlMapper;
 
     @Override
     public List<OrderDetl> selectByOrderId(Long orderId) {
@@ -113,4 +119,12 @@
     public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty) {
         return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty) > 0;
     }
+
+    @Override
+    public Map<String, Long> selectCountByMatnr(String matnr, String batch) {
+        Map<String,Long> map = new HashMap<>();
+        map.put("asrCount",orderDetlMapper.selectCountToAsrByMatnr(matnr, batch));
+        map.put("manCount",orderDetlMapper.selectCountToManByMatnr(matnr, batch));
+        return map;
+    }
 }
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index ebca6c0..d7238bd 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -142,6 +142,18 @@
             </otherwise>
         </choose>
     </select>
+    <select id="selectCountToAsrByMatnr" resultType="java.lang.Long">
+        SELECT ISNULL(SUM(anfme), 0) FROM asr_loc_detl WHERE matnr = #{matnr}
+        <if test="batch!=null and batch!='' ">
+            and batch = #{batch}
+        </if>
+    </select>
+    <select id="selectCountToManByMatnr" resultType="java.lang.Long">
+        SELECT ISNULL(SUM(anfme), 0) FROM man_loc_detl WHERE matnr = #{matnr}
+        <if test="batch!=null and batch!='' ">
+            and batch = #{batch}
+        </if>
+    </select>
 
     <update id="increase">
         update man_order_detl
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 5e9fe59..8056ca0 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -136,8 +136,17 @@
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
                             {field: 'batch', title: '鎵瑰彿'},
                             {field: 'anfme', title: '鏁伴噺'},
+                            {field: 'supp', title: '绔嬪簱搴撳瓨', templet: function (item){
+                                    if(item.supp >= item.anfme)   return `<span style="color: #00FF00">${item.supp}</span>`;
+                                    else return `<span style="color: red">${item.supp}</span>`;
+                                }},
+                            {field: 'suppCode', title: '骞冲簱搴撳瓨' , templet: function (item){
+                                if(item.suppCode >= item.anfme)   return `<span style="color: #00FF00">${item.suppCode}</span>`;
+                                else return `<span style="color: red">${item.suppCode}</span>`;
+                                }},
                             {field: 'workQty', title: '浣滀笟鏁伴噺'},
                             {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
+                            {field: 'workQty', title: '浣滀笟鏁伴噺'},
                             // {field: 'unit', title: '鍗曚綅'},
                             // {
                             //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {

--
Gitblit v1.9.1