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()); }