From af7aa0a046b403b0418d8b307258aedbb08a0287 Mon Sep 17 00:00:00 2001
From: "HUOJIN\\92525" <925258474@qq.com>
Date: Mon, 12 May 2025 11:41:08 +0800
Subject: [PATCH] no message
---
 nc_wms_java/pom.xml                           |  2 +-
 .../address/controller/AddressController.java | 29 +++-------------
 .../wms/base/address/dao/AddressDao.java      |  3 +-
 .../address/service/AddressQueryService.java  | 16 ++++++++-
 .../service/impl/AddressQueryServiceImpl.java | 18 +++++++---
 .../base/item/controller/ItemController.java  |  6 ++--
 .../business/wms/base/item/dao/ItemDao.java   |  2 +-
 .../base/item/service/ItemQueryService.java   |  9 ++++-
 .../service/impl/ItemQueryServiceImpl.java    | 18 ++++++++--
 .../wms/excel/ExportTaskController.java       | 31 +++++++++++++++++
 .../wms/base/address/AddressMapper.xml        | 10 ++++--
 .../business/wms/base/item/ItemMapper.xml     | 33 +++++++++++++------
 .../sa/base/common/util/SmartExcelUtil.java   |  2 +-
 13 files changed, 125 insertions(+), 54 deletions(-)
 create mode 100644 nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/excel/ExportTaskController.java
diff --git a/nc_wms_java/pom.xml b/nc_wms_java/pom.xml
index 48d5de8..c1aee27 100644
--- a/nc_wms_java/pom.xml
+++ b/nc_wms_java/pom.xml
@@ -60,7 +60,7 @@
         1.18.1
         3.1.0
         1.9.4
-        1.9.4
+        1.9.5
     
 
     
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/controller/AddressController.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/controller/AddressController.java
index 33b673b..62b587a 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/controller/AddressController.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/controller/AddressController.java
@@ -12,6 +12,7 @@ import net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressEx
 import net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressVO;
 import net.lab1024.sa.admin.module.business.wms.base.address.service.AddressQueryService;
 import net.lab1024.sa.admin.module.business.wms.base.address.service.AddressService;
+import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemsExcelVO;
 import net.lab1024.sa.admin.module.business.wms.excel.ExportTaskService;
 import net.lab1024.sa.base.common.domain.RequestUser;
@@ -112,33 +113,11 @@ public class AddressController {
         return addressService.importAddress(file);
     }
 
-    @PostMapping("/address/createExportTask")
-    public ResponseDTO createExportTask() {
-        String taskId = exportTaskService.createTask();
-        return ResponseDTO.ok(taskId);
-    }
-
-    @GetMapping("/address/progress/{taskId}")
-    public ResponseDTO getExportProgress(@PathVariable String taskId) {
-        Long progress = exportTaskService.getProgress(taskId);
-        return ResponseDTO.ok(progress);
-    }
-
     @Operation(summary = "导出 霍锦")
-    @GetMapping("/address/exportAddress/{taskId}")
+    @PostMapping("/address/exportAddress/{taskId}")
     @SaCheckPermission("address:exportAddress")
-    public void exportAddress(@PathVariable String taskId, HttpServletResponse response) {
-        long startTime = System.currentTimeMillis();
-        addressQueryService.exportAddress(taskId, response);
-        long endTime = System.currentTimeMillis();
-        log.info("导出地址数据完成,耗时:{}ms", endTime - startTime);
-        if (endTime - startTime <= 1000) {
-            try {
-                Thread.sleep(2000);
-            } catch (InterruptedException e) {
-                log.error("异常", e);
-            }
-        }
+    public void exportAddress(@PathVariable String taskId, @RequestBody @Valid AddressQueryForm queryForm, HttpServletResponse response) {
+        addressQueryService.exportAddress(taskId,queryForm, response);
         exportTaskService.cleanupTask(taskId);
     }
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/dao/AddressDao.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/dao/AddressDao.java
index b6317bd..d5cd3a1 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/dao/AddressDao.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/dao/AddressDao.java
@@ -8,6 +8,7 @@ import net.lab1024.sa.admin.module.business.wms.base.address.domain.form.Address
 import net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Options;
 import org.apache.ibatis.annotations.Param;
@@ -54,7 +55,7 @@ public interface AddressDao extends BaseMapper {
     Cursor selectAllByCursor();
 
     //游标分页
-    List listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize);
+    List listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize,@Param("queryForm") AddressQueryForm queryForm);
 
 
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/AddressQueryService.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/AddressQueryService.java
index a4896f5..1cf3582 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/AddressQueryService.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/AddressQueryService.java
@@ -6,6 +6,7 @@ import net.lab1024.sa.admin.module.business.wms.base.address.domain.form.Address
 import net.lab1024.sa.admin.module.business.wms.base.address.domain.form.AddressSelect;
 import net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressExcelVO;
 import net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressVO;
