From fe38e4fdefd176f5891e6522b4f5f3d4a8f0910c Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 13 May 2026 20:29:26 +0800 Subject: [PATCH] feat(wms):减法,去掉 area 表 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryController.java | 11 ----------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryHistoryController.java | 11 ----------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryPageReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryRespVO.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java | 129 --------------------------------------------------------------------------------------------------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java | 24 ------------------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java | 43 ------------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java | 32 -------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderController.java | 20 ++------------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderDetailController.java | 12 ------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderPageReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderController.java | 24 ++---------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderDetailController.java | 14 -------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailRespVO.java | 12 ------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailSaveReqVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderRespVO.java | 12 ------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderSaveReqVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderController.java | 20 ++------------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderDetailController.java | 12 ------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderController.java | 20 ++------------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderDetailController.java | 12 ------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderRespVO.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderSaveReqVO.java | 3 --- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryDO.java | 7 ------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryHistoryDO.java | 7 ------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java | 53 ----------------------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDetailDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java | 17 ++--------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDetailDO.java | 17 ++--------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDetailDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDetailDO.java | 9 +-------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryHistoryMapper.java | 1 - yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryMapper.java | 44 ++++---------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java | 48 ------------------------------------------------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderDetailMapper.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderMapper.java | 5 ----- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderDetailMapper.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderMapper.java | 6 ------ yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderDetailMapper.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderMapper.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderDetailMapper.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderMapper.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java | 19 ++----------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java | 14 -------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java | 29 ----------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java | 26 ++++++++++---------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java | 4 ---- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java | 103 ------------------------------------------------------------------------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java | 219 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseServiceImpl.java | 10 ---------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailServiceImpl.java | 23 +---------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderServiceImpl.java | 12 +----------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailServiceImpl.java | 29 ++--------------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderServiceImpl.java | 25 +++++-------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImpl.java | 23 +---------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImpl.java | 5 ----- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailServiceImpl.java | 23 +---------------------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java | 8 -------- yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImpl.java | 5 ----- yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImplTest.java | 19 +------------------ yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImplTest.java | 29 ++++------------------------- yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImplTest.java | 29 ++++------------------------- yudao-module-wms/src/test/resources/sql/create_tables.sql | 8 +------- 86 files changed, 119 insertions(+), 1488 deletions(-) delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java delete mode 100644 yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryController.java index 3b63141..7fe1d85 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryController.java @@ -10,13 +10,10 @@ import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryRes import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -49,10 +46,6 @@ public class WmsInventoryController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @GetMapping("/page") @Operation(summary = "获得库存统计分页") @@ -72,9 +65,6 @@ public class WmsInventoryController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsInventoryDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryDO::getAreaId)) - : Collections.emptyMap(); return BeanUtils.toBean(list, WmsInventoryRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); @@ -82,7 +72,6 @@ public class WmsInventoryController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryHistoryController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryHistoryController.java index 16721fd..c7530bf 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryHistoryController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/WmsInventoryHistoryController.java @@ -10,13 +10,10 @@ import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.history.WmsInve import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryHistoryDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryHistoryService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -49,10 +46,6 @@ public class WmsInventoryHistoryController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @GetMapping("/page") @Operation(summary = "获得库存流水分页") @@ -73,9 +66,6 @@ public class WmsInventoryHistoryController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsInventoryHistoryDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryHistoryDO::getAreaId)) - : Collections.emptyMap(); return BeanUtils.toBean(list, WmsInventoryHistoryRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); @@ -83,7 +73,6 @@ public class WmsInventoryHistoryController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java index 9e63d82..ecb1a37 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java @@ -20,11 +20,6 @@ public class WmsInventoryPageReqVO extends PageParam { public static final String TYPE_WAREHOUSE = "warehouse"; /** - * 按库区维度统计 - */ - public static final String TYPE_AREA = "area"; - - /** * 按商品维度统计 */ public static final String TYPE_ITEM = "item"; @@ -50,9 +45,6 @@ public class WmsInventoryPageReqVO extends PageParam { @Schema(description = "仓库编号", example = "2048") private Long warehouseId; - @Schema(description = "库区编号", example = "4096") - private Long areaId; - @Schema(description = "最小库存数量", example = "0.01") private BigDecimal minQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java index f306cfb..c5c3d34 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java @@ -33,10 +33,6 @@ public class WmsInventoryRespVO { private Long warehouseId; @Schema(description = "仓库名称", example = "成品仓") private String warehouseName; - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - private Long areaId; - @Schema(description = "库区名称", example = "A 区") - private String areaName; @Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") private BigDecimal quantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryPageReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryPageReqVO.java index 77e09cd..3dd8fbd 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryPageReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryPageReqVO.java @@ -35,9 +35,6 @@ public class WmsInventoryHistoryPageReqVO extends PageParam { @Schema(description = "仓库编号", example = "2048") private Long warehouseId; - @Schema(description = "库区编号", example = "4096") - private Long areaId; - @Schema(description = "操作单号", example = "RK202605110001") private String orderNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryRespVO.java index 2835436..b8faa01 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/history/WmsInventoryHistoryRespVO.java @@ -33,10 +33,6 @@ public class WmsInventoryHistoryRespVO { private Long warehouseId; @Schema(description = "仓库名称", example = "成品仓") private String warehouseName; - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - private Long areaId; - @Schema(description = "库区名称", example = "A 区") - private String areaName; @Schema(description = "库存变化数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10.00") private BigDecimal quantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java deleted file mode 100644 index b8eec34..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java +++ /dev/null @@ -1,129 +0,0 @@ -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.collection.MapUtils; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaRespVO; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.Valid; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getFirst; - -@Tag(name = "管理后台 - WMS 库区") -@RestController -@RequestMapping("/wms/warehouse-area") -@Validated -public class WmsWarehouseAreaController { - - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsWarehouseService warehouseService; - - @PostMapping("/create") - @Operation(summary = "创建库区") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:create')") - public CommonResult createWarehouseArea(@Valid @RequestBody WmsWarehouseAreaSaveReqVO createReqVO) { - return success(warehouseAreaService.createWarehouseArea(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新库区") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:update')") - public CommonResult updateWarehouseArea(@Valid @RequestBody WmsWarehouseAreaSaveReqVO updateReqVO) { - warehouseAreaService.updateWarehouseArea(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除库区") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:delete')") - public CommonResult deleteWarehouseArea(@RequestParam("id") Long id) { - warehouseAreaService.deleteWarehouseArea(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得库区") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')") - public CommonResult getWarehouseArea(@RequestParam("id") Long id) { - WmsWarehouseAreaDO area = warehouseAreaService.getWarehouseArea(id); - return success(buildWarehouseAreaRespVO(area)); - } - - @GetMapping("/page") - @Operation(summary = "获得库区分页") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')") - public CommonResult> getWarehouseAreaPage(@Valid WmsWarehouseAreaPageReqVO pageReqVO) { - PageResult pageResult = warehouseAreaService.getWarehouseAreaPage(pageReqVO); - return success(new PageResult<>(buildWarehouseAreaRespVOList(pageResult.getList()), pageResult.getTotal())); - } - - @GetMapping("/simple-list") - @Operation(summary = "获得库区精简列表", description = "可按仓库过滤") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')") - public CommonResult> getWarehouseAreaSimpleList( - @Parameter(name = "warehouseId", description = "仓库编号") @RequestParam(value = "warehouseId", required = false) Long warehouseId) { - List list = warehouseAreaService.getWarehouseAreaList(warehouseId); - return success(buildWarehouseAreaRespVOList(list)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出库区 Excel") - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportWarehouseAreaExcel(@Valid WmsWarehouseAreaPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = warehouseAreaService.getWarehouseAreaPage(pageReqVO).getList(); - ExcelUtils.write(response, "库区.xls", "数据", WmsWarehouseAreaRespVO.class, - buildWarehouseAreaRespVOList(list)); - } - - // ==================== 拼接 VO ==================== - - private WmsWarehouseAreaRespVO buildWarehouseAreaRespVO(WmsWarehouseAreaDO area) { - if (area == null) { - return null; - } - return getFirst(buildWarehouseAreaRespVOList(Collections.singletonList(area))); - } - - private List buildWarehouseAreaRespVOList(List list) { - if (CollUtil.isEmpty(list)) { - return Collections.emptyList(); - } - Map warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsWarehouseAreaDO::getWarehouseId)); - return BeanUtils.toBean(list, WmsWarehouseAreaRespVO.class, vo -> - MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()))); - } - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java deleted file mode 100644 index 393e2f1..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area; - -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@Schema(description = "管理后台 - WMS 库区分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class WmsWarehouseAreaPageReqVO extends PageParam { - - @Schema(description = "库区编号", example = "A001") - private String code; - - @Schema(description = "库区名称", example = "A 区") - private String name; - - @Schema(description = "所属仓库编号", example = "1024") - private Long warehouseId; - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java deleted file mode 100644 index a53559b..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area; - -import cn.idev.excel.annotation.ExcelIgnoreUnannotated; -import cn.idev.excel.annotation.ExcelProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - WMS 库区 Response VO") -@Data -@ExcelIgnoreUnannotated -public class WmsWarehouseAreaRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("编号") - private Long id; - - @Schema(description = "库区编号", example = "A001") - @ExcelProperty("库区编号") - private String code; - - @Schema(description = "库区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "A 区") - @ExcelProperty("库区名称") - private String name; - - @Schema(description = "所属仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("所属仓库编号") - private Long warehouseId; - - @Schema(description = "所属仓库名称", example = "原料仓") - @ExcelProperty("所属仓库名称") - private String warehouseName; - - @Schema(description = "备注", example = "备注") - @ExcelProperty("备注") - private String remark; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java deleted file mode 100644 index 40830a2..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -@Schema(description = "管理后台 - WMS 库区新增/修改 Request VO") -@Data -public class WmsWarehouseAreaSaveReqVO { - - @Schema(description = "编号", example = "1024") - private Long id; - - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "A001") - @NotEmpty(message = "库区编号不能为空") - @Size(max = 20, message = "库区编号长度不能超过 20 个字符") - private String code; - - @Schema(description = "库区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "A 区") - @NotEmpty(message = "库区名称不能为空") - private String name; - - @Schema(description = "所属仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotNull(message = "所属仓库不能为空") - private Long warehouseId; - - @Schema(description = "备注", example = "备注") - private String remark; - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderController.java index dfc2c3b..9ebdf7f 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderController.java @@ -17,14 +17,11 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsChec import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; @@ -63,16 +60,11 @@ public class WmsCheckOrderController { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsItemService itemService; @Resource private WmsItemSkuService itemSkuService; @Resource - private WmsProperties wmsProperties; - - @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -168,17 +160,13 @@ public class WmsCheckOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的仓库、库区、用户等数据 + // 获取相关的仓库、用户等数据 Map warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsCheckOrderDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDO::getAreaId)) - : Collections.emptyMap(); Map userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); // 拼接数据 return BeanUtils.toBean(list, WmsCheckOrderRespVO.class, vo -> { MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); }); @@ -192,14 +180,11 @@ public class WmsCheckOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商品、SKU、仓库、库区等数据 + // 获取相关的商品、SKU、仓库等数据 Map skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsCheckOrderDetailDO::getSkuId)); Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsCheckOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -208,7 +193,6 @@ public class WmsCheckOrderController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); } else { diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderDetailController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderDetailController.java index b818d2c..374cf40 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderDetailController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/WmsCheckOrderDetailController.java @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.detail.WmsCheckOrderDetailRespVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; import io.swagger.v3.oas.annotations.Operation; @@ -49,11 +46,6 @@ public class WmsCheckOrderDetailController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - - @Resource - private WmsProperties wmsProperties; @GetMapping("/list-by-order-id") @Operation(summary = "获得盘库单明细列表") @@ -76,9 +68,6 @@ public class WmsCheckOrderDetailController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsCheckOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -87,7 +76,6 @@ public class WmsCheckOrderDetailController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); } else { diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailRespVO.java index 70bd806..99d1417 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailRespVO.java @@ -43,12 +43,6 @@ public class WmsCheckOrderDetailRespVO { @Schema(description = "仓库名称", example = "北京仓") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "库存编号", example = "1024") private Long inventoryId; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailSaveReqVO.java index 3b46d0c..2f5769f 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/detail/WmsCheckOrderDetailSaveReqVO.java @@ -20,9 +20,6 @@ public class WmsCheckOrderDetailSaveReqVO { @NotNull(message = "SKU 不能为空") private Long skuId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "库存编号", example = "1024") private Long inventoryId; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderPageReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderPageReqVO.java index b552997..84a8217 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderPageReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderPageReqVO.java @@ -30,9 +30,6 @@ public class WmsCheckOrderPageReqVO extends PageParam { @Schema(description = "仓库编号", example = "1024") private Long warehouseId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "单据日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] orderDate; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderRespVO.java index e266a2a..64f8cb6 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderRespVO.java @@ -40,12 +40,6 @@ public class WmsCheckOrderRespVO { @ExcelProperty("仓库") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @ExcelProperty("盈亏数量") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderSaveReqVO.java index cf91e01..e52944e 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/check/vo/order/WmsCheckOrderSaveReqVO.java @@ -31,9 +31,6 @@ public class WmsCheckOrderSaveReqVO { @NotNull(message = "仓库不能为空") private Long warehouseId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @NotNull(message = "盈亏数量不能为空") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderController.java index c00403e..d993392 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderController.java @@ -17,14 +17,11 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsM import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; @@ -62,16 +59,11 @@ public class WmsMovementOrderController { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsItemService itemService; @Resource private WmsItemSkuService itemSkuService; @Resource - private WmsProperties wmsProperties; - - @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -168,13 +160,9 @@ public class WmsMovementOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的仓库、库区、用户等数据 + // 获取相关的仓库、用户等数据 Map warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, order -> Stream.of(order.getSourceWarehouseId(), order.getTargetWarehouseId()))); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list, - order -> Stream.of(order.getSourceAreaId(), order.getTargetAreaId()))) - : Collections.emptyMap(); Map userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); // 拼接数据 @@ -183,8 +171,6 @@ public class WmsMovementOrderController { warehouse -> vo.setSourceWarehouseName(warehouse.getName())); MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), warehouse -> vo.setTargetWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName())); - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName())); MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); }); @@ -198,15 +184,11 @@ public class WmsMovementOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商品、SKU、仓库、库区等数据 + // 获取相关的商品、SKU、仓库等数据 Map skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsMovementOrderDetailDO::getSkuId)); Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId()))); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list, - detail -> Stream.of(detail.getSourceAreaId(), detail.getTargetAreaId()))) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -218,8 +200,6 @@ public class WmsMovementOrderController { warehouse -> vo.setSourceWarehouseName(warehouse.getName())); MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), warehouse -> vo.setTargetWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName())); - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderDetailController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderDetailController.java index 0c3755e..092a367 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderDetailController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/WmsMovementOrderDetailController.java @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.detail.WmsMovementOrderDetailRespVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; import io.swagger.v3.oas.annotations.Operation; @@ -50,11 +47,6 @@ public class WmsMovementOrderDetailController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - - @Resource - private WmsProperties wmsProperties; @GetMapping("/list-by-order-id") @Operation(summary = "获得移库单明细列表") @@ -77,10 +69,6 @@ public class WmsMovementOrderDetailController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId()))); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list, - detail -> Stream.of(detail.getSourceAreaId(), detail.getTargetAreaId()))) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -92,8 +80,6 @@ public class WmsMovementOrderDetailController { warehouse -> vo.setSourceWarehouseName(warehouse.getName())); MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), warehouse -> vo.setTargetWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName())); - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailRespVO.java index d50848a..d243236 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailRespVO.java @@ -43,24 +43,12 @@ public class WmsMovementOrderDetailRespVO { @Schema(description = "来源仓库名称", example = "北京仓") private String sourceWarehouseName; - @Schema(description = "来源库区编号", example = "1024") - private Long sourceAreaId; - - @Schema(description = "来源库区名称", example = "北京库区01") - private String sourceAreaName; - @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") private Long targetWarehouseId; @Schema(description = "目标仓库名称", example = "上海仓") private String targetWarehouseName; - @Schema(description = "目标库区编号", example = "2048") - private Long targetAreaId; - - @Schema(description = "目标库区名称", example = "上海库区01") - private String targetAreaName; - @Schema(description = "批号", example = "B202605110001") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailSaveReqVO.java index e7753b3..e56df57 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/detail/WmsMovementOrderDetailSaveReqVO.java @@ -20,12 +20,6 @@ public class WmsMovementOrderDetailSaveReqVO { @NotNull(message = "SKU 不能为空") private Long skuId; - @Schema(description = "来源库区编号", example = "1024") - private Long sourceAreaId; - - @Schema(description = "目标库区编号", example = "2048") - private Long targetAreaId; - @Schema(description = "批号", example = "B202605110001") @Size(max = 64, message = "批号长度不能超过 64 个字符") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderRespVO.java index 9923d2b..833b05f 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderRespVO.java @@ -40,12 +40,6 @@ public class WmsMovementOrderRespVO { @ExcelProperty("来源仓库") private String sourceWarehouseName; - @Schema(description = "来源库区编号", example = "1024") - private Long sourceAreaId; - - @Schema(description = "来源库区名称", example = "北京库区01") - private String sourceAreaName; - @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") private Long targetWarehouseId; @@ -53,12 +47,6 @@ public class WmsMovementOrderRespVO { @ExcelProperty("目标仓库") private String targetWarehouseName; - @Schema(description = "目标库区编号", example = "2048") - private Long targetAreaId; - - @Schema(description = "目标库区名称", example = "上海库区01") - private String targetAreaName; - @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @ExcelProperty("移库数量") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderSaveReqVO.java index d272df5..c4ddf6c 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/movement/vo/order/WmsMovementOrderSaveReqVO.java @@ -31,16 +31,10 @@ public class WmsMovementOrderSaveReqVO { @NotNull(message = "来源仓库不能为空") private Long sourceWarehouseId; - @Schema(description = "来源库区编号", example = "1024") - private Long sourceAreaId; - @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") @NotNull(message = "目标仓库不能为空") private Long targetWarehouseId; - @Schema(description = "目标库区编号", example = "2048") - private Long targetAreaId; - @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @NotNull(message = "移库数量不能为空") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderController.java index 3d97a40..c1a2fe6 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderController.java @@ -18,15 +18,12 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsRe import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; @@ -66,16 +63,11 @@ public class WmsReceiptOrderController { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsItemService itemService; @Resource private WmsItemSkuService itemSkuService; @Resource - private WmsProperties wmsProperties; - - @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -171,19 +163,15 @@ public class WmsReceiptOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商户、仓库、库区、用户等数据 + // 获取相关的商户、仓库、用户等数据 Map merchantMap = merchantService.getMerchantMap(convertSet(list, WmsReceiptOrderDO::getMerchantId)); Map warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsReceiptOrderDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDO::getAreaId)) - : Collections.emptyMap(); Map userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); // 拼接数据 return BeanUtils.toBean(list, WmsReceiptOrderRespVO.class, vo -> { MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); }); @@ -197,14 +185,11 @@ public class WmsReceiptOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商品、SKU、仓库、库区等数据 + // 获取相关的商品、SKU、仓库等数据 Map skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsReceiptOrderDetailDO::getSkuId)); Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -213,7 +198,6 @@ public class WmsReceiptOrderController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderDetailController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderDetailController.java index 09e8345..d443feb 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderDetailController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/WmsReceiptOrderDetailController.java @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailRespVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; import io.swagger.v3.oas.annotations.Operation; @@ -48,11 +45,6 @@ public class WmsReceiptOrderDetailController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - - @Resource - private WmsProperties wmsProperties; @GetMapping("/list-by-order-id") @Operation(summary = "获得入库单明细列表") @@ -75,9 +67,6 @@ public class WmsReceiptOrderDetailController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -86,7 +75,6 @@ public class WmsReceiptOrderDetailController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailRespVO.java index ca9f4a8..fd6f61d 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailRespVO.java @@ -43,12 +43,6 @@ public class WmsReceiptOrderDetailRespVO { @Schema(description = "仓库名称", example = "北京仓") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "批号", example = "B202605110001") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailSaveReqVO.java index 7007398..9875acb 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/detail/WmsReceiptOrderDetailSaveReqVO.java @@ -20,9 +20,6 @@ public class WmsReceiptOrderDetailSaveReqVO { @NotNull(message = "SKU 不能为空") private Long skuId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "批号", example = "B202605110001") @Size(max = 64, message = "批号长度不能超过 64 个字符") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderRespVO.java index 431723d..374ff07 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderRespVO.java @@ -56,12 +56,6 @@ public class WmsReceiptOrderRespVO { @ExcelProperty("仓库") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @ExcelProperty("入库数量") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderSaveReqVO.java index 7ba3ee5..ea37689 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/receipt/vo/order/WmsReceiptOrderSaveReqVO.java @@ -45,9 +45,6 @@ public class WmsReceiptOrderSaveReqVO { @NotNull(message = "仓库不能为空") private Long warehouseId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @NotNull(message = "入库数量不能为空") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderController.java index 5049744..65e9153 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderController.java @@ -18,15 +18,12 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.order.WmsS import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService; @@ -66,16 +63,11 @@ public class WmsShipmentOrderController { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsItemService itemService; @Resource private WmsItemSkuService itemSkuService; @Resource - private WmsProperties wmsProperties; - - @Resource private AdminUserApi adminUserApi; @PostMapping("/create") @@ -171,19 +163,15 @@ public class WmsShipmentOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商户、仓库、库区、用户等数据 + // 获取相关的商户、仓库、用户等数据 Map merchantMap = merchantService.getMerchantMap(convertSet(list, WmsShipmentOrderDO::getMerchantId)); Map warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsShipmentOrderDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDO::getAreaId)) - : Collections.emptyMap(); Map userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); // 拼接数据 return BeanUtils.toBean(list, WmsShipmentOrderRespVO.class, vo -> { MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); }); @@ -197,14 +185,11 @@ public class WmsShipmentOrderController { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - // 获取相关的商品、SKU、仓库、库区等数据 + // 获取相关的商品、SKU、仓库等数据 Map skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsShipmentOrderDetailDO::getSkuId)); Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -213,7 +198,6 @@ public class WmsShipmentOrderController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderDetailController.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderDetailController.java index 087b948..f9cd14d 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderDetailController.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/WmsShipmentOrderDetailController.java @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.detail.WmsShipmentOrderDetailRespVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; import io.swagger.v3.oas.annotations.Operation; @@ -48,11 +45,6 @@ public class WmsShipmentOrderDetailController { private WmsItemSkuService itemSkuService; @Resource private WmsWarehouseService warehouseService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - - @Resource - private WmsProperties wmsProperties; @GetMapping("/list-by-order-id") @Operation(summary = "获得出库单明细列表") @@ -75,9 +67,6 @@ public class WmsShipmentOrderDetailController { Map itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId)); - Map areaMap = wmsProperties.isAreaEnabled() - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDetailDO::getAreaId)) - : Collections.emptyMap(); // 拼接数据 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { @@ -86,7 +75,6 @@ public class WmsShipmentOrderDetailController { .setItemName(item.getName()).setUnit(item.getUnit())); }); MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailRespVO.java index 2740583..9369639 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailRespVO.java @@ -43,12 +43,6 @@ public class WmsShipmentOrderDetailRespVO { @Schema(description = "仓库名称", example = "北京仓") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "批号", example = "B202605110001") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailSaveReqVO.java index 1164525..39d8e44 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/detail/WmsShipmentOrderDetailSaveReqVO.java @@ -20,9 +20,6 @@ public class WmsShipmentOrderDetailSaveReqVO { @NotNull(message = "SKU 不能为空") private Long skuId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "批号", example = "B202605110001") @Size(max = 64, message = "批号长度不能超过 64 个字符") private String batchNo; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderRespVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderRespVO.java index 837e660..f776847 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderRespVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderRespVO.java @@ -56,12 +56,6 @@ public class WmsShipmentOrderRespVO { @ExcelProperty("仓库") private String warehouseName; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - - @Schema(description = "库区名称", example = "北京库区01") - private String areaName; - @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @ExcelProperty("出库数量") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderSaveReqVO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderSaveReqVO.java index 9e8bf70..a4abb3f 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderSaveReqVO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/order/shipment/vo/order/WmsShipmentOrderSaveReqVO.java @@ -45,9 +45,6 @@ public class WmsShipmentOrderSaveReqVO { @NotNull(message = "仓库不能为空") private Long warehouseId; - @Schema(description = "库区编号", example = "1024") - private Long areaId; - @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") @NotNull(message = "出库数量不能为空") private BigDecimal totalQuantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryDO.java index ef24fa9..577af72 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.inventory; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; @@ -44,12 +43,6 @@ public class WmsInventoryDO extends BaseDO { */ private Long warehouseId; /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; - /** * 库存数量 */ private BigDecimal quantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryHistoryDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryHistoryDO.java index 9b64c0e..31f1c3c 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryHistoryDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/inventory/WmsInventoryHistoryDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.inventory; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; import com.baomidou.mybatisplus.annotation.KeySequence; @@ -43,12 +42,6 @@ public class WmsInventoryHistoryDO extends BaseDO { */ private Long warehouseId; /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; - /** * 商品 SKU 编号 * * 关联 {@link WmsItemSkuDO#getId()} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java deleted file mode 100644 index 9ca980d..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * WMS 库区 DO - * - * @author 芋道源码 - */ -@TableName("wms_warehouse_area") -@KeySequence("wms_warehouse_area_seq") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class WmsWarehouseAreaDO extends BaseDO { - - /** - * 空库区编号 - */ - public static final Long ID_EMPTY = 0L; - - /** - * 主键编号 - */ - @TableId - private Long id; - /** - * 库区编号 - */ - private String code; - /** - * 名称 - */ - private String name; - /** - * 所属仓库编号 - * - * 关联 {@link WmsWarehouseDO#getId()} - */ - private Long warehouseId; - /** - * 备注 - */ - private String remark; - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java index 93e9851..9301fd0 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.check; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; import com.baomidou.mybatisplus.annotation.KeySequence; @@ -46,7 +45,7 @@ public class WmsCheckOrderDO extends BaseDO { */ private String remark; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -54,12 +53,6 @@ public class WmsCheckOrderDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long warehouseId; - /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; // ========= 汇总金额字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDetailDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDetailDO.java index 21156b7..b1be796 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDetailDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDetailDO.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.check; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; @@ -53,7 +52,7 @@ public class WmsCheckOrderDetailDO extends BaseDO { */ private Long skuId; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -62,12 +61,6 @@ public class WmsCheckOrderDetailDO extends BaseDO { */ private Long warehouseId; /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; - /** * 库存编号 * * 关联 {@link WmsInventoryDO#getId()} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java index b219db2..80fd6d8 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; import com.baomidou.mybatisplus.annotation.KeySequence; @@ -46,7 +45,7 @@ public class WmsMovementOrderDO extends BaseDO { */ private String remark; - // ========= 来源仓库库区字段 ========= + // ========= 来源仓库字段 ========= /** * 来源仓库编号 @@ -54,14 +53,8 @@ public class WmsMovementOrderDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long sourceWarehouseId; - /** - * 来源库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long sourceAreaId; - // ========= 目标仓库库区字段 ========= + // ========= 目标仓库字段 ========= /** * 目标仓库编号 @@ -69,12 +62,6 @@ public class WmsMovementOrderDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long targetWarehouseId; - /** - * 目标库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long targetAreaId; // ========= 汇总金额字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDetailDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDetailDO.java index 562b20c..78e20c6 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDetailDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDetailDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; @@ -52,7 +51,7 @@ public class WmsMovementOrderDetailDO extends BaseDO { */ private Long skuId; - // ========= 来源仓库库区字段 ========= + // ========= 来源仓库字段 ========= /** * 来源仓库编号 @@ -60,14 +59,8 @@ public class WmsMovementOrderDetailDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long sourceWarehouseId; - /** - * 来源库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long sourceAreaId; - // ========= 目标仓库库区字段 ========= + // ========= 目标仓库字段 ========= /** * 目标仓库编号 @@ -75,12 +68,6 @@ public class WmsMovementOrderDetailDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long targetWarehouseId; - /** - * 目标库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long targetAreaId; // ========= 批次效期字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDO.java index 37e56d2..365b115 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; @@ -65,7 +64,7 @@ public class WmsReceiptOrderDO extends BaseDO { */ private String remark; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -73,12 +72,6 @@ public class WmsReceiptOrderDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long warehouseId; - /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; // ========= 汇总金额字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDetailDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDetailDO.java index 2b9fe16..2ed3b72 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDetailDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/receipt/WmsReceiptOrderDetailDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; @@ -52,7 +51,7 @@ public class WmsReceiptOrderDetailDO extends BaseDO { */ private Long skuId; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -60,12 +59,6 @@ public class WmsReceiptOrderDetailDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long warehouseId; - /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; // ========= 批次效期字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDO.java index 8d89187..c7d4390 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; @@ -65,7 +64,7 @@ public class WmsShipmentOrderDO extends BaseDO { */ private String remark; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -73,12 +72,6 @@ public class WmsShipmentOrderDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long warehouseId; - /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; // ========= 汇总金额字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDetailDO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDetailDO.java index 4193192..c7e62c1 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDetailDO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/shipment/WmsShipmentOrderDetailDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; @@ -52,7 +51,7 @@ public class WmsShipmentOrderDetailDO extends BaseDO { */ private Long skuId; - // ========= 仓库库区字段 ========= + // ========= 仓库字段 ========= /** * 仓库编号 @@ -60,12 +59,6 @@ public class WmsShipmentOrderDetailDO extends BaseDO { * 关联 {@link WmsWarehouseDO#getId()} */ private Long warehouseId; - /** - * 库区编号 - * - * 关联 {@link WmsWarehouseAreaDO#getId()} - */ - private Long areaId; // ========= 批次效期字段 ========= diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryHistoryMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryHistoryMapper.java index f304e54..196980d 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryHistoryMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryHistoryMapper.java @@ -28,7 +28,6 @@ public interface WmsInventoryHistoryMapper extends BaseMapperX { .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId()) - .eqIfPresent(WmsInventoryDO::getAreaId, reqVO.getAreaId()) .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity()); appendDimensionOrder(query, reqVO.getType()); return selectJoinPage(reqVO, WmsInventoryDO.class, query); } - default PageResult selectPageGroupByWarehouse(WmsInventoryPageReqVO reqVO) { - MPJLambdaWrapperX query = new MPJLambdaWrapperX() - .selectMin(WmsInventoryDO::getId, WmsInventoryDO::getId) - .selectAs(WmsInventoryDO::getWarehouseId, WmsInventoryDO::getWarehouseId) - .selectAs("0", WmsInventoryDO::getAreaId) - .selectAs(WmsInventoryDO::getSkuId, WmsInventoryDO::getSkuId) - .selectSum(WmsInventoryDO::getQuantity, WmsInventoryDO::getQuantity) - .innerJoin(WmsItemSkuDO.class, WmsItemSkuDO::getId, WmsInventoryDO::getSkuId) - .innerJoin(WmsItemDO.class, WmsItemDO::getId, WmsItemSkuDO::getItemId) - .likeIfPresent(WmsItemDO::getCode, reqVO.getItemCode()) - .likeIfPresent(WmsItemDO::getName, reqVO.getItemName()) - .eqIfPresent(WmsInventoryDO::getSkuId, reqVO.getSkuId()) - .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) - .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) - .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId()); - query.groupBy(WmsInventoryDO::getWarehouseId, WmsInventoryDO::getSkuId); - if (reqVO.getMinQuantity() != null) { - query.having("SUM(t.quantity) >= {0}", reqVO.getMinQuantity()); - } - query.orderByAsc(WmsInventoryDO::getWarehouseId) - .orderByAsc(WmsInventoryDO::getSkuId); - return selectJoinPage(reqVO, WmsInventoryDO.class, query); - } - default Long selectCountBySkuId(Long skuId) { return selectCount(WmsInventoryDO::getSkuId, skuId); } - default WmsInventoryDO selectBySkuIdAndWarehouseIdAndAreaId(Long skuId, Long warehouseId, Long areaId) { + default WmsInventoryDO selectBySkuIdAndWarehouseId(Long skuId, Long warehouseId) { return selectOne(WmsInventoryDO::getSkuId, skuId, - WmsInventoryDO::getWarehouseId, warehouseId, - WmsInventoryDO::getAreaId, areaId); + WmsInventoryDO::getWarehouseId, warehouseId); } /** * 根据多个唯一键,批量查询库存列表 * - * @param keys 唯一键列表:由 SKU 编号 + 仓库编号 + 库区编号组成 + * @param keys 唯一键列表:由 SKU 编号 + 仓库编号组成 * @return 库存列表 */ default List selectListByKeys(Collection keys) { @@ -93,8 +67,7 @@ public interface WmsInventoryMapper extends BaseMapperX { query.or(); } query.eq(WmsInventoryDO::getSkuId, key.getSkuId()) - .eq(WmsInventoryDO::getWarehouseId, key.getWarehouseId()) - .eq(WmsInventoryDO::getAreaId, key.getAreaId()); + .eq(WmsInventoryDO::getWarehouseId, key.getWarehouseId()); first = false; } })); @@ -122,15 +95,6 @@ public interface WmsInventoryMapper extends BaseMapperX { query.orderByAsc(WmsItemSkuDO::getItemId) .orderByAsc(WmsInventoryDO::getSkuId) .orderByAsc(WmsInventoryDO::getWarehouseId) - .orderByAsc(WmsInventoryDO::getAreaId) - .orderByAsc(WmsInventoryDO::getId); - return; - } - if (StrUtil.equals(WmsInventoryPageReqVO.TYPE_AREA, type)) { - query.orderByAsc(WmsInventoryDO::getWarehouseId) - .orderByAsc(WmsInventoryDO::getAreaId) - .orderByAsc(WmsItemSkuDO::getItemId) - .orderByAsc(WmsInventoryDO::getSkuId) .orderByAsc(WmsInventoryDO::getId); return; } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java deleted file mode 100644 index 40289ab..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * WMS 库区 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface WmsWarehouseAreaMapper extends BaseMapperX { - - default PageResult selectPage(WmsWarehouseAreaPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(WmsWarehouseAreaDO::getCode, reqVO.getCode()) - .likeIfPresent(WmsWarehouseAreaDO::getName, reqVO.getName()) - .eqIfPresent(WmsWarehouseAreaDO::getWarehouseId, reqVO.getWarehouseId()) - .orderByDesc(WmsWarehouseAreaDO::getId)); - } - - default WmsWarehouseAreaDO selectByCode(String code) { - return selectOne(WmsWarehouseAreaDO::getCode, code); - } - - default WmsWarehouseAreaDO selectByName(Long warehouseId, String name) { - return selectOne(new LambdaQueryWrapperX() - .eq(WmsWarehouseAreaDO::getWarehouseId, warehouseId) - .eq(WmsWarehouseAreaDO::getName, name)); - } - - default List selectListByWarehouseId(Long warehouseId) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(WmsWarehouseAreaDO::getWarehouseId, warehouseId) - .orderByDesc(WmsWarehouseAreaDO::getId)); - } - - default Long selectCountByWarehouseId(Long warehouseId) { - return selectCount(WmsWarehouseAreaDO::getWarehouseId, warehouseId); - } - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderDetailMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderDetailMapper.java index b597c9c..f2cd892 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderDetailMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderDetailMapper.java @@ -35,8 +35,4 @@ public interface WmsCheckOrderDetailMapper extends BaseMapperX { .likeIfPresent(WmsCheckOrderDO::getNo, reqVO.getNo()) .eqIfPresent(WmsCheckOrderDO::getStatus, reqVO.getStatus()) .eqIfPresent(WmsCheckOrderDO::getWarehouseId, reqVO.getWarehouseId()) - .eqIfPresent(WmsCheckOrderDO::getAreaId, reqVO.getAreaId()) .betweenIfPresent(WmsCheckOrderDO::getCreateTime, reqVO.getOrderDate()) .geIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMin()) .leIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMax()) @@ -41,8 +40,4 @@ public interface WmsCheckOrderMapper extends BaseMapperX { return selectCount(WmsCheckOrderDO::getWarehouseId, warehouseId); } - default Long selectCountByAreaId(Long areaId) { - return selectCount(WmsCheckOrderDO::getAreaId, areaId); - } - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderDetailMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderDetailMapper.java index 7c5e901..4e7eb3a 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderDetailMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderDetailMapper.java @@ -35,10 +35,4 @@ public interface WmsMovementOrderDetailMapper extends BaseMapperX() - .and(query -> query.eq(WmsMovementOrderDetailDO::getSourceAreaId, areaId) - .or().eq(WmsMovementOrderDetailDO::getTargetAreaId, areaId))); - } - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderMapper.java index 78b3c74..1aa6939 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/movement/WmsMovementOrderMapper.java @@ -43,10 +43,4 @@ public interface WmsMovementOrderMapper extends BaseMapperX .or().eq(WmsMovementOrderDO::getTargetWarehouseId, warehouseId))); } - default Long selectCountByAreaId(Long areaId) { - return selectCount(new LambdaQueryWrapperX() - .and(query -> query.eq(WmsMovementOrderDO::getSourceAreaId, areaId) - .or().eq(WmsMovementOrderDO::getTargetAreaId, areaId))); - } - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderDetailMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderDetailMapper.java index 4a36af3..b3ce109 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderDetailMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderDetailMapper.java @@ -35,8 +35,4 @@ public interface WmsReceiptOrderDetailMapper extends BaseMapperX { return selectCount(WmsReceiptOrderDO::getWarehouseId, warehouseId); } - default Long selectCountByAreaId(Long areaId) { - return selectCount(WmsReceiptOrderDO::getAreaId, areaId); - } - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderDetailMapper.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderDetailMapper.java index f8485c9..d59df25 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderDetailMapper.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderDetailMapper.java @@ -35,8 +35,4 @@ public interface WmsShipmentOrderDetailMapper extends BaseMapperX return selectCount(WmsShipmentOrderDO::getWarehouseId, warehouseId); } - default Long selectCountByAreaId(Long areaId) { - return selectCount(WmsShipmentOrderDO::getAreaId, areaId); - } - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java index 2b877e7..387592c 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java @@ -9,23 +9,12 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; */ public interface ErrorCodeConstants { - // ========== WMS 配置 1-060-000-000 ========== - ErrorCode WMS_AREA_DISABLED = new ErrorCode(1_060_000_000, "WMS 库区模式未开启"); - // ========== WMS 基础数据-仓库 1-060-100-000 ========== ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_060_100_000, "仓库不存在"); ErrorCode WAREHOUSE_NAME_DUPLICATE = new ErrorCode(1_060_100_001, "仓库名称重复"); ErrorCode WAREHOUSE_CODE_DUPLICATE = new ErrorCode(1_060_100_002, "仓库编号重复"); - ErrorCode WAREHOUSE_HAS_AREA = new ErrorCode(1_060_100_003, "删除失败!请先删除该仓库下的库区!"); ErrorCode WAREHOUSE_HAS_ORDER = new ErrorCode(1_060_100_004, "删除失败!仓库已被{}使用!"); - // ========== WMS 基础数据-库区 1-060-101-000 ========== - ErrorCode WAREHOUSE_AREA_NOT_EXISTS = new ErrorCode(1_060_101_000, "库区不存在"); - ErrorCode WAREHOUSE_AREA_NAME_DUPLICATE = new ErrorCode(1_060_101_001, "库区名称重复"); - ErrorCode WAREHOUSE_AREA_CODE_DUPLICATE = new ErrorCode(1_060_101_002, "库区编号重复"); - ErrorCode WAREHOUSE_AREA_NOT_MATCH_WAREHOUSE = new ErrorCode(1_060_101_003, "库区不属于仓库"); - ErrorCode WAREHOUSE_AREA_HAS_ORDER = new ErrorCode(1_060_101_004, "删除失败!库区已被{}使用!"); - // ========== WMS 基础数据-商品分类 1-060-102-000 ========== ErrorCode ITEM_CATEGORY_NOT_EXISTS = new ErrorCode(1_060_102_000, "商品分类不存在"); ErrorCode ITEM_CATEGORY_NAME_DUPLICATE = new ErrorCode(1_060_102_001, "商品分类名称重复"); @@ -59,7 +48,6 @@ public interface ErrorCodeConstants { ErrorCode RECEIPT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_200_001, "入库单号重复"); ErrorCode RECEIPT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_200_002, "入库单状态不是草稿,不能操作"); ErrorCode RECEIPT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_200_003, "入库单至少包含一条明细"); - ErrorCode RECEIPT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_200_004, "库区模式下,入库单库区不能为空"); ErrorCode RECEIPT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_200_005, "入库单状态不是草稿或已作废,不能删除"); ErrorCode RECEIPT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_200_007, "入库单明细不存在"); @@ -68,7 +56,6 @@ public interface ErrorCodeConstants { ErrorCode SHIPMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_201_001, "出库单号重复"); ErrorCode SHIPMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_201_002, "出库单状态不是草稿,不能操作"); ErrorCode SHIPMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_201_003, "出库单至少包含一条明细"); - ErrorCode SHIPMENT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_201_004, "库区模式下,出库单库区不能为空"); ErrorCode SHIPMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_201_005, "出库单状态不是草稿或已作废,不能删除"); ErrorCode SHIPMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_201_007, "出库单明细不存在"); @@ -77,22 +64,20 @@ public interface ErrorCodeConstants { ErrorCode MOVEMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_202_001, "移库单号重复"); ErrorCode MOVEMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_202_002, "移库单状态不是草稿,不能操作"); ErrorCode MOVEMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_202_003, "移库单至少包含一条明细"); - ErrorCode MOVEMENT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_202_004, "库区模式下,移库单库区不能为空"); ErrorCode MOVEMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_202_005, "移库单状态不是草稿或已作废,不能删除"); ErrorCode MOVEMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_202_006, "移库单明细不存在"); - ErrorCode MOVEMENT_ORDER_WAREHOUSE_AREA_SAME = new ErrorCode(1_060_202_007, "来源仓库库区和目标仓库库区不能相同"); + ErrorCode MOVEMENT_ORDER_WAREHOUSE_SAME = new ErrorCode(1_060_202_007, "来源仓库和目标仓库不能相同"); // ========== WMS 盘库单 1-060-203-000 ========== ErrorCode CHECK_ORDER_NOT_EXISTS = new ErrorCode(1_060_203_000, "盘库单不存在"); ErrorCode CHECK_ORDER_NO_DUPLICATE = new ErrorCode(1_060_203_001, "盘库单号重复"); ErrorCode CHECK_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_203_002, "盘库单状态不是草稿,不能操作"); ErrorCode CHECK_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_203_003, "盘库单至少包含一条明细"); - ErrorCode CHECK_ORDER_AREA_REQUIRED = new ErrorCode(1_060_203_004, "库区模式下,盘库单库区不能为空"); ErrorCode CHECK_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_203_005, "盘库单状态不是草稿或已作废,不能删除"); ErrorCode CHECK_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_203_006, "盘库单明细不存在"); // ========== WMS 库存 1-060-300-000 ========== ErrorCode INVENTORY_QUANTITY_NOT_ENOUGH = new ErrorCode(1_060_300_000, - "库存不足,商品:{},商品规格:{},仓库:{},库区:{},当前库存:{},变更数量:{}"); + "库存不足,商品:{},商品规格:{},仓库:{},当前库存:{},变更数量:{}"); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java deleted file mode 100644 index 1dbe6d8..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.iocoder.yudao.module.wms.framework.config; - -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * WMS 模块配置 - * - * @author 芋道源码 - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties(WmsProperties.class) -public class WmsConfiguration { -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java deleted file mode 100644 index 3d156fe..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.wms.framework.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.validation.annotation.Validated; - -import jakarta.validation.constraints.NotNull; - -/** - * WMS 配置项 - * - * @author 芋道源码 - */ -@ConfigurationProperties(prefix = "yudao.wms") -@Validated -@Data -public class WmsProperties { - - /** - * 是否启用库区模式 - */ - @NotNull(message = "是否启用库区模式不能为空") - private Boolean areaEnable = true; - - public boolean isAreaEnabled() { - return Boolean.TRUE.equals(areaEnable); - } - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java index 3f63c4e..bcedfc6 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.wms.service.inventory; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Tuple; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO; @@ -56,9 +55,6 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @Override public PageResult getInventoryPage(WmsInventoryPageReqVO pageReqVO) { - if (StrUtil.equals(WmsInventoryPageReqVO.TYPE_WAREHOUSE, pageReqVO.getType())) { - return inventoryMapper.selectPageGroupByWarehouse(pageReqVO); - } return inventoryMapper.selectPage(pageReqVO); } @@ -106,7 +102,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { WmsInventoryDO inventory = findInventory(inventories, item); if (inventory == null) { throw new IllegalStateException("库存行不存在,skuId=" + item.getSkuId() - + ", warehouseId=" + item.getWarehouseId() + ", areaId=" + item.getAreaId()); + + ", warehouseId=" + item.getWarehouseId()); } BigDecimal beforeQuantity = inventory.getQuantity(); BigDecimal afterQuantity = beforeQuantity.add(item.getQuantity()); @@ -130,7 +126,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { for (WmsInventoryChangeReqDTO.Item item : items) { if (findInventory(inventoryKeyList, item) == null) { inventoryKeyList.add(new WmsInventoryDO().setSkuId(item.getSkuId()) - .setWarehouseId(item.getWarehouseId()).setAreaId(item.getAreaId())); + .setWarehouseId(item.getWarehouseId())); } } @@ -156,7 +152,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { // 优先批量插入缺失库存行;并发唯一键冲突时,再逐个插入并回查冲突行。 List newInventoryList = convertList(missingInventoryList, missingInventory -> new WmsInventoryDO().setSkuId(missingInventory.getSkuId()).setWarehouseId(missingInventory.getWarehouseId()) - .setAreaId(missingInventory.getAreaId()).setQuantity(BigDecimal.ZERO)); + .setQuantity(BigDecimal.ZERO)); try { inventoryMapper.insertBatch(newInventoryList); return newInventoryList; @@ -170,13 +166,13 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { List resultList = new ArrayList<>(missingInventoryList.size()); for (WmsInventoryDO missingInventory : missingInventoryList) { WmsInventoryDO inventory = new WmsInventoryDO().setSkuId(missingInventory.getSkuId()) - .setWarehouseId(missingInventory.getWarehouseId()).setAreaId(missingInventory.getAreaId()) + .setWarehouseId(missingInventory.getWarehouseId()) .setQuantity(BigDecimal.ZERO); try { inventoryMapper.insert(inventory); } catch (DuplicateKeyException ex) { - inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId( - missingInventory.getSkuId(), missingInventory.getWarehouseId(), missingInventory.getAreaId()); + inventory = inventoryMapper.selectBySkuIdAndWarehouseId( + missingInventory.getSkuId(), missingInventory.getWarehouseId()); log.warn("[createMissingInventoryList][missingInventory({}) 插入库存行冲突,回查已有库存行]", missingInventory, ex); if (inventory == null) { throw ex; @@ -191,7 +187,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { WmsInventoryChangeReqDTO.Item item, Tuple result) { return new WmsInventoryHistoryDO() - .setWarehouseId(item.getWarehouseId()).setAreaId(item.getAreaId()).setSkuId(item.getSkuId()) + .setWarehouseId(item.getWarehouseId()).setSkuId(item.getSkuId()) .setQuantity(item.getQuantity()).setBeforeQuantity(result.get(0)).setAfterQuantity(result.get(1)) .setBatchNo(item.getBatchNo()).setProductionDate(item.getProductionDate()) .setExpirationDate(item.getExpirationDate()) @@ -209,14 +205,12 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryChangeReqDTO.Item item) { return ObjectUtil.equal(inventory.getSkuId(), item.getSkuId()) - && ObjectUtil.equal(inventory.getWarehouseId(), item.getWarehouseId()) - && ObjectUtil.equal(inventory.getAreaId(), item.getAreaId()); + && ObjectUtil.equal(inventory.getWarehouseId(), item.getWarehouseId()); } private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryDO key) { return ObjectUtil.equal(inventory.getSkuId(), key.getSkuId()) - && ObjectUtil.equal(inventory.getWarehouseId(), key.getWarehouseId()) - && ObjectUtil.equal(inventory.getAreaId(), key.getAreaId()); + && ObjectUtil.equal(inventory.getWarehouseId(), key.getWarehouseId()); } private ServiceException buildInventoryQuantityNotEnoughException(WmsInventoryChangeReqDTO.Item item, @@ -224,7 +218,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { WmsItemSkuDO skuDO = itemSkuService.validateItemSkuExists(item.getSkuId()); WmsItemDO itemDO = itemService.validateItemExists(skuDO.getItemId()); return exception(INVENTORY_QUANTITY_NOT_ENOUGH, itemDO.getName(), skuDO.getName(), - item.getWarehouseId(), item.getAreaId(), beforeQuantity, item.getQuantity()); + item.getWarehouseId(), beforeQuantity, item.getQuantity()); } } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java index 339a2d3..a84158a 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java @@ -50,10 +50,6 @@ public class WmsInventoryChangeReqDTO { */ private Long warehouseId; /** - * 库区编号 - */ - private Long areaId; - /** * 变更数量 */ private BigDecimal quantity; diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java deleted file mode 100644 index 3180762..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.iocoder.yudao.module.wms.service.md.warehouse; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; -import jakarta.validation.Valid; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; - -/** - * WMS 库区 Service 接口 - * - * @author 芋道源码 - */ -public interface WmsWarehouseAreaService { - - /** - * 创建库区 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createWarehouseArea(@Valid WmsWarehouseAreaSaveReqVO createReqVO); - - /** - * 更新库区 - * - * @param updateReqVO 更新信息 - */ - void updateWarehouseArea(@Valid WmsWarehouseAreaSaveReqVO updateReqVO); - - /** - * 删除库区 - * - * @param id 编号 - */ - void deleteWarehouseArea(Long id); - - /** - * 校验库区存在 - * - * @param id 编号 - * @return 库区 - */ - WmsWarehouseAreaDO validateWarehouseAreaExists(Long id); - - /** - * 校验并标准化库区编号 - * - * @param id 库区编号 - * @param warehouseId 仓库编号 - * @return 库区编号;未启用库区模式或为空时,返回 {@link WmsWarehouseAreaDO#ID_EMPTY} - */ - Long validateAndNormalizeWarehouseAreaId(Long id, Long warehouseId); - - /** - * 获得库区 - * - * @param id 编号 - * @return 库区 - */ - WmsWarehouseAreaDO getWarehouseArea(Long id); - - /** - * 获得库区分页 - * - * @param pageReqVO 分页查询 - * @return 库区分页 - */ - PageResult getWarehouseAreaPage(WmsWarehouseAreaPageReqVO pageReqVO); - - /** - * 获得库区列表 - * - * @param warehouseId 仓库编号 - * @return 库区列表 - */ - List getWarehouseAreaList(Long warehouseId); - - /** - * 按编号集合获得库区列表 - * - * @param ids 编号集合 - * @return 库区列表 - */ - List getWarehouseAreaList(Collection ids); - - /** - * 按编号集合获得库区 Map - * - * @param ids 编号集合 - * @return 库区 Map - */ - default Map getWarehouseAreaMap(Collection ids) { - return convertMap(getWarehouseAreaList(ids), WmsWarehouseAreaDO::getId); - } - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java deleted file mode 100644 index 7bdaee2..0000000 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java +++ /dev/null @@ -1,219 +0,0 @@ -package cn.iocoder.yudao.module.wms.service.md.warehouse; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO; -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; -import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseAreaMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; -import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; -import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; -import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; -import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; -import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; -import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; -import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; -import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService; -import jakarta.annotation.Resource; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.module.wms.enums.order.WmsOrderTypeConstants.*; - -/** - * WMS 库区 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class WmsWarehouseAreaServiceImpl implements WmsWarehouseAreaService { - - @Resource - private WmsWarehouseAreaMapper warehouseAreaMapper; - @Resource - private WmsWarehouseService warehouseService; - @Resource - private WmsProperties wmsProperties; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsReceiptOrderService receiptOrderService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsReceiptOrderDetailService receiptOrderDetailService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsShipmentOrderService shipmentOrderService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsShipmentOrderDetailService shipmentOrderDetailService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsMovementOrderService movementOrderService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsMovementOrderDetailService movementOrderDetailService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsCheckOrderService checkOrderService; - @Resource - @Lazy // 延迟加载,避免循环依赖 - private WmsCheckOrderDetailService checkOrderDetailService; - - @Override - public Long createWarehouseArea(WmsWarehouseAreaSaveReqVO createReqVO) { - validateAreaEnabled(); - // 校验数据 - validateWarehouseAreaSaveData(createReqVO); - - // 插入 - WmsWarehouseAreaDO area = BeanUtils.toBean(createReqVO, WmsWarehouseAreaDO.class); - warehouseAreaMapper.insert(area); - // 返回 - return area.getId(); - } - - @Override - public void updateWarehouseArea(WmsWarehouseAreaSaveReqVO updateReqVO) { - validateAreaEnabled(); - // 校验存在 - validateWarehouseAreaExists(updateReqVO.getId()); - // 校验数据 - validateWarehouseAreaSaveData(updateReqVO); - - // 更新 - WmsWarehouseAreaDO updateObj = BeanUtils.toBean(updateReqVO, WmsWarehouseAreaDO.class); - warehouseAreaMapper.updateById(updateObj); - } - - private void validateWarehouseAreaSaveData(WmsWarehouseAreaSaveReqVO reqVO) { - warehouseService.validateWarehouseExists(reqVO.getWarehouseId()); - validateWarehouseAreaNameUnique(reqVO.getId(), reqVO.getWarehouseId(), reqVO.getName()); - validateWarehouseAreaCodeUnique(reqVO.getId(), reqVO.getCode()); - } - - private void validateWarehouseAreaNameUnique(Long id, Long warehouseId, String name) { - WmsWarehouseAreaDO area = warehouseAreaMapper.selectByName(warehouseId, name); - if (area == null) { - return; - } - if (ObjectUtil.notEqual(area.getId(), id)) { - throw exception(WAREHOUSE_AREA_NAME_DUPLICATE); - } - } - - private void validateWarehouseAreaCodeUnique(Long id, String code) { - if (StrUtil.isBlank(code)) { - return; - } - WmsWarehouseAreaDO area = warehouseAreaMapper.selectByCode(code); - if (area == null) { - return; - } - if (ObjectUtil.notEqual(area.getId(), id)) { - throw exception(WAREHOUSE_AREA_CODE_DUPLICATE); - } - } - - @Override - public void deleteWarehouseArea(Long id) { - validateAreaEnabled(); - // 校验存在 - validateWarehouseAreaExists(id); - // 校验未被单据使用 - validateWarehouseAreaUnused(id); - - // 删除 - warehouseAreaMapper.deleteById(id); - } - - private void validateWarehouseAreaUnused(Long id) { - if (receiptOrderService.getReceiptOrderCountByAreaId(id) > 0 - || receiptOrderDetailService.getReceiptOrderDetailCountByAreaId(id) > 0) { - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_RECEIPT); - } - if (shipmentOrderService.getShipmentOrderCountByAreaId(id) > 0 - || shipmentOrderDetailService.getShipmentOrderDetailCountByAreaId(id) > 0) { - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_SHIPMENT); - } - if (movementOrderService.getMovementOrderCountByAreaId(id) > 0 - || movementOrderDetailService.getMovementOrderDetailCountByAreaId(id) > 0) { - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_MOVEMENT); - } - if (checkOrderService.getCheckOrderCountByAreaId(id) > 0 - || checkOrderDetailService.getCheckOrderDetailCountByAreaId(id) > 0) { - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_CHECK); - } - } - - @Override - public WmsWarehouseAreaDO validateWarehouseAreaExists(Long id) { - validateAreaEnabled(); - WmsWarehouseAreaDO area = warehouseAreaMapper.selectById(id); - if (area == null) { - throw exception(WAREHOUSE_AREA_NOT_EXISTS); - } - return area; - } - - @Override - public Long validateAndNormalizeWarehouseAreaId(Long id, Long warehouseId) { - if (!wmsProperties.isAreaEnabled()) { - return WmsWarehouseAreaDO.ID_EMPTY; - } - if (ObjectUtils.equalsAny(id, null, WmsWarehouseAreaDO.ID_EMPTY)) { - return WmsWarehouseAreaDO.ID_EMPTY; - } - WmsWarehouseAreaDO area = validateWarehouseAreaExists(id); - if (ObjectUtil.notEqual(area.getWarehouseId(), warehouseId)) { - throw exception(WAREHOUSE_AREA_NOT_MATCH_WAREHOUSE); - } - return id; - } - - @Override - public WmsWarehouseAreaDO getWarehouseArea(Long id) { - validateAreaEnabled(); - return warehouseAreaMapper.selectById(id); - } - - @Override - public PageResult getWarehouseAreaPage(WmsWarehouseAreaPageReqVO pageReqVO) { - validateAreaEnabled(); - return warehouseAreaMapper.selectPage(pageReqVO); - } - - @Override - public List getWarehouseAreaList(Long warehouseId) { - validateAreaEnabled(); - return warehouseAreaMapper.selectListByWarehouseId(warehouseId); - } - - @Override - public List getWarehouseAreaList(Collection ids) { - validateAreaEnabled(); - if (CollUtil.isEmpty(ids)) { - return Collections.emptyList(); - } - return warehouseAreaMapper.selectByIds(ids); - } - - private void validateAreaEnabled() { - if (!wmsProperties.isAreaEnabled()) { - throw exception(WMS_AREA_DISABLED); - } - } - -} diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseServiceImpl.java index 7c480c8..3fac0df 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseServiceImpl.java @@ -8,9 +8,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehousePageReqVO; import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehouseSaveReqVO; import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; -import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseAreaMapper; import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; @@ -40,10 +38,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { @Resource private WmsWarehouseMapper warehouseMapper; @Resource - private WmsWarehouseAreaMapper warehouseAreaMapper; - @Resource - private WmsProperties wmsProperties; - @Resource @Lazy // 延迟加载,避免循环依赖 private WmsReceiptOrderService receiptOrderService; @Resource @@ -113,10 +107,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { validateWarehouseExists(id); // 校验未被单据使用 validateWarehouseUnused(id); - // 库区模式下,存在库区时不允许删除仓库 - if (wmsProperties.isAreaEnabled() && warehouseAreaMapper.selectCountByWarehouseId(id) > 0) { - throw exception(WAREHOUSE_HAS_AREA); - } // 删除 warehouseMapper.deleteById(id); diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java index 5d9c67c..0231951 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java @@ -68,12 +68,4 @@ public interface WmsCheckOrderDetailService { */ long getCheckOrderDetailCountBySkuId(Long skuId); - /** - * 获得指定库区的盘库单明细数量 - * - * @param areaId 库区编号 - * @return 盘库单明细数量 - */ - long getCheckOrderDetailCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailServiceImpl.java index 76ecbd6..d934b3a 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailServiceImpl.java @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.check; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; import cn.iocoder.yudao.module.wms.dal.mysql.order.check.WmsCheckOrderDetailMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,10 +33,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic private WmsCheckOrderDetailMapper checkOrderDetailMapper; @Resource private WmsItemSkuService itemSkuService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @Override @Transactional(rollbackFor = Exception.class) @@ -104,10 +96,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic if (CollUtil.isEmpty(details)) { throw exception(CHECK_ORDER_DETAIL_REQUIRED); } - if (wmsProperties.isAreaEnabled() && details.stream() - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) { - throw exception(CHECK_ORDER_AREA_REQUIRED); - } return details; } @@ -116,11 +104,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic return checkOrderDetailMapper.selectCountBySkuId(skuId); } - @Override - public long getCheckOrderDetailCountByAreaId(Long areaId) { - return checkOrderDetailMapper.selectCountByAreaId(areaId); - } - private List buildCheckOrderDetailList(WmsCheckOrderSaveReqVO reqVO) { if (CollUtil.isEmpty(reqVO.getDetails())) { return ListUtil.of(); @@ -128,12 +111,8 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic return convertList(reqVO.getDetails(), detail -> { // 校验 SKU 存在 itemSkuService.validateItemSkuExists(detail.getSkuId()); - // 校验库区存在,并且属于当前仓库 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId( - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId()); // 构建对象 - return BeanUtils.toBean(detail, WmsCheckOrderDetailDO.class) - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); + return BeanUtils.toBean(detail, WmsCheckOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId()); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java index c213f6e..659d7c2 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java @@ -73,12 +73,4 @@ public interface WmsCheckOrderService { */ long getCheckOrderCountByWarehouseId(Long warehouseId); - /** - * 获得指定库区的盘库单数量 - * - * @param areaId 库区编号 - * @return 盘库单数量 - */ - long getCheckOrderCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderServiceImpl.java index f4ca567..e34cfda 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderServiceImpl.java @@ -12,7 +12,6 @@ import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -42,8 +41,6 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsInventoryService inventoryService; @Override @@ -134,18 +131,11 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { return checkOrderMapper.selectCountByWarehouseId(warehouseId); } - @Override - public long getCheckOrderCountByAreaId(Long areaId) { - return checkOrderMapper.selectCountByAreaId(areaId); - } - private void validateCheckOrderSaveData(WmsCheckOrderSaveReqVO reqVO) { // 校验盘库单号唯一 validateCheckOrderNoUnique(reqVO.getId(), reqVO.getNo()); - // 校验仓库、库区存在 + // 校验仓库存在 warehouseService.validateWarehouseExists(reqVO.getWarehouseId()); - reqVO.setAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getAreaId(), - reqVO.getWarehouseId())); } private void validateCheckOrderNoUnique(Long id, String no) { diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java index 0be42ea..7675ee7 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java @@ -68,12 +68,4 @@ public interface WmsMovementOrderDetailService { */ long getMovementOrderDetailCountBySkuId(Long skuId); - /** - * 获得指定库区的移库单明细数量 - * - * @param areaId 库区编号 - * @return 移库单明细数量 - */ - long getMovementOrderDetailCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailServiceImpl.java index 7fdbb48..45bd4cf 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailServiceImpl.java @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.movement; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; import cn.iocoder.yudao.module.wms.dal.mysql.order.movement.WmsMovementOrderDetailMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,10 +33,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail private WmsMovementOrderDetailMapper movementOrderDetailMapper; @Resource private WmsItemSkuService itemSkuService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @Override @Transactional(rollbackFor = Exception.class) @@ -104,11 +96,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail if (CollUtil.isEmpty(details)) { throw exception(MOVEMENT_ORDER_DETAIL_REQUIRED); } - if (wmsProperties.isAreaEnabled() && details.stream().anyMatch(detail -> - ObjectUtils.equalsAny(detail.getSourceAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY) - || ObjectUtils.equalsAny(detail.getTargetAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) { - throw exception(MOVEMENT_ORDER_AREA_REQUIRED); - } return details; } @@ -117,11 +104,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail return movementOrderDetailMapper.selectCountBySkuId(skuId); } - @Override - public long getMovementOrderDetailCountByAreaId(Long areaId) { - return movementOrderDetailMapper.selectCountByAreaId(areaId); - } - private List buildMovementOrderDetailList(WmsMovementOrderSaveReqVO reqVO) { if (CollUtil.isEmpty(reqVO.getDetails())) { return ListUtil.of(); @@ -129,17 +111,10 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail return convertList(reqVO.getDetails(), detail -> { // 校验 SKU 存在 itemSkuService.validateItemSkuExists(detail.getSkuId()); - // 校验来源、目标库区存在,并且属于对应仓库 - Long sourceAreaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId( - detail.getSourceAreaId() == null ? reqVO.getSourceAreaId() : detail.getSourceAreaId(), - reqVO.getSourceWarehouseId()); - Long targetAreaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId( - detail.getTargetAreaId() == null ? reqVO.getTargetAreaId() : detail.getTargetAreaId(), - reqVO.getTargetWarehouseId()); // 构建对象 return BeanUtils.toBean(detail, WmsMovementOrderDetailDO.class) - .setSourceWarehouseId(reqVO.getSourceWarehouseId()).setSourceAreaId(sourceAreaId) - .setTargetWarehouseId(reqVO.getTargetWarehouseId()).setTargetAreaId(targetAreaId); + .setSourceWarehouseId(reqVO.getSourceWarehouseId()) + .setTargetWarehouseId(reqVO.getTargetWarehouseId()); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java index 4747bb2..52fbf71 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java @@ -73,12 +73,4 @@ public interface WmsMovementOrderService { */ long getMovementOrderCountByWarehouseId(Long warehouseId); - /** - * 获得指定库区的移库单数量 - * - * @param areaId 库区编号 - * @return 移库单数量 - */ - long getMovementOrderCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderServiceImpl.java index 84fd1d5..0dda60a 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderServiceImpl.java @@ -12,7 +12,6 @@ import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -41,8 +40,6 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { @Resource private WmsWarehouseService warehouseService; @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource private WmsInventoryService inventoryService; @Override @@ -133,25 +130,15 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { return movementOrderMapper.selectCountByWarehouseId(warehouseId); } - @Override - public long getMovementOrderCountByAreaId(Long areaId) { - return movementOrderMapper.selectCountByAreaId(areaId); - } - private void validateMovementOrderSaveData(WmsMovementOrderSaveReqVO reqVO) { // 校验移库单号唯一 validateMovementOrderNoUnique(reqVO.getId(), reqVO.getNo()); - // 校验仓库、库区存在 + // 校验仓库存在 warehouseService.validateWarehouseExists(reqVO.getSourceWarehouseId()); warehouseService.validateWarehouseExists(reqVO.getTargetWarehouseId()); - reqVO.setSourceAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getSourceAreaId(), - reqVO.getSourceWarehouseId())); - reqVO.setTargetAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getTargetAreaId(), - reqVO.getTargetWarehouseId())); // 校验来源和目标不能相同 - if (ObjectUtil.equal(reqVO.getSourceWarehouseId(), reqVO.getTargetWarehouseId()) - && ObjectUtil.equal(reqVO.getSourceAreaId(), reqVO.getTargetAreaId())) { - throw exception(MOVEMENT_ORDER_WAREHOUSE_AREA_SAME); + if (ObjectUtil.equal(reqVO.getSourceWarehouseId(), reqVO.getTargetWarehouseId())) { + throw exception(MOVEMENT_ORDER_WAREHOUSE_SAME); } } @@ -199,11 +186,9 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { List items = new ArrayList<>(details.size() * 2); for (WmsMovementOrderDetailDO detail : details) { items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class) - .setWarehouseId(detail.getSourceWarehouseId()).setAreaId(detail.getSourceAreaId()) - .setQuantity(detail.getQuantity().negate())); + .setWarehouseId(detail.getSourceWarehouseId()).setQuantity(detail.getQuantity().negate())); items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class) - .setWarehouseId(detail.getTargetWarehouseId()).setAreaId(detail.getTargetAreaId()) - .setQuantity(detail.getQuantity())); + .setWarehouseId(detail.getTargetWarehouseId()).setQuantity(detail.getQuantity())); } inventoryService.changeInventory(new WmsInventoryChangeReqDTO() .setOrderId(order.getId()).setOrderNo(order.getNo()) diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java index 46f87e1..ba67d7b 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java @@ -68,12 +68,4 @@ public interface WmsReceiptOrderDetailService { */ long getReceiptOrderDetailCountBySkuId(Long skuId); - /** - * 获得指定库区的入库单明细数量 - * - * @param areaId 库区编号 - * @return 入库单明细数量 - */ - long getReceiptOrderDetailCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImpl.java index c773740..566d327 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImpl.java @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.receipt; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,10 +33,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe private WmsReceiptOrderDetailMapper receiptOrderDetailMapper; @Resource private WmsItemSkuService itemSkuService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @Override @Transactional(rollbackFor = Exception.class) @@ -104,10 +96,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe if (CollUtil.isEmpty(details)) { throw exception(RECEIPT_ORDER_DETAIL_REQUIRED); } - if (wmsProperties.isAreaEnabled() && details.stream() - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) { - throw exception(RECEIPT_ORDER_AREA_REQUIRED); - } return details; } @@ -116,11 +104,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe return receiptOrderDetailMapper.selectCountBySkuId(skuId); } - @Override - public long getReceiptOrderDetailCountByAreaId(Long areaId) { - return receiptOrderDetailMapper.selectCountByAreaId(areaId); - } - private List buildReceiptOrderDetailList(WmsReceiptOrderSaveReqVO reqVO) { if (CollUtil.isEmpty(reqVO.getDetails())) { return ListUtil.of(); @@ -128,12 +111,8 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe return convertList(reqVO.getDetails(), detail -> { // 校验 SKU 存在 itemSkuService.validateItemSkuExists(detail.getSkuId()); - // 校验仓库区域存在,并且属于当前仓库 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId( - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId()); // 构建对象 - return BeanUtils.toBean(detail, WmsReceiptOrderDetailDO.class) - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); + return BeanUtils.toBean(detail, WmsReceiptOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId()); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java index 8b28e16..4223bfb 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java @@ -81,12 +81,4 @@ public interface WmsReceiptOrderService { */ long getReceiptOrderCountByWarehouseId(Long warehouseId); - /** - * 获得指定库区的入库单数量 - * - * @param areaId 库区编号 - * @return 入库单数量 - */ - long getReceiptOrderCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImpl.java index fc3c6e9..1f6ee11 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImpl.java @@ -138,11 +138,6 @@ public class WmsReceiptOrderServiceImpl implements WmsReceiptOrderService { return receiptOrderMapper.selectCountByWarehouseId(warehouseId); } - @Override - public long getReceiptOrderCountByAreaId(Long areaId) { - return receiptOrderMapper.selectCountByAreaId(areaId); - } - private void validateReceiptOrderSaveData(WmsReceiptOrderSaveReqVO reqVO) { // 校验入库单号唯一 validateReceiptOrderNoUnique(reqVO.getId(), reqVO.getNo()); diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java index 8f594fa..39f5d86 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java @@ -68,12 +68,4 @@ public interface WmsShipmentOrderDetailService { */ long getShipmentOrderDetailCountBySkuId(Long skuId); - /** - * 获得指定库区的出库单明细数量 - * - * @param areaId 库区编号 - * @return 出库单明细数量 - */ - long getShipmentOrderDetailCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailServiceImpl.java index 484850f..fb5ef90 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailServiceImpl.java @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.shipment; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.order.WmsShipmentOrderSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderDetailMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,10 +33,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail private WmsShipmentOrderDetailMapper shipmentOrderDetailMapper; @Resource private WmsItemSkuService itemSkuService; - @Resource - private WmsWarehouseAreaService warehouseAreaService; - @Resource - private WmsProperties wmsProperties; @Override @Transactional(rollbackFor = Exception.class) @@ -104,10 +96,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail if (CollUtil.isEmpty(details)) { throw exception(SHIPMENT_ORDER_DETAIL_REQUIRED); } - if (wmsProperties.isAreaEnabled() && details.stream() - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) { - throw exception(SHIPMENT_ORDER_AREA_REQUIRED); - } return details; } @@ -116,11 +104,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail return shipmentOrderDetailMapper.selectCountBySkuId(skuId); } - @Override - public long getShipmentOrderDetailCountByAreaId(Long areaId) { - return shipmentOrderDetailMapper.selectCountByAreaId(areaId); - } - private List buildShipmentOrderDetailList(WmsShipmentOrderSaveReqVO reqVO) { if (CollUtil.isEmpty(reqVO.getDetails())) { return ListUtil.of(); @@ -128,12 +111,8 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail return convertList(reqVO.getDetails(), detail -> { // 校验 SKU 存在 itemSkuService.validateItemSkuExists(detail.getSkuId()); - // 校验仓库区域存在,并且属于当前仓库 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId( - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId()); // 构建对象 - return BeanUtils.toBean(detail, WmsShipmentOrderDetailDO.class) - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); + return BeanUtils.toBean(detail, WmsShipmentOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId()); }); } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java index ffe6450..2a2b2f6 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java @@ -81,12 +81,4 @@ public interface WmsShipmentOrderService { */ long getShipmentOrderCountByWarehouseId(Long warehouseId); - /** - * 获得指定库区的出库单数量 - * - * @param areaId 库区编号 - * @return 出库单数量 - */ - long getShipmentOrderCountByAreaId(Long areaId); - } diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImpl.java index 5065d1e..2f7b9f7 100644 --- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImpl.java +++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImpl.java @@ -139,11 +139,6 @@ public class WmsShipmentOrderServiceImpl implements WmsShipmentOrderService { return shipmentOrderMapper.selectCountByWarehouseId(warehouseId); } - @Override - public long getShipmentOrderCountByAreaId(Long areaId) { - return shipmentOrderMapper.selectCountByAreaId(areaId); - } - private void validateShipmentOrderSaveData(WmsShipmentOrderSaveReqVO reqVO) { // 校验出库单号唯一 validateShipmentOrderNoUnique(reqVO.getId(), reqVO.getNo()); diff --git a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java index 355a33b..2a1a5ba 100644 --- a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java +++ b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java @@ -57,13 +57,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00"); // 调用 inventoryService.changeInventory(reqDTO); // 断言:库存余额 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L); assertNotNull(inventory); assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); // 断言:库存流水 @@ -72,7 +72,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { WmsInventoryHistoryDO history = histories.get(0); assertEquals(sku.getId(), history.getSkuId()); assertEquals(100L, history.getWarehouseId()); - assertEquals(1001L, history.getAreaId()); assertEquals(0, BigDecimal.ZERO.compareTo(history.getBeforeQuantity())); assertEquals(0, new BigDecimal("5.00").compareTo(history.getAfterQuantity())); assertEquals(reqDTO.getOrderId(), history.getOrderId()); @@ -85,14 +84,14 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "3.00"); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "3.00"); // 调用 inventoryService.changeInventory(reqDTO); // 断言:库存余额 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L); assertNotNull(inventory); assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); // 断言:库存流水 @@ -109,12 +108,11 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00"); List items = new ArrayList<>(reqDTO.getItems()); items.add(new WmsInventoryChangeReqDTO.Item() .setSkuId(sku.getId()) .setWarehouseId(100L) - .setAreaId(1001L) .setQuantity(new BigDecimal("7.00")) .setAmount(new BigDecimal("140.00")) .setRemark("测试入库 2")); @@ -124,7 +122,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { inventoryService.changeInventory(reqDTO); // 断言:库存余额只保留一条,数量逐条累加 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L); assertNotNull(inventory); assertEquals(0, new BigDecimal("12.00").compareTo(inventory.getQuantity())); // 断言:库存流水保持用户明细颗粒度 @@ -144,13 +142,12 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "3.00"); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "3.00"); List items = new ArrayList<>(reqDTO.getItems()); items.add(new WmsInventoryChangeReqDTO.Item() .setSkuId(sku.getId()) .setWarehouseId(100L) - .setAreaId(1001L) .setQuantity(new BigDecimal("4.00")) .setAmount(new BigDecimal("80.00")) .setRemark("测试入库 2")); @@ -160,7 +157,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { inventoryService.changeInventory(reqDTO); // 断言:库存余额只保留一条,数量逐条累加 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L); assertNotNull(inventory); assertEquals(0, new BigDecimal("9.00").compareTo(inventory.getQuantity())); // 断言:库存流水保持用户明细颗粒度 @@ -180,19 +177,17 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00"); List items = new ArrayList<>(reqDTO.getItems()); items.add(new WmsInventoryChangeReqDTO.Item() .setSkuId(sku.getId()) .setWarehouseId(200L) - .setAreaId(2001L) .setQuantity(new BigDecimal("3.00")) .setAmount(new BigDecimal("60.00")) .setRemark("测试入库 2")); items.add(new WmsInventoryChangeReqDTO.Item() .setSkuId(sku.getId()) .setWarehouseId(100L) - .setAreaId(1001L) .setQuantity(new BigDecimal("-2.00")) .setAmount(new BigDecimal("40.00")) .setRemark("测试出库")); @@ -202,10 +197,10 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { inventoryService.changeInventory(reqDTO); // 断言:不同库存余额分别更新 - WmsInventoryDO inventory1 = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); + WmsInventoryDO inventory1 = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L); assertNotNull(inventory1); assertEquals(0, new BigDecimal("3.00").compareTo(inventory1.getQuantity())); - WmsInventoryDO inventory2 = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 200L, 2001L); + WmsInventoryDO inventory2 = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 200L); assertNotNull(inventory2); assertEquals(0, new BigDecimal("3.00").compareTo(inventory2.getQuantity())); // 断言:批量加锁后仍按明细颗粒度记录 before/after @@ -228,13 +223,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "-3.00"); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "-3.00"); mockItemSkuAndItem(item, sku); // 调用,并断言 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH, - item.getName(), sku.getName(), 100L, 1001L, new BigDecimal("2.000000"), new BigDecimal("-3.00")); + item.getName(), sku.getName(), 100L, new BigDecimal("2.000000"), new BigDecimal("-3.00")); } @Test @@ -242,28 +237,26 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "-3.00"); + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "-3.00"); mockItemSkuAndItem(item, sku); // 调用,并断言 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH, - item.getName(), sku.getName(), 100L, 1001L, BigDecimal.ZERO.setScale(6), new BigDecimal("-3.00")); + item.getName(), sku.getName(), 100L, BigDecimal.ZERO.setScale(6), new BigDecimal("-3.00")); assertEquals(0, inventoryMapper.selectCount()); } @Test - public void testGetInventoryPage_groupByWarehouse() { + public void testGetInventoryPage_filterByWarehouse() { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00")); - inventoryMapper.insert(createInventory(sku.getId(), 200L, 1001L, "5.00")); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + inventoryMapper.insert(createInventory(sku.getId(), 200L, "5.00")); // 准备参数 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); reqVO.setWarehouseId(100L); - reqVO.setAreaId(1001L); // 仓库维度不按库区过滤 // 调用 PageResult pageResult = inventoryService.getInventoryPage(reqVO); @@ -272,9 +265,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { assertEquals(1, pageResult.getList().size()); WmsInventoryDO inventory = pageResult.getList().get(0); assertEquals(100L, inventory.getWarehouseId()); - assertEquals(0L, inventory.getAreaId()); assertEquals(sku.getId(), inventory.getSkuId()); - assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); + assertEquals(0, new BigDecimal("2.00").compareTo(inventory.getQuantity())); } @Test @@ -282,8 +274,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00")); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + inventoryMapper.insert(createInventory(sku.getId(), 200L, "7.00")); // 准备参数 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); @@ -292,27 +284,57 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { // 调用 PageResult pageResult = inventoryService.getInventoryPage(reqVO); // 断言 - assertEquals(0, pageResult.getTotal()); - assertEquals(0, pageResult.getList().size()); + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertEquals(200L, pageResult.getList().get(0).getWarehouseId()); } @Test - public void testGetInventoryPage_area() { + public void testGetInventoryPage_sku() { // mock 数据 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00")); - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00")); + WmsItemSkuDO sku2 = createSku(item.getId(), "SKU-002", "5kg 箱装"); + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00")); + inventoryMapper.insert(createInventory(sku2.getId(), 100L, "3.00")); // 准备参数 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); - reqVO.setType(WmsInventoryPageReqVO.TYPE_AREA); + reqVO.setType(WmsInventoryPageReqVO.TYPE_ITEM); reqVO.setWarehouseId(100L); + reqVO.setSkuId(sku.getId()); + + // 调用 + PageResult pageResult = inventoryService.getInventoryPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertEquals(sku.getId(), pageResult.getList().get(0).getSkuId()); + } + + @Test + public void testGetInventoryPage_orderByItemDimension() { + // mock 数据 + WmsItemDO item1 = createItem("ITEM-001", "红富士苹果"); + WmsItemSkuDO sku1 = createSku(item1.getId(), "SKU-001", "10kg 箱装"); + WmsItemDO item2 = createItem("ITEM-002", "香蕉"); + WmsItemSkuDO sku2 = createSku(item2.getId(), "SKU-002", "5kg 箱装"); + inventoryMapper.insert(createInventory(sku2.getId(), 100L, "3.00")); + inventoryMapper.insert(createInventory(sku1.getId(), 200L, "2.00")); + inventoryMapper.insert(createInventory(sku1.getId(), 100L, "1.00")); + // 准备参数 + WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); + reqVO.setType(WmsInventoryPageReqVO.TYPE_ITEM); // 调用 PageResult pageResult = inventoryService.getInventoryPage(reqVO); // 断言 - assertEquals(2, pageResult.getTotal()); - assertEquals(2, pageResult.getList().size()); + assertEquals(3, pageResult.getTotal()); + assertEquals(sku1.getId(), pageResult.getList().get(0).getSkuId()); + assertEquals(100L, pageResult.getList().get(0).getWarehouseId()); + assertEquals(sku1.getId(), pageResult.getList().get(1).getSkuId()); + assertEquals(200L, pageResult.getList().get(1).getWarehouseId()); + assertEquals(sku2.getId(), pageResult.getList().get(2).getSkuId()); + assertEquals(100L, pageResult.getList().get(2).getWarehouseId()); } private WmsItemDO createItem(String code, String name) { @@ -342,16 +364,15 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { when(itemService.validateItemExists(item.getId())).thenReturn(item); } - private static WmsInventoryDO createInventory(Long skuId, Long warehouseId, Long areaId, String quantity) { + private static WmsInventoryDO createInventory(Long skuId, Long warehouseId, String quantity) { return WmsInventoryDO.builder() .skuId(skuId) .warehouseId(warehouseId) - .areaId(areaId) .quantity(new BigDecimal(quantity)) .build(); } - private static WmsInventoryChangeReqDTO createChangeReq(Long skuId, Long warehouseId, Long areaId, String quantity) { + private static WmsInventoryChangeReqDTO createChangeReq(Long skuId, Long warehouseId, String quantity) { return new WmsInventoryChangeReqDTO() .setOrderId(1L) .setOrderNo("RK202605120001") @@ -359,7 +380,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { .setItems(Collections.singletonList(new WmsInventoryChangeReqDTO.Item() .setSkuId(skuId) .setWarehouseId(warehouseId) - .setAreaId(areaId) .setQuantity(new BigDecimal(quantity)) .setAmount(new BigDecimal("100.00")) .setRemark("测试入库"))); diff --git a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImplTest.java b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImplTest.java index 71325d3..9d79589 100644 --- a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImplTest.java +++ b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailServiceImplTest.java @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.receipt; import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailSaveReqVO; import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO; -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import jakarta.annotation.Resource; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; import org.springframework.test.context.bean.override.mockito.MockitoBean; @@ -24,10 +20,8 @@ import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; -@Import({WmsReceiptOrderDetailServiceImpl.class, WmsProperties.class}) +@Import(WmsReceiptOrderDetailServiceImpl.class) public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @Resource @@ -38,14 +32,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @MockitoBean private WmsItemSkuService itemSkuService; - @MockitoBean - private WmsWarehouseAreaService warehouseAreaService; - - @BeforeEach - public void setUp() { - when(warehouseAreaService.validateAndNormalizeWarehouseAreaId(any(), any())) - .thenReturn(WmsWarehouseAreaDO.ID_EMPTY); - } @Test public void testCreateReceiptOrderDetailList_success() { @@ -129,7 +115,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { private static WmsReceiptOrderSaveReqVO createReceiptOrderReqVO(WmsReceiptOrderDetailSaveReqVO... details) { WmsReceiptOrderSaveReqVO reqVO = new WmsReceiptOrderSaveReqVO(); reqVO.setWarehouseId(100L); - reqVO.setAreaId(0L); reqVO.setDetails(Arrays.asList(details)); return reqVO; } @@ -138,7 +123,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { WmsReceiptOrderDetailSaveReqVO reqVO = new WmsReceiptOrderDetailSaveReqVO(); reqVO.setId(id); reqVO.setSkuId(skuId); - reqVO.setAreaId(0L); reqVO.setQuantity(new BigDecimal(quantity)); reqVO.setAmount(new BigDecimal("100.00")); return reqVO; @@ -149,7 +133,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { .orderId(orderId) .skuId(skuId) .warehouseId(100L) - .areaId(0L) .quantity(new BigDecimal(quantity)) .amount(new BigDecimal("100.00")) .build(); diff --git a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImplTest.java b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImplTest.java index b00ca7c..a13f2ff 100644 --- a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImplTest.java +++ b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderServiceImplTest.java @@ -8,12 +8,10 @@ import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderMapper import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; import java.math.BigDecimal; import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_AREA_REQUIRED; import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_DETAIL_REQUIRED; import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_STATUS_NOT_DELETABLE; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class, WmsProperties.class}) +@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class}) public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @Resource @@ -48,8 +45,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @MockitoBean private WmsWarehouseService warehouseService; @MockitoBean - private WmsWarehouseAreaService warehouseAreaService; - @MockitoBean private WmsMerchantService merchantService; @MockitoBean private WmsItemSkuService itemSkuService; @@ -63,7 +58,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { Long skuId = 200L; WmsReceiptOrderDO order = createReceiptOrder(warehouseId); receiptOrderMapper.insert(order); - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), skuId, warehouseId, 300L)); + receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), skuId, warehouseId)); // 调用 receiptOrderService.completeReceiptOrder(order.getId()); @@ -98,19 +93,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { } @Test - public void testCompleteReceiptOrder_areaRequired() { - // mock 数据 - WmsReceiptOrderDO order = createReceiptOrder(100L); - receiptOrderMapper.insert(order); - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L, 0L)); - - // 调用,并断言 - assertServiceException(() -> receiptOrderService.completeReceiptOrder(order.getId()), - RECEIPT_ORDER_AREA_REQUIRED); - verify(inventoryService, never()).changeInventory(any()); - } - - @Test public void testCancelReceiptOrder_success() { // mock 数据 WmsReceiptOrderDO order = createReceiptOrder(100L); @@ -131,7 +113,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsReceiptOrderDO order = createReceiptOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); receiptOrderMapper.insert(order); - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L, 300L)); + receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L)); // 调用 receiptOrderService.deleteReceiptOrder(order.getId()); @@ -158,18 +140,15 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { .setType(WmsReceiptOrderTypeEnum.PURCHASE.getType()) .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) .setWarehouseId(warehouseId) - .setAreaId(0L) .setTotalQuantity(new BigDecimal("2.00")) .setTotalAmount(new BigDecimal("20.00")); } - private static WmsReceiptOrderDetailDO createReceiptOrderDetail(Long orderId, Long skuId, Long warehouseId, - Long areaId) { + private static WmsReceiptOrderDetailDO createReceiptOrderDetail(Long orderId, Long skuId, Long warehouseId) { return WmsReceiptOrderDetailDO.builder() .orderId(orderId) .skuId(skuId) .warehouseId(warehouseId) - .areaId(areaId) .quantity(new BigDecimal("2.00")) .amount(new BigDecimal("20.00")) .build(); diff --git a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImplTest.java b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImplTest.java index c04bf5f..cfc227e 100644 --- a/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImplTest.java +++ b/yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderServiceImplTest.java @@ -8,12 +8,10 @@ import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderMapp import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; import java.math.BigDecimal; import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_AREA_REQUIRED; import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_DETAIL_REQUIRED; import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_STATUS_NOT_DELETABLE; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class, WmsProperties.class}) +@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class}) public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @Resource @@ -48,8 +45,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @MockitoBean private WmsWarehouseService warehouseService; @MockitoBean - private WmsWarehouseAreaService warehouseAreaService; - @MockitoBean private WmsMerchantService merchantService; @MockitoBean private WmsItemSkuService itemSkuService; @@ -63,7 +58,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { Long skuId = 200L; WmsShipmentOrderDO order = createShipmentOrder(warehouseId); shipmentOrderMapper.insert(order); - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), skuId, warehouseId, 400L)); + shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), skuId, warehouseId)); // 调用 shipmentOrderService.completeShipmentOrder(order.getId()); @@ -98,19 +93,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { } @Test - public void testCompleteShipmentOrder_areaRequired() { - // mock 数据 - WmsShipmentOrderDO order = createShipmentOrder(100L); - shipmentOrderMapper.insert(order); - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L, 0L)); - - // 调用,并断言 - assertServiceException(() -> shipmentOrderService.completeShipmentOrder(order.getId()), - SHIPMENT_ORDER_AREA_REQUIRED); - verify(inventoryService, never()).changeInventory(any()); - } - - @Test public void testCancelShipmentOrder_success() { // mock 数据 WmsShipmentOrderDO order = createShipmentOrder(100L); @@ -131,7 +113,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { // mock 数据 WmsShipmentOrderDO order = createShipmentOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); shipmentOrderMapper.insert(order); - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L, 300L)); + shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L)); // 调用 shipmentOrderService.deleteShipmentOrder(order.getId()); @@ -158,18 +140,15 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { .setType(WmsShipmentOrderTypeEnum.SALE.getType()) .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) .setWarehouseId(warehouseId) - .setAreaId(0L) .setTotalQuantity(new BigDecimal("2.00")) .setTotalAmount(new BigDecimal("20.00")); } - private static WmsShipmentOrderDetailDO createShipmentOrderDetail(Long orderId, Long skuId, Long warehouseId, - Long areaId) { + private static WmsShipmentOrderDetailDO createShipmentOrderDetail(Long orderId, Long skuId, Long warehouseId) { return WmsShipmentOrderDetailDO.builder() .orderId(orderId) .skuId(skuId) .warehouseId(warehouseId) - .areaId(areaId) .quantity(new BigDecimal("2.00")) .amount(new BigDecimal("20.00")) .build(); diff --git a/yudao-module-wms/src/test/resources/sql/create_tables.sql b/yudao-module-wms/src/test/resources/sql/create_tables.sql index 9572ba0..b1540d9 100644 --- a/yudao-module-wms/src/test/resources/sql/create_tables.sql +++ b/yudao-module-wms/src/test/resources/sql/create_tables.sql @@ -41,7 +41,6 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "sku_id" bigint NOT NULL, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "quantity" decimal(24, 6) NOT NULL DEFAULT '0', "remark" varchar(255) DEFAULT NULL, "creator" varchar(64) DEFAULT '', @@ -51,13 +50,12 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( "deleted" bit NOT NULL DEFAULT FALSE, "tenant_id" bigint NOT NULL DEFAULT '0', PRIMARY KEY ("id"), - CONSTRAINT "uk_wms_inventory_sku_warehouse_area" UNIQUE ("sku_id", "warehouse_id", "area_id", "tenant_id", "deleted") + CONSTRAINT "uk_wms_inventory_sku_warehouse" UNIQUE ("sku_id", "warehouse_id", "tenant_id", "deleted") ) COMMENT 'WMS 库存表'; CREATE TABLE IF NOT EXISTS "wms_inventory_history" ( "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "sku_id" bigint NOT NULL, "quantity" decimal(24, 6) NOT NULL DEFAULT '0', "before_quantity" decimal(24, 6) DEFAULT NULL, @@ -88,7 +86,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order" ( "merchant_id" bigint DEFAULT NULL, "remark" varchar(255) DEFAULT NULL, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', "total_amount" decimal(10, 2) DEFAULT NULL, "creator" varchar(64) DEFAULT '', @@ -106,7 +103,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order_detail" ( "order_id" bigint NOT NULL, "sku_id" bigint NOT NULL, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "batch_no" varchar(64) DEFAULT NULL, "production_date" timestamp DEFAULT NULL, "expiration_date" timestamp DEFAULT NULL, @@ -130,7 +126,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order" ( "merchant_id" bigint DEFAULT NULL, "remark" varchar(255) DEFAULT NULL, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', "total_amount" decimal(10, 2) DEFAULT NULL, "creator" varchar(64) DEFAULT '', @@ -148,7 +143,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order_detail" ( "order_id" bigint NOT NULL, "sku_id" bigint NOT NULL, "warehouse_id" bigint NOT NULL, - "area_id" bigint NOT NULL DEFAULT '0', "batch_no" varchar(64) DEFAULT NULL, "production_date" timestamp DEFAULT NULL, "expiration_date" timestamp DEFAULT NULL, -- libgit2 0.21.4