Commit fe38e4fdefd176f5891e6522b4f5f3d4a8f0910c

Authored by YunaiV
1 parent a1d2f849

feat(wms):减法,去掉 area 表

Showing 86 changed files with 119 additions and 1488 deletions
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 @@ -10,13 +10,10 @@ import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryRes
10 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO;
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
13 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
14 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 13 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
15 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
16 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; 14 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService;
17 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
18 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 16 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
19 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
20 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
21 import io.swagger.v3.oas.annotations.Operation; 18 import io.swagger.v3.oas.annotations.Operation;
22 import io.swagger.v3.oas.annotations.tags.Tag; 19 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -49,10 +46,6 @@ public class WmsInventoryController { @@ -49,10 +46,6 @@ public class WmsInventoryController {
49 private WmsItemSkuService itemSkuService; 46 private WmsItemSkuService itemSkuService;
50 @Resource 47 @Resource
51 private WmsWarehouseService warehouseService; 48 private WmsWarehouseService warehouseService;
52 - @Resource  
53 - private WmsWarehouseAreaService warehouseAreaService;  
54 - @Resource  
55 - private WmsProperties wmsProperties;  
56 49
57 @GetMapping("/page") 50 @GetMapping("/page")
58 @Operation(summary = "获得库存统计分页") 51 @Operation(summary = "获得库存统计分页")
@@ -72,9 +65,6 @@ public class WmsInventoryController { @@ -72,9 +65,6 @@ public class WmsInventoryController {
72 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 65 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
73 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 66 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
74 convertSet(list, WmsInventoryDO::getWarehouseId)); 67 convertSet(list, WmsInventoryDO::getWarehouseId));
75 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
76 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryDO::getAreaId))  
77 - : Collections.emptyMap();  
78 return BeanUtils.toBean(list, WmsInventoryRespVO.class, vo -> { 68 return BeanUtils.toBean(list, WmsInventoryRespVO.class, vo -> {
79 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 69 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
80 vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); 70 vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId());
@@ -82,7 +72,6 @@ public class WmsInventoryController { @@ -82,7 +72,6 @@ public class WmsInventoryController {
82 .setItemName(item.getName()).setUnit(item.getUnit())); 72 .setItemName(item.getName()).setUnit(item.getUnit()));
83 }); 73 });
84 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 74 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
85 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
86 }); 75 });
87 } 76 }
88 77
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 @@ -10,13 +10,10 @@ import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.history.WmsInve
10 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryHistoryDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryHistoryDO;
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
13 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
14 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 13 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
15 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
16 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryHistoryService; 14 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryHistoryService;
17 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
18 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 16 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
19 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
20 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
21 import io.swagger.v3.oas.annotations.Operation; 18 import io.swagger.v3.oas.annotations.Operation;
22 import io.swagger.v3.oas.annotations.tags.Tag; 19 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -49,10 +46,6 @@ public class WmsInventoryHistoryController { @@ -49,10 +46,6 @@ public class WmsInventoryHistoryController {
49 private WmsItemSkuService itemSkuService; 46 private WmsItemSkuService itemSkuService;
50 @Resource 47 @Resource
51 private WmsWarehouseService warehouseService; 48 private WmsWarehouseService warehouseService;
52 - @Resource  
53 - private WmsWarehouseAreaService warehouseAreaService;  
54 - @Resource  
55 - private WmsProperties wmsProperties;  
56 49
57 @GetMapping("/page") 50 @GetMapping("/page")
58 @Operation(summary = "获得库存流水分页") 51 @Operation(summary = "获得库存流水分页")
@@ -73,9 +66,6 @@ public class WmsInventoryHistoryController { @@ -73,9 +66,6 @@ public class WmsInventoryHistoryController {
73 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 66 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
74 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 67 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
75 convertSet(list, WmsInventoryHistoryDO::getWarehouseId)); 68 convertSet(list, WmsInventoryHistoryDO::getWarehouseId));
76 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
77 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryHistoryDO::getAreaId))  
78 - : Collections.emptyMap();  
79 return BeanUtils.toBean(list, WmsInventoryHistoryRespVO.class, vo -> { 69 return BeanUtils.toBean(list, WmsInventoryHistoryRespVO.class, vo -> {
80 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 70 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
81 vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); 71 vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId());
@@ -83,7 +73,6 @@ public class WmsInventoryHistoryController { @@ -83,7 +73,6 @@ public class WmsInventoryHistoryController {
83 .setItemName(item.getName()).setUnit(item.getUnit())); 73 .setItemName(item.getName()).setUnit(item.getUnit()));
84 }); 74 });
85 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 75 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
86 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
87 }); 76 });
88 } 77 }
89 78
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 { @@ -20,11 +20,6 @@ public class WmsInventoryPageReqVO extends PageParam {
20 public static final String TYPE_WAREHOUSE = "warehouse"; 20 public static final String TYPE_WAREHOUSE = "warehouse";
21 21
22 /** 22 /**
23 - * 按库区维度统计  
24 - */  
25 - public static final String TYPE_AREA = "area";  
26 -  
27 - /**  
28 * 按商品维度统计 23 * 按商品维度统计
29 */ 24 */
30 public static final String TYPE_ITEM = "item"; 25 public static final String TYPE_ITEM = "item";
@@ -50,9 +45,6 @@ public class WmsInventoryPageReqVO extends PageParam { @@ -50,9 +45,6 @@ public class WmsInventoryPageReqVO extends PageParam {
50 @Schema(description = "仓库编号", example = "2048") 45 @Schema(description = "仓库编号", example = "2048")
51 private Long warehouseId; 46 private Long warehouseId;
52 47
53 - @Schema(description = "库区编号", example = "4096")  
54 - private Long areaId;  
55 -  
56 @Schema(description = "最小库存数量", example = "0.01") 48 @Schema(description = "最小库存数量", example = "0.01")
57 private BigDecimal minQuantity; 49 private BigDecimal minQuantity;
58 50
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryRespVO.java
@@ -33,10 +33,6 @@ public class WmsInventoryRespVO { @@ -33,10 +33,6 @@ public class WmsInventoryRespVO {
33 private Long warehouseId; 33 private Long warehouseId;
34 @Schema(description = "仓库名称", example = "成品仓") 34 @Schema(description = "仓库名称", example = "成品仓")
35 private String warehouseName; 35 private String warehouseName;
36 - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")  
37 - private Long areaId;  
38 - @Schema(description = "库区名称", example = "A 区")  
39 - private String areaName;  
40 36
41 @Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 37 @Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
42 private BigDecimal quantity; 38 private BigDecimal quantity;
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 { @@ -35,9 +35,6 @@ public class WmsInventoryHistoryPageReqVO extends PageParam {
35 @Schema(description = "仓库编号", example = "2048") 35 @Schema(description = "仓库编号", example = "2048")
36 private Long warehouseId; 36 private Long warehouseId;
37 37
38 - @Schema(description = "库区编号", example = "4096")  
39 - private Long areaId;  
40 -  
41 @Schema(description = "操作单号", example = "RK202605110001") 38 @Schema(description = "操作单号", example = "RK202605110001")
42 private String orderNo; 39 private String orderNo;
43 40
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 { @@ -33,10 +33,6 @@ public class WmsInventoryHistoryRespVO {
33 private Long warehouseId; 33 private Long warehouseId;
34 @Schema(description = "仓库名称", example = "成品仓") 34 @Schema(description = "仓库名称", example = "成品仓")
35 private String warehouseName; 35 private String warehouseName;
36 - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")  
37 - private Long areaId;  
38 - @Schema(description = "库区名称", example = "A 区")  
39 - private String areaName;  
40 36
41 @Schema(description = "库存变化数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10.00") 37 @Schema(description = "库存变化数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10.00")
42 private BigDecimal quantity; 38 private BigDecimal quantity;
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/WmsWarehouseAreaController.java deleted
1 -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse;  
2 -  
3 -import cn.hutool.core.collection.CollUtil;  
4 -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;  
5 -import cn.iocoder.yudao.framework.common.pojo.CommonResult;  
6 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
7 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
8 -import cn.iocoder.yudao.framework.common.util.collection.MapUtils;  
9 -import cn.iocoder.yudao.framework.common.util.object.BeanUtils;  
10 -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;  
11 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO;  
12 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaRespVO;  
13 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO;  
14 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
15 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;  
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;  
18 -import io.swagger.v3.oas.annotations.Operation;  
19 -import io.swagger.v3.oas.annotations.Parameter;  
20 -import io.swagger.v3.oas.annotations.tags.Tag;  
21 -import jakarta.annotation.Resource;  
22 -import jakarta.servlet.http.HttpServletResponse;  
23 -import jakarta.validation.Valid;  
24 -import org.springframework.security.access.prepost.PreAuthorize;  
25 -import org.springframework.validation.annotation.Validated;  
26 -import org.springframework.web.bind.annotation.*;  
27 -  
28 -import java.io.IOException;  
29 -import java.util.Collections;  
30 -import java.util.List;  
31 -import java.util.Map;  
32 -  
33 -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;  
34 -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;  
35 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;  
36 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getFirst;  
37 -  
38 -@Tag(name = "管理后台 - WMS 库区")  
39 -@RestController  
40 -@RequestMapping("/wms/warehouse-area")  
41 -@Validated  
42 -public class WmsWarehouseAreaController {  
43 -  
44 - @Resource  
45 - private WmsWarehouseAreaService warehouseAreaService;  
46 - @Resource  
47 - private WmsWarehouseService warehouseService;  
48 -  
49 - @PostMapping("/create")  
50 - @Operation(summary = "创建库区")  
51 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:create')")  
52 - public CommonResult<Long> createWarehouseArea(@Valid @RequestBody WmsWarehouseAreaSaveReqVO createReqVO) {  
53 - return success(warehouseAreaService.createWarehouseArea(createReqVO));  
54 - }  
55 -  
56 - @PutMapping("/update")  
57 - @Operation(summary = "更新库区")  
58 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:update')")  
59 - public CommonResult<Boolean> updateWarehouseArea(@Valid @RequestBody WmsWarehouseAreaSaveReqVO updateReqVO) {  
60 - warehouseAreaService.updateWarehouseArea(updateReqVO);  
61 - return success(true);  
62 - }  
63 -  
64 - @DeleteMapping("/delete")  
65 - @Operation(summary = "删除库区")  
66 - @Parameter(name = "id", description = "编号", required = true)  
67 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:delete')")  
68 - public CommonResult<Boolean> deleteWarehouseArea(@RequestParam("id") Long id) {  
69 - warehouseAreaService.deleteWarehouseArea(id);  
70 - return success(true);  
71 - }  
72 -  
73 - @GetMapping("/get")  
74 - @Operation(summary = "获得库区")  
75 - @Parameter(name = "id", description = "编号", required = true, example = "1024")  
76 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')")  
77 - public CommonResult<WmsWarehouseAreaRespVO> getWarehouseArea(@RequestParam("id") Long id) {  
78 - WmsWarehouseAreaDO area = warehouseAreaService.getWarehouseArea(id);  
79 - return success(buildWarehouseAreaRespVO(area));  
80 - }  
81 -  
82 - @GetMapping("/page")  
83 - @Operation(summary = "获得库区分页")  
84 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')")  
85 - public CommonResult<PageResult<WmsWarehouseAreaRespVO>> getWarehouseAreaPage(@Valid WmsWarehouseAreaPageReqVO pageReqVO) {  
86 - PageResult<WmsWarehouseAreaDO> pageResult = warehouseAreaService.getWarehouseAreaPage(pageReqVO);  
87 - return success(new PageResult<>(buildWarehouseAreaRespVOList(pageResult.getList()), pageResult.getTotal()));  
88 - }  
89 -  
90 - @GetMapping("/simple-list")  
91 - @Operation(summary = "获得库区精简列表", description = "可按仓库过滤")  
92 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:query')")  
93 - public CommonResult<List<WmsWarehouseAreaRespVO>> getWarehouseAreaSimpleList(  
94 - @Parameter(name = "warehouseId", description = "仓库编号") @RequestParam(value = "warehouseId", required = false) Long warehouseId) {  
95 - List<WmsWarehouseAreaDO> list = warehouseAreaService.getWarehouseAreaList(warehouseId);  
96 - return success(buildWarehouseAreaRespVOList(list));  
97 - }  
98 -  
99 - @GetMapping("/export-excel")  
100 - @Operation(summary = "导出库区 Excel")  
101 - @PreAuthorize("@ss.hasPermission('wms:warehouse-area:export')")  
102 - @ApiAccessLog(operateType = EXPORT)  
103 - public void exportWarehouseAreaExcel(@Valid WmsWarehouseAreaPageReqVO pageReqVO,  
104 - HttpServletResponse response) throws IOException {  
105 - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);  
106 - List<WmsWarehouseAreaDO> list = warehouseAreaService.getWarehouseAreaPage(pageReqVO).getList();  
107 - ExcelUtils.write(response, "库区.xls", "数据", WmsWarehouseAreaRespVO.class,  
108 - buildWarehouseAreaRespVOList(list));  
109 - }  
110 -  
111 - // ==================== 拼接 VO ====================  
112 -  
113 - private WmsWarehouseAreaRespVO buildWarehouseAreaRespVO(WmsWarehouseAreaDO area) {  
114 - if (area == null) {  
115 - return null;  
116 - }  
117 - return getFirst(buildWarehouseAreaRespVOList(Collections.singletonList(area)));  
118 - }  
119 -  
120 - private List<WmsWarehouseAreaRespVO> buildWarehouseAreaRespVOList(List<WmsWarehouseAreaDO> list) {  
121 - if (CollUtil.isEmpty(list)) {  
122 - return Collections.emptyList();  
123 - }  
124 - Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsWarehouseAreaDO::getWarehouseId));  
125 - return BeanUtils.toBean(list, WmsWarehouseAreaRespVO.class, vo ->  
126 - MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())));  
127 - }  
128 -  
129 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaPageReqVO.java deleted
1 -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.PageParam;  
4 -import io.swagger.v3.oas.annotations.media.Schema;  
5 -import lombok.Data;  
6 -import lombok.EqualsAndHashCode;  
7 -import lombok.ToString;  
8 -  
9 -@Schema(description = "管理后台 - WMS 库区分页 Request VO")  
10 -@Data  
11 -@EqualsAndHashCode(callSuper = true)  
12 -@ToString(callSuper = true)  
13 -public class WmsWarehouseAreaPageReqVO extends PageParam {  
14 -  
15 - @Schema(description = "库区编号", example = "A001")  
16 - private String code;  
17 -  
18 - @Schema(description = "库区名称", example = "A 区")  
19 - private String name;  
20 -  
21 - @Schema(description = "所属仓库编号", example = "1024")  
22 - private Long warehouseId;  
23 -  
24 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaRespVO.java deleted
1 -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area;  
2 -  
3 -import cn.idev.excel.annotation.ExcelIgnoreUnannotated;  
4 -import cn.idev.excel.annotation.ExcelProperty;  
5 -import io.swagger.v3.oas.annotations.media.Schema;  
6 -import lombok.Data;  
7 -  
8 -import java.time.LocalDateTime;  
9 -  
10 -@Schema(description = "管理后台 - WMS 库区 Response VO")  
11 -@Data  
12 -@ExcelIgnoreUnannotated  
13 -public class WmsWarehouseAreaRespVO {  
14 -  
15 - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")  
16 - @ExcelProperty("编号")  
17 - private Long id;  
18 -  
19 - @Schema(description = "库区编号", example = "A001")  
20 - @ExcelProperty("库区编号")  
21 - private String code;  
22 -  
23 - @Schema(description = "库区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "A 区")  
24 - @ExcelProperty("库区名称")  
25 - private String name;  
26 -  
27 - @Schema(description = "所属仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")  
28 - @ExcelProperty("所属仓库编号")  
29 - private Long warehouseId;  
30 -  
31 - @Schema(description = "所属仓库名称", example = "原料仓")  
32 - @ExcelProperty("所属仓库名称")  
33 - private String warehouseName;  
34 -  
35 - @Schema(description = "备注", example = "备注")  
36 - @ExcelProperty("备注")  
37 - private String remark;  
38 -  
39 - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)  
40 - @ExcelProperty("创建时间")  
41 - private LocalDateTime createTime;  
42 -  
43 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/md/warehouse/vo/area/WmsWarehouseAreaSaveReqVO.java deleted
1 -package cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import jakarta.validation.constraints.NotEmpty;  
5 -import jakarta.validation.constraints.NotNull;  
6 -import jakarta.validation.constraints.Size;  
7 -import lombok.Data;  
8 -  
9 -@Schema(description = "管理后台 - WMS 库区新增/修改 Request VO")  
10 -@Data  
11 -public class WmsWarehouseAreaSaveReqVO {  
12 -  
13 - @Schema(description = "编号", example = "1024")  
14 - private Long id;  
15 -  
16 - @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "A001")  
17 - @NotEmpty(message = "库区编号不能为空")  
18 - @Size(max = 20, message = "库区编号长度不能超过 20 个字符")  
19 - private String code;  
20 -  
21 - @Schema(description = "库区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "A 区")  
22 - @NotEmpty(message = "库区名称不能为空")  
23 - private String name;  
24 -  
25 - @Schema(description = "所属仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")  
26 - @NotNull(message = "所属仓库不能为空")  
27 - private Long warehouseId;  
28 -  
29 - @Schema(description = "备注", example = "备注")  
30 - private String remark;  
31 -  
32 -}  
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 @@ -17,14 +17,11 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsChec
17 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO; 17 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO;
18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
20 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
21 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDO; 21 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDO;
23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; 22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO;
24 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
25 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 23 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
26 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 24 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
27 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
28 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 25 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
29 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; 26 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService;
30 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; 27 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService;
@@ -63,16 +60,11 @@ public class WmsCheckOrderController { @@ -63,16 +60,11 @@ public class WmsCheckOrderController {
63 @Resource 60 @Resource
64 private WmsWarehouseService warehouseService; 61 private WmsWarehouseService warehouseService;
65 @Resource 62 @Resource
66 - private WmsWarehouseAreaService warehouseAreaService;  
67 - @Resource  
68 private WmsItemService itemService; 63 private WmsItemService itemService;
69 @Resource 64 @Resource
70 private WmsItemSkuService itemSkuService; 65 private WmsItemSkuService itemSkuService;
71 66
72 @Resource 67 @Resource
73 - private WmsProperties wmsProperties;  
74 -  
75 - @Resource  
76 private AdminUserApi adminUserApi; 68 private AdminUserApi adminUserApi;
77 69
78 @PostMapping("/create") 70 @PostMapping("/create")
@@ -168,17 +160,13 @@ public class WmsCheckOrderController { @@ -168,17 +160,13 @@ public class WmsCheckOrderController {
168 if (CollUtil.isEmpty(list)) { 160 if (CollUtil.isEmpty(list)) {
169 return Collections.emptyList(); 161 return Collections.emptyList();
170 } 162 }
171 - // 获取相关的仓库、库区、用户等数据 163 + // 获取相关的仓库、用户等数据
172 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsCheckOrderDO::getWarehouseId)); 164 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsCheckOrderDO::getWarehouseId));
173 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
174 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDO::getAreaId))  
175 - : Collections.emptyMap();  
176 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, 165 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list,
177 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); 166 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater()))));
178 // 拼接数据 167 // 拼接数据
179 return BeanUtils.toBean(list, WmsCheckOrderRespVO.class, vo -> { 168 return BeanUtils.toBean(list, WmsCheckOrderRespVO.class, vo -> {
180 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 169 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
181 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
182 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); 170 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname()));
183 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); 171 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname()));
184 }); 172 });
@@ -192,14 +180,11 @@ public class WmsCheckOrderController { @@ -192,14 +180,11 @@ public class WmsCheckOrderController {
192 if (CollUtil.isEmpty(list)) { 180 if (CollUtil.isEmpty(list)) {
193 return Collections.emptyList(); 181 return Collections.emptyList();
194 } 182 }
195 - // 获取相关的商品、SKU、仓库、库区等数据 183 + // 获取相关的商品、SKU、仓库等数据
196 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsCheckOrderDetailDO::getSkuId)); 184 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsCheckOrderDetailDO::getSkuId));
197 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 185 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
198 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 186 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
199 convertSet(list, WmsCheckOrderDetailDO::getWarehouseId)); 187 convertSet(list, WmsCheckOrderDetailDO::getWarehouseId));
200 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
201 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDetailDO::getAreaId))  
202 - : Collections.emptyMap();  
203 // 拼接数据 188 // 拼接数据
204 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { 189 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> {
205 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 190 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -208,7 +193,6 @@ public class WmsCheckOrderController { @@ -208,7 +193,6 @@ public class WmsCheckOrderController {
208 .setItemName(item.getName()).setUnit(item.getUnit())); 193 .setItemName(item.getName()).setUnit(item.getUnit()));
209 }); 194 });
210 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 195 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
211 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
212 if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { 196 if (vo.getQuantity() != null && vo.getCheckQuantity() != null) {
213 vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); 197 vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity()));
214 } else { 198 } else {
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; @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.detail.WmsCheckOrderDetailRespVO; 7 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.detail.WmsCheckOrderDetailRespVO;
8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
10 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO;
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 14 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; 15 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService;
19 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
@@ -49,11 +46,6 @@ public class WmsCheckOrderDetailController { @@ -49,11 +46,6 @@ public class WmsCheckOrderDetailController {
49 private WmsItemSkuService itemSkuService; 46 private WmsItemSkuService itemSkuService;
50 @Resource 47 @Resource
51 private WmsWarehouseService warehouseService; 48 private WmsWarehouseService warehouseService;
52 - @Resource  
53 - private WmsWarehouseAreaService warehouseAreaService;  
54 -  
55 - @Resource  
56 - private WmsProperties wmsProperties;  
57 49
58 @GetMapping("/list-by-order-id") 50 @GetMapping("/list-by-order-id")
59 @Operation(summary = "获得盘库单明细列表") 51 @Operation(summary = "获得盘库单明细列表")
@@ -76,9 +68,6 @@ public class WmsCheckOrderDetailController { @@ -76,9 +68,6 @@ public class WmsCheckOrderDetailController {
76 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 68 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
77 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 69 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
78 convertSet(list, WmsCheckOrderDetailDO::getWarehouseId)); 70 convertSet(list, WmsCheckOrderDetailDO::getWarehouseId));
79 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
80 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsCheckOrderDetailDO::getAreaId))  
81 - : Collections.emptyMap();  
82 // 拼接数据 71 // 拼接数据
83 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { 72 return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> {
84 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 73 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -87,7 +76,6 @@ public class WmsCheckOrderDetailController { @@ -87,7 +76,6 @@ public class WmsCheckOrderDetailController {
87 .setItemName(item.getName()).setUnit(item.getUnit())); 76 .setItemName(item.getName()).setUnit(item.getUnit()));
88 }); 77 });
89 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 78 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
90 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
91 if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { 79 if (vo.getQuantity() != null && vo.getCheckQuantity() != null) {
92 vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); 80 vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity()));
93 } else { 81 } else {
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 { @@ -43,12 +43,6 @@ public class WmsCheckOrderDetailRespVO {
43 @Schema(description = "仓库名称", example = "北京仓") 43 @Schema(description = "仓库名称", example = "北京仓")
44 private String warehouseName; 44 private String warehouseName;
45 45
46 - @Schema(description = "库区编号", example = "1024")  
47 - private Long areaId;  
48 -  
49 - @Schema(description = "库区名称", example = "北京库区01")  
50 - private String areaName;  
51 -  
52 @Schema(description = "库存编号", example = "1024") 46 @Schema(description = "库存编号", example = "1024")
53 private Long inventoryId; 47 private Long inventoryId;
54 48
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 { @@ -20,9 +20,6 @@ public class WmsCheckOrderDetailSaveReqVO {
20 @NotNull(message = "SKU 不能为空") 20 @NotNull(message = "SKU 不能为空")
21 private Long skuId; 21 private Long skuId;
22 22
23 - @Schema(description = "库区编号", example = "1024")  
24 - private Long areaId;  
25 -  
26 @Schema(description = "库存编号", example = "1024") 23 @Schema(description = "库存编号", example = "1024")
27 private Long inventoryId; 24 private Long inventoryId;
28 25
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 { @@ -30,9 +30,6 @@ public class WmsCheckOrderPageReqVO extends PageParam {
30 @Schema(description = "仓库编号", example = "1024") 30 @Schema(description = "仓库编号", example = "1024")
31 private Long warehouseId; 31 private Long warehouseId;
32 32
33 - @Schema(description = "库区编号", example = "1024")  
34 - private Long areaId;  
35 -  
36 @Schema(description = "单据日期") 33 @Schema(description = "单据日期")
37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 34 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
38 private LocalDateTime[] orderDate; 35 private LocalDateTime[] orderDate;
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 { @@ -40,12 +40,6 @@ public class WmsCheckOrderRespVO {
40 @ExcelProperty("仓库") 40 @ExcelProperty("仓库")
41 private String warehouseName; 41 private String warehouseName;
42 42
43 - @Schema(description = "库区编号", example = "1024")  
44 - private Long areaId;  
45 -  
46 - @Schema(description = "库区名称", example = "北京库区01")  
47 - private String areaName;  
48 -  
49 @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 43 @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
50 @ExcelProperty("盈亏数量") 44 @ExcelProperty("盈亏数量")
51 private BigDecimal totalQuantity; 45 private BigDecimal totalQuantity;
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 { @@ -31,9 +31,6 @@ public class WmsCheckOrderSaveReqVO {
31 @NotNull(message = "仓库不能为空") 31 @NotNull(message = "仓库不能为空")
32 private Long warehouseId; 32 private Long warehouseId;
33 33
34 - @Schema(description = "库区编号", example = "1024")  
35 - private Long areaId;  
36 -  
37 @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 34 @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
38 @NotNull(message = "盈亏数量不能为空") 35 @NotNull(message = "盈亏数量不能为空")
39 private BigDecimal totalQuantity; 36 private BigDecimal totalQuantity;
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 @@ -17,14 +17,11 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsM
17 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO; 17 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO;
18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
20 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
21 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDO; 21 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDO;
23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; 22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO;
24 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
25 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 23 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
26 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 24 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
27 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
28 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 25 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
29 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; 26 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService;
30 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; 27 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService;
@@ -62,16 +59,11 @@ public class WmsMovementOrderController { @@ -62,16 +59,11 @@ public class WmsMovementOrderController {
62 @Resource 59 @Resource
63 private WmsWarehouseService warehouseService; 60 private WmsWarehouseService warehouseService;
64 @Resource 61 @Resource
65 - private WmsWarehouseAreaService warehouseAreaService;  
66 - @Resource  
67 private WmsItemService itemService; 62 private WmsItemService itemService;
68 @Resource 63 @Resource
69 private WmsItemSkuService itemSkuService; 64 private WmsItemSkuService itemSkuService;
70 65
71 @Resource 66 @Resource
72 - private WmsProperties wmsProperties;  
73 -  
74 - @Resource  
75 private AdminUserApi adminUserApi; 67 private AdminUserApi adminUserApi;
76 68
77 @PostMapping("/create") 69 @PostMapping("/create")
@@ -168,13 +160,9 @@ public class WmsMovementOrderController { @@ -168,13 +160,9 @@ public class WmsMovementOrderController {
168 if (CollUtil.isEmpty(list)) { 160 if (CollUtil.isEmpty(list)) {
169 return Collections.emptyList(); 161 return Collections.emptyList();
170 } 162 }
171 - // 获取相关的仓库、库区、用户等数据 163 + // 获取相关的仓库、用户等数据
172 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, 164 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list,
173 order -> Stream.of(order.getSourceWarehouseId(), order.getTargetWarehouseId()))); 165 order -> Stream.of(order.getSourceWarehouseId(), order.getTargetWarehouseId())));
174 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
175 - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list,  
176 - order -> Stream.of(order.getSourceAreaId(), order.getTargetAreaId())))  
177 - : Collections.emptyMap();  
178 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, 166 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list,
179 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); 167 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater()))));
180 // 拼接数据 168 // 拼接数据
@@ -183,8 +171,6 @@ public class WmsMovementOrderController { @@ -183,8 +171,6 @@ public class WmsMovementOrderController {
183 warehouse -> vo.setSourceWarehouseName(warehouse.getName())); 171 warehouse -> vo.setSourceWarehouseName(warehouse.getName()));
184 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), 172 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(),
185 warehouse -> vo.setTargetWarehouseName(warehouse.getName())); 173 warehouse -> vo.setTargetWarehouseName(warehouse.getName()));
186 - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName()));  
187 - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName()));  
188 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); 174 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname()));
189 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); 175 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname()));
190 }); 176 });
@@ -198,15 +184,11 @@ public class WmsMovementOrderController { @@ -198,15 +184,11 @@ public class WmsMovementOrderController {
198 if (CollUtil.isEmpty(list)) { 184 if (CollUtil.isEmpty(list)) {
199 return Collections.emptyList(); 185 return Collections.emptyList();
200 } 186 }
201 - // 获取相关的商品、SKU、仓库、库区等数据 187 + // 获取相关的商品、SKU、仓库等数据
202 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsMovementOrderDetailDO::getSkuId)); 188 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsMovementOrderDetailDO::getSkuId));
203 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 189 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
204 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, 190 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list,
205 detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId()))); 191 detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId())));
206 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
207 - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list,  
208 - detail -> Stream.of(detail.getSourceAreaId(), detail.getTargetAreaId())))  
209 - : Collections.emptyMap();  
210 // 拼接数据 192 // 拼接数据
211 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { 193 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> {
212 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 194 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -218,8 +200,6 @@ public class WmsMovementOrderController { @@ -218,8 +200,6 @@ public class WmsMovementOrderController {
218 warehouse -> vo.setSourceWarehouseName(warehouse.getName())); 200 warehouse -> vo.setSourceWarehouseName(warehouse.getName()));
219 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), 201 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(),
220 warehouse -> vo.setTargetWarehouseName(warehouse.getName())); 202 warehouse -> vo.setTargetWarehouseName(warehouse.getName()));
221 - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName()));  
222 - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName()));  
223 }); 203 });
224 } 204 }
225 205
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; @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.detail.WmsMovementOrderDetailRespVO; 7 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.detail.WmsMovementOrderDetailRespVO;
8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
10 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO;
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 14 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; 15 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService;
19 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
@@ -50,11 +47,6 @@ public class WmsMovementOrderDetailController { @@ -50,11 +47,6 @@ public class WmsMovementOrderDetailController {
50 private WmsItemSkuService itemSkuService; 47 private WmsItemSkuService itemSkuService;
51 @Resource 48 @Resource
52 private WmsWarehouseService warehouseService; 49 private WmsWarehouseService warehouseService;
53 - @Resource  
54 - private WmsWarehouseAreaService warehouseAreaService;  
55 -  
56 - @Resource  
57 - private WmsProperties wmsProperties;  
58 50
59 @GetMapping("/list-by-order-id") 51 @GetMapping("/list-by-order-id")
60 @Operation(summary = "获得移库单明细列表") 52 @Operation(summary = "获得移库单明细列表")
@@ -77,10 +69,6 @@ public class WmsMovementOrderDetailController { @@ -77,10 +69,6 @@ public class WmsMovementOrderDetailController {
77 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 69 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
78 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, 70 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list,
79 detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId()))); 71 detail -> Stream.of(detail.getSourceWarehouseId(), detail.getTargetWarehouseId())));
80 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
81 - ? warehouseAreaService.getWarehouseAreaMap(convertSetByFlatMap(list,  
82 - detail -> Stream.of(detail.getSourceAreaId(), detail.getTargetAreaId())))  
83 - : Collections.emptyMap();  
84 // 拼接数据 72 // 拼接数据
85 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { 73 return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> {
86 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 74 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -92,8 +80,6 @@ public class WmsMovementOrderDetailController { @@ -92,8 +80,6 @@ public class WmsMovementOrderDetailController {
92 warehouse -> vo.setSourceWarehouseName(warehouse.getName())); 80 warehouse -> vo.setSourceWarehouseName(warehouse.getName()));
93 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), 81 MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(),
94 warehouse -> vo.setTargetWarehouseName(warehouse.getName())); 82 warehouse -> vo.setTargetWarehouseName(warehouse.getName()));
95 - MapUtils.findAndThen(areaMap, vo.getSourceAreaId(), area -> vo.setSourceAreaName(area.getName()));  
96 - MapUtils.findAndThen(areaMap, vo.getTargetAreaId(), area -> vo.setTargetAreaName(area.getName()));  
97 }); 83 });
98 } 84 }
99 85
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 { @@ -43,24 +43,12 @@ public class WmsMovementOrderDetailRespVO {
43 @Schema(description = "来源仓库名称", example = "北京仓") 43 @Schema(description = "来源仓库名称", example = "北京仓")
44 private String sourceWarehouseName; 44 private String sourceWarehouseName;
45 45
46 - @Schema(description = "来源库区编号", example = "1024")  
47 - private Long sourceAreaId;  
48 -  
49 - @Schema(description = "来源库区名称", example = "北京库区01")  
50 - private String sourceAreaName;  
51 -  
52 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") 46 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
53 private Long targetWarehouseId; 47 private Long targetWarehouseId;
54 48
55 @Schema(description = "目标仓库名称", example = "上海仓") 49 @Schema(description = "目标仓库名称", example = "上海仓")
56 private String targetWarehouseName; 50 private String targetWarehouseName;
57 51
58 - @Schema(description = "目标库区编号", example = "2048")  
59 - private Long targetAreaId;  
60 -  
61 - @Schema(description = "目标库区名称", example = "上海库区01")  
62 - private String targetAreaName;  
63 -  
64 @Schema(description = "批号", example = "B202605110001") 52 @Schema(description = "批号", example = "B202605110001")
65 private String batchNo; 53 private String batchNo;
66 54
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 { @@ -20,12 +20,6 @@ public class WmsMovementOrderDetailSaveReqVO {
20 @NotNull(message = "SKU 不能为空") 20 @NotNull(message = "SKU 不能为空")
21 private Long skuId; 21 private Long skuId;
22 22
23 - @Schema(description = "来源库区编号", example = "1024")  
24 - private Long sourceAreaId;  
25 -  
26 - @Schema(description = "目标库区编号", example = "2048")  
27 - private Long targetAreaId;  
28 -  
29 @Schema(description = "批号", example = "B202605110001") 23 @Schema(description = "批号", example = "B202605110001")
30 @Size(max = 64, message = "批号长度不能超过 64 个字符") 24 @Size(max = 64, message = "批号长度不能超过 64 个字符")
31 private String batchNo; 25 private String batchNo;
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 { @@ -40,12 +40,6 @@ public class WmsMovementOrderRespVO {
40 @ExcelProperty("来源仓库") 40 @ExcelProperty("来源仓库")
41 private String sourceWarehouseName; 41 private String sourceWarehouseName;
42 42
43 - @Schema(description = "来源库区编号", example = "1024")  
44 - private Long sourceAreaId;  
45 -  
46 - @Schema(description = "来源库区名称", example = "北京库区01")  
47 - private String sourceAreaName;  
48 -  
49 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") 43 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
50 private Long targetWarehouseId; 44 private Long targetWarehouseId;
51 45
@@ -53,12 +47,6 @@ public class WmsMovementOrderRespVO { @@ -53,12 +47,6 @@ public class WmsMovementOrderRespVO {
53 @ExcelProperty("目标仓库") 47 @ExcelProperty("目标仓库")
54 private String targetWarehouseName; 48 private String targetWarehouseName;
55 49
56 - @Schema(description = "目标库区编号", example = "2048")  
57 - private Long targetAreaId;  
58 -  
59 - @Schema(description = "目标库区名称", example = "上海库区01")  
60 - private String targetAreaName;  
61 -  
62 @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 50 @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
63 @ExcelProperty("移库数量") 51 @ExcelProperty("移库数量")
64 private BigDecimal totalQuantity; 52 private BigDecimal totalQuantity;
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 { @@ -31,16 +31,10 @@ public class WmsMovementOrderSaveReqVO {
31 @NotNull(message = "来源仓库不能为空") 31 @NotNull(message = "来源仓库不能为空")
32 private Long sourceWarehouseId; 32 private Long sourceWarehouseId;
33 33
34 - @Schema(description = "来源库区编号", example = "1024")  
35 - private Long sourceAreaId;  
36 -  
37 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") 34 @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
38 @NotNull(message = "目标仓库不能为空") 35 @NotNull(message = "目标仓库不能为空")
39 private Long targetWarehouseId; 36 private Long targetWarehouseId;
40 37
41 - @Schema(description = "目标库区编号", example = "2048")  
42 - private Long targetAreaId;  
43 -  
44 @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 38 @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
45 @NotNull(message = "移库数量不能为空") 39 @NotNull(message = "移库数量不能为空")
46 private BigDecimal totalQuantity; 40 private BigDecimal totalQuantity;
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 @@ -18,15 +18,12 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsRe
18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; 20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO;
21 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
22 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 21 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDO; 22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDO;
24 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; 23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO;
25 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
26 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 24 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
27 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 25 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
28 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; 26 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService;
29 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
30 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 27 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
31 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; 28 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService;
32 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; 29 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService;
@@ -66,16 +63,11 @@ public class WmsReceiptOrderController { @@ -66,16 +63,11 @@ public class WmsReceiptOrderController {
66 @Resource 63 @Resource
67 private WmsWarehouseService warehouseService; 64 private WmsWarehouseService warehouseService;
68 @Resource 65 @Resource
69 - private WmsWarehouseAreaService warehouseAreaService;  
70 - @Resource  
71 private WmsItemService itemService; 66 private WmsItemService itemService;
72 @Resource 67 @Resource
73 private WmsItemSkuService itemSkuService; 68 private WmsItemSkuService itemSkuService;
74 69
75 @Resource 70 @Resource
76 - private WmsProperties wmsProperties;  
77 -  
78 - @Resource  
79 private AdminUserApi adminUserApi; 71 private AdminUserApi adminUserApi;
80 72
81 @PostMapping("/create") 73 @PostMapping("/create")
@@ -171,19 +163,15 @@ public class WmsReceiptOrderController { @@ -171,19 +163,15 @@ public class WmsReceiptOrderController {
171 if (CollUtil.isEmpty(list)) { 163 if (CollUtil.isEmpty(list)) {
172 return Collections.emptyList(); 164 return Collections.emptyList();
173 } 165 }
174 - // 获取相关的商户、仓库、库区、用户等数据 166 + // 获取相关的商户、仓库、用户等数据
175 Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsReceiptOrderDO::getMerchantId)); 167 Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsReceiptOrderDO::getMerchantId));
176 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsReceiptOrderDO::getWarehouseId)); 168 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsReceiptOrderDO::getWarehouseId));
177 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
178 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDO::getAreaId))  
179 - : Collections.emptyMap();  
180 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, 169 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list,
181 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); 170 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater()))));
182 // 拼接数据 171 // 拼接数据
183 return BeanUtils.toBean(list, WmsReceiptOrderRespVO.class, vo -> { 172 return BeanUtils.toBean(list, WmsReceiptOrderRespVO.class, vo -> {
184 MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); 173 MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName()));
185 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 174 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
186 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
187 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); 175 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname()));
188 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); 176 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname()));
189 }); 177 });
@@ -197,14 +185,11 @@ public class WmsReceiptOrderController { @@ -197,14 +185,11 @@ public class WmsReceiptOrderController {
197 if (CollUtil.isEmpty(list)) { 185 if (CollUtil.isEmpty(list)) {
198 return Collections.emptyList(); 186 return Collections.emptyList();
199 } 187 }
200 - // 获取相关的商品、SKU、仓库、库区等数据 188 + // 获取相关的商品、SKU、仓库等数据
201 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsReceiptOrderDetailDO::getSkuId)); 189 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsReceiptOrderDetailDO::getSkuId));
202 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 190 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
203 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 191 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
204 convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId)); 192 convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId));
205 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
206 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDetailDO::getAreaId))  
207 - : Collections.emptyMap();  
208 // 拼接数据 193 // 拼接数据
209 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { 194 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> {
210 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 195 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -213,7 +198,6 @@ public class WmsReceiptOrderController { @@ -213,7 +198,6 @@ public class WmsReceiptOrderController {
213 .setItemName(item.getName()).setUnit(item.getUnit())); 198 .setItemName(item.getName()).setUnit(item.getUnit()));
214 }); 199 });
215 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 200 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
216 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
217 }); 201 });
218 } 202 }
219 203
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; @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailRespVO; 7 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailRespVO;
8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
10 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO;
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 14 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; 15 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService;
19 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
@@ -48,11 +45,6 @@ public class WmsReceiptOrderDetailController { @@ -48,11 +45,6 @@ public class WmsReceiptOrderDetailController {
48 private WmsItemSkuService itemSkuService; 45 private WmsItemSkuService itemSkuService;
49 @Resource 46 @Resource
50 private WmsWarehouseService warehouseService; 47 private WmsWarehouseService warehouseService;
51 - @Resource  
52 - private WmsWarehouseAreaService warehouseAreaService;  
53 -  
54 - @Resource  
55 - private WmsProperties wmsProperties;  
56 48
57 @GetMapping("/list-by-order-id") 49 @GetMapping("/list-by-order-id")
58 @Operation(summary = "获得入库单明细列表") 50 @Operation(summary = "获得入库单明细列表")
@@ -75,9 +67,6 @@ public class WmsReceiptOrderDetailController { @@ -75,9 +67,6 @@ public class WmsReceiptOrderDetailController {
75 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 67 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
76 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 68 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
77 convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId)); 69 convertSet(list, WmsReceiptOrderDetailDO::getWarehouseId));
78 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
79 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsReceiptOrderDetailDO::getAreaId))  
80 - : Collections.emptyMap();  
81 // 拼接数据 70 // 拼接数据
82 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { 71 return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> {
83 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 72 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -86,7 +75,6 @@ public class WmsReceiptOrderDetailController { @@ -86,7 +75,6 @@ public class WmsReceiptOrderDetailController {
86 .setItemName(item.getName()).setUnit(item.getUnit())); 75 .setItemName(item.getName()).setUnit(item.getUnit()));
87 }); 76 });
88 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 77 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
89 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
90 }); 78 });
91 } 79 }
92 80
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 { @@ -43,12 +43,6 @@ public class WmsReceiptOrderDetailRespVO {
43 @Schema(description = "仓库名称", example = "北京仓") 43 @Schema(description = "仓库名称", example = "北京仓")
44 private String warehouseName; 44 private String warehouseName;
45 45
46 - @Schema(description = "库区编号", example = "1024")  
47 - private Long areaId;  
48 -  
49 - @Schema(description = "库区名称", example = "北京库区01")  
50 - private String areaName;  
51 -  
52 @Schema(description = "批号", example = "B202605110001") 46 @Schema(description = "批号", example = "B202605110001")
53 private String batchNo; 47 private String batchNo;
54 48
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 { @@ -20,9 +20,6 @@ public class WmsReceiptOrderDetailSaveReqVO {
20 @NotNull(message = "SKU 不能为空") 20 @NotNull(message = "SKU 不能为空")
21 private Long skuId; 21 private Long skuId;
22 22
23 - @Schema(description = "库区编号", example = "1024")  
24 - private Long areaId;  
25 -  
26 @Schema(description = "批号", example = "B202605110001") 23 @Schema(description = "批号", example = "B202605110001")
27 @Size(max = 64, message = "批号长度不能超过 64 个字符") 24 @Size(max = 64, message = "批号长度不能超过 64 个字符")
28 private String batchNo; 25 private String batchNo;
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 { @@ -56,12 +56,6 @@ public class WmsReceiptOrderRespVO {
56 @ExcelProperty("仓库") 56 @ExcelProperty("仓库")
57 private String warehouseName; 57 private String warehouseName;
58 58
59 - @Schema(description = "库区编号", example = "1024")  
60 - private Long areaId;  
61 -  
62 - @Schema(description = "库区名称", example = "北京库区01")  
63 - private String areaName;  
64 -  
65 @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 59 @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
66 @ExcelProperty("入库数量") 60 @ExcelProperty("入库数量")
67 private BigDecimal totalQuantity; 61 private BigDecimal totalQuantity;
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 { @@ -45,9 +45,6 @@ public class WmsReceiptOrderSaveReqVO {
45 @NotNull(message = "仓库不能为空") 45 @NotNull(message = "仓库不能为空")
46 private Long warehouseId; 46 private Long warehouseId;
47 47
48 - @Schema(description = "库区编号", example = "1024")  
49 - private Long areaId;  
50 -  
51 @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 48 @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
52 @NotNull(message = "入库数量不能为空") 49 @NotNull(message = "入库数量不能为空")
53 private BigDecimal totalQuantity; 50 private BigDecimal totalQuantity;
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 @@ -18,15 +18,12 @@ import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.order.WmsS
18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 18 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 19 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; 20 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO;
21 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
22 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 21 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDO; 22 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDO;
24 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; 23 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO;
25 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
26 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 24 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
27 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 25 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
28 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; 26 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService;
29 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
30 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 27 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
31 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; 28 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService;
32 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService; 29 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService;
@@ -66,16 +63,11 @@ public class WmsShipmentOrderController { @@ -66,16 +63,11 @@ public class WmsShipmentOrderController {
66 @Resource 63 @Resource
67 private WmsWarehouseService warehouseService; 64 private WmsWarehouseService warehouseService;
68 @Resource 65 @Resource
69 - private WmsWarehouseAreaService warehouseAreaService;  
70 - @Resource  
71 private WmsItemService itemService; 66 private WmsItemService itemService;
72 @Resource 67 @Resource
73 private WmsItemSkuService itemSkuService; 68 private WmsItemSkuService itemSkuService;
74 69
75 @Resource 70 @Resource
76 - private WmsProperties wmsProperties;  
77 -  
78 - @Resource  
79 private AdminUserApi adminUserApi; 71 private AdminUserApi adminUserApi;
80 72
81 @PostMapping("/create") 73 @PostMapping("/create")
@@ -171,19 +163,15 @@ public class WmsShipmentOrderController { @@ -171,19 +163,15 @@ public class WmsShipmentOrderController {
171 if (CollUtil.isEmpty(list)) { 163 if (CollUtil.isEmpty(list)) {
172 return Collections.emptyList(); 164 return Collections.emptyList();
173 } 165 }
174 - // 获取相关的商户、仓库、库区、用户等数据 166 + // 获取相关的商户、仓库、用户等数据
175 Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsShipmentOrderDO::getMerchantId)); 167 Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsShipmentOrderDO::getMerchantId));
176 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsShipmentOrderDO::getWarehouseId)); 168 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, WmsShipmentOrderDO::getWarehouseId));
177 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
178 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDO::getAreaId))  
179 - : Collections.emptyMap();  
180 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, 169 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list,
181 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); 170 order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater()))));
182 // 拼接数据 171 // 拼接数据
183 return BeanUtils.toBean(list, WmsShipmentOrderRespVO.class, vo -> { 172 return BeanUtils.toBean(list, WmsShipmentOrderRespVO.class, vo -> {
184 MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); 173 MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName()));
185 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 174 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
186 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
187 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); 175 MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname()));
188 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); 176 MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname()));
189 }); 177 });
@@ -197,14 +185,11 @@ public class WmsShipmentOrderController { @@ -197,14 +185,11 @@ public class WmsShipmentOrderController {
197 if (CollUtil.isEmpty(list)) { 185 if (CollUtil.isEmpty(list)) {
198 return Collections.emptyList(); 186 return Collections.emptyList();
199 } 187 }
200 - // 获取相关的商品、SKU、仓库、库区等数据 188 + // 获取相关的商品、SKU、仓库等数据
201 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsShipmentOrderDetailDO::getSkuId)); 189 Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsShipmentOrderDetailDO::getSkuId));
202 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 190 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
203 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 191 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
204 convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId)); 192 convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId));
205 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
206 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDetailDO::getAreaId))  
207 - : Collections.emptyMap();  
208 // 拼接数据 193 // 拼接数据
209 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { 194 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> {
210 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 195 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -213,7 +198,6 @@ public class WmsShipmentOrderController { @@ -213,7 +198,6 @@ public class WmsShipmentOrderController {
213 .setItemName(item.getName()).setUnit(item.getUnit())); 198 .setItemName(item.getName()).setUnit(item.getUnit()));
214 }); 199 });
215 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 200 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
216 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
217 }); 201 });
218 } 202 }
219 203
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; @@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.detail.WmsShipmentOrderDetailRespVO; 7 import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.detail.WmsShipmentOrderDetailRespVO;
8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; 8 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 9 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
10 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
11 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; 11 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO;
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; 12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
15 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 14 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; 15 import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService;
19 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
@@ -48,11 +45,6 @@ public class WmsShipmentOrderDetailController { @@ -48,11 +45,6 @@ public class WmsShipmentOrderDetailController {
48 private WmsItemSkuService itemSkuService; 45 private WmsItemSkuService itemSkuService;
49 @Resource 46 @Resource
50 private WmsWarehouseService warehouseService; 47 private WmsWarehouseService warehouseService;
51 - @Resource  
52 - private WmsWarehouseAreaService warehouseAreaService;  
53 -  
54 - @Resource  
55 - private WmsProperties wmsProperties;  
56 48
57 @GetMapping("/list-by-order-id") 49 @GetMapping("/list-by-order-id")
58 @Operation(summary = "获得出库单明细列表") 50 @Operation(summary = "获得出库单明细列表")
@@ -75,9 +67,6 @@ public class WmsShipmentOrderDetailController { @@ -75,9 +67,6 @@ public class WmsShipmentOrderDetailController {
75 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); 67 Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId));
76 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( 68 Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
77 convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId)); 69 convertSet(list, WmsShipmentOrderDetailDO::getWarehouseId));
78 - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled()  
79 - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsShipmentOrderDetailDO::getAreaId))  
80 - : Collections.emptyMap();  
81 // 拼接数据 70 // 拼接数据
82 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { 71 return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> {
83 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { 72 MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> {
@@ -86,7 +75,6 @@ public class WmsShipmentOrderDetailController { @@ -86,7 +75,6 @@ public class WmsShipmentOrderDetailController {
86 .setItemName(item.getName()).setUnit(item.getUnit())); 75 .setItemName(item.getName()).setUnit(item.getUnit()));
87 }); 76 });
88 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); 77 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()));
89 - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName()));  
90 }); 78 });
91 } 79 }
92 80
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 { @@ -43,12 +43,6 @@ public class WmsShipmentOrderDetailRespVO {
43 @Schema(description = "仓库名称", example = "北京仓") 43 @Schema(description = "仓库名称", example = "北京仓")
44 private String warehouseName; 44 private String warehouseName;
45 45
46 - @Schema(description = "库区编号", example = "1024")  
47 - private Long areaId;  
48 -  
49 - @Schema(description = "库区名称", example = "北京库区01")  
50 - private String areaName;  
51 -  
52 @Schema(description = "批号", example = "B202605110001") 46 @Schema(description = "批号", example = "B202605110001")
53 private String batchNo; 47 private String batchNo;
54 48
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 { @@ -20,9 +20,6 @@ public class WmsShipmentOrderDetailSaveReqVO {
20 @NotNull(message = "SKU 不能为空") 20 @NotNull(message = "SKU 不能为空")
21 private Long skuId; 21 private Long skuId;
22 22
23 - @Schema(description = "库区编号", example = "1024")  
24 - private Long areaId;  
25 -  
26 @Schema(description = "批号", example = "B202605110001") 23 @Schema(description = "批号", example = "B202605110001")
27 @Size(max = 64, message = "批号长度不能超过 64 个字符") 24 @Size(max = 64, message = "批号长度不能超过 64 个字符")
28 private String batchNo; 25 private String batchNo;
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 { @@ -56,12 +56,6 @@ public class WmsShipmentOrderRespVO {
56 @ExcelProperty("仓库") 56 @ExcelProperty("仓库")
57 private String warehouseName; 57 private String warehouseName;
58 58
59 - @Schema(description = "库区编号", example = "1024")  
60 - private Long areaId;  
61 -  
62 - @Schema(description = "库区名称", example = "北京库区01")  
63 - private String areaName;  
64 -  
65 @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 59 @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
66 @ExcelProperty("出库数量") 60 @ExcelProperty("出库数量")
67 private BigDecimal totalQuantity; 61 private BigDecimal totalQuantity;
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 { @@ -45,9 +45,6 @@ public class WmsShipmentOrderSaveReqVO {
45 @NotNull(message = "仓库不能为空") 45 @NotNull(message = "仓库不能为空")
46 private Long warehouseId; 46 private Long warehouseId;
47 47
48 - @Schema(description = "库区编号", example = "1024")  
49 - private Long areaId;  
50 -  
51 @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") 48 @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
52 @NotNull(message = "出库数量不能为空") 49 @NotNull(message = "出库数量不能为空")
53 private BigDecimal totalQuantity; 50 private BigDecimal totalQuantity;
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.inventory;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
@@ -44,12 +43,6 @@ public class WmsInventoryDO extends BaseDO { @@ -44,12 +43,6 @@ public class WmsInventoryDO extends BaseDO {
44 */ 43 */
45 private Long warehouseId; 44 private Long warehouseId;
46 /** 45 /**
47 - * 库区编号  
48 - *  
49 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
50 - */  
51 - private Long areaId;  
52 - /**  
53 * 库存数量 46 * 库存数量
54 */ 47 */
55 private BigDecimal quantity; 48 private BigDecimal quantity;
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.inventory;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; 6 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum;
8 import com.baomidou.mybatisplus.annotation.KeySequence; 7 import com.baomidou.mybatisplus.annotation.KeySequence;
@@ -43,12 +42,6 @@ public class WmsInventoryHistoryDO extends BaseDO { @@ -43,12 +42,6 @@ public class WmsInventoryHistoryDO extends BaseDO {
43 */ 42 */
44 private Long warehouseId; 43 private Long warehouseId;
45 /** 44 /**
46 - * 库区编号  
47 - *  
48 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
49 - */  
50 - private Long areaId;  
51 - /**  
52 * 商品 SKU 编号 45 * 商品 SKU 编号
53 * 46 *
54 * 关联 {@link WmsItemSkuDO#getId()} 47 * 关联 {@link WmsItemSkuDO#getId()}
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/md/warehouse/WmsWarehouseAreaDO.java deleted
1 -package cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse;  
2 -  
3 -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;  
4 -import com.baomidou.mybatisplus.annotation.KeySequence;  
5 -import com.baomidou.mybatisplus.annotation.TableId;  
6 -import com.baomidou.mybatisplus.annotation.TableName;  
7 -import lombok.*;  
8 -  
9 -/**  
10 - * WMS 库区 DO  
11 - *  
12 - * @author 芋道源码  
13 - */  
14 -@TableName("wms_warehouse_area")  
15 -@KeySequence("wms_warehouse_area_seq")  
16 -@Data  
17 -@EqualsAndHashCode(callSuper = true)  
18 -@ToString(callSuper = true)  
19 -@Builder  
20 -@NoArgsConstructor  
21 -@AllArgsConstructor  
22 -public class WmsWarehouseAreaDO extends BaseDO {  
23 -  
24 - /**  
25 - * 空库区编号  
26 - */  
27 - public static final Long ID_EMPTY = 0L;  
28 -  
29 - /**  
30 - * 主键编号  
31 - */  
32 - @TableId  
33 - private Long id;  
34 - /**  
35 - * 库区编号  
36 - */  
37 - private String code;  
38 - /**  
39 - * 名称  
40 - */  
41 - private String name;  
42 - /**  
43 - * 所属仓库编号  
44 - *  
45 - * 关联 {@link WmsWarehouseDO#getId()}  
46 - */  
47 - private Long warehouseId;  
48 - /**  
49 - * 备注  
50 - */  
51 - private String remark;  
52 -  
53 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/check/WmsCheckOrderDO.java
1 package cn.iocoder.yudao.module.wms.dal.dataobject.order.check; 1 package cn.iocoder.yudao.module.wms.dal.dataobject.order.check;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
6 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; 5 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
@@ -46,7 +45,7 @@ public class WmsCheckOrderDO extends BaseDO { @@ -46,7 +45,7 @@ public class WmsCheckOrderDO extends BaseDO {
46 */ 45 */
47 private String remark; 46 private String remark;
48 47
49 - // ========= 仓库库区字段 ========= 48 + // ========= 仓库字段 =========
50 49
51 /** 50 /**
52 * 仓库编号 51 * 仓库编号
@@ -54,12 +53,6 @@ public class WmsCheckOrderDO extends BaseDO { @@ -54,12 +53,6 @@ public class WmsCheckOrderDO extends BaseDO {
54 * 关联 {@link WmsWarehouseDO#getId()} 53 * 关联 {@link WmsWarehouseDO#getId()}
55 */ 54 */
56 private Long warehouseId; 55 private Long warehouseId;
57 - /**  
58 - * 库区编号  
59 - *  
60 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
61 - */  
62 - private Long areaId;  
63 56
64 // ========= 汇总金额字段 ========= 57 // ========= 汇总金额字段 =========
65 58
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; @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.check;
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO;
5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
6 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
7 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
8 import com.baomidou.mybatisplus.annotation.KeySequence; 7 import com.baomidou.mybatisplus.annotation.KeySequence;
9 import com.baomidou.mybatisplus.annotation.TableId; 8 import com.baomidou.mybatisplus.annotation.TableId;
@@ -53,7 +52,7 @@ public class WmsCheckOrderDetailDO extends BaseDO { @@ -53,7 +52,7 @@ public class WmsCheckOrderDetailDO extends BaseDO {
53 */ 52 */
54 private Long skuId; 53 private Long skuId;
55 54
56 - // ========= 仓库库区字段 ========= 55 + // ========= 仓库字段 =========
57 56
58 /** 57 /**
59 * 仓库编号 58 * 仓库编号
@@ -62,12 +61,6 @@ public class WmsCheckOrderDetailDO extends BaseDO { @@ -62,12 +61,6 @@ public class WmsCheckOrderDetailDO extends BaseDO {
62 */ 61 */
63 private Long warehouseId; 62 private Long warehouseId;
64 /** 63 /**
65 - * 库区编号  
66 - *  
67 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
68 - */  
69 - private Long areaId;  
70 - /**  
71 * 库存编号 64 * 库存编号
72 * 65 *
73 * 关联 {@link WmsInventoryDO#getId()} 66 * 关联 {@link WmsInventoryDO#getId()}
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java
1 package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement; 1 package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
6 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; 5 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
@@ -46,7 +45,7 @@ public class WmsMovementOrderDO extends BaseDO { @@ -46,7 +45,7 @@ public class WmsMovementOrderDO extends BaseDO {
46 */ 45 */
47 private String remark; 46 private String remark;
48 47
49 - // ========= 来源仓库库区字段 ========= 48 + // ========= 来源仓库字段 =========
50 49
51 /** 50 /**
52 * 来源仓库编号 51 * 来源仓库编号
@@ -54,14 +53,8 @@ public class WmsMovementOrderDO extends BaseDO { @@ -54,14 +53,8 @@ public class WmsMovementOrderDO extends BaseDO {
54 * 关联 {@link WmsWarehouseDO#getId()} 53 * 关联 {@link WmsWarehouseDO#getId()}
55 */ 54 */
56 private Long sourceWarehouseId; 55 private Long sourceWarehouseId;
57 - /**  
58 - * 来源库区编号  
59 - *  
60 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
61 - */  
62 - private Long sourceAreaId;  
63 56
64 - // ========= 目标仓库库区字段 ========= 57 + // ========= 目标仓库字段 =========
65 58
66 /** 59 /**
67 * 目标仓库编号 60 * 目标仓库编号
@@ -69,12 +62,6 @@ public class WmsMovementOrderDO extends BaseDO { @@ -69,12 +62,6 @@ public class WmsMovementOrderDO extends BaseDO {
69 * 关联 {@link WmsWarehouseDO#getId()} 62 * 关联 {@link WmsWarehouseDO#getId()}
70 */ 63 */
71 private Long targetWarehouseId; 64 private Long targetWarehouseId;
72 - /**  
73 - * 目标库区编号  
74 - *  
75 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
76 - */  
77 - private Long targetAreaId;  
78 65
79 // ========= 汇总金额字段 ========= 66 // ========= 汇总金额字段 =========
80 67
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
@@ -52,7 +51,7 @@ public class WmsMovementOrderDetailDO extends BaseDO { @@ -52,7 +51,7 @@ public class WmsMovementOrderDetailDO extends BaseDO {
52 */ 51 */
53 private Long skuId; 52 private Long skuId;
54 53
55 - // ========= 来源仓库库区字段 ========= 54 + // ========= 来源仓库字段 =========
56 55
57 /** 56 /**
58 * 来源仓库编号 57 * 来源仓库编号
@@ -60,14 +59,8 @@ public class WmsMovementOrderDetailDO extends BaseDO { @@ -60,14 +59,8 @@ public class WmsMovementOrderDetailDO extends BaseDO {
60 * 关联 {@link WmsWarehouseDO#getId()} 59 * 关联 {@link WmsWarehouseDO#getId()}
61 */ 60 */
62 private Long sourceWarehouseId; 61 private Long sourceWarehouseId;
63 - /**  
64 - * 来源库区编号  
65 - *  
66 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
67 - */  
68 - private Long sourceAreaId;  
69 62
70 - // ========= 目标仓库库区字段 ========= 63 + // ========= 目标仓库字段 =========
71 64
72 /** 65 /**
73 * 目标仓库编号 66 * 目标仓库编号
@@ -75,12 +68,6 @@ public class WmsMovementOrderDetailDO extends BaseDO { @@ -75,12 +68,6 @@ public class WmsMovementOrderDetailDO extends BaseDO {
75 * 关联 {@link WmsWarehouseDO#getId()} 68 * 关联 {@link WmsWarehouseDO#getId()}
76 */ 69 */
77 private Long targetWarehouseId; 70 private Long targetWarehouseId;
78 - /**  
79 - * 目标库区编号  
80 - *  
81 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
82 - */  
83 - private Long targetAreaId;  
84 71
85 // ========= 批次效期字段 ========= 72 // ========= 批次效期字段 =========
86 73
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; 6 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants;
8 import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; 7 import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum;
@@ -65,7 +64,7 @@ public class WmsReceiptOrderDO extends BaseDO { @@ -65,7 +64,7 @@ public class WmsReceiptOrderDO extends BaseDO {
65 */ 64 */
66 private String remark; 65 private String remark;
67 66
68 - // ========= 仓库库区字段 ========= 67 + // ========= 仓库字段 =========
69 68
70 /** 69 /**
71 * 仓库编号 70 * 仓库编号
@@ -73,12 +72,6 @@ public class WmsReceiptOrderDO extends BaseDO { @@ -73,12 +72,6 @@ public class WmsReceiptOrderDO extends BaseDO {
73 * 关联 {@link WmsWarehouseDO#getId()} 72 * 关联 {@link WmsWarehouseDO#getId()}
74 */ 73 */
75 private Long warehouseId; 74 private Long warehouseId;
76 - /**  
77 - * 库区编号  
78 - *  
79 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
80 - */  
81 - private Long areaId;  
82 75
83 // ========= 汇总金额字段 ========= 76 // ========= 汇总金额字段 =========
84 77
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
@@ -52,7 +51,7 @@ public class WmsReceiptOrderDetailDO extends BaseDO { @@ -52,7 +51,7 @@ public class WmsReceiptOrderDetailDO extends BaseDO {
52 */ 51 */
53 private Long skuId; 52 private Long skuId;
54 53
55 - // ========= 仓库库区字段 ========= 54 + // ========= 仓库字段 =========
56 55
57 /** 56 /**
58 * 仓库编号 57 * 仓库编号
@@ -60,12 +59,6 @@ public class WmsReceiptOrderDetailDO extends BaseDO { @@ -60,12 +59,6 @@ public class WmsReceiptOrderDetailDO extends BaseDO {
60 * 关联 {@link WmsWarehouseDO#getId()} 59 * 关联 {@link WmsWarehouseDO#getId()}
61 */ 60 */
62 private Long warehouseId; 61 private Long warehouseId;
63 - /**  
64 - * 库区编号  
65 - *  
66 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
67 - */  
68 - private Long areaId;  
69 62
70 // ========= 批次效期字段 ========= 63 // ========= 批次效期字段 =========
71 64
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.merchant.WmsMerchantDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; 6 import cn.iocoder.yudao.module.wms.enums.DictTypeConstants;
8 import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; 7 import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum;
@@ -65,7 +64,7 @@ public class WmsShipmentOrderDO extends BaseDO { @@ -65,7 +64,7 @@ public class WmsShipmentOrderDO extends BaseDO {
65 */ 64 */
66 private String remark; 65 private String remark;
67 66
68 - // ========= 仓库库区字段 ========= 67 + // ========= 仓库字段 =========
69 68
70 /** 69 /**
71 * 仓库编号 70 * 仓库编号
@@ -73,12 +72,6 @@ public class WmsShipmentOrderDO extends BaseDO { @@ -73,12 +72,6 @@ public class WmsShipmentOrderDO extends BaseDO {
73 * 关联 {@link WmsWarehouseDO#getId()} 72 * 关联 {@link WmsWarehouseDO#getId()}
74 */ 73 */
75 private Long warehouseId; 74 private Long warehouseId;
76 - /**  
77 - * 库区编号  
78 - *  
79 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
80 - */  
81 - private Long areaId;  
82 75
83 // ========= 汇总金额字段 ========= 76 // ========= 汇总金额字段 =========
84 77
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; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 4 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
5 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
6 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 5 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
@@ -52,7 +51,7 @@ public class WmsShipmentOrderDetailDO extends BaseDO { @@ -52,7 +51,7 @@ public class WmsShipmentOrderDetailDO extends BaseDO {
52 */ 51 */
53 private Long skuId; 52 private Long skuId;
54 53
55 - // ========= 仓库库区字段 ========= 54 + // ========= 仓库字段 =========
56 55
57 /** 56 /**
58 * 仓库编号 57 * 仓库编号
@@ -60,12 +59,6 @@ public class WmsShipmentOrderDetailDO extends BaseDO { @@ -60,12 +59,6 @@ public class WmsShipmentOrderDetailDO extends BaseDO {
60 * 关联 {@link WmsWarehouseDO#getId()} 59 * 关联 {@link WmsWarehouseDO#getId()}
61 */ 60 */
62 private Long warehouseId; 61 private Long warehouseId;
63 - /**  
64 - * 库区编号  
65 - *  
66 - * 关联 {@link WmsWarehouseAreaDO#getId()}  
67 - */  
68 - private Long areaId;  
69 62
70 // ========= 批次效期字段 ========= 63 // ========= 批次效期字段 =========
71 64
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&lt;WmsInventoryHisto @@ -28,7 +28,6 @@ public interface WmsInventoryHistoryMapper extends BaseMapperX&lt;WmsInventoryHisto
28 .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) 28 .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode())
29 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) 29 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName())
30 .eqIfPresent(WmsInventoryHistoryDO::getWarehouseId, reqVO.getWarehouseId()) 30 .eqIfPresent(WmsInventoryHistoryDO::getWarehouseId, reqVO.getWarehouseId())
31 - .eqIfPresent(WmsInventoryHistoryDO::getAreaId, reqVO.getAreaId())  
32 .eqIfPresent(WmsInventoryHistoryDO::getOrderNo, reqVO.getOrderNo()) 31 .eqIfPresent(WmsInventoryHistoryDO::getOrderNo, reqVO.getOrderNo())
33 .eqIfPresent(WmsInventoryHistoryDO::getOrderType, reqVO.getOrderType()) 32 .eqIfPresent(WmsInventoryHistoryDO::getOrderType, reqVO.getOrderType())
34 .betweenIfPresent(WmsInventoryHistoryDO::getCreateTime, reqVO.getCreateTime()) 33 .betweenIfPresent(WmsInventoryHistoryDO::getCreateTime, reqVO.getCreateTime())
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryMapper.java
@@ -35,50 +35,24 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; { @@ -35,50 +35,24 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; {
35 .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) 35 .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode())
36 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) 36 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName())
37 .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId()) 37 .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId())
38 - .eqIfPresent(WmsInventoryDO::getAreaId, reqVO.getAreaId())  
39 .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity()); 38 .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity());
40 appendDimensionOrder(query, reqVO.getType()); 39 appendDimensionOrder(query, reqVO.getType());
41 return selectJoinPage(reqVO, WmsInventoryDO.class, query); 40 return selectJoinPage(reqVO, WmsInventoryDO.class, query);
42 } 41 }
43 42
44 - default PageResult<WmsInventoryDO> selectPageGroupByWarehouse(WmsInventoryPageReqVO reqVO) {  
45 - MPJLambdaWrapperX<WmsInventoryDO> query = new MPJLambdaWrapperX<WmsInventoryDO>()  
46 - .selectMin(WmsInventoryDO::getId, WmsInventoryDO::getId)  
47 - .selectAs(WmsInventoryDO::getWarehouseId, WmsInventoryDO::getWarehouseId)  
48 - .selectAs("0", WmsInventoryDO::getAreaId)  
49 - .selectAs(WmsInventoryDO::getSkuId, WmsInventoryDO::getSkuId)  
50 - .selectSum(WmsInventoryDO::getQuantity, WmsInventoryDO::getQuantity)  
51 - .innerJoin(WmsItemSkuDO.class, WmsItemSkuDO::getId, WmsInventoryDO::getSkuId)  
52 - .innerJoin(WmsItemDO.class, WmsItemDO::getId, WmsItemSkuDO::getItemId)  
53 - .likeIfPresent(WmsItemDO::getCode, reqVO.getItemCode())  
54 - .likeIfPresent(WmsItemDO::getName, reqVO.getItemName())  
55 - .eqIfPresent(WmsInventoryDO::getSkuId, reqVO.getSkuId())  
56 - .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode())  
57 - .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName())  
58 - .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId());  
59 - query.groupBy(WmsInventoryDO::getWarehouseId, WmsInventoryDO::getSkuId);  
60 - if (reqVO.getMinQuantity() != null) {  
61 - query.having("SUM(t.quantity) >= {0}", reqVO.getMinQuantity());  
62 - }  
63 - query.orderByAsc(WmsInventoryDO::getWarehouseId)  
64 - .orderByAsc(WmsInventoryDO::getSkuId);  
65 - return selectJoinPage(reqVO, WmsInventoryDO.class, query);  
66 - }  
67 -  
68 default Long selectCountBySkuId(Long skuId) { 43 default Long selectCountBySkuId(Long skuId) {
69 return selectCount(WmsInventoryDO::getSkuId, skuId); 44 return selectCount(WmsInventoryDO::getSkuId, skuId);
70 } 45 }
71 46
72 - default WmsInventoryDO selectBySkuIdAndWarehouseIdAndAreaId(Long skuId, Long warehouseId, Long areaId) { 47 + default WmsInventoryDO selectBySkuIdAndWarehouseId(Long skuId, Long warehouseId) {
73 return selectOne(WmsInventoryDO::getSkuId, skuId, 48 return selectOne(WmsInventoryDO::getSkuId, skuId,
74 - WmsInventoryDO::getWarehouseId, warehouseId,  
75 - WmsInventoryDO::getAreaId, areaId); 49 + WmsInventoryDO::getWarehouseId, warehouseId);
76 } 50 }
77 51
78 /** 52 /**
79 * 根据多个唯一键,批量查询库存列表 53 * 根据多个唯一键,批量查询库存列表
80 * 54 *
81 - * @param keys 唯一键列表:由 SKU 编号 + 仓库编号 + 库区编号组成 55 + * @param keys 唯一键列表:由 SKU 编号 + 仓库编号组成
82 * @return 库存列表 56 * @return 库存列表
83 */ 57 */
84 default List<WmsInventoryDO> selectListByKeys(Collection<WmsInventoryDO> keys) { 58 default List<WmsInventoryDO> selectListByKeys(Collection<WmsInventoryDO> keys) {
@@ -93,8 +67,7 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; { @@ -93,8 +67,7 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; {
93 query.or(); 67 query.or();
94 } 68 }
95 query.eq(WmsInventoryDO::getSkuId, key.getSkuId()) 69 query.eq(WmsInventoryDO::getSkuId, key.getSkuId())
96 - .eq(WmsInventoryDO::getWarehouseId, key.getWarehouseId())  
97 - .eq(WmsInventoryDO::getAreaId, key.getAreaId()); 70 + .eq(WmsInventoryDO::getWarehouseId, key.getWarehouseId());
98 first = false; 71 first = false;
99 } 72 }
100 })); 73 }));
@@ -122,15 +95,6 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; { @@ -122,15 +95,6 @@ public interface WmsInventoryMapper extends BaseMapperX&lt;WmsInventoryDO&gt; {
122 query.orderByAsc(WmsItemSkuDO::getItemId) 95 query.orderByAsc(WmsItemSkuDO::getItemId)
123 .orderByAsc(WmsInventoryDO::getSkuId) 96 .orderByAsc(WmsInventoryDO::getSkuId)
124 .orderByAsc(WmsInventoryDO::getWarehouseId) 97 .orderByAsc(WmsInventoryDO::getWarehouseId)
125 - .orderByAsc(WmsInventoryDO::getAreaId)  
126 - .orderByAsc(WmsInventoryDO::getId);  
127 - return;  
128 - }  
129 - if (StrUtil.equals(WmsInventoryPageReqVO.TYPE_AREA, type)) {  
130 - query.orderByAsc(WmsInventoryDO::getWarehouseId)  
131 - .orderByAsc(WmsInventoryDO::getAreaId)  
132 - .orderByAsc(WmsItemSkuDO::getItemId)  
133 - .orderByAsc(WmsInventoryDO::getSkuId)  
134 .orderByAsc(WmsInventoryDO::getId); 98 .orderByAsc(WmsInventoryDO::getId);
135 return; 99 return;
136 } 100 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/md/warehouse/WmsWarehouseAreaMapper.java deleted
1 -package cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;  
6 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO;  
7 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
8 -import org.apache.ibatis.annotations.Mapper;  
9 -  
10 -import java.util.List;  
11 -  
12 -/**  
13 - * WMS 库区 Mapper  
14 - *  
15 - * @author 芋道源码  
16 - */  
17 -@Mapper  
18 -public interface WmsWarehouseAreaMapper extends BaseMapperX<WmsWarehouseAreaDO> {  
19 -  
20 - default PageResult<WmsWarehouseAreaDO> selectPage(WmsWarehouseAreaPageReqVO reqVO) {  
21 - return selectPage(reqVO, new LambdaQueryWrapperX<WmsWarehouseAreaDO>()  
22 - .eqIfPresent(WmsWarehouseAreaDO::getCode, reqVO.getCode())  
23 - .likeIfPresent(WmsWarehouseAreaDO::getName, reqVO.getName())  
24 - .eqIfPresent(WmsWarehouseAreaDO::getWarehouseId, reqVO.getWarehouseId())  
25 - .orderByDesc(WmsWarehouseAreaDO::getId));  
26 - }  
27 -  
28 - default WmsWarehouseAreaDO selectByCode(String code) {  
29 - return selectOne(WmsWarehouseAreaDO::getCode, code);  
30 - }  
31 -  
32 - default WmsWarehouseAreaDO selectByName(Long warehouseId, String name) {  
33 - return selectOne(new LambdaQueryWrapperX<WmsWarehouseAreaDO>()  
34 - .eq(WmsWarehouseAreaDO::getWarehouseId, warehouseId)  
35 - .eq(WmsWarehouseAreaDO::getName, name));  
36 - }  
37 -  
38 - default List<WmsWarehouseAreaDO> selectListByWarehouseId(Long warehouseId) {  
39 - return selectList(new LambdaQueryWrapperX<WmsWarehouseAreaDO>()  
40 - .eqIfPresent(WmsWarehouseAreaDO::getWarehouseId, warehouseId)  
41 - .orderByDesc(WmsWarehouseAreaDO::getId));  
42 - }  
43 -  
44 - default Long selectCountByWarehouseId(Long warehouseId) {  
45 - return selectCount(WmsWarehouseAreaDO::getWarehouseId, warehouseId);  
46 - }  
47 -  
48 -}  
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&lt;WmsCheckOrderDeta @@ -35,8 +35,4 @@ public interface WmsCheckOrderDetailMapper extends BaseMapperX&lt;WmsCheckOrderDeta
35 return selectCount(WmsCheckOrderDetailDO::getSkuId, skuId); 35 return selectCount(WmsCheckOrderDetailDO::getSkuId, skuId);
36 } 36 }
37 37
38 - default Long selectCountByAreaId(Long areaId) {  
39 - return selectCount(WmsCheckOrderDetailDO::getAreaId, areaId);  
40 - }  
41 -  
42 } 38 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/check/WmsCheckOrderMapper.java
@@ -20,7 +20,6 @@ public interface WmsCheckOrderMapper extends BaseMapperX&lt;WmsCheckOrderDO&gt; { @@ -20,7 +20,6 @@ public interface WmsCheckOrderMapper extends BaseMapperX&lt;WmsCheckOrderDO&gt; {
20 .likeIfPresent(WmsCheckOrderDO::getNo, reqVO.getNo()) 20 .likeIfPresent(WmsCheckOrderDO::getNo, reqVO.getNo())
21 .eqIfPresent(WmsCheckOrderDO::getStatus, reqVO.getStatus()) 21 .eqIfPresent(WmsCheckOrderDO::getStatus, reqVO.getStatus())
22 .eqIfPresent(WmsCheckOrderDO::getWarehouseId, reqVO.getWarehouseId()) 22 .eqIfPresent(WmsCheckOrderDO::getWarehouseId, reqVO.getWarehouseId())
23 - .eqIfPresent(WmsCheckOrderDO::getAreaId, reqVO.getAreaId())  
24 .betweenIfPresent(WmsCheckOrderDO::getCreateTime, reqVO.getOrderDate()) 23 .betweenIfPresent(WmsCheckOrderDO::getCreateTime, reqVO.getOrderDate())
25 .geIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMin()) 24 .geIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMin())
26 .leIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMax()) 25 .leIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMax())
@@ -41,8 +40,4 @@ public interface WmsCheckOrderMapper extends BaseMapperX&lt;WmsCheckOrderDO&gt; { @@ -41,8 +40,4 @@ public interface WmsCheckOrderMapper extends BaseMapperX&lt;WmsCheckOrderDO&gt; {
41 return selectCount(WmsCheckOrderDO::getWarehouseId, warehouseId); 40 return selectCount(WmsCheckOrderDO::getWarehouseId, warehouseId);
42 } 41 }
43 42
44 - default Long selectCountByAreaId(Long areaId) {  
45 - return selectCount(WmsCheckOrderDO::getAreaId, areaId);  
46 - }  
47 -  
48 } 43 }
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&lt;WmsMovementOrd @@ -35,10 +35,4 @@ public interface WmsMovementOrderDetailMapper extends BaseMapperX&lt;WmsMovementOrd
35 return selectCount(WmsMovementOrderDetailDO::getSkuId, skuId); 35 return selectCount(WmsMovementOrderDetailDO::getSkuId, skuId);
36 } 36 }
37 37
38 - default Long selectCountByAreaId(Long areaId) {  
39 - return selectCount(new LambdaQueryWrapperX<WmsMovementOrderDetailDO>()  
40 - .and(query -> query.eq(WmsMovementOrderDetailDO::getSourceAreaId, areaId)  
41 - .or().eq(WmsMovementOrderDetailDO::getTargetAreaId, areaId)));  
42 - }  
43 -  
44 } 38 }
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&lt;WmsMovementOrderDO&gt; @@ -43,10 +43,4 @@ public interface WmsMovementOrderMapper extends BaseMapperX&lt;WmsMovementOrderDO&gt;
43 .or().eq(WmsMovementOrderDO::getTargetWarehouseId, warehouseId))); 43 .or().eq(WmsMovementOrderDO::getTargetWarehouseId, warehouseId)));
44 } 44 }
45 45
46 - default Long selectCountByAreaId(Long areaId) {  
47 - return selectCount(new LambdaQueryWrapperX<WmsMovementOrderDO>()  
48 - .and(query -> query.eq(WmsMovementOrderDO::getSourceAreaId, areaId)  
49 - .or().eq(WmsMovementOrderDO::getTargetAreaId, areaId)));  
50 - }  
51 -  
52 } 46 }
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&lt;WmsReceiptOrder @@ -35,8 +35,4 @@ public interface WmsReceiptOrderDetailMapper extends BaseMapperX&lt;WmsReceiptOrder
35 return selectCount(WmsReceiptOrderDetailDO::getSkuId, skuId); 35 return selectCount(WmsReceiptOrderDetailDO::getSkuId, skuId);
36 } 36 }
37 37
38 - default Long selectCountByAreaId(Long areaId) {  
39 - return selectCount(WmsReceiptOrderDetailDO::getAreaId, areaId);  
40 - }  
41 -  
42 } 38 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/receipt/WmsReceiptOrderMapper.java
@@ -47,8 +47,4 @@ public interface WmsReceiptOrderMapper extends BaseMapperX&lt;WmsReceiptOrderDO&gt; { @@ -47,8 +47,4 @@ public interface WmsReceiptOrderMapper extends BaseMapperX&lt;WmsReceiptOrderDO&gt; {
47 return selectCount(WmsReceiptOrderDO::getWarehouseId, warehouseId); 47 return selectCount(WmsReceiptOrderDO::getWarehouseId, warehouseId);
48 } 48 }
49 49
50 - default Long selectCountByAreaId(Long areaId) {  
51 - return selectCount(WmsReceiptOrderDO::getAreaId, areaId);  
52 - }  
53 -  
54 } 50 }
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&lt;WmsShipmentOrd @@ -35,8 +35,4 @@ public interface WmsShipmentOrderDetailMapper extends BaseMapperX&lt;WmsShipmentOrd
35 return selectCount(WmsShipmentOrderDetailDO::getSkuId, skuId); 35 return selectCount(WmsShipmentOrderDetailDO::getSkuId, skuId);
36 } 36 }
37 37
38 - default Long selectCountByAreaId(Long areaId) {  
39 - return selectCount(WmsShipmentOrderDetailDO::getAreaId, areaId);  
40 - }  
41 -  
42 } 38 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/order/shipment/WmsShipmentOrderMapper.java
@@ -47,8 +47,4 @@ public interface WmsShipmentOrderMapper extends BaseMapperX&lt;WmsShipmentOrderDO&gt; @@ -47,8 +47,4 @@ public interface WmsShipmentOrderMapper extends BaseMapperX&lt;WmsShipmentOrderDO&gt;
47 return selectCount(WmsShipmentOrderDO::getWarehouseId, warehouseId); 47 return selectCount(WmsShipmentOrderDO::getWarehouseId, warehouseId);
48 } 48 }
49 49
50 - default Long selectCountByAreaId(Long areaId) {  
51 - return selectCount(WmsShipmentOrderDO::getAreaId, areaId);  
52 - }  
53 -  
54 } 50 }
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; @@ -9,23 +9,12 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
9 */ 9 */
10 public interface ErrorCodeConstants { 10 public interface ErrorCodeConstants {
11 11
12 - // ========== WMS 配置 1-060-000-000 ==========  
13 - ErrorCode WMS_AREA_DISABLED = new ErrorCode(1_060_000_000, "WMS 库区模式未开启");  
14 -  
15 // ========== WMS 基础数据-仓库 1-060-100-000 ========== 12 // ========== WMS 基础数据-仓库 1-060-100-000 ==========
16 ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_060_100_000, "仓库不存在"); 13 ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_060_100_000, "仓库不存在");
17 ErrorCode WAREHOUSE_NAME_DUPLICATE = new ErrorCode(1_060_100_001, "仓库名称重复"); 14 ErrorCode WAREHOUSE_NAME_DUPLICATE = new ErrorCode(1_060_100_001, "仓库名称重复");
18 ErrorCode WAREHOUSE_CODE_DUPLICATE = new ErrorCode(1_060_100_002, "仓库编号重复"); 15 ErrorCode WAREHOUSE_CODE_DUPLICATE = new ErrorCode(1_060_100_002, "仓库编号重复");
19 - ErrorCode WAREHOUSE_HAS_AREA = new ErrorCode(1_060_100_003, "删除失败!请先删除该仓库下的库区!");  
20 ErrorCode WAREHOUSE_HAS_ORDER = new ErrorCode(1_060_100_004, "删除失败!仓库已被{}使用!"); 16 ErrorCode WAREHOUSE_HAS_ORDER = new ErrorCode(1_060_100_004, "删除失败!仓库已被{}使用!");
21 17
22 - // ========== WMS 基础数据-库区 1-060-101-000 ==========  
23 - ErrorCode WAREHOUSE_AREA_NOT_EXISTS = new ErrorCode(1_060_101_000, "库区不存在");  
24 - ErrorCode WAREHOUSE_AREA_NAME_DUPLICATE = new ErrorCode(1_060_101_001, "库区名称重复");  
25 - ErrorCode WAREHOUSE_AREA_CODE_DUPLICATE = new ErrorCode(1_060_101_002, "库区编号重复");  
26 - ErrorCode WAREHOUSE_AREA_NOT_MATCH_WAREHOUSE = new ErrorCode(1_060_101_003, "库区不属于仓库");  
27 - ErrorCode WAREHOUSE_AREA_HAS_ORDER = new ErrorCode(1_060_101_004, "删除失败!库区已被{}使用!");  
28 -  
29 // ========== WMS 基础数据-商品分类 1-060-102-000 ========== 18 // ========== WMS 基础数据-商品分类 1-060-102-000 ==========
30 ErrorCode ITEM_CATEGORY_NOT_EXISTS = new ErrorCode(1_060_102_000, "商品分类不存在"); 19 ErrorCode ITEM_CATEGORY_NOT_EXISTS = new ErrorCode(1_060_102_000, "商品分类不存在");
31 ErrorCode ITEM_CATEGORY_NAME_DUPLICATE = new ErrorCode(1_060_102_001, "商品分类名称重复"); 20 ErrorCode ITEM_CATEGORY_NAME_DUPLICATE = new ErrorCode(1_060_102_001, "商品分类名称重复");
@@ -59,7 +48,6 @@ public interface ErrorCodeConstants { @@ -59,7 +48,6 @@ public interface ErrorCodeConstants {
59 ErrorCode RECEIPT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_200_001, "入库单号重复"); 48 ErrorCode RECEIPT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_200_001, "入库单号重复");
60 ErrorCode RECEIPT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_200_002, "入库单状态不是草稿,不能操作"); 49 ErrorCode RECEIPT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_200_002, "入库单状态不是草稿,不能操作");
61 ErrorCode RECEIPT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_200_003, "入库单至少包含一条明细"); 50 ErrorCode RECEIPT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_200_003, "入库单至少包含一条明细");
62 - ErrorCode RECEIPT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_200_004, "库区模式下,入库单库区不能为空");  
63 ErrorCode RECEIPT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_200_005, "入库单状态不是草稿或已作废,不能删除"); 51 ErrorCode RECEIPT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_200_005, "入库单状态不是草稿或已作废,不能删除");
64 ErrorCode RECEIPT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_200_007, "入库单明细不存在"); 52 ErrorCode RECEIPT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_200_007, "入库单明细不存在");
65 53
@@ -68,7 +56,6 @@ public interface ErrorCodeConstants { @@ -68,7 +56,6 @@ public interface ErrorCodeConstants {
68 ErrorCode SHIPMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_201_001, "出库单号重复"); 56 ErrorCode SHIPMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_201_001, "出库单号重复");
69 ErrorCode SHIPMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_201_002, "出库单状态不是草稿,不能操作"); 57 ErrorCode SHIPMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_201_002, "出库单状态不是草稿,不能操作");
70 ErrorCode SHIPMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_201_003, "出库单至少包含一条明细"); 58 ErrorCode SHIPMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_201_003, "出库单至少包含一条明细");
71 - ErrorCode SHIPMENT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_201_004, "库区模式下,出库单库区不能为空");  
72 ErrorCode SHIPMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_201_005, "出库单状态不是草稿或已作废,不能删除"); 59 ErrorCode SHIPMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_201_005, "出库单状态不是草稿或已作废,不能删除");
73 ErrorCode SHIPMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_201_007, "出库单明细不存在"); 60 ErrorCode SHIPMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_201_007, "出库单明细不存在");
74 61
@@ -77,22 +64,20 @@ public interface ErrorCodeConstants { @@ -77,22 +64,20 @@ public interface ErrorCodeConstants {
77 ErrorCode MOVEMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_202_001, "移库单号重复"); 64 ErrorCode MOVEMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_202_001, "移库单号重复");
78 ErrorCode MOVEMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_202_002, "移库单状态不是草稿,不能操作"); 65 ErrorCode MOVEMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_202_002, "移库单状态不是草稿,不能操作");
79 ErrorCode MOVEMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_202_003, "移库单至少包含一条明细"); 66 ErrorCode MOVEMENT_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_202_003, "移库单至少包含一条明细");
80 - ErrorCode MOVEMENT_ORDER_AREA_REQUIRED = new ErrorCode(1_060_202_004, "库区模式下,移库单库区不能为空");  
81 ErrorCode MOVEMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_202_005, "移库单状态不是草稿或已作废,不能删除"); 67 ErrorCode MOVEMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_202_005, "移库单状态不是草稿或已作废,不能删除");
82 ErrorCode MOVEMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_202_006, "移库单明细不存在"); 68 ErrorCode MOVEMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_202_006, "移库单明细不存在");
83 - ErrorCode MOVEMENT_ORDER_WAREHOUSE_AREA_SAME = new ErrorCode(1_060_202_007, "来源仓库库区和目标仓库库区不能相同"); 69 + ErrorCode MOVEMENT_ORDER_WAREHOUSE_SAME = new ErrorCode(1_060_202_007, "来源仓库和目标仓库不能相同");
84 70
85 // ========== WMS 盘库单 1-060-203-000 ========== 71 // ========== WMS 盘库单 1-060-203-000 ==========
86 ErrorCode CHECK_ORDER_NOT_EXISTS = new ErrorCode(1_060_203_000, "盘库单不存在"); 72 ErrorCode CHECK_ORDER_NOT_EXISTS = new ErrorCode(1_060_203_000, "盘库单不存在");
87 ErrorCode CHECK_ORDER_NO_DUPLICATE = new ErrorCode(1_060_203_001, "盘库单号重复"); 73 ErrorCode CHECK_ORDER_NO_DUPLICATE = new ErrorCode(1_060_203_001, "盘库单号重复");
88 ErrorCode CHECK_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_203_002, "盘库单状态不是草稿,不能操作"); 74 ErrorCode CHECK_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_203_002, "盘库单状态不是草稿,不能操作");
89 ErrorCode CHECK_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_203_003, "盘库单至少包含一条明细"); 75 ErrorCode CHECK_ORDER_DETAIL_REQUIRED = new ErrorCode(1_060_203_003, "盘库单至少包含一条明细");
90 - ErrorCode CHECK_ORDER_AREA_REQUIRED = new ErrorCode(1_060_203_004, "库区模式下,盘库单库区不能为空");  
91 ErrorCode CHECK_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_203_005, "盘库单状态不是草稿或已作废,不能删除"); 76 ErrorCode CHECK_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_203_005, "盘库单状态不是草稿或已作废,不能删除");
92 ErrorCode CHECK_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_203_006, "盘库单明细不存在"); 77 ErrorCode CHECK_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_203_006, "盘库单明细不存在");
93 78
94 // ========== WMS 库存 1-060-300-000 ========== 79 // ========== WMS 库存 1-060-300-000 ==========
95 ErrorCode INVENTORY_QUANTITY_NOT_ENOUGH = new ErrorCode(1_060_300_000, 80 ErrorCode INVENTORY_QUANTITY_NOT_ENOUGH = new ErrorCode(1_060_300_000,
96 - "库存不足,商品:{},商品规格:{},仓库:{},库区:{},当前库存:{},变更数量:{}"); 81 + "库存不足,商品:{},商品规格:{},仓库:{},当前库存:{},变更数量:{}");
97 82
98 } 83 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsConfiguration.java deleted
1 -package cn.iocoder.yudao.module.wms.framework.config;  
2 -  
3 -import org.springframework.boot.context.properties.EnableConfigurationProperties;  
4 -import org.springframework.context.annotation.Configuration;  
5 -  
6 -/**  
7 - * WMS 模块配置  
8 - *  
9 - * @author 芋道源码  
10 - */  
11 -@Configuration(proxyBeanMethods = false)  
12 -@EnableConfigurationProperties(WmsProperties.class)  
13 -public class WmsConfiguration {  
14 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/framework/config/WmsProperties.java deleted
1 -package cn.iocoder.yudao.module.wms.framework.config;  
2 -  
3 -import lombok.Data;  
4 -import org.springframework.boot.context.properties.ConfigurationProperties;  
5 -import org.springframework.validation.annotation.Validated;  
6 -  
7 -import jakarta.validation.constraints.NotNull;  
8 -  
9 -/**  
10 - * WMS 配置项  
11 - *  
12 - * @author 芋道源码  
13 - */  
14 -@ConfigurationProperties(prefix = "yudao.wms")  
15 -@Validated  
16 -@Data  
17 -public class WmsProperties {  
18 -  
19 - /**  
20 - * 是否启用库区模式  
21 - */  
22 - @NotNull(message = "是否启用库区模式不能为空")  
23 - private Boolean areaEnable = true;  
24 -  
25 - public boolean isAreaEnabled() {  
26 - return Boolean.TRUE.equals(areaEnable);  
27 - }  
28 -  
29 -}  
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; @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.wms.service.inventory;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.lang.Tuple; 4 import cn.hutool.core.lang.Tuple;
5 import cn.hutool.core.util.ObjectUtil; 5 import cn.hutool.core.util.ObjectUtil;
6 -import cn.hutool.core.util.StrUtil;  
7 import cn.iocoder.yudao.framework.common.exception.ServiceException; 6 import cn.iocoder.yudao.framework.common.exception.ServiceException;
8 import cn.iocoder.yudao.framework.common.pojo.PageResult; 7 import cn.iocoder.yudao.framework.common.pojo.PageResult;
9 import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO; 8 import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO;
@@ -56,9 +55,6 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -56,9 +55,6 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
56 55
57 @Override 56 @Override
58 public PageResult<WmsInventoryDO> getInventoryPage(WmsInventoryPageReqVO pageReqVO) { 57 public PageResult<WmsInventoryDO> getInventoryPage(WmsInventoryPageReqVO pageReqVO) {
59 - if (StrUtil.equals(WmsInventoryPageReqVO.TYPE_WAREHOUSE, pageReqVO.getType())) {  
60 - return inventoryMapper.selectPageGroupByWarehouse(pageReqVO);  
61 - }  
62 return inventoryMapper.selectPage(pageReqVO); 58 return inventoryMapper.selectPage(pageReqVO);
63 } 59 }
64 60
@@ -106,7 +102,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -106,7 +102,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
106 WmsInventoryDO inventory = findInventory(inventories, item); 102 WmsInventoryDO inventory = findInventory(inventories, item);
107 if (inventory == null) { 103 if (inventory == null) {
108 throw new IllegalStateException("库存行不存在,skuId=" + item.getSkuId() 104 throw new IllegalStateException("库存行不存在,skuId=" + item.getSkuId()
109 - + ", warehouseId=" + item.getWarehouseId() + ", areaId=" + item.getAreaId()); 105 + + ", warehouseId=" + item.getWarehouseId());
110 } 106 }
111 BigDecimal beforeQuantity = inventory.getQuantity(); 107 BigDecimal beforeQuantity = inventory.getQuantity();
112 BigDecimal afterQuantity = beforeQuantity.add(item.getQuantity()); 108 BigDecimal afterQuantity = beforeQuantity.add(item.getQuantity());
@@ -130,7 +126,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -130,7 +126,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
130 for (WmsInventoryChangeReqDTO.Item item : items) { 126 for (WmsInventoryChangeReqDTO.Item item : items) {
131 if (findInventory(inventoryKeyList, item) == null) { 127 if (findInventory(inventoryKeyList, item) == null) {
132 inventoryKeyList.add(new WmsInventoryDO().setSkuId(item.getSkuId()) 128 inventoryKeyList.add(new WmsInventoryDO().setSkuId(item.getSkuId())
133 - .setWarehouseId(item.getWarehouseId()).setAreaId(item.getAreaId())); 129 + .setWarehouseId(item.getWarehouseId()));
134 } 130 }
135 } 131 }
136 132
@@ -156,7 +152,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -156,7 +152,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
156 // 优先批量插入缺失库存行;并发唯一键冲突时,再逐个插入并回查冲突行。 152 // 优先批量插入缺失库存行;并发唯一键冲突时,再逐个插入并回查冲突行。
157 List<WmsInventoryDO> newInventoryList = convertList(missingInventoryList, missingInventory -> 153 List<WmsInventoryDO> newInventoryList = convertList(missingInventoryList, missingInventory ->
158 new WmsInventoryDO().setSkuId(missingInventory.getSkuId()).setWarehouseId(missingInventory.getWarehouseId()) 154 new WmsInventoryDO().setSkuId(missingInventory.getSkuId()).setWarehouseId(missingInventory.getWarehouseId())
159 - .setAreaId(missingInventory.getAreaId()).setQuantity(BigDecimal.ZERO)); 155 + .setQuantity(BigDecimal.ZERO));
160 try { 156 try {
161 inventoryMapper.insertBatch(newInventoryList); 157 inventoryMapper.insertBatch(newInventoryList);
162 return newInventoryList; 158 return newInventoryList;
@@ -170,13 +166,13 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -170,13 +166,13 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
170 List<WmsInventoryDO> resultList = new ArrayList<>(missingInventoryList.size()); 166 List<WmsInventoryDO> resultList = new ArrayList<>(missingInventoryList.size());
171 for (WmsInventoryDO missingInventory : missingInventoryList) { 167 for (WmsInventoryDO missingInventory : missingInventoryList) {
172 WmsInventoryDO inventory = new WmsInventoryDO().setSkuId(missingInventory.getSkuId()) 168 WmsInventoryDO inventory = new WmsInventoryDO().setSkuId(missingInventory.getSkuId())
173 - .setWarehouseId(missingInventory.getWarehouseId()).setAreaId(missingInventory.getAreaId()) 169 + .setWarehouseId(missingInventory.getWarehouseId())
174 .setQuantity(BigDecimal.ZERO); 170 .setQuantity(BigDecimal.ZERO);
175 try { 171 try {
176 inventoryMapper.insert(inventory); 172 inventoryMapper.insert(inventory);
177 } catch (DuplicateKeyException ex) { 173 } catch (DuplicateKeyException ex) {
178 - inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(  
179 - missingInventory.getSkuId(), missingInventory.getWarehouseId(), missingInventory.getAreaId()); 174 + inventory = inventoryMapper.selectBySkuIdAndWarehouseId(
  175 + missingInventory.getSkuId(), missingInventory.getWarehouseId());
180 log.warn("[createMissingInventoryList][missingInventory({}) 插入库存行冲突,回查已有库存行]", missingInventory, ex); 176 log.warn("[createMissingInventoryList][missingInventory({}) 插入库存行冲突,回查已有库存行]", missingInventory, ex);
181 if (inventory == null) { 177 if (inventory == null) {
182 throw ex; 178 throw ex;
@@ -191,7 +187,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -191,7 +187,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
191 WmsInventoryChangeReqDTO.Item item, 187 WmsInventoryChangeReqDTO.Item item,
192 Tuple result) { 188 Tuple result) {
193 return new WmsInventoryHistoryDO() 189 return new WmsInventoryHistoryDO()
194 - .setWarehouseId(item.getWarehouseId()).setAreaId(item.getAreaId()).setSkuId(item.getSkuId()) 190 + .setWarehouseId(item.getWarehouseId()).setSkuId(item.getSkuId())
195 .setQuantity(item.getQuantity()).setBeforeQuantity(result.get(0)).setAfterQuantity(result.get(1)) 191 .setQuantity(item.getQuantity()).setBeforeQuantity(result.get(0)).setAfterQuantity(result.get(1))
196 .setBatchNo(item.getBatchNo()).setProductionDate(item.getProductionDate()) 192 .setBatchNo(item.getBatchNo()).setProductionDate(item.getProductionDate())
197 .setExpirationDate(item.getExpirationDate()) 193 .setExpirationDate(item.getExpirationDate())
@@ -209,14 +205,12 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -209,14 +205,12 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
209 205
210 private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryChangeReqDTO.Item item) { 206 private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryChangeReqDTO.Item item) {
211 return ObjectUtil.equal(inventory.getSkuId(), item.getSkuId()) 207 return ObjectUtil.equal(inventory.getSkuId(), item.getSkuId())
212 - && ObjectUtil.equal(inventory.getWarehouseId(), item.getWarehouseId())  
213 - && ObjectUtil.equal(inventory.getAreaId(), item.getAreaId()); 208 + && ObjectUtil.equal(inventory.getWarehouseId(), item.getWarehouseId());
214 } 209 }
215 210
216 private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryDO key) { 211 private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryDO key) {
217 return ObjectUtil.equal(inventory.getSkuId(), key.getSkuId()) 212 return ObjectUtil.equal(inventory.getSkuId(), key.getSkuId())
218 - && ObjectUtil.equal(inventory.getWarehouseId(), key.getWarehouseId())  
219 - && ObjectUtil.equal(inventory.getAreaId(), key.getAreaId()); 213 + && ObjectUtil.equal(inventory.getWarehouseId(), key.getWarehouseId());
220 } 214 }
221 215
222 private ServiceException buildInventoryQuantityNotEnoughException(WmsInventoryChangeReqDTO.Item item, 216 private ServiceException buildInventoryQuantityNotEnoughException(WmsInventoryChangeReqDTO.Item item,
@@ -224,7 +218,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { @@ -224,7 +218,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
224 WmsItemSkuDO skuDO = itemSkuService.validateItemSkuExists(item.getSkuId()); 218 WmsItemSkuDO skuDO = itemSkuService.validateItemSkuExists(item.getSkuId());
225 WmsItemDO itemDO = itemService.validateItemExists(skuDO.getItemId()); 219 WmsItemDO itemDO = itemService.validateItemExists(skuDO.getItemId());
226 return exception(INVENTORY_QUANTITY_NOT_ENOUGH, itemDO.getName(), skuDO.getName(), 220 return exception(INVENTORY_QUANTITY_NOT_ENOUGH, itemDO.getName(), skuDO.getName(),
227 - item.getWarehouseId(), item.getAreaId(), beforeQuantity, item.getQuantity()); 221 + item.getWarehouseId(), beforeQuantity, item.getQuantity());
228 } 222 }
229 223
230 } 224 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/dto/WmsInventoryChangeReqDTO.java
@@ -50,10 +50,6 @@ public class WmsInventoryChangeReqDTO { @@ -50,10 +50,6 @@ public class WmsInventoryChangeReqDTO {
50 */ 50 */
51 private Long warehouseId; 51 private Long warehouseId;
52 /** 52 /**
53 - * 库区编号  
54 - */  
55 - private Long areaId;  
56 - /**  
57 * 变更数量 53 * 变更数量
58 */ 54 */
59 private BigDecimal quantity; 55 private BigDecimal quantity;
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaService.java deleted
1 -package cn.iocoder.yudao.module.wms.service.md.warehouse;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
4 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO;  
5 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO;  
6 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
7 -import jakarta.validation.Valid;  
8 -  
9 -import java.util.Collection;  
10 -import java.util.List;  
11 -import java.util.Map;  
12 -  
13 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;  
14 -  
15 -/**  
16 - * WMS 库区 Service 接口  
17 - *  
18 - * @author 芋道源码  
19 - */  
20 -public interface WmsWarehouseAreaService {  
21 -  
22 - /**  
23 - * 创建库区  
24 - *  
25 - * @param createReqVO 创建信息  
26 - * @return 编号  
27 - */  
28 - Long createWarehouseArea(@Valid WmsWarehouseAreaSaveReqVO createReqVO);  
29 -  
30 - /**  
31 - * 更新库区  
32 - *  
33 - * @param updateReqVO 更新信息  
34 - */  
35 - void updateWarehouseArea(@Valid WmsWarehouseAreaSaveReqVO updateReqVO);  
36 -  
37 - /**  
38 - * 删除库区  
39 - *  
40 - * @param id 编号  
41 - */  
42 - void deleteWarehouseArea(Long id);  
43 -  
44 - /**  
45 - * 校验库区存在  
46 - *  
47 - * @param id 编号  
48 - * @return 库区  
49 - */  
50 - WmsWarehouseAreaDO validateWarehouseAreaExists(Long id);  
51 -  
52 - /**  
53 - * 校验并标准化库区编号  
54 - *  
55 - * @param id 库区编号  
56 - * @param warehouseId 仓库编号  
57 - * @return 库区编号;未启用库区模式或为空时,返回 {@link WmsWarehouseAreaDO#ID_EMPTY}  
58 - */  
59 - Long validateAndNormalizeWarehouseAreaId(Long id, Long warehouseId);  
60 -  
61 - /**  
62 - * 获得库区  
63 - *  
64 - * @param id 编号  
65 - * @return 库区  
66 - */  
67 - WmsWarehouseAreaDO getWarehouseArea(Long id);  
68 -  
69 - /**  
70 - * 获得库区分页  
71 - *  
72 - * @param pageReqVO 分页查询  
73 - * @return 库区分页  
74 - */  
75 - PageResult<WmsWarehouseAreaDO> getWarehouseAreaPage(WmsWarehouseAreaPageReqVO pageReqVO);  
76 -  
77 - /**  
78 - * 获得库区列表  
79 - *  
80 - * @param warehouseId 仓库编号  
81 - * @return 库区列表  
82 - */  
83 - List<WmsWarehouseAreaDO> getWarehouseAreaList(Long warehouseId);  
84 -  
85 - /**  
86 - * 按编号集合获得库区列表  
87 - *  
88 - * @param ids 编号集合  
89 - * @return 库区列表  
90 - */  
91 - List<WmsWarehouseAreaDO> getWarehouseAreaList(Collection<Long> ids);  
92 -  
93 - /**  
94 - * 按编号集合获得库区 Map  
95 - *  
96 - * @param ids 编号集合  
97 - * @return 库区 Map  
98 - */  
99 - default Map<Long, WmsWarehouseAreaDO> getWarehouseAreaMap(Collection<Long> ids) {  
100 - return convertMap(getWarehouseAreaList(ids), WmsWarehouseAreaDO::getId);  
101 - }  
102 -  
103 -}  
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/warehouse/WmsWarehouseAreaServiceImpl.java deleted
1 -package cn.iocoder.yudao.module.wms.service.md.warehouse;  
2 -  
3 -import cn.hutool.core.collection.CollUtil;  
4 -import cn.hutool.core.util.ObjectUtil;  
5 -import cn.hutool.core.util.StrUtil;  
6 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
7 -import cn.iocoder.yudao.framework.common.util.object.BeanUtils;  
8 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
9 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaPageReqVO;  
10 -import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.area.WmsWarehouseAreaSaveReqVO;  
11 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
12 -import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseAreaMapper;  
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 -import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService;  
15 -import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService;  
16 -import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService;  
17 -import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService;  
18 -import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService;  
19 -import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService;  
20 -import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService;  
21 -import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService;  
22 -import jakarta.annotation.Resource;  
23 -import org.springframework.context.annotation.Lazy;  
24 -import org.springframework.stereotype.Service;  
25 -import org.springframework.validation.annotation.Validated;  
26 -  
27 -import java.util.Collection;  
28 -import java.util.Collections;  
29 -import java.util.List;  
30 -  
31 -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;  
32 -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.*;  
33 -import static cn.iocoder.yudao.module.wms.enums.order.WmsOrderTypeConstants.*;  
34 -  
35 -/**  
36 - * WMS 库区 Service 实现类  
37 - *  
38 - * @author 芋道源码  
39 - */  
40 -@Service  
41 -@Validated  
42 -public class WmsWarehouseAreaServiceImpl implements WmsWarehouseAreaService {  
43 -  
44 - @Resource  
45 - private WmsWarehouseAreaMapper warehouseAreaMapper;  
46 - @Resource  
47 - private WmsWarehouseService warehouseService;  
48 - @Resource  
49 - private WmsProperties wmsProperties;  
50 - @Resource  
51 - @Lazy // 延迟加载,避免循环依赖  
52 - private WmsReceiptOrderService receiptOrderService;  
53 - @Resource  
54 - @Lazy // 延迟加载,避免循环依赖  
55 - private WmsReceiptOrderDetailService receiptOrderDetailService;  
56 - @Resource  
57 - @Lazy // 延迟加载,避免循环依赖  
58 - private WmsShipmentOrderService shipmentOrderService;  
59 - @Resource  
60 - @Lazy // 延迟加载,避免循环依赖  
61 - private WmsShipmentOrderDetailService shipmentOrderDetailService;  
62 - @Resource  
63 - @Lazy // 延迟加载,避免循环依赖  
64 - private WmsMovementOrderService movementOrderService;  
65 - @Resource  
66 - @Lazy // 延迟加载,避免循环依赖  
67 - private WmsMovementOrderDetailService movementOrderDetailService;  
68 - @Resource  
69 - @Lazy // 延迟加载,避免循环依赖  
70 - private WmsCheckOrderService checkOrderService;  
71 - @Resource  
72 - @Lazy // 延迟加载,避免循环依赖  
73 - private WmsCheckOrderDetailService checkOrderDetailService;  
74 -  
75 - @Override  
76 - public Long createWarehouseArea(WmsWarehouseAreaSaveReqVO createReqVO) {  
77 - validateAreaEnabled();  
78 - // 校验数据  
79 - validateWarehouseAreaSaveData(createReqVO);  
80 -  
81 - // 插入  
82 - WmsWarehouseAreaDO area = BeanUtils.toBean(createReqVO, WmsWarehouseAreaDO.class);  
83 - warehouseAreaMapper.insert(area);  
84 - // 返回  
85 - return area.getId();  
86 - }  
87 -  
88 - @Override  
89 - public void updateWarehouseArea(WmsWarehouseAreaSaveReqVO updateReqVO) {  
90 - validateAreaEnabled();  
91 - // 校验存在  
92 - validateWarehouseAreaExists(updateReqVO.getId());  
93 - // 校验数据  
94 - validateWarehouseAreaSaveData(updateReqVO);  
95 -  
96 - // 更新  
97 - WmsWarehouseAreaDO updateObj = BeanUtils.toBean(updateReqVO, WmsWarehouseAreaDO.class);  
98 - warehouseAreaMapper.updateById(updateObj);  
99 - }  
100 -  
101 - private void validateWarehouseAreaSaveData(WmsWarehouseAreaSaveReqVO reqVO) {  
102 - warehouseService.validateWarehouseExists(reqVO.getWarehouseId());  
103 - validateWarehouseAreaNameUnique(reqVO.getId(), reqVO.getWarehouseId(), reqVO.getName());  
104 - validateWarehouseAreaCodeUnique(reqVO.getId(), reqVO.getCode());  
105 - }  
106 -  
107 - private void validateWarehouseAreaNameUnique(Long id, Long warehouseId, String name) {  
108 - WmsWarehouseAreaDO area = warehouseAreaMapper.selectByName(warehouseId, name);  
109 - if (area == null) {  
110 - return;  
111 - }  
112 - if (ObjectUtil.notEqual(area.getId(), id)) {  
113 - throw exception(WAREHOUSE_AREA_NAME_DUPLICATE);  
114 - }  
115 - }  
116 -  
117 - private void validateWarehouseAreaCodeUnique(Long id, String code) {  
118 - if (StrUtil.isBlank(code)) {  
119 - return;  
120 - }  
121 - WmsWarehouseAreaDO area = warehouseAreaMapper.selectByCode(code);  
122 - if (area == null) {  
123 - return;  
124 - }  
125 - if (ObjectUtil.notEqual(area.getId(), id)) {  
126 - throw exception(WAREHOUSE_AREA_CODE_DUPLICATE);  
127 - }  
128 - }  
129 -  
130 - @Override  
131 - public void deleteWarehouseArea(Long id) {  
132 - validateAreaEnabled();  
133 - // 校验存在  
134 - validateWarehouseAreaExists(id);  
135 - // 校验未被单据使用  
136 - validateWarehouseAreaUnused(id);  
137 -  
138 - // 删除  
139 - warehouseAreaMapper.deleteById(id);  
140 - }  
141 -  
142 - private void validateWarehouseAreaUnused(Long id) {  
143 - if (receiptOrderService.getReceiptOrderCountByAreaId(id) > 0  
144 - || receiptOrderDetailService.getReceiptOrderDetailCountByAreaId(id) > 0) {  
145 - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_RECEIPT);  
146 - }  
147 - if (shipmentOrderService.getShipmentOrderCountByAreaId(id) > 0  
148 - || shipmentOrderDetailService.getShipmentOrderDetailCountByAreaId(id) > 0) {  
149 - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_SHIPMENT);  
150 - }  
151 - if (movementOrderService.getMovementOrderCountByAreaId(id) > 0  
152 - || movementOrderDetailService.getMovementOrderDetailCountByAreaId(id) > 0) {  
153 - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_MOVEMENT);  
154 - }  
155 - if (checkOrderService.getCheckOrderCountByAreaId(id) > 0  
156 - || checkOrderDetailService.getCheckOrderDetailCountByAreaId(id) > 0) {  
157 - throw exception(WAREHOUSE_AREA_HAS_ORDER, ORDER_NAME_CHECK);  
158 - }  
159 - }  
160 -  
161 - @Override  
162 - public WmsWarehouseAreaDO validateWarehouseAreaExists(Long id) {  
163 - validateAreaEnabled();  
164 - WmsWarehouseAreaDO area = warehouseAreaMapper.selectById(id);  
165 - if (area == null) {  
166 - throw exception(WAREHOUSE_AREA_NOT_EXISTS);  
167 - }  
168 - return area;  
169 - }  
170 -  
171 - @Override  
172 - public Long validateAndNormalizeWarehouseAreaId(Long id, Long warehouseId) {  
173 - if (!wmsProperties.isAreaEnabled()) {  
174 - return WmsWarehouseAreaDO.ID_EMPTY;  
175 - }  
176 - if (ObjectUtils.equalsAny(id, null, WmsWarehouseAreaDO.ID_EMPTY)) {  
177 - return WmsWarehouseAreaDO.ID_EMPTY;  
178 - }  
179 - WmsWarehouseAreaDO area = validateWarehouseAreaExists(id);  
180 - if (ObjectUtil.notEqual(area.getWarehouseId(), warehouseId)) {  
181 - throw exception(WAREHOUSE_AREA_NOT_MATCH_WAREHOUSE);  
182 - }  
183 - return id;  
184 - }  
185 -  
186 - @Override  
187 - public WmsWarehouseAreaDO getWarehouseArea(Long id) {  
188 - validateAreaEnabled();  
189 - return warehouseAreaMapper.selectById(id);  
190 - }  
191 -  
192 - @Override  
193 - public PageResult<WmsWarehouseAreaDO> getWarehouseAreaPage(WmsWarehouseAreaPageReqVO pageReqVO) {  
194 - validateAreaEnabled();  
195 - return warehouseAreaMapper.selectPage(pageReqVO);  
196 - }  
197 -  
198 - @Override  
199 - public List<WmsWarehouseAreaDO> getWarehouseAreaList(Long warehouseId) {  
200 - validateAreaEnabled();  
201 - return warehouseAreaMapper.selectListByWarehouseId(warehouseId);  
202 - }  
203 -  
204 - @Override  
205 - public List<WmsWarehouseAreaDO> getWarehouseAreaList(Collection<Long> ids) {  
206 - validateAreaEnabled();  
207 - if (CollUtil.isEmpty(ids)) {  
208 - return Collections.emptyList();  
209 - }  
210 - return warehouseAreaMapper.selectByIds(ids);  
211 - }  
212 -  
213 - private void validateAreaEnabled() {  
214 - if (!wmsProperties.isAreaEnabled()) {  
215 - throw exception(WMS_AREA_DISABLED);  
216 - }  
217 - }  
218 -  
219 -}  
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; @@ -8,9 +8,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
8 import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehousePageReqVO; 8 import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehousePageReqVO;
9 import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehouseSaveReqVO; 9 import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehouseSaveReqVO;
10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; 10 import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO;
11 -import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseAreaMapper;  
12 import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseMapper; 11 import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseMapper;
13 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
14 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; 12 import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService;
15 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; 13 import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService;
16 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; 14 import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService;
@@ -40,10 +38,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { @@ -40,10 +38,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService {
40 @Resource 38 @Resource
41 private WmsWarehouseMapper warehouseMapper; 39 private WmsWarehouseMapper warehouseMapper;
42 @Resource 40 @Resource
43 - private WmsWarehouseAreaMapper warehouseAreaMapper;  
44 - @Resource  
45 - private WmsProperties wmsProperties;  
46 - @Resource  
47 @Lazy // 延迟加载,避免循环依赖 41 @Lazy // 延迟加载,避免循环依赖
48 private WmsReceiptOrderService receiptOrderService; 42 private WmsReceiptOrderService receiptOrderService;
49 @Resource 43 @Resource
@@ -113,10 +107,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { @@ -113,10 +107,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService {
113 validateWarehouseExists(id); 107 validateWarehouseExists(id);
114 // 校验未被单据使用 108 // 校验未被单据使用
115 validateWarehouseUnused(id); 109 validateWarehouseUnused(id);
116 - // 库区模式下,存在库区时不允许删除仓库  
117 - if (wmsProperties.isAreaEnabled() && warehouseAreaMapper.selectCountByWarehouseId(id) > 0) {  
118 - throw exception(WAREHOUSE_HAS_AREA);  
119 - }  
120 110
121 // 删除 111 // 删除
122 warehouseMapper.deleteById(id); 112 warehouseMapper.deleteById(id);
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderDetailService.java
@@ -68,12 +68,4 @@ public interface WmsCheckOrderDetailService { @@ -68,12 +68,4 @@ public interface WmsCheckOrderDetailService {
68 */ 68 */
69 long getCheckOrderDetailCountBySkuId(Long skuId); 69 long getCheckOrderDetailCountBySkuId(Long skuId);
70 70
71 - /**  
72 - * 获得指定库区的盘库单明细数量  
73 - *  
74 - * @param areaId 库区编号  
75 - * @return 盘库单明细数量  
76 - */  
77 - long getCheckOrderDetailCountByAreaId(Long areaId);  
78 -  
79 } 71 }
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; @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.check;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.collection.ListUtil; 4 import cn.hutool.core.collection.ListUtil;
5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
7 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO; 6 import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO;
8 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
9 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; 7 import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO;
10 import cn.iocoder.yudao.module.wms.dal.mysql.order.check.WmsCheckOrderDetailMapper; 8 import cn.iocoder.yudao.module.wms.dal.mysql.order.check.WmsCheckOrderDetailMapper;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 9 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
13 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
14 import jakarta.annotation.Resource; 10 import jakarta.annotation.Resource;
15 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 12 import org.springframework.transaction.annotation.Transactional;
@@ -37,10 +33,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic @@ -37,10 +33,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic
37 private WmsCheckOrderDetailMapper checkOrderDetailMapper; 33 private WmsCheckOrderDetailMapper checkOrderDetailMapper;
38 @Resource 34 @Resource
39 private WmsItemSkuService itemSkuService; 35 private WmsItemSkuService itemSkuService;
40 - @Resource  
41 - private WmsWarehouseAreaService warehouseAreaService;  
42 - @Resource  
43 - private WmsProperties wmsProperties;  
44 36
45 @Override 37 @Override
46 @Transactional(rollbackFor = Exception.class) 38 @Transactional(rollbackFor = Exception.class)
@@ -104,10 +96,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic @@ -104,10 +96,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic
104 if (CollUtil.isEmpty(details)) { 96 if (CollUtil.isEmpty(details)) {
105 throw exception(CHECK_ORDER_DETAIL_REQUIRED); 97 throw exception(CHECK_ORDER_DETAIL_REQUIRED);
106 } 98 }
107 - if (wmsProperties.isAreaEnabled() && details.stream()  
108 - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) {  
109 - throw exception(CHECK_ORDER_AREA_REQUIRED);  
110 - }  
111 return details; 99 return details;
112 } 100 }
113 101
@@ -116,11 +104,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic @@ -116,11 +104,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic
116 return checkOrderDetailMapper.selectCountBySkuId(skuId); 104 return checkOrderDetailMapper.selectCountBySkuId(skuId);
117 } 105 }
118 106
119 - @Override  
120 - public long getCheckOrderDetailCountByAreaId(Long areaId) {  
121 - return checkOrderDetailMapper.selectCountByAreaId(areaId);  
122 - }  
123 -  
124 private List<WmsCheckOrderDetailDO> buildCheckOrderDetailList(WmsCheckOrderSaveReqVO reqVO) { 107 private List<WmsCheckOrderDetailDO> buildCheckOrderDetailList(WmsCheckOrderSaveReqVO reqVO) {
125 if (CollUtil.isEmpty(reqVO.getDetails())) { 108 if (CollUtil.isEmpty(reqVO.getDetails())) {
126 return ListUtil.of(); 109 return ListUtil.of();
@@ -128,12 +111,8 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic @@ -128,12 +111,8 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic
128 return convertList(reqVO.getDetails(), detail -> { 111 return convertList(reqVO.getDetails(), detail -> {
129 // 校验 SKU 存在 112 // 校验 SKU 存在
130 itemSkuService.validateItemSkuExists(detail.getSkuId()); 113 itemSkuService.validateItemSkuExists(detail.getSkuId());
131 - // 校验库区存在,并且属于当前仓库  
132 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId(  
133 - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId());  
134 // 构建对象 114 // 构建对象
135 - return BeanUtils.toBean(detail, WmsCheckOrderDetailDO.class)  
136 - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); 115 + return BeanUtils.toBean(detail, WmsCheckOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId());
137 }); 116 });
138 } 117 }
139 118
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/check/WmsCheckOrderService.java
@@ -73,12 +73,4 @@ public interface WmsCheckOrderService { @@ -73,12 +73,4 @@ public interface WmsCheckOrderService {
73 */ 73 */
74 long getCheckOrderCountByWarehouseId(Long warehouseId); 74 long getCheckOrderCountByWarehouseId(Long warehouseId);
75 75
76 - /**  
77 - * 获得指定库区的盘库单数量  
78 - *  
79 - * @param areaId 库区编号  
80 - * @return 盘库单数量  
81 - */  
82 - long getCheckOrderCountByAreaId(Long areaId);  
83 -  
84 } 76 }
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; @@ -12,7 +12,6 @@ import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum;
12 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; 12 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum;
13 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; 13 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService;
14 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; 14 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO;
15 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
16 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 15 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
17 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
18 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
@@ -42,8 +41,6 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { @@ -42,8 +41,6 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService {
42 @Resource 41 @Resource
43 private WmsWarehouseService warehouseService; 42 private WmsWarehouseService warehouseService;
44 @Resource 43 @Resource
45 - private WmsWarehouseAreaService warehouseAreaService;  
46 - @Resource  
47 private WmsInventoryService inventoryService; 44 private WmsInventoryService inventoryService;
48 45
49 @Override 46 @Override
@@ -134,18 +131,11 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { @@ -134,18 +131,11 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService {
134 return checkOrderMapper.selectCountByWarehouseId(warehouseId); 131 return checkOrderMapper.selectCountByWarehouseId(warehouseId);
135 } 132 }
136 133
137 - @Override  
138 - public long getCheckOrderCountByAreaId(Long areaId) {  
139 - return checkOrderMapper.selectCountByAreaId(areaId);  
140 - }  
141 -  
142 private void validateCheckOrderSaveData(WmsCheckOrderSaveReqVO reqVO) { 134 private void validateCheckOrderSaveData(WmsCheckOrderSaveReqVO reqVO) {
143 // 校验盘库单号唯一 135 // 校验盘库单号唯一
144 validateCheckOrderNoUnique(reqVO.getId(), reqVO.getNo()); 136 validateCheckOrderNoUnique(reqVO.getId(), reqVO.getNo());
145 - // 校验仓库、库区存在 137 + // 校验仓库存在
146 warehouseService.validateWarehouseExists(reqVO.getWarehouseId()); 138 warehouseService.validateWarehouseExists(reqVO.getWarehouseId());
147 - reqVO.setAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getAreaId(),  
148 - reqVO.getWarehouseId()));  
149 } 139 }
150 140
151 private void validateCheckOrderNoUnique(Long id, String no) { 141 private void validateCheckOrderNoUnique(Long id, String no) {
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderDetailService.java
@@ -68,12 +68,4 @@ public interface WmsMovementOrderDetailService { @@ -68,12 +68,4 @@ public interface WmsMovementOrderDetailService {
68 */ 68 */
69 long getMovementOrderDetailCountBySkuId(Long skuId); 69 long getMovementOrderDetailCountBySkuId(Long skuId);
70 70
71 - /**  
72 - * 获得指定库区的移库单明细数量  
73 - *  
74 - * @param areaId 库区编号  
75 - * @return 移库单明细数量  
76 - */  
77 - long getMovementOrderDetailCountByAreaId(Long areaId);  
78 -  
79 } 71 }
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; @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.movement;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.collection.ListUtil; 4 import cn.hutool.core.collection.ListUtil;
5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
7 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO; 6 import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO;
8 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
9 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; 7 import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO;
10 import cn.iocoder.yudao.module.wms.dal.mysql.order.movement.WmsMovementOrderDetailMapper; 8 import cn.iocoder.yudao.module.wms.dal.mysql.order.movement.WmsMovementOrderDetailMapper;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 9 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
13 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
14 import jakarta.annotation.Resource; 10 import jakarta.annotation.Resource;
15 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 12 import org.springframework.transaction.annotation.Transactional;
@@ -37,10 +33,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail @@ -37,10 +33,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail
37 private WmsMovementOrderDetailMapper movementOrderDetailMapper; 33 private WmsMovementOrderDetailMapper movementOrderDetailMapper;
38 @Resource 34 @Resource
39 private WmsItemSkuService itemSkuService; 35 private WmsItemSkuService itemSkuService;
40 - @Resource  
41 - private WmsWarehouseAreaService warehouseAreaService;  
42 - @Resource  
43 - private WmsProperties wmsProperties;  
44 36
45 @Override 37 @Override
46 @Transactional(rollbackFor = Exception.class) 38 @Transactional(rollbackFor = Exception.class)
@@ -104,11 +96,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail @@ -104,11 +96,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail
104 if (CollUtil.isEmpty(details)) { 96 if (CollUtil.isEmpty(details)) {
105 throw exception(MOVEMENT_ORDER_DETAIL_REQUIRED); 97 throw exception(MOVEMENT_ORDER_DETAIL_REQUIRED);
106 } 98 }
107 - if (wmsProperties.isAreaEnabled() && details.stream().anyMatch(detail ->  
108 - ObjectUtils.equalsAny(detail.getSourceAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY)  
109 - || ObjectUtils.equalsAny(detail.getTargetAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) {  
110 - throw exception(MOVEMENT_ORDER_AREA_REQUIRED);  
111 - }  
112 return details; 99 return details;
113 } 100 }
114 101
@@ -117,11 +104,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail @@ -117,11 +104,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail
117 return movementOrderDetailMapper.selectCountBySkuId(skuId); 104 return movementOrderDetailMapper.selectCountBySkuId(skuId);
118 } 105 }
119 106
120 - @Override  
121 - public long getMovementOrderDetailCountByAreaId(Long areaId) {  
122 - return movementOrderDetailMapper.selectCountByAreaId(areaId);  
123 - }  
124 -  
125 private List<WmsMovementOrderDetailDO> buildMovementOrderDetailList(WmsMovementOrderSaveReqVO reqVO) { 107 private List<WmsMovementOrderDetailDO> buildMovementOrderDetailList(WmsMovementOrderSaveReqVO reqVO) {
126 if (CollUtil.isEmpty(reqVO.getDetails())) { 108 if (CollUtil.isEmpty(reqVO.getDetails())) {
127 return ListUtil.of(); 109 return ListUtil.of();
@@ -129,17 +111,10 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail @@ -129,17 +111,10 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail
129 return convertList(reqVO.getDetails(), detail -> { 111 return convertList(reqVO.getDetails(), detail -> {
130 // 校验 SKU 存在 112 // 校验 SKU 存在
131 itemSkuService.validateItemSkuExists(detail.getSkuId()); 113 itemSkuService.validateItemSkuExists(detail.getSkuId());
132 - // 校验来源、目标库区存在,并且属于对应仓库  
133 - Long sourceAreaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId(  
134 - detail.getSourceAreaId() == null ? reqVO.getSourceAreaId() : detail.getSourceAreaId(),  
135 - reqVO.getSourceWarehouseId());  
136 - Long targetAreaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId(  
137 - detail.getTargetAreaId() == null ? reqVO.getTargetAreaId() : detail.getTargetAreaId(),  
138 - reqVO.getTargetWarehouseId());  
139 // 构建对象 114 // 构建对象
140 return BeanUtils.toBean(detail, WmsMovementOrderDetailDO.class) 115 return BeanUtils.toBean(detail, WmsMovementOrderDetailDO.class)
141 - .setSourceWarehouseId(reqVO.getSourceWarehouseId()).setSourceAreaId(sourceAreaId)  
142 - .setTargetWarehouseId(reqVO.getTargetWarehouseId()).setTargetAreaId(targetAreaId); 116 + .setSourceWarehouseId(reqVO.getSourceWarehouseId())
  117 + .setTargetWarehouseId(reqVO.getTargetWarehouseId());
143 }); 118 });
144 } 119 }
145 120
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/movement/WmsMovementOrderService.java
@@ -73,12 +73,4 @@ public interface WmsMovementOrderService { @@ -73,12 +73,4 @@ public interface WmsMovementOrderService {
73 */ 73 */
74 long getMovementOrderCountByWarehouseId(Long warehouseId); 74 long getMovementOrderCountByWarehouseId(Long warehouseId);
75 75
76 - /**  
77 - * 获得指定库区的移库单数量  
78 - *  
79 - * @param areaId 库区编号  
80 - * @return 移库单数量  
81 - */  
82 - long getMovementOrderCountByAreaId(Long areaId);  
83 -  
84 } 76 }
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; @@ -12,7 +12,6 @@ import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum;
12 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; 12 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum;
13 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; 13 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService;
14 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; 14 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO;
15 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
16 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 15 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
17 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
18 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
@@ -41,8 +40,6 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { @@ -41,8 +40,6 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService {
41 @Resource 40 @Resource
42 private WmsWarehouseService warehouseService; 41 private WmsWarehouseService warehouseService;
43 @Resource 42 @Resource
44 - private WmsWarehouseAreaService warehouseAreaService;  
45 - @Resource  
46 private WmsInventoryService inventoryService; 43 private WmsInventoryService inventoryService;
47 44
48 @Override 45 @Override
@@ -133,25 +130,15 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { @@ -133,25 +130,15 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService {
133 return movementOrderMapper.selectCountByWarehouseId(warehouseId); 130 return movementOrderMapper.selectCountByWarehouseId(warehouseId);
134 } 131 }
135 132
136 - @Override  
137 - public long getMovementOrderCountByAreaId(Long areaId) {  
138 - return movementOrderMapper.selectCountByAreaId(areaId);  
139 - }  
140 -  
141 private void validateMovementOrderSaveData(WmsMovementOrderSaveReqVO reqVO) { 133 private void validateMovementOrderSaveData(WmsMovementOrderSaveReqVO reqVO) {
142 // 校验移库单号唯一 134 // 校验移库单号唯一
143 validateMovementOrderNoUnique(reqVO.getId(), reqVO.getNo()); 135 validateMovementOrderNoUnique(reqVO.getId(), reqVO.getNo());
144 - // 校验仓库、库区存在 136 + // 校验仓库存在
145 warehouseService.validateWarehouseExists(reqVO.getSourceWarehouseId()); 137 warehouseService.validateWarehouseExists(reqVO.getSourceWarehouseId());
146 warehouseService.validateWarehouseExists(reqVO.getTargetWarehouseId()); 138 warehouseService.validateWarehouseExists(reqVO.getTargetWarehouseId());
147 - reqVO.setSourceAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getSourceAreaId(),  
148 - reqVO.getSourceWarehouseId()));  
149 - reqVO.setTargetAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getTargetAreaId(),  
150 - reqVO.getTargetWarehouseId()));  
151 // 校验来源和目标不能相同 139 // 校验来源和目标不能相同
152 - if (ObjectUtil.equal(reqVO.getSourceWarehouseId(), reqVO.getTargetWarehouseId())  
153 - && ObjectUtil.equal(reqVO.getSourceAreaId(), reqVO.getTargetAreaId())) {  
154 - throw exception(MOVEMENT_ORDER_WAREHOUSE_AREA_SAME); 140 + if (ObjectUtil.equal(reqVO.getSourceWarehouseId(), reqVO.getTargetWarehouseId())) {
  141 + throw exception(MOVEMENT_ORDER_WAREHOUSE_SAME);
155 } 142 }
156 } 143 }
157 144
@@ -199,11 +186,9 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { @@ -199,11 +186,9 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService {
199 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(details.size() * 2); 186 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(details.size() * 2);
200 for (WmsMovementOrderDetailDO detail : details) { 187 for (WmsMovementOrderDetailDO detail : details) {
201 items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class) 188 items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class)
202 - .setWarehouseId(detail.getSourceWarehouseId()).setAreaId(detail.getSourceAreaId())  
203 - .setQuantity(detail.getQuantity().negate())); 189 + .setWarehouseId(detail.getSourceWarehouseId()).setQuantity(detail.getQuantity().negate()));
204 items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class) 190 items.add(BeanUtils.toBean(detail, WmsInventoryChangeReqDTO.Item.class)
205 - .setWarehouseId(detail.getTargetWarehouseId()).setAreaId(detail.getTargetAreaId())  
206 - .setQuantity(detail.getQuantity())); 191 + .setWarehouseId(detail.getTargetWarehouseId()).setQuantity(detail.getQuantity()));
207 } 192 }
208 inventoryService.changeInventory(new WmsInventoryChangeReqDTO() 193 inventoryService.changeInventory(new WmsInventoryChangeReqDTO()
209 .setOrderId(order.getId()).setOrderNo(order.getNo()) 194 .setOrderId(order.getId()).setOrderNo(order.getNo())
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderDetailService.java
@@ -68,12 +68,4 @@ public interface WmsReceiptOrderDetailService { @@ -68,12 +68,4 @@ public interface WmsReceiptOrderDetailService {
68 */ 68 */
69 long getReceiptOrderDetailCountBySkuId(Long skuId); 69 long getReceiptOrderDetailCountBySkuId(Long skuId);
70 70
71 - /**  
72 - * 获得指定库区的入库单明细数量  
73 - *  
74 - * @param areaId 库区编号  
75 - * @return 入库单明细数量  
76 - */  
77 - long getReceiptOrderDetailCountByAreaId(Long areaId);  
78 -  
79 } 71 }
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; @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.receipt;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.collection.ListUtil; 4 import cn.hutool.core.collection.ListUtil;
5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
7 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO; 6 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO;
8 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
9 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; 7 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO;
10 import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; 8 import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 9 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
13 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
14 import jakarta.annotation.Resource; 10 import jakarta.annotation.Resource;
15 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 12 import org.springframework.transaction.annotation.Transactional;
@@ -37,10 +33,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe @@ -37,10 +33,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe
37 private WmsReceiptOrderDetailMapper receiptOrderDetailMapper; 33 private WmsReceiptOrderDetailMapper receiptOrderDetailMapper;
38 @Resource 34 @Resource
39 private WmsItemSkuService itemSkuService; 35 private WmsItemSkuService itemSkuService;
40 - @Resource  
41 - private WmsWarehouseAreaService warehouseAreaService;  
42 - @Resource  
43 - private WmsProperties wmsProperties;  
44 36
45 @Override 37 @Override
46 @Transactional(rollbackFor = Exception.class) 38 @Transactional(rollbackFor = Exception.class)
@@ -104,10 +96,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe @@ -104,10 +96,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe
104 if (CollUtil.isEmpty(details)) { 96 if (CollUtil.isEmpty(details)) {
105 throw exception(RECEIPT_ORDER_DETAIL_REQUIRED); 97 throw exception(RECEIPT_ORDER_DETAIL_REQUIRED);
106 } 98 }
107 - if (wmsProperties.isAreaEnabled() && details.stream()  
108 - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) {  
109 - throw exception(RECEIPT_ORDER_AREA_REQUIRED);  
110 - }  
111 return details; 99 return details;
112 } 100 }
113 101
@@ -116,11 +104,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe @@ -116,11 +104,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe
116 return receiptOrderDetailMapper.selectCountBySkuId(skuId); 104 return receiptOrderDetailMapper.selectCountBySkuId(skuId);
117 } 105 }
118 106
119 - @Override  
120 - public long getReceiptOrderDetailCountByAreaId(Long areaId) {  
121 - return receiptOrderDetailMapper.selectCountByAreaId(areaId);  
122 - }  
123 -  
124 private List<WmsReceiptOrderDetailDO> buildReceiptOrderDetailList(WmsReceiptOrderSaveReqVO reqVO) { 107 private List<WmsReceiptOrderDetailDO> buildReceiptOrderDetailList(WmsReceiptOrderSaveReqVO reqVO) {
125 if (CollUtil.isEmpty(reqVO.getDetails())) { 108 if (CollUtil.isEmpty(reqVO.getDetails())) {
126 return ListUtil.of(); 109 return ListUtil.of();
@@ -128,12 +111,8 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe @@ -128,12 +111,8 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe
128 return convertList(reqVO.getDetails(), detail -> { 111 return convertList(reqVO.getDetails(), detail -> {
129 // 校验 SKU 存在 112 // 校验 SKU 存在
130 itemSkuService.validateItemSkuExists(detail.getSkuId()); 113 itemSkuService.validateItemSkuExists(detail.getSkuId());
131 - // 校验仓库区域存在,并且属于当前仓库  
132 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId(  
133 - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId());  
134 // 构建对象 114 // 构建对象
135 - return BeanUtils.toBean(detail, WmsReceiptOrderDetailDO.class)  
136 - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); 115 + return BeanUtils.toBean(detail, WmsReceiptOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId());
137 }); 116 });
138 } 117 }
139 118
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/receipt/WmsReceiptOrderService.java
@@ -81,12 +81,4 @@ public interface WmsReceiptOrderService { @@ -81,12 +81,4 @@ public interface WmsReceiptOrderService {
81 */ 81 */
82 long getReceiptOrderCountByWarehouseId(Long warehouseId); 82 long getReceiptOrderCountByWarehouseId(Long warehouseId);
83 83
84 - /**  
85 - * 获得指定库区的入库单数量  
86 - *  
87 - * @param areaId 库区编号  
88 - * @return 入库单数量  
89 - */  
90 - long getReceiptOrderCountByAreaId(Long areaId);  
91 -  
92 } 84 }
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 { @@ -138,11 +138,6 @@ public class WmsReceiptOrderServiceImpl implements WmsReceiptOrderService {
138 return receiptOrderMapper.selectCountByWarehouseId(warehouseId); 138 return receiptOrderMapper.selectCountByWarehouseId(warehouseId);
139 } 139 }
140 140
141 - @Override  
142 - public long getReceiptOrderCountByAreaId(Long areaId) {  
143 - return receiptOrderMapper.selectCountByAreaId(areaId);  
144 - }  
145 -  
146 private void validateReceiptOrderSaveData(WmsReceiptOrderSaveReqVO reqVO) { 141 private void validateReceiptOrderSaveData(WmsReceiptOrderSaveReqVO reqVO) {
147 // 校验入库单号唯一 142 // 校验入库单号唯一
148 validateReceiptOrderNoUnique(reqVO.getId(), reqVO.getNo()); 143 validateReceiptOrderNoUnique(reqVO.getId(), reqVO.getNo());
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderDetailService.java
@@ -68,12 +68,4 @@ public interface WmsShipmentOrderDetailService { @@ -68,12 +68,4 @@ public interface WmsShipmentOrderDetailService {
68 */ 68 */
69 long getShipmentOrderDetailCountBySkuId(Long skuId); 69 long getShipmentOrderDetailCountBySkuId(Long skuId);
70 70
71 - /**  
72 - * 获得指定库区的出库单明细数量  
73 - *  
74 - * @param areaId 库区编号  
75 - * @return 出库单明细数量  
76 - */  
77 - long getShipmentOrderDetailCountByAreaId(Long areaId);  
78 -  
79 } 71 }
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; @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.shipment;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.collection.ListUtil; 4 import cn.hutool.core.collection.ListUtil;
5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
7 import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.order.WmsShipmentOrderSaveReqVO; 6 import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.order.WmsShipmentOrderSaveReqVO;
8 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
9 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; 7 import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO;
10 import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderDetailMapper; 8 import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderDetailMapper;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 9 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
13 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
14 import jakarta.annotation.Resource; 10 import jakarta.annotation.Resource;
15 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 12 import org.springframework.transaction.annotation.Transactional;
@@ -37,10 +33,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail @@ -37,10 +33,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail
37 private WmsShipmentOrderDetailMapper shipmentOrderDetailMapper; 33 private WmsShipmentOrderDetailMapper shipmentOrderDetailMapper;
38 @Resource 34 @Resource
39 private WmsItemSkuService itemSkuService; 35 private WmsItemSkuService itemSkuService;
40 - @Resource  
41 - private WmsWarehouseAreaService warehouseAreaService;  
42 - @Resource  
43 - private WmsProperties wmsProperties;  
44 36
45 @Override 37 @Override
46 @Transactional(rollbackFor = Exception.class) 38 @Transactional(rollbackFor = Exception.class)
@@ -104,10 +96,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail @@ -104,10 +96,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail
104 if (CollUtil.isEmpty(details)) { 96 if (CollUtil.isEmpty(details)) {
105 throw exception(SHIPMENT_ORDER_DETAIL_REQUIRED); 97 throw exception(SHIPMENT_ORDER_DETAIL_REQUIRED);
106 } 98 }
107 - if (wmsProperties.isAreaEnabled() && details.stream()  
108 - .anyMatch(detail -> ObjectUtils.equalsAny(detail.getAreaId(), null, WmsWarehouseAreaDO.ID_EMPTY))) {  
109 - throw exception(SHIPMENT_ORDER_AREA_REQUIRED);  
110 - }  
111 return details; 99 return details;
112 } 100 }
113 101
@@ -116,11 +104,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail @@ -116,11 +104,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail
116 return shipmentOrderDetailMapper.selectCountBySkuId(skuId); 104 return shipmentOrderDetailMapper.selectCountBySkuId(skuId);
117 } 105 }
118 106
119 - @Override  
120 - public long getShipmentOrderDetailCountByAreaId(Long areaId) {  
121 - return shipmentOrderDetailMapper.selectCountByAreaId(areaId);  
122 - }  
123 -  
124 private List<WmsShipmentOrderDetailDO> buildShipmentOrderDetailList(WmsShipmentOrderSaveReqVO reqVO) { 107 private List<WmsShipmentOrderDetailDO> buildShipmentOrderDetailList(WmsShipmentOrderSaveReqVO reqVO) {
125 if (CollUtil.isEmpty(reqVO.getDetails())) { 108 if (CollUtil.isEmpty(reqVO.getDetails())) {
126 return ListUtil.of(); 109 return ListUtil.of();
@@ -128,12 +111,8 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail @@ -128,12 +111,8 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail
128 return convertList(reqVO.getDetails(), detail -> { 111 return convertList(reqVO.getDetails(), detail -> {
129 // 校验 SKU 存在 112 // 校验 SKU 存在
130 itemSkuService.validateItemSkuExists(detail.getSkuId()); 113 itemSkuService.validateItemSkuExists(detail.getSkuId());
131 - // 校验仓库区域存在,并且属于当前仓库  
132 - Long areaId = warehouseAreaService.validateAndNormalizeWarehouseAreaId(  
133 - detail.getAreaId() == null ? reqVO.getAreaId() : detail.getAreaId(), reqVO.getWarehouseId());  
134 // 构建对象 114 // 构建对象
135 - return BeanUtils.toBean(detail, WmsShipmentOrderDetailDO.class)  
136 - .setWarehouseId(reqVO.getWarehouseId()).setAreaId(areaId); 115 + return BeanUtils.toBean(detail, WmsShipmentOrderDetailDO.class).setWarehouseId(reqVO.getWarehouseId());
137 }); 116 });
138 } 117 }
139 118
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/order/shipment/WmsShipmentOrderService.java
@@ -81,12 +81,4 @@ public interface WmsShipmentOrderService { @@ -81,12 +81,4 @@ public interface WmsShipmentOrderService {
81 */ 81 */
82 long getShipmentOrderCountByWarehouseId(Long warehouseId); 82 long getShipmentOrderCountByWarehouseId(Long warehouseId);
83 83
84 - /**  
85 - * 获得指定库区的出库单数量  
86 - *  
87 - * @param areaId 库区编号  
88 - * @return 出库单数量  
89 - */  
90 - long getShipmentOrderCountByAreaId(Long areaId);  
91 -  
92 } 84 }
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 { @@ -139,11 +139,6 @@ public class WmsShipmentOrderServiceImpl implements WmsShipmentOrderService {
139 return shipmentOrderMapper.selectCountByWarehouseId(warehouseId); 139 return shipmentOrderMapper.selectCountByWarehouseId(warehouseId);
140 } 140 }
141 141
142 - @Override  
143 - public long getShipmentOrderCountByAreaId(Long areaId) {  
144 - return shipmentOrderMapper.selectCountByAreaId(areaId);  
145 - }  
146 -  
147 private void validateShipmentOrderSaveData(WmsShipmentOrderSaveReqVO reqVO) { 142 private void validateShipmentOrderSaveData(WmsShipmentOrderSaveReqVO reqVO) {
148 // 校验出库单号唯一 143 // 校验出库单号唯一
149 validateShipmentOrderNoUnique(reqVO.getId(), reqVO.getNo()); 144 validateShipmentOrderNoUnique(reqVO.getId(), reqVO.getNo());
yudao-module-wms/src/test/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImplTest.java
@@ -57,13 +57,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -57,13 +57,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
57 // mock 数据 57 // mock 数据
58 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 58 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
59 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 59 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
60 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); 60 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00");
61 61
62 // 调用 62 // 调用
63 inventoryService.changeInventory(reqDTO); 63 inventoryService.changeInventory(reqDTO);
64 64
65 // 断言:库存余额 65 // 断言:库存余额
66 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); 66 + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L);
67 assertNotNull(inventory); 67 assertNotNull(inventory);
68 assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); 68 assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity()));
69 // 断言:库存流水 69 // 断言:库存流水
@@ -72,7 +72,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -72,7 +72,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
72 WmsInventoryHistoryDO history = histories.get(0); 72 WmsInventoryHistoryDO history = histories.get(0);
73 assertEquals(sku.getId(), history.getSkuId()); 73 assertEquals(sku.getId(), history.getSkuId());
74 assertEquals(100L, history.getWarehouseId()); 74 assertEquals(100L, history.getWarehouseId());
75 - assertEquals(1001L, history.getAreaId());  
76 assertEquals(0, BigDecimal.ZERO.compareTo(history.getBeforeQuantity())); 75 assertEquals(0, BigDecimal.ZERO.compareTo(history.getBeforeQuantity()));
77 assertEquals(0, new BigDecimal("5.00").compareTo(history.getAfterQuantity())); 76 assertEquals(0, new BigDecimal("5.00").compareTo(history.getAfterQuantity()));
78 assertEquals(reqDTO.getOrderId(), history.getOrderId()); 77 assertEquals(reqDTO.getOrderId(), history.getOrderId());
@@ -85,14 +84,14 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -85,14 +84,14 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
85 // mock 数据 84 // mock 数据
86 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 85 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
87 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 86 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
88 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
89 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "3.00"); 87 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  88 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "3.00");
90 89
91 // 调用 90 // 调用
92 inventoryService.changeInventory(reqDTO); 91 inventoryService.changeInventory(reqDTO);
93 92
94 // 断言:库存余额 93 // 断言:库存余额
95 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); 94 + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L);
96 assertNotNull(inventory); 95 assertNotNull(inventory);
97 assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); 96 assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity()));
98 // 断言:库存流水 97 // 断言:库存流水
@@ -109,12 +108,11 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -109,12 +108,11 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
109 // mock 数据 108 // mock 数据
110 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 109 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
111 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 110 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
112 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); 111 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00");
113 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); 112 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems());
114 items.add(new WmsInventoryChangeReqDTO.Item() 113 items.add(new WmsInventoryChangeReqDTO.Item()
115 .setSkuId(sku.getId()) 114 .setSkuId(sku.getId())
116 .setWarehouseId(100L) 115 .setWarehouseId(100L)
117 - .setAreaId(1001L)  
118 .setQuantity(new BigDecimal("7.00")) 116 .setQuantity(new BigDecimal("7.00"))
119 .setAmount(new BigDecimal("140.00")) 117 .setAmount(new BigDecimal("140.00"))
120 .setRemark("测试入库 2")); 118 .setRemark("测试入库 2"));
@@ -124,7 +122,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -124,7 +122,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
124 inventoryService.changeInventory(reqDTO); 122 inventoryService.changeInventory(reqDTO);
125 123
126 // 断言:库存余额只保留一条,数量逐条累加 124 // 断言:库存余额只保留一条,数量逐条累加
127 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); 125 + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L);
128 assertNotNull(inventory); 126 assertNotNull(inventory);
129 assertEquals(0, new BigDecimal("12.00").compareTo(inventory.getQuantity())); 127 assertEquals(0, new BigDecimal("12.00").compareTo(inventory.getQuantity()));
130 // 断言:库存流水保持用户明细颗粒度 128 // 断言:库存流水保持用户明细颗粒度
@@ -144,13 +142,12 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -144,13 +142,12 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
144 // mock 数据 142 // mock 数据
145 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 143 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
146 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 144 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
147 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
148 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "3.00"); 145 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  146 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "3.00");
149 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); 147 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems());
150 items.add(new WmsInventoryChangeReqDTO.Item() 148 items.add(new WmsInventoryChangeReqDTO.Item()
151 .setSkuId(sku.getId()) 149 .setSkuId(sku.getId())
152 .setWarehouseId(100L) 150 .setWarehouseId(100L)
153 - .setAreaId(1001L)  
154 .setQuantity(new BigDecimal("4.00")) 151 .setQuantity(new BigDecimal("4.00"))
155 .setAmount(new BigDecimal("80.00")) 152 .setAmount(new BigDecimal("80.00"))
156 .setRemark("测试入库 2")); 153 .setRemark("测试入库 2"));
@@ -160,7 +157,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -160,7 +157,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
160 inventoryService.changeInventory(reqDTO); 157 inventoryService.changeInventory(reqDTO);
161 158
162 // 断言:库存余额只保留一条,数量逐条累加 159 // 断言:库存余额只保留一条,数量逐条累加
163 - WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); 160 + WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L);
164 assertNotNull(inventory); 161 assertNotNull(inventory);
165 assertEquals(0, new BigDecimal("9.00").compareTo(inventory.getQuantity())); 162 assertEquals(0, new BigDecimal("9.00").compareTo(inventory.getQuantity()));
166 // 断言:库存流水保持用户明细颗粒度 163 // 断言:库存流水保持用户明细颗粒度
@@ -180,19 +177,17 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -180,19 +177,17 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
180 // mock 数据 177 // mock 数据
181 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 178 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
182 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 179 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
183 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "5.00"); 180 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "5.00");
184 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); 181 List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems());
185 items.add(new WmsInventoryChangeReqDTO.Item() 182 items.add(new WmsInventoryChangeReqDTO.Item()
186 .setSkuId(sku.getId()) 183 .setSkuId(sku.getId())
187 .setWarehouseId(200L) 184 .setWarehouseId(200L)
188 - .setAreaId(2001L)  
189 .setQuantity(new BigDecimal("3.00")) 185 .setQuantity(new BigDecimal("3.00"))
190 .setAmount(new BigDecimal("60.00")) 186 .setAmount(new BigDecimal("60.00"))
191 .setRemark("测试入库 2")); 187 .setRemark("测试入库 2"));
192 items.add(new WmsInventoryChangeReqDTO.Item() 188 items.add(new WmsInventoryChangeReqDTO.Item()
193 .setSkuId(sku.getId()) 189 .setSkuId(sku.getId())
194 .setWarehouseId(100L) 190 .setWarehouseId(100L)
195 - .setAreaId(1001L)  
196 .setQuantity(new BigDecimal("-2.00")) 191 .setQuantity(new BigDecimal("-2.00"))
197 .setAmount(new BigDecimal("40.00")) 192 .setAmount(new BigDecimal("40.00"))
198 .setRemark("测试出库")); 193 .setRemark("测试出库"));
@@ -202,10 +197,10 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -202,10 +197,10 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
202 inventoryService.changeInventory(reqDTO); 197 inventoryService.changeInventory(reqDTO);
203 198
204 // 断言:不同库存余额分别更新 199 // 断言:不同库存余额分别更新
205 - WmsInventoryDO inventory1 = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 100L, 1001L); 200 + WmsInventoryDO inventory1 = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 100L);
206 assertNotNull(inventory1); 201 assertNotNull(inventory1);
207 assertEquals(0, new BigDecimal("3.00").compareTo(inventory1.getQuantity())); 202 assertEquals(0, new BigDecimal("3.00").compareTo(inventory1.getQuantity()));
208 - WmsInventoryDO inventory2 = inventoryMapper.selectBySkuIdAndWarehouseIdAndAreaId(sku.getId(), 200L, 2001L); 203 + WmsInventoryDO inventory2 = inventoryMapper.selectBySkuIdAndWarehouseId(sku.getId(), 200L);
209 assertNotNull(inventory2); 204 assertNotNull(inventory2);
210 assertEquals(0, new BigDecimal("3.00").compareTo(inventory2.getQuantity())); 205 assertEquals(0, new BigDecimal("3.00").compareTo(inventory2.getQuantity()));
211 // 断言:批量加锁后仍按明细颗粒度记录 before/after 206 // 断言:批量加锁后仍按明细颗粒度记录 before/after
@@ -228,13 +223,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -228,13 +223,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
228 // mock 数据 223 // mock 数据
229 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 224 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
230 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 225 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
231 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
232 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "-3.00"); 226 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  227 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "-3.00");
233 mockItemSkuAndItem(item, sku); 228 mockItemSkuAndItem(item, sku);
234 229
235 // 调用,并断言 230 // 调用,并断言
236 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH, 231 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH,
237 - item.getName(), sku.getName(), 100L, 1001L, new BigDecimal("2.000000"), new BigDecimal("-3.00")); 232 + item.getName(), sku.getName(), 100L, new BigDecimal("2.000000"), new BigDecimal("-3.00"));
238 } 233 }
239 234
240 @Test 235 @Test
@@ -242,28 +237,26 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -242,28 +237,26 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
242 // mock 数据 237 // mock 数据
243 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 238 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
244 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 239 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
245 - WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, 1001L, "-3.00"); 240 + WmsInventoryChangeReqDTO reqDTO = createChangeReq(sku.getId(), 100L, "-3.00");
246 mockItemSkuAndItem(item, sku); 241 mockItemSkuAndItem(item, sku);
247 242
248 // 调用,并断言 243 // 调用,并断言
249 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH, 244 assertServiceException(() -> inventoryService.changeInventory(reqDTO), INVENTORY_QUANTITY_NOT_ENOUGH,
250 - item.getName(), sku.getName(), 100L, 1001L, BigDecimal.ZERO.setScale(6), new BigDecimal("-3.00")); 245 + item.getName(), sku.getName(), 100L, BigDecimal.ZERO.setScale(6), new BigDecimal("-3.00"));
251 assertEquals(0, inventoryMapper.selectCount()); 246 assertEquals(0, inventoryMapper.selectCount());
252 } 247 }
253 248
254 @Test 249 @Test
255 - public void testGetInventoryPage_groupByWarehouse() { 250 + public void testGetInventoryPage_filterByWarehouse() {
256 // mock 数据 251 // mock 数据
257 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 252 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
258 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 253 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
259 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
260 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00"));  
261 - inventoryMapper.insert(createInventory(sku.getId(), 200L, 1001L, "5.00")); 254 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  255 + inventoryMapper.insert(createInventory(sku.getId(), 200L, "5.00"));
262 // 准备参数 256 // 准备参数
263 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); 257 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO();
264 reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); 258 reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE);
265 reqVO.setWarehouseId(100L); 259 reqVO.setWarehouseId(100L);
266 - reqVO.setAreaId(1001L); // 仓库维度不按库区过滤  
267 260
268 // 调用 261 // 调用
269 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO); 262 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO);
@@ -272,9 +265,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -272,9 +265,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
272 assertEquals(1, pageResult.getList().size()); 265 assertEquals(1, pageResult.getList().size());
273 WmsInventoryDO inventory = pageResult.getList().get(0); 266 WmsInventoryDO inventory = pageResult.getList().get(0);
274 assertEquals(100L, inventory.getWarehouseId()); 267 assertEquals(100L, inventory.getWarehouseId());
275 - assertEquals(0L, inventory.getAreaId());  
276 assertEquals(sku.getId(), inventory.getSkuId()); 268 assertEquals(sku.getId(), inventory.getSkuId());
277 - assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); 269 + assertEquals(0, new BigDecimal("2.00").compareTo(inventory.getQuantity()));
278 } 270 }
279 271
280 @Test 272 @Test
@@ -282,8 +274,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -282,8 +274,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
282 // mock 数据 274 // mock 数据
283 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 275 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
284 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 276 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
285 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
286 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00")); 277 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  278 + inventoryMapper.insert(createInventory(sku.getId(), 200L, "7.00"));
287 // 准备参数 279 // 准备参数
288 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); 280 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO();
289 reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); 281 reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE);
@@ -292,27 +284,57 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -292,27 +284,57 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
292 // 调用 284 // 调用
293 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO); 285 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO);
294 // 断言 286 // 断言
295 - assertEquals(0, pageResult.getTotal());  
296 - assertEquals(0, pageResult.getList().size()); 287 + assertEquals(1, pageResult.getTotal());
  288 + assertEquals(1, pageResult.getList().size());
  289 + assertEquals(200L, pageResult.getList().get(0).getWarehouseId());