+import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 import net.lab1024.sa.base.common.domain.PageResult;
 
 import java.io.IOException;
@@ -60,6 +61,19 @@ public interface AddressQueryService {
 
     List queryAddressExcel3();
 
-    void exportAddress(String taskId,HttpServletResponse response);
+    /**
+     * 统计数量
+     * @param queryForm 查询参数
+     * @return long
+     */
+    long addressCount(AddressQueryForm queryForm);
+
+    /**
+     * 导出
+     * @param taskId 任务ID
+     * @param queryForm 查询餐厨
+     * @param response 请求
+     */
+    void exportAddress(String taskId,AddressQueryForm queryForm,HttpServletResponse response);
 
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/impl/AddressQueryServiceImpl.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/impl/AddressQueryServiceImpl.java
index 1530471..272665e 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/impl/AddressQueryServiceImpl.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/address/service/impl/AddressQueryServiceImpl.java
@@ -156,7 +156,7 @@ public class AddressQueryServiceImpl implements AddressQueryService {
         //进度条
         long processed = 0;
         while (true) {
-            List batch = addressDao.listByCursor(lastId, pageSize);
+            List batch = addressDao.listByCursor(lastId, pageSize,null);
             if (batch.isEmpty()) {
                 break;
             }
@@ -207,7 +207,16 @@ public class AddressQueryServiceImpl implements AddressQueryService {
         return list;
     }
 
-    public void exportAddress(String taskId, HttpServletResponse response){
+    @Override
+    public long addressCount(AddressQueryForm queryForm) {
+        LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+        if (queryForm.getAddressId() != null) {
+            queryWrapper.eq(AddressEntity::getAddressId, queryForm.getAddressId());
+        }
+        return addressManager.count(queryWrapper);
+    }
+
+    public void exportAddress(String taskId,AddressQueryForm queryForm, HttpServletResponse response){
         try {
             SmartExcelUtil.batchExportExcel(
                     response,
@@ -215,8 +224,8 @@ public class AddressQueryServiceImpl implements AddressQueryService {
                     "收货地址信息",
                     AddressExcelVO.class,
                     taskId,
-                    addressManager.count(),
-                    (lastId, pageSize) -> addressDao.listByCursor(lastId, pageSize),
+                    addressCount(queryForm),
+                    (lastId, pageSize) -> addressDao.listByCursor(lastId, pageSize,queryForm),
                     address -> AddressExcelVO.builder()
                             .name(address.getName())
                             .person(address.getPerson())
@@ -231,7 +240,6 @@ public class AddressQueryServiceImpl implements AddressQueryService {
             exportTaskService.updateProgress(taskId, -1);
         } finally {
             exportTaskService.updateProgress(taskId, 100);
-
         }
     }
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/controller/ItemController.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/controller/ItemController.java
index 34501c1..5c7edd3 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/controller/ItemController.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/controller/ItemController.java
@@ -113,11 +113,11 @@ public class ItemController {
     }
 
     @Operation(summary = "导出 霍锦")
-    @GetMapping("/item/exportItems/{taskId}")
+    @PostMapping("/item/exportItems/{taskId}")
     @SaCheckPermission("item:exportItems")
     @OperateLog
-    public void exportItems(@PathVariable String taskId, HttpServletResponse response){
-        itemQueryService.exportItem(taskId, response);
+    public void exportItems(@PathVariable String taskId,@RequestBody @Valid ItemQueryForm queryForm, HttpServletResponse response){
+        itemQueryService.exportItem(taskId, queryForm,response);
         exportTaskService.cleanupTask(taskId);
     }
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/dao/ItemDao.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/dao/ItemDao.java
index f7166db..92dffbf 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/dao/ItemDao.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/dao/ItemDao.java
@@ -34,6 +34,6 @@ public interface ItemDao extends BaseMapper {
     List queryPage(Page page, @Param("queryForm") ItemQueryForm queryForm);
 
     //游标分页
-    List listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize);
+    List listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize,@Param("queryForm") ItemQueryForm queryForm);
 
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/ItemQueryService.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/ItemQueryService.java
index 0d7df87..2aee3d9 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/ItemQueryService.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/ItemQueryService.java
@@ -1,5 +1,6 @@
 package net.lab1024.sa.admin.module.business.wms.base.item.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import jakarta.servlet.http.HttpServletResponse;
 import net.lab1024.sa.admin.module.business.wms.base.item.domain.entity.ItemEntity;
 import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
@@ -69,5 +70,11 @@ public interface ItemQueryService {
      */
     List queryItemsExcelVO();
 
-    void exportItem(String taskId, HttpServletResponse response);
+    /**
+     * 获取物料总数
+     * @return
+     */
+    long itemCount(ItemQueryForm queryForm);
+
+    void exportItem(String taskId, ItemQueryForm queryForm, HttpServletResponse response);
 }
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/impl/ItemQueryServiceImpl.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/impl/ItemQueryServiceImpl.java
index 12c725c..a85f349 100644
--- a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/impl/ItemQueryServiceImpl.java
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/base/item/service/impl/ItemQueryServiceImpl.java
@@ -167,7 +167,19 @@ public class ItemQueryServiceImpl implements ItemQueryService {
                 .collect(Collectors.toList());
     }
 
-    public void exportItem(String taskId, HttpServletResponse response){
+    @Override
+    public long itemCount(ItemQueryForm queryForm) {
+        LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+        if (queryForm.getDisabledFlag() != null) {
+            queryWrapper.eq(ItemEntity::getDisabledFlag, queryForm.getDisabledFlag());
+        }
+        if (queryForm.getItemId() != null) {
+            queryWrapper.eq(ItemEntity::getItemId, queryForm.getItemId());
+        }
+        return itemManager.count(queryWrapper);
+    }
+
+    public void exportItem(String taskId, ItemQueryForm queryForm, HttpServletResponse response) {
         try {
             SmartExcelUtil.batchExportExcel(
                     response,
@@ -175,8 +187,8 @@ public class ItemQueryServiceImpl implements ItemQueryService {
                     "物料信息",
                     ItemsExcelVO.class,
                     taskId,
-                    itemManager.count(),
-                    (lastId, pageSize) -> itemDao.listByCursor(lastId, pageSize),
+                    itemCount(queryForm),
+                    (lastId, pageSize) -> itemDao.listByCursor(lastId, pageSize, queryForm),
                     item -> ItemsExcelVO.builder()
                             .itemCode(item.getItemCode())
                             .itemName(item.getItemName())
diff --git a/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/excel/ExportTaskController.java b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/excel/ExportTaskController.java
new file mode 100644
index 0000000..dba5129
--- /dev/null
+++ b/nc_wms_java/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/wms/excel/ExportTaskController.java
@@ -0,0 +1,31 @@
+package net.lab1024.sa.admin.module.business.wms.excel;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import net.lab1024.sa.base.common.domain.ResponseDTO;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@Tag(name = "导出")
+@Slf4j
+public class ExportTaskController {
+
+    @Resource
+    private ExportTaskService exportTaskService;
+
+    @PostMapping("/export/createExportTask")
+    public ResponseDTO createExportTask() {
+        String taskId = exportTaskService.createTask();
+        return ResponseDTO.ok(taskId);
+    }
+
+    @GetMapping("/export/progress/{taskId}")
+    public ResponseDTO getExportProgress(@PathVariable String taskId) {
+        Long progress = exportTaskService.getProgress(taskId);
+        return ResponseDTO.ok(progress);
+    }
+}
diff --git a/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/address/AddressMapper.xml b/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/address/AddressMapper.xml
index c13c464..ea359e3 100644
--- a/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/address/AddressMapper.xml
+++ b/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/address/AddressMapper.xml
@@ -48,9 +48,15 @@
                t_address.telephone,
                t_address.address
         FROM t_address
-        WHERE t_address.address_id > #{lastId}
+        
+            t_address.address_id > #{lastId}
+            
+            
+                AND t_address.address_id= #{queryForm.addressId}
+            
+        
         ORDER BY t_address.address_id ASC -- 必须升序
-            LIMIT #{pageSize}
+        LIMIT #{pageSize}
     
 
 
diff --git a/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/item/ItemMapper.xml b/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/item/ItemMapper.xml
index d80daa6..ac5a278 100644
--- a/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/item/ItemMapper.xml
+++ b/nc_wms_java/sa-admin/src/main/resources/mapper/business/wms/base/item/ItemMapper.xml
@@ -4,7 +4,10 @@
 
     
     
-        t_item.item_id,
+        t_item
+        .
+        item_id
+        ,
         t_item.item_code,
         t_item.item_name,
         t_item.unit,
@@ -21,11 +24,11 @@
         
         FROM t_item
         
-            
+            
             
                 AND t_item.item_id=#{queryForm.itemId}
             
-            
+            
             
                 AND t_item.disabled_flag=#{queryForm.disabledFlag}
             
@@ -35,15 +38,25 @@
 
     
 
 
diff --git a/nc_wms_java/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartExcelUtil.java b/nc_wms_java/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartExcelUtil.java
index 68debe0..79469f7 100644
--- a/nc_wms_java/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartExcelUtil.java
+++ b/nc_wms_java/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartExcelUtil.java
@@ -111,7 +111,7 @@ public final class SmartExcelUtil {
             }
             if (System.currentTimeMillis() - startTime <= 1000) {
                 try {
-                    Thread.sleep(2000);
+                    Thread.sleep(1500);
                 } catch (InterruptedException e) {
                     System.out.println("异常" + e.getMessage());
                 }