Commit fe38e4fdefd176f5891e6522b4f5f3d4a8f0910c
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<WmsInventoryHisto | @@ -28,7 +28,6 @@ public interface WmsInventoryHistoryMapper extends BaseMapperX<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<WmsInventoryDO> { | @@ -35,50 +35,24 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { | ||
| 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<WmsInventoryDO> { | @@ -93,8 +67,7 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { | ||
| 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<WmsInventoryDO> { | @@ -122,15 +95,6 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { | ||
| 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<WmsCheckOrderDeta | @@ -35,8 +35,4 @@ public interface WmsCheckOrderDetailMapper extends BaseMapperX<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<WmsCheckOrderDO> { | @@ -20,7 +20,6 @@ public interface WmsCheckOrderMapper extends BaseMapperX<WmsCheckOrderDO> { | ||
| 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<WmsCheckOrderDO> { | @@ -41,8 +40,4 @@ public interface WmsCheckOrderMapper extends BaseMapperX<WmsCheckOrderDO> { | ||
| 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<WmsMovementOrd | @@ -35,10 +35,4 @@ public interface WmsMovementOrderDetailMapper extends BaseMapperX<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<WmsMovementOrderDO> | @@ -43,10 +43,4 @@ public interface WmsMovementOrderMapper extends BaseMapperX<WmsMovementOrderDO> | ||
| 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<WmsReceiptOrder | @@ -35,8 +35,4 @@ public interface WmsReceiptOrderDetailMapper extends BaseMapperX<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<WmsReceiptOrderDO> { | @@ -47,8 +47,4 @@ public interface WmsReceiptOrderMapper extends BaseMapperX<WmsReceiptOrderDO> { | ||
| 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<WmsShipmentOrd | @@ -35,8 +35,4 @@ public interface WmsShipmentOrderDetailMapper extends BaseMapperX<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<WmsShipmentOrderDO> | @@ -47,8 +47,4 @@ public interface WmsShipmentOrderMapper extends BaseMapperX<WmsShipmentOrderDO> | ||
| 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 "wms_inventory" ( | @@ -41,7 +41,6 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( | ||
| 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 "wms_inventory" ( | @@ -51,13 +50,12 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( | ||
| 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 "wms_receipt_order" ( | @@ -88,7 +86,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order" ( | ||
| 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 "wms_receipt_order_detail" ( | @@ -106,7 +103,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order_detail" ( | ||
| 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 "wms_shipment_order" ( | @@ -130,7 +126,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order" ( | ||
| 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 "wms_shipment_order_detail" ( | @@ -148,7 +143,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order_detail" ( | ||
| 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, |