297 } 290 }
298 291
299 @Test 292 @Test
300 - public void testGetInventoryPage_area() { 293 + public void testGetInventoryPage_sku() {
301 // mock 数据 294 // mock 数据
302 WmsItemDO item = createItem("ITEM-001", "红富士苹果"); 295 WmsItemDO item = createItem("ITEM-001", "红富士苹果");
303 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装"); 296 WmsItemSkuDO sku = createSku(item.getId(), "SKU-001", "10kg 箱装");
304 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1001L, "2.00"));  
305 - inventoryMapper.insert(createInventory(sku.getId(), 100L, 1002L, "3.00")); 297 + WmsItemSkuDO sku2 = createSku(item.getId(), "SKU-002", "5kg 箱装");
  298 + inventoryMapper.insert(createInventory(sku.getId(), 100L, "2.00"));
  299 + inventoryMapper.insert(createInventory(sku2.getId(), 100L, "3.00"));
306 // 准备参数 300 // 准备参数
307 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); 301 WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO();
308 - reqVO.setType(WmsInventoryPageReqVO.TYPE_AREA); 302 + reqVO.setType(WmsInventoryPageReqVO.TYPE_ITEM);
309 reqVO.setWarehouseId(100L); 303 reqVO.setWarehouseId(100L);
  304 + reqVO.setSkuId(sku.getId());
  305 +
  306 + // 调用
  307 + PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO);
  308 + // 断言
  309 + assertEquals(1, pageResult.getTotal());
  310 + assertEquals(1, pageResult.getList().size());
  311 + assertEquals(sku.getId(), pageResult.getList().get(0).getSkuId());
  312 + }
  313 +
  314 + @Test
  315 + public void testGetInventoryPage_orderByItemDimension() {
  316 + // mock 数据
  317 + WmsItemDO item1 = createItem("ITEM-001", "红富士苹果");
  318 + WmsItemSkuDO sku1 = createSku(item1.getId(), "SKU-001", "10kg 箱装");
  319 + WmsItemDO item2 = createItem("ITEM-002", "香蕉");
  320 + WmsItemSkuDO sku2 = createSku(item2.getId(), "SKU-002", "5kg 箱装");
  321 + inventoryMapper.insert(createInventory(sku2.getId(), 100L, "3.00"));
  322 + inventoryMapper.insert(createInventory(sku1.getId(), 200L, "2.00"));
  323 + inventoryMapper.insert(createInventory(sku1.getId(), 100L, "1.00"));
  324 + // 准备参数
  325 + WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO();
  326 + reqVO.setType(WmsInventoryPageReqVO.TYPE_ITEM);
310 327
311 // 调用 328 // 调用
312 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO); 329 PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO);
313 // 断言 330 // 断言
314 - assertEquals(2, pageResult.getTotal());  
315 - assertEquals(2, pageResult.getList().size()); 331 + assertEquals(3, pageResult.getTotal());
  332 + assertEquals(sku1.getId(), pageResult.getList().get(0).getSkuId());
  333 + assertEquals(100L, pageResult.getList().get(0).getWarehouseId());
  334 + assertEquals(sku1.getId(), pageResult.getList().get(1).getSkuId());
  335 + assertEquals(200L, pageResult.getList().get(1).getWarehouseId());
  336 + assertEquals(sku2.getId(), pageResult.getList().get(2).getSkuId());
  337 + assertEquals(100L, pageResult.getList().get(2).getWarehouseId());
316 } 338 }
317 339
318 private WmsItemDO createItem(String code, String name) { 340 private WmsItemDO createItem(String code, String name) {
@@ -342,16 +364,15 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -342,16 +364,15 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
342 when(itemService.validateItemExists(item.getId())).thenReturn(item); 364 when(itemService.validateItemExists(item.getId())).thenReturn(item);
343 } 365 }
344 366
345 - private static WmsInventoryDO createInventory(Long skuId, Long warehouseId, Long areaId, String quantity) { 367 + private static WmsInventoryDO createInventory(Long skuId, Long warehouseId, String quantity) {
346 return WmsInventoryDO.builder() 368 return WmsInventoryDO.builder()
347 .skuId(skuId) 369 .skuId(skuId)
348 .warehouseId(warehouseId) 370 .warehouseId(warehouseId)
349 - .areaId(areaId)  
350 .quantity(new BigDecimal(quantity)) 371 .quantity(new BigDecimal(quantity))
351 .build(); 372 .build();
352 } 373 }
353 374
354 - private static WmsInventoryChangeReqDTO createChangeReq(Long skuId, Long warehouseId, Long areaId, String quantity) { 375 + private static WmsInventoryChangeReqDTO createChangeReq(Long skuId, Long warehouseId, String quantity) {
355 return new WmsInventoryChangeReqDTO() 376 return new WmsInventoryChangeReqDTO()
356 .setOrderId(1L) 377 .setOrderId(1L)
357 .setOrderNo("RK202605120001") 378 .setOrderNo("RK202605120001")
@@ -359,7 +380,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { @@ -359,7 +380,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest {
359 .setItems(Collections.singletonList(new WmsInventoryChangeReqDTO.Item() 380 .setItems(Collections.singletonList(new WmsInventoryChangeReqDTO.Item()
360 .setSkuId(skuId) 381 .setSkuId(skuId)
361 .setWarehouseId(warehouseId) 382 .setWarehouseId(warehouseId)
362 - .setAreaId(areaId)  
363 .setQuantity(new BigDecimal(quantity)) 383 .setQuantity(new BigDecimal(quantity))
364 .setAmount(new BigDecimal("100.00")) 384 .setAmount(new BigDecimal("100.00"))
365 .setRemark("测试入库"))); 385 .setRemark("测试入库")));
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; @@ -3,14 +3,10 @@ package cn.iocoder.yudao.module.wms.service.order.receipt;
3 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 3 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
4 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailSaveReqVO; 4 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailSaveReqVO;
5 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO; 5 import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.order.WmsReceiptOrderSaveReqVO;
6 -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO;  
7 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; 6 import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO;
8 import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; 7 import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper;
9 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
10 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 8 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
11 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
12 import jakarta.annotation.Resource; 9 import jakarta.annotation.Resource;
13 -import org.junit.jupiter.api.BeforeEach;  
14 import org.junit.jupiter.api.Test; 10 import org.junit.jupiter.api.Test;
15 import org.springframework.context.annotation.Import; 11 import org.springframework.context.annotation.Import;
16 import org.springframework.test.context.bean.override.mockito.MockitoBean; 12 import org.springframework.test.context.bean.override.mockito.MockitoBean;
@@ -24,10 +20,8 @@ import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER @@ -24,10 +20,8 @@ import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER
24 import static org.junit.jupiter.api.Assertions.assertEquals; 20 import static org.junit.jupiter.api.Assertions.assertEquals;
25 import static org.junit.jupiter.api.Assertions.assertNotNull; 21 import static org.junit.jupiter.api.Assertions.assertNotNull;
26 import static org.junit.jupiter.api.Assertions.assertNull; 22 import static org.junit.jupiter.api.Assertions.assertNull;
27 -import static org.mockito.ArgumentMatchers.any;  
28 -import static org.mockito.Mockito.when;  
29 23
30 -@Import({WmsReceiptOrderDetailServiceImpl.class, WmsProperties.class}) 24 +@Import(WmsReceiptOrderDetailServiceImpl.class)
31 public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { 25 public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest {
32 26
33 @Resource 27 @Resource
@@ -38,14 +32,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @@ -38,14 +32,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest {
38 32
39 @MockitoBean 33 @MockitoBean
40 private WmsItemSkuService itemSkuService; 34 private WmsItemSkuService itemSkuService;
41 - @MockitoBean  
42 - private WmsWarehouseAreaService warehouseAreaService;  
43 -  
44 - @BeforeEach  
45 - public void setUp() {  
46 - when(warehouseAreaService.validateAndNormalizeWarehouseAreaId(any(), any()))  
47 - .thenReturn(WmsWarehouseAreaDO.ID_EMPTY);  
48 - }  
49 35
50 @Test 36 @Test
51 public void testCreateReceiptOrderDetailList_success() { 37 public void testCreateReceiptOrderDetailList_success() {
@@ -129,7 +115,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @@ -129,7 +115,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest {
129 private static WmsReceiptOrderSaveReqVO createReceiptOrderReqVO(WmsReceiptOrderDetailSaveReqVO... details) { 115 private static WmsReceiptOrderSaveReqVO createReceiptOrderReqVO(WmsReceiptOrderDetailSaveReqVO... details) {
130 WmsReceiptOrderSaveReqVO reqVO = new WmsReceiptOrderSaveReqVO(); 116 WmsReceiptOrderSaveReqVO reqVO = new WmsReceiptOrderSaveReqVO();
131 reqVO.setWarehouseId(100L); 117 reqVO.setWarehouseId(100L);
132 - reqVO.setAreaId(0L);  
133 reqVO.setDetails(Arrays.asList(details)); 118 reqVO.setDetails(Arrays.asList(details));
134 return reqVO; 119 return reqVO;
135 } 120 }
@@ -138,7 +123,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @@ -138,7 +123,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest {
138 WmsReceiptOrderDetailSaveReqVO reqVO = new WmsReceiptOrderDetailSaveReqVO(); 123 WmsReceiptOrderDetailSaveReqVO reqVO = new WmsReceiptOrderDetailSaveReqVO();
139 reqVO.setId(id); 124 reqVO.setId(id);
140 reqVO.setSkuId(skuId); 125 reqVO.setSkuId(skuId);
141 - reqVO.setAreaId(0L);  
142 reqVO.setQuantity(new BigDecimal(quantity)); 126 reqVO.setQuantity(new BigDecimal(quantity));
143 reqVO.setAmount(new BigDecimal("100.00")); 127 reqVO.setAmount(new BigDecimal("100.00"));
144 return reqVO; 128 return reqVO;
@@ -149,7 +133,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { @@ -149,7 +133,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest {
149 .orderId(orderId) 133 .orderId(orderId)
150 .skuId(skuId) 134 .skuId(skuId)
151 .warehouseId(100L) 135 .warehouseId(100L)
152 - .areaId(0L)  
153 .quantity(new BigDecimal(quantity)) 136 .quantity(new BigDecimal(quantity))
154 .amount(new BigDecimal("100.00")) 137 .amount(new BigDecimal("100.00"))
155 .build(); 138 .build();
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 @@ -8,12 +8,10 @@ import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderMapper
8 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; 8 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum;
9 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; 9 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum;
10 import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; 10 import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; 11 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService;
13 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; 12 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO;
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
15 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; 14 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 15 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
19 import org.junit.jupiter.api.Test; 17 import org.junit.jupiter.api.Test;
@@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean;
24 import java.math.BigDecimal; 22 import java.math.BigDecimal;
25 23
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 24 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
27 -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_AREA_REQUIRED;  
28 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_DETAIL_REQUIRED; 25 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_DETAIL_REQUIRED;
29 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_STATUS_NOT_DELETABLE; 26 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_STATUS_NOT_DELETABLE;
30 import static org.junit.jupiter.api.Assertions.assertEquals; 27 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any;
34 import static org.mockito.Mockito.never; 31 import static org.mockito.Mockito.never;
35 import static org.mockito.Mockito.verify; 32 import static org.mockito.Mockito.verify;
36 33
37 -@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class, WmsProperties.class}) 34 +@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class})
38 public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { 35 public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
39 36
40 @Resource 37 @Resource
@@ -48,8 +45,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @@ -48,8 +45,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
48 @MockitoBean 45 @MockitoBean
49 private WmsWarehouseService warehouseService; 46 private WmsWarehouseService warehouseService;
50 @MockitoBean 47 @MockitoBean
51 - private WmsWarehouseAreaService warehouseAreaService;  
52 - @MockitoBean  
53 private WmsMerchantService merchantService; 48 private WmsMerchantService merchantService;
54 @MockitoBean 49 @MockitoBean
55 private WmsItemSkuService itemSkuService; 50 private WmsItemSkuService itemSkuService;
@@ -63,7 +58,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @@ -63,7 +58,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
63 Long skuId = 200L; 58 Long skuId = 200L;
64 WmsReceiptOrderDO order = createReceiptOrder(warehouseId); 59 WmsReceiptOrderDO order = createReceiptOrder(warehouseId);
65 receiptOrderMapper.insert(order); 60 receiptOrderMapper.insert(order);
66 - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), skuId, warehouseId, 300L)); 61 + receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), skuId, warehouseId));
67 62
68 // 调用 63 // 调用
69 receiptOrderService.completeReceiptOrder(order.getId()); 64 receiptOrderService.completeReceiptOrder(order.getId());
@@ -98,19 +93,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @@ -98,19 +93,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
98 } 93 }
99 94
100 @Test 95 @Test
101 - public void testCompleteReceiptOrder_areaRequired() {  
102 - // mock 数据  
103 - WmsReceiptOrderDO order = createReceiptOrder(100L);  
104 - receiptOrderMapper.insert(order);  
105 - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L, 0L));  
106 -  
107 - // 调用,并断言  
108 - assertServiceException(() -> receiptOrderService.completeReceiptOrder(order.getId()),  
109 - RECEIPT_ORDER_AREA_REQUIRED);  
110 - verify(inventoryService, never()).changeInventory(any());  
111 - }  
112 -  
113 - @Test  
114 public void testCancelReceiptOrder_success() { 96 public void testCancelReceiptOrder_success() {
115 // mock 数据 97 // mock 数据
116 WmsReceiptOrderDO order = createReceiptOrder(100L); 98 WmsReceiptOrderDO order = createReceiptOrder(100L);
@@ -131,7 +113,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @@ -131,7 +113,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
131 // mock 数据 113 // mock 数据
132 WmsReceiptOrderDO order = createReceiptOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); 114 WmsReceiptOrderDO order = createReceiptOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus());
133 receiptOrderMapper.insert(order); 115 receiptOrderMapper.insert(order);
134 - receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L, 300L)); 116 + receiptOrderDetailMapper.insert(createReceiptOrderDetail(order.getId(), 200L, 100L));
135 117
136 // 调用 118 // 调用
137 receiptOrderService.deleteReceiptOrder(order.getId()); 119 receiptOrderService.deleteReceiptOrder(order.getId());
@@ -158,18 +140,15 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { @@ -158,18 +140,15 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest {
158 .setType(WmsReceiptOrderTypeEnum.PURCHASE.getType()) 140 .setType(WmsReceiptOrderTypeEnum.PURCHASE.getType())
159 .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) 141 .setStatus(WmsOrderStatusEnum.PREPARE.getStatus())
160 .setWarehouseId(warehouseId) 142 .setWarehouseId(warehouseId)
161 - .setAreaId(0L)  
162 .setTotalQuantity(new BigDecimal("2.00")) 143 .setTotalQuantity(new BigDecimal("2.00"))
163 .setTotalAmount(new BigDecimal("20.00")); 144 .setTotalAmount(new BigDecimal("20.00"));
164 } 145 }
165 146
166 - private static WmsReceiptOrderDetailDO createReceiptOrderDetail(Long orderId, Long skuId, Long warehouseId,  
167 - Long areaId) { 147 + private static WmsReceiptOrderDetailDO createReceiptOrderDetail(Long orderId, Long skuId, Long warehouseId) {
168 return WmsReceiptOrderDetailDO.builder() 148 return WmsReceiptOrderDetailDO.builder()
169 .orderId(orderId) 149 .orderId(orderId)
170 .skuId(skuId) 150 .skuId(skuId)
171 .warehouseId(warehouseId) 151 .warehouseId(warehouseId)
172 - .areaId(areaId)  
173 .quantity(new BigDecimal("2.00")) 152 .quantity(new BigDecimal("2.00"))
174 .amount(new BigDecimal("20.00")) 153 .amount(new BigDecimal("20.00"))
175 .build(); 154 .build();
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 @@ -8,12 +8,10 @@ import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderMapp
8 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; 8 import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum;
9 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; 9 import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum;
10 import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; 10 import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum;
11 -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties;  
12 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; 11 import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService;
13 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; 12 import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO;
14 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; 13 import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService;
15 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; 14 import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService;
16 -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService;  
17 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; 15 import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService;
18 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
19 import org.junit.jupiter.api.Test; 17 import org.junit.jupiter.api.Test;
@@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean;
24 import java.math.BigDecimal; 22 import java.math.BigDecimal;
25 23
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 24 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
27 -import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_AREA_REQUIRED;  
28 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_DETAIL_REQUIRED; 25 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_DETAIL_REQUIRED;
29 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_STATUS_NOT_DELETABLE; 26 import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_STATUS_NOT_DELETABLE;
30 import static org.junit.jupiter.api.Assertions.assertEquals; 27 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any;
34 import static org.mockito.Mockito.never; 31 import static org.mockito.Mockito.never;
35 import static org.mockito.Mockito.verify; 32 import static org.mockito.Mockito.verify;
36 33
37 -@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class, WmsProperties.class}) 34 +@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class})
38 public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { 35 public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
39 36
40 @Resource 37 @Resource
@@ -48,8 +45,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @@ -48,8 +45,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
48 @MockitoBean 45 @MockitoBean
49 private WmsWarehouseService warehouseService; 46 private WmsWarehouseService warehouseService;
50 @MockitoBean 47 @MockitoBean
51 - private WmsWarehouseAreaService warehouseAreaService;  
52 - @MockitoBean  
53 private WmsMerchantService merchantService; 48 private WmsMerchantService merchantService;
54 @MockitoBean 49 @MockitoBean
55 private WmsItemSkuService itemSkuService; 50 private WmsItemSkuService itemSkuService;
@@ -63,7 +58,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @@ -63,7 +58,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
63 Long skuId = 200L; 58 Long skuId = 200L;
64 WmsShipmentOrderDO order = createShipmentOrder(warehouseId); 59 WmsShipmentOrderDO order = createShipmentOrder(warehouseId);
65 shipmentOrderMapper.insert(order); 60 shipmentOrderMapper.insert(order);
66 - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), skuId, warehouseId, 400L)); 61 + shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), skuId, warehouseId));
67 62
68 // 调用 63 // 调用
69 shipmentOrderService.completeShipmentOrder(order.getId()); 64 shipmentOrderService.completeShipmentOrder(order.getId());
@@ -98,19 +93,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @@ -98,19 +93,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
98 } 93 }
99 94
100 @Test 95 @Test
101 - public void testCompleteShipmentOrder_areaRequired() {  
102 - // mock 数据  
103 - WmsShipmentOrderDO order = createShipmentOrder(100L);  
104 - shipmentOrderMapper.insert(order);  
105 - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L, 0L));  
106 -  
107 - // 调用,并断言  
108 - assertServiceException(() -> shipmentOrderService.completeShipmentOrder(order.getId()),  
109 - SHIPMENT_ORDER_AREA_REQUIRED);  
110 - verify(inventoryService, never()).changeInventory(any());  
111 - }  
112 -  
113 - @Test  
114 public void testCancelShipmentOrder_success() { 96 public void testCancelShipmentOrder_success() {
115 // mock 数据 97 // mock 数据
116 WmsShipmentOrderDO order = createShipmentOrder(100L); 98 WmsShipmentOrderDO order = createShipmentOrder(100L);
@@ -131,7 +113,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @@ -131,7 +113,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
131 // mock 数据 113 // mock 数据
132 WmsShipmentOrderDO order = createShipmentOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); 114 WmsShipmentOrderDO order = createShipmentOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus());
133 shipmentOrderMapper.insert(order); 115 shipmentOrderMapper.insert(order);
134 - shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L, 300L)); 116 + shipmentOrderDetailMapper.insert(createShipmentOrderDetail(order.getId(), 200L, 100L));
135 117
136 // 调用 118 // 调用
137 shipmentOrderService.deleteShipmentOrder(order.getId()); 119 shipmentOrderService.deleteShipmentOrder(order.getId());
@@ -158,18 +140,15 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { @@ -158,18 +140,15 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest {
158 .setType(WmsShipmentOrderTypeEnum.SALE.getType()) 140 .setType(WmsShipmentOrderTypeEnum.SALE.getType())
159 .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) 141 .setStatus(WmsOrderStatusEnum.PREPARE.getStatus())
160 .setWarehouseId(warehouseId) 142 .setWarehouseId(warehouseId)
161 - .setAreaId(0L)  
162 .setTotalQuantity(new BigDecimal("2.00")) 143 .setTotalQuantity(new BigDecimal("2.00"))
163 .setTotalAmount(new BigDecimal("20.00")); 144 .setTotalAmount(new BigDecimal("20.00"));
164 } 145 }
165 146
166 - private static WmsShipmentOrderDetailDO createShipmentOrderDetail(Long orderId, Long skuId, Long warehouseId,  
167 - Long areaId) { 147 + private static WmsShipmentOrderDetailDO createShipmentOrderDetail(Long orderId, Long skuId, Long warehouseId) {
168 return WmsShipmentOrderDetailDO.builder() 148 return WmsShipmentOrderDetailDO.builder()
169 .orderId(orderId) 149 .orderId(orderId)
170 .skuId(skuId) 150 .skuId(skuId)
171 .warehouseId(warehouseId) 151 .warehouseId(warehouseId)
172 - .areaId(areaId)  
173 .quantity(new BigDecimal("2.00")) 152 .quantity(new BigDecimal("2.00"))
174 .amount(new BigDecimal("20.00")) 153 .amount(new BigDecimal("20.00"))
175 .build(); 154 .build();
yudao-module-wms/src/test/resources/sql/create_tables.sql
@@ -41,7 +41,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_inventory&quot; ( @@ -41,7 +41,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_inventory&quot; (
41 "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, 41 "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
42 "sku_id" bigint NOT NULL, 42 "sku_id" bigint NOT NULL,
43 "warehouse_id" bigint NOT NULL, 43 "warehouse_id" bigint NOT NULL,
44 - "area_id" bigint NOT NULL DEFAULT '0',  
45 "quantity" decimal(24, 6) NOT NULL DEFAULT '0', 44 "quantity" decimal(24, 6) NOT NULL DEFAULT '0',
46 "remark" varchar(255) DEFAULT NULL, 45 "remark" varchar(255) DEFAULT NULL,
47 "creator" varchar(64) DEFAULT '', 46 "creator" varchar(64) DEFAULT '',
@@ -51,13 +50,12 @@ CREATE TABLE IF NOT EXISTS &quot;wms_inventory&quot; ( @@ -51,13 +50,12 @@ CREATE TABLE IF NOT EXISTS &quot;wms_inventory&quot; (
51 "deleted" bit NOT NULL DEFAULT FALSE, 50 "deleted" bit NOT NULL DEFAULT FALSE,
52 "tenant_id" bigint NOT NULL DEFAULT '0', 51 "tenant_id" bigint NOT NULL DEFAULT '0',
53 PRIMARY KEY ("id"), 52 PRIMARY KEY ("id"),
54 - CONSTRAINT "uk_wms_inventory_sku_warehouse_area" UNIQUE ("sku_id", "warehouse_id", "area_id", "tenant_id", "deleted") 53 + CONSTRAINT "uk_wms_inventory_sku_warehouse" UNIQUE ("sku_id", "warehouse_id", "tenant_id", "deleted")
55 ) COMMENT 'WMS 库存表'; 54 ) COMMENT 'WMS 库存表';
56 55
57 CREATE TABLE IF NOT EXISTS "wms_inventory_history" ( 56 CREATE TABLE IF NOT EXISTS "wms_inventory_history" (
58 "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, 57 "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
59 "warehouse_id" bigint NOT NULL, 58 "warehouse_id" bigint NOT NULL,
60 - "area_id" bigint NOT NULL DEFAULT '0',  
61 "sku_id" bigint NOT NULL, 59 "sku_id" bigint NOT NULL,
62 "quantity" decimal(24, 6) NOT NULL DEFAULT '0', 60 "quantity" decimal(24, 6) NOT NULL DEFAULT '0',
63 "before_quantity" decimal(24, 6) DEFAULT NULL, 61 "before_quantity" decimal(24, 6) DEFAULT NULL,
@@ -88,7 +86,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_receipt_order&quot; ( @@ -88,7 +86,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_receipt_order&quot; (
88 "merchant_id" bigint DEFAULT NULL, 86 "merchant_id" bigint DEFAULT NULL,
89 "remark" varchar(255) DEFAULT NULL, 87 "remark" varchar(255) DEFAULT NULL,
90 "warehouse_id" bigint NOT NULL, 88 "warehouse_id" bigint NOT NULL,
91 - "area_id" bigint NOT NULL DEFAULT '0',  
92 "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', 89 "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0',
93 "total_amount" decimal(10, 2) DEFAULT NULL, 90 "total_amount" decimal(10, 2) DEFAULT NULL,
94 "creator" varchar(64) DEFAULT '', 91 "creator" varchar(64) DEFAULT '',
@@ -106,7 +103,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_receipt_order_detail&quot; ( @@ -106,7 +103,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_receipt_order_detail&quot; (
106 "order_id" bigint NOT NULL, 103 "order_id" bigint NOT NULL,
107 "sku_id" bigint NOT NULL, 104 "sku_id" bigint NOT NULL,
108 "warehouse_id" bigint NOT NULL, 105 "warehouse_id" bigint NOT NULL,
109 - "area_id" bigint NOT NULL DEFAULT '0',  
110 "batch_no" varchar(64) DEFAULT NULL, 106 "batch_no" varchar(64) DEFAULT NULL,
111 "production_date" timestamp DEFAULT NULL, 107 "production_date" timestamp DEFAULT NULL,
112 "expiration_date" timestamp DEFAULT NULL, 108 "expiration_date" timestamp DEFAULT NULL,
@@ -130,7 +126,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_shipment_order&quot; ( @@ -130,7 +126,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_shipment_order&quot; (
130 "merchant_id" bigint DEFAULT NULL, 126 "merchant_id" bigint DEFAULT NULL,
131 "remark" varchar(255) DEFAULT NULL, 127 "remark" varchar(255) DEFAULT NULL,
132 "warehouse_id" bigint NOT NULL, 128 "warehouse_id" bigint NOT NULL,
133 - "area_id" bigint NOT NULL DEFAULT '0',  
134 "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', 129 "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0',
135 "total_amount" decimal(10, 2) DEFAULT NULL, 130 "total_amount" decimal(10, 2) DEFAULT NULL,
136 "creator" varchar(64) DEFAULT '', 131 "creator" varchar(64) DEFAULT '',
@@ -148,7 +143,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_shipment_order_detail&quot; ( @@ -148,7 +143,6 @@ CREATE TABLE IF NOT EXISTS &quot;wms_shipment_order_detail&quot; (
148 "order_id" bigint NOT NULL, 143 "order_id" bigint NOT NULL,
149 "sku_id" bigint NOT NULL, 144 "sku_id" bigint NOT NULL,
150 "warehouse_id" bigint NOT NULL, 145 "warehouse_id" bigint NOT NULL,
151 - "area_id" bigint NOT NULL DEFAULT '0',  
152 "batch_no" varchar(64) DEFAULT NULL, 146 "batch_no" varchar(64) DEFAULT NULL,
153 "production_date" timestamp DEFAULT NULL, 147 "production_date" timestamp DEFAULT NULL,
154 "expiration_date" timestamp DEFAULT NULL, 148 "expiration_date" timestamp DEFAULT NULL,