From ddc6cd417d5e912d5cba297bb7849a1dcf7367be Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 27 四月 2025 11:01:41 +0800
Subject: [PATCH] 获取未完成订单统计信息

---
 src/main/resources/mapper/OrderMapper.xml                   |   17 ++++++++
 src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java    |   39 +++++++++++++++++++
 src/main/java/com/zy/asrs/controller/OpenController.java    |    9 ++++
 src/main/java/com/zy/asrs/mapper/OrderMapper.java           |    6 +++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   11 +++++
 src/main/java/com/zy/asrs/service/OpenService.java          |    6 +++
 6 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 4fb2c64..c07c41c 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -185,6 +185,15 @@
         return openService.kxlhCdwc(param);
     }
 
+    @PostMapping("/getUnfulfilledOrders")
+    @AppAuth(memo = "鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�")
+    public synchronized R getUnfulfilledOrders(@RequestHeader(required = false) String appkey,
+                                   HttpServletRequest request) {
+        auth(appkey, null, request);
+        return openService.getUnfulfilledOrders();
+    }
+
+
     /*@PostMapping("/order/matSync/default/v1")
     @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
     public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
diff --git a/src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java b/src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java
new file mode 100644
index 0000000..c70b469
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java
@@ -0,0 +1,39 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+/**
+ * @author pang.jiabao
+ * @description 鏈畬鎴愯鍗曠粺璁′俊鎭�
+ * @createDate 2025/4/27 10:39
+ */
+@Data
+public class OrderStatisticsDto {
+
+    /**
+     * 璁㈠崟鍙�
+     */
+    private String orderNo;
+
+    /**
+     * 璁㈠崟鏄庣粏鎬绘暟
+     */
+    private Integer sum;
+
+    /**
+     * 鏈鐞嗚鍗曟槑缁嗘暟
+     */
+    private Integer toShipQuantity;
+
+    /**
+     * 宸ヤ綔涓鍗曟槑缁嗘暟
+     */
+    private Integer workQuantity;
+
+    /**
+     * 宸插畬鎴愯鍗曟槑缁嗘暟
+     */
+    private Integer completedQuantity;
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
index d2885fb..8cdf6be 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderStatisticsDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -41,4 +42,9 @@
      * 鏍规嵁鍗曟嵁缂栧彿妯$硦鏌ヨ鍗曟嵁缂栧彿
      */
     List<String> selectOrderNosByOrderNoLike(@Param("orderNo") String orderNo);
+
+    /**
+     * 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�
+     */
+    List<OrderStatisticsDto> getUnfulfilledOrders();
 }
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 99e97cf..aab0d10 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -86,6 +86,12 @@
     R requestXhd(String barcode);
 
     /**
+     * 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�
+     */
+    R getUnfulfilledOrders();
+
+
+    /**
      * 娣诲姞鍏ュ簱鍗�
      */
     void pakinOrderCreate(OpenOrderPakinParam 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 9114323..eb6bf8a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.entity.result.ZphjcdwcVo;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.mapper.MatMapper;
+import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
@@ -107,6 +108,9 @@
 
     @Resource
     private ConfigMapper configMapper;
+
+    @Resource
+    private OrderMapper orderMapper;
 
     @Override
     @Transactional
@@ -1962,6 +1966,13 @@
 
     }
 
+    @Override
+    public R getUnfulfilledOrders() {
+        // 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�
+        List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders();
+        return R.ok(unfulfilledOrders);
+    }
+
     /**
      * 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
      */
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 54d4bb0..4f69b06 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -113,5 +113,22 @@
     <select id="selectOrderNosByOrderNoLike" resultType="java.lang.String">
         select order_no from man_order where settle = 4 and order_no like '%' + #{orderNo} + '%' and doc_type in(21,23)
     </select>
+    <select id="getUnfulfilledOrders" resultType="com.zy.asrs.entity.OrderStatisticsDto">
+        select
+            mo.order_no orderNo,
+            count(mo.order_no) sum,
+	        count(case when md.work_qty = 0 then 1 end) toShipQuantity,
+	        count(case when md.work_qty != 0 and md.qty = 0 then 1 end) workQuantity,
+		count(case when md.anfme = md.qty then 1 end) completedQuantity
+        from
+            man_order mo
+            LEFT JOIN man_order_detl md on
+            mo.id = md.order_id
+        where
+            mo.doc_type = 21
+          and mo.settle in(1, 2)
+        GROUP BY
+            mo.order_no
+    </select>
 
 </mapper>

--
Gitblit v1.9.1