From 6f088dc1cb716e345da064a5e89f148bd248c75d Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 30 四月 2024 10:54:51 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderDetlMapper.xml                    |   27 +++++++++++++
 src/main/java/com/zy/asrs/controller/OrderController.java        |   39 ++++++++++---------
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |    4 ++
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |    9 ++++
 5 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index cab72f4..cf452b0 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -130,25 +130,26 @@
                         @RequestParam(required = false)String orderByField,
                         @RequestParam(required = false)String orderByType,
                         @RequestParam Map<String, Object> param){
-        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
-        excludeTrash(param);
-        convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
-            wrapper.orderBy("create_time", false);
-        }
-        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
-        List<Long> docIds = new ArrayList<>();
-        for (DocType pakin : pakins) {
-            docIds.add(pakin.getDocId());
-        }
-        EntityWrapper<Order> orderEntityWrapper = new EntityWrapper<>();
-        List<Order> orders = orderService.selectList(orderEntityWrapper.in("doc_type",docIds));
-        List<String> orderNos = new ArrayList<>();
-        for (Order order : orders) {
-            orderNos.add(order.getOrderNo());
-        }
-        wrapper.in("order_no",orderNos);
-        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+        return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetl.class)));
+//        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+//        excludeTrash(param);
+//        convert(param, wrapper);
+//        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+//            wrapper.orderBy("create_time", false);
+//        }
+//        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
+//        List<Long> docIds = new ArrayList<>();
+//        for (DocType pakin : pakins) {
+//            docIds.add(pakin.getDocId());
+//        }
+//        EntityWrapper<Order> orderEntityWrapper = new EntityWrapper<>();
+//        List<Order> orders = orderService.selectList(orderEntityWrapper.in("doc_type",docIds));
+//        List<String> orderNos = new ArrayList<>();
+//        for (Order order : orders) {
+//            orderNos.add(order.getOrderNo());
+//        }
+//        wrapper.in("order_no",orderNos);
+//        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
     @RequestMapping(value = "/order/detl/all/auth")
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index c5de0d9..31be85f 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -47,4 +47,8 @@
 
     List<OrderDetl> getPakoutDetlPage(Map<String, Object> map);
 
+    List<OrderDetl> getOrderDetlByDoctype(Map<String, Object> map);
+
+    Integer getOrderDetlByDoctypeCount(Map<String, Object> map);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index eb0b734..1a7f9c1 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -12,6 +12,8 @@
 
     Page<OrderDetl> getPakoutPage(Page<OrderDetl> page);
 
+    Page<OrderDetl> getOrderDetlByDoctype(Page<OrderDetl> page);
+
     OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode);
 
     OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode);
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 0f8c4b7..9b99ae0 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -26,7 +26,14 @@
     @Override
     public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) {
         page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
-        page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
+        //page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
+        return page;
+    }
+
+    @Override
+    public Page<OrderDetl> getOrderDetlByDoctype(Page<OrderDetl> page) {
+        page.setRecords(baseMapper.getOrderDetlByDoctype(page.getCondition()));
+        page.setTotal(baseMapper.getOrderDetlByDoctypeCount(page.getCondition()));
         return page;
     }
 
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 92bf0a8..339287a 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -299,4 +299,31 @@
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
+    <select id="getOrderDetlByDoctype" resultMap="BaseResultMap">
+        select * from
+        (
+            SELECT
+                *
+            FROM
+                man_order_detl mod
+                LEFT JOIN man_order mo ON mo.id = mod.order_id
+            WHERE
+                1 = 1
+              AND mo.doc_type = ?
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+    </select>
+
+    <select id="getOrderDetlByDoctypeCount" parameterType="java.util.Map" resultType="java.lang.Integer">
+        select
+        count(1)
+        from man_order_detl mod
+        inner join man_order mo on mod.order_id = mo.id
+        inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
+        where 1=1
+        and mo.settle &lt;= 2
+        and mo.status = 1
+        and mdt.pakout = 1
+        <include refid="pakOutPageCondition"></include>
+    </select>
+
 </mapper>

--
Gitblit v1.9.1