From 8b015b321d4efd4989adaefc1192919f559abf7e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 13 四月 2024 15:04:08 +0800
Subject: [PATCH] 拣货单增加按照日期查找搜索

---
 src/main/java/com/zy/asrs/controller/ManPakOutController.java    |   15 +++++++++++----
 src/main/resources/mapper/ManPakOutMapper.xml                    |   19 +++++++++++++------
 src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java |    9 +++++----
 src/main/java/com/zy/asrs/service/ManPakOutService.java          |    5 +++--
 src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java            |    5 +++--
 5 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
index 7fd3310..5caf5ed 100644
--- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java
+++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
@@ -9,7 +9,6 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.entity.param.PakOutDTO;
-import com.zy.asrs.entity.result.LocDetlAll;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -73,8 +72,15 @@
         if (Cools.isEmpty(docnum) || docnum.equals("null")) {
             docnum = null;
         }
+        Date stime = null;
+        Date etime = null;
+        if(param.get("create_time") != null){
+            String[] dates = param.get("create_time").toString().split(RANGE_TIME_LINK);
+            stime = DateUtils.convert(dates[0]);
+            etime = DateUtils.convert(dates[1]);
+        }
 
-        List<PakOutDTO> pakOutDTOS = manPakOutService.selectPakOut(docnum, curr, limit);
+        List<PakOutDTO> pakOutDTOS = manPakOutService.selectPakOut(docnum, stime, etime, curr, limit);
         for (PakOutDTO pakOutDTO:pakOutDTOS){
             List<ManPakOut> manPakOuts = manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num", pakOutDTO.getDoc_num()));
             for (ManPakOut manPakOut:manPakOuts){
@@ -89,9 +95,10 @@
 
         }
 
-
-        int count = manPakOutService.selectPakOutCount(docnum, curr, limit);
+        int count = manPakOutService.selectPakOutCount(docnum, stime, etime,curr, limit);
         Page<PakOutDTO> page = new Page<>();
+        // 鏈�鍚庢寜鐘舵�佹湭鍑哄簱->宸插嚭搴撴帓搴�
+//        page.setRecords(pakOutDTOS.stream().sorted(Comparator.comparingInt(PakOutDTO::getStatus)).collect(Collectors.toList()));
         page.setRecords(pakOutDTOS);
         page.setTotal(count);
         return R.ok(page);
diff --git a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
index 0783a6b..6d0300f 100644
--- a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
@@ -7,6 +7,7 @@
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.Date;
 import java.util.List;
 
 @Mapper
@@ -15,7 +16,7 @@
 
 
 
-    List<PakOutDTO> selectPakOut(@Param("docnum") String docnum,@Param("curr") Integer curr,@Param("limit") Integer limit);
+    List<PakOutDTO> selectPakOut(@Param("docnum") String docnum,@Param("stime") Date stime, @Param("etime") Date etime, @Param("curr") Integer curr, @Param("limit") Integer limit);
 
-    int selectPakOutCount(@Param("docnum") String docnum,@Param("curr") Integer curr,@Param("limit") Integer limit);
+    int selectPakOutCount(@Param("docnum") String docnum,@Param("stime") Date stime, @Param("etime") Date etime,@Param("curr") Integer curr,@Param("limit") Integer limit);
 }
diff --git a/src/main/java/com/zy/asrs/service/ManPakOutService.java b/src/main/java/com/zy/asrs/service/ManPakOutService.java
index aa7e4dc..a85206f 100644
--- a/src/main/java/com/zy/asrs/service/ManPakOutService.java
+++ b/src/main/java/com/zy/asrs/service/ManPakOutService.java
@@ -4,10 +4,11 @@
 import com.zy.asrs.entity.ManPakOut;
 import com.zy.asrs.entity.param.PakOutDTO;
 
+import java.util.Date;
 import java.util.List;
 
 public interface ManPakOutService extends IService<ManPakOut> {
-    List<PakOutDTO> selectPakOut(String docnum,Integer curr,Integer limit);
+    List<PakOutDTO> selectPakOut(String docnum, Date stime, Date etime, Integer curr, Integer limit);
 
-    int selectPakOutCount(String docnum, Integer curr, Integer limit);
+    int selectPakOutCount(String docnum, Date stime, Date etime,Integer curr, Integer limit);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
index 21d514c..69c197a 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.service.ManPakOutService;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 @Service("manPakOutService")
@@ -16,12 +17,12 @@
 
 
     @Override
-    public List<PakOutDTO> selectPakOut(String docnum, Integer curr, Integer limit) {
-        return this.baseMapper.selectPakOut(docnum,curr,limit);
+    public List<PakOutDTO> selectPakOut(String docnum, Date stime, Date etime, Integer curr, Integer limit) {
+        return this.baseMapper.selectPakOut(docnum,stime,etime,curr,limit);
     }
 
     @Override
-    public int selectPakOutCount(String docnum, Integer curr, Integer limit) {
-        return this.baseMapper.selectPakOutCount(docnum,curr,limit);
+    public int selectPakOutCount(String docnum, Date stime, Date etime,Integer curr, Integer limit) {
+        return this.baseMapper.selectPakOutCount(docnum,stime, etime,curr,limit);
     }
 }
diff --git a/src/main/resources/mapper/ManPakOutMapper.xml b/src/main/resources/mapper/ManPakOutMapper.xml
index 7a819a9..37b5a26 100644
--- a/src/main/resources/mapper/ManPakOutMapper.xml
+++ b/src/main/resources/mapper/ManPakOutMapper.xml
@@ -6,26 +6,33 @@
         <if test="docnum != null and docnum != '' ">
             and doc_num like '%' + #{docnum} + '%'
         </if>
+        <if test="stime != null">
+            and create_time >= #{stime}
+        </if>
+        <if test="etime != null">
+            and create_time &lt;= #{etime}
+        </if>
 
 
     </sql>
 
     <select id="selectPakOut" resultType="com.zy.asrs.entity.param.PakOutDTO">
         select * from (
-          SELECT ROW_NUMBER() over (order by doc_num) as row,  doc_num,MAX(create_time) as create_time, cust_name as custName FROM man_pakout
+          SELECT status, doc_num,MAX(create_time) as create_time, cust_name as custName FROM man_pakout
            where 1=1
             <include refid="selectPakOutSql"></include>
-          GROUP BY doc_num,cust_name
-      ) t where t.row BETWEEN ((#{curr}-1)*#{limit}+1) and (#{curr}*#{limit})
-        ORDER BY create_time DESC
+          GROUP BY doc_num,cust_name,status
+      ) t ORDER BY status
+        OFFSET ((#{curr}-1)*#{limit}) ROWS
+        FETCH NEXT #{limit} ROWS ONLY;
 
     </select>
     <select id="selectPakOutCount" resultType="java.lang.Integer">
         select count(1) from (
-          SELECT ROW_NUMBER() over (order by doc_num) as row,  doc_num,MAX(create_time) as create_time FROM man_pakout
+          SELECT status,  doc_num,MAX(create_time) as create_time FROM man_pakout
        where 1=1
         <include refid="selectPakOutSql"></include>
-          GROUP BY doc_num
+          GROUP BY doc_num,cust_name,status
       ) t
     </select>
 </mapper>

--
Gitblit v1.9.1