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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; |
| 11 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 12 | 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 | 13 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 15 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 16 | 14 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; |
| 17 | 15 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 18 | 16 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 19 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 20 | 17 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 21 | 18 | import io.swagger.v3.oas.annotations.Operation; |
| 22 | 19 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -49,10 +46,6 @@ public class WmsInventoryController { |
| 49 | 46 | private WmsItemSkuService itemSkuService; |
| 50 | 47 | @Resource |
| 51 | 48 | private WmsWarehouseService warehouseService; |
| 52 | - @Resource | |
| 53 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 54 | - @Resource | |
| 55 | - private WmsProperties wmsProperties; | |
| 56 | 49 | |
| 57 | 50 | @GetMapping("/page") |
| 58 | 51 | @Operation(summary = "获得库存统计分页") |
| ... | ... | @@ -72,9 +65,6 @@ public class WmsInventoryController { |
| 72 | 65 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 73 | 66 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 74 | 67 | convertSet(list, WmsInventoryDO::getWarehouseId)); |
| 75 | - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled() | |
| 76 | - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryDO::getAreaId)) | |
| 77 | - : Collections.emptyMap(); | |
| 78 | 68 | return BeanUtils.toBean(list, WmsInventoryRespVO.class, vo -> { |
| 79 | 69 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| 80 | 70 | vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); |
| ... | ... | @@ -82,7 +72,6 @@ public class WmsInventoryController { |
| 82 | 72 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 83 | 73 | }); |
| 84 | 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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryHistoryDO; |
| 11 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 12 | 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 | 13 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 15 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 16 | 14 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryHistoryService; |
| 17 | 15 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 18 | 16 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 19 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 20 | 17 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 21 | 18 | import io.swagger.v3.oas.annotations.Operation; |
| 22 | 19 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -49,10 +46,6 @@ public class WmsInventoryHistoryController { |
| 49 | 46 | private WmsItemSkuService itemSkuService; |
| 50 | 47 | @Resource |
| 51 | 48 | private WmsWarehouseService warehouseService; |
| 52 | - @Resource | |
| 53 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 54 | - @Resource | |
| 55 | - private WmsProperties wmsProperties; | |
| 56 | 49 | |
| 57 | 50 | @GetMapping("/page") |
| 58 | 51 | @Operation(summary = "获得库存流水分页") |
| ... | ... | @@ -73,9 +66,6 @@ public class WmsInventoryHistoryController { |
| 73 | 66 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 74 | 67 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 75 | 68 | convertSet(list, WmsInventoryHistoryDO::getWarehouseId)); |
| 76 | - Map<Long, WmsWarehouseAreaDO> areaMap = wmsProperties.isAreaEnabled() | |
| 77 | - ? warehouseAreaService.getWarehouseAreaMap(convertSet(list, WmsInventoryHistoryDO::getAreaId)) | |
| 78 | - : Collections.emptyMap(); | |
| 79 | 69 | return BeanUtils.toBean(list, WmsInventoryHistoryRespVO.class, vo -> { |
| 80 | 70 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| 81 | 71 | vo.setSkuCode(sku.getCode()).setSkuName(sku.getName()).setItemId(sku.getItemId()); |
| ... | ... | @@ -83,7 +73,6 @@ public class WmsInventoryHistoryController { |
| 83 | 73 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 84 | 74 | }); |
| 85 | 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 | 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 | 25 | public static final String TYPE_ITEM = "item"; |
| ... | ... | @@ -50,9 +45,6 @@ public class WmsInventoryPageReqVO extends PageParam { |
| 50 | 45 | @Schema(description = "仓库编号", example = "2048") |
| 51 | 46 | private Long warehouseId; |
| 52 | 47 | |
| 53 | - @Schema(description = "库区编号", example = "4096") | |
| 54 | - private Long areaId; | |
| 55 | - | |
| 56 | 48 | @Schema(description = "最小库存数量", example = "0.01") |
| 57 | 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 | 33 | private Long warehouseId; |
| 34 | 34 | @Schema(description = "仓库名称", example = "成品仓") |
| 35 | 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 | 37 | @Schema(description = "库存数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 42 | 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 | 35 | @Schema(description = "仓库编号", example = "2048") |
| 36 | 36 | private Long warehouseId; |
| 37 | 37 | |
| 38 | - @Schema(description = "库区编号", example = "4096") | |
| 39 | - private Long areaId; | |
| 40 | - | |
| 41 | 38 | @Schema(description = "操作单号", example = "RK202605110001") |
| 42 | 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 | 33 | private Long warehouseId; |
| 34 | 34 | @Schema(description = "仓库名称", example = "成品仓") |
| 35 | 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 | 37 | @Schema(description = "库存变化数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10.00") |
| 42 | 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 | 17 | import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.order.WmsCheckOrderSaveReqVO; |
| 18 | 18 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 19 | 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 | 20 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 22 | 21 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDO; |
| 23 | 22 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; |
| 24 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 25 | 23 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 26 | 24 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 27 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 28 | 25 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 29 | 26 | import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; |
| 30 | 27 | import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; |
| ... | ... | @@ -63,16 +60,11 @@ public class WmsCheckOrderController { |
| 63 | 60 | @Resource |
| 64 | 61 | private WmsWarehouseService warehouseService; |
| 65 | 62 | @Resource |
| 66 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 67 | - @Resource | |
| 68 | 63 | private WmsItemService itemService; |
| 69 | 64 | @Resource |
| 70 | 65 | private WmsItemSkuService itemSkuService; |
| 71 | 66 | |
| 72 | 67 | @Resource |
| 73 | - private WmsProperties wmsProperties; | |
| 74 | - | |
| 75 | - @Resource | |
| 76 | 68 | private AdminUserApi adminUserApi; |
| 77 | 69 | |
| 78 | 70 | @PostMapping("/create") |
| ... | ... | @@ -168,17 +160,13 @@ public class WmsCheckOrderController { |
| 168 | 160 | if (CollUtil.isEmpty(list)) { |
| 169 | 161 | return Collections.emptyList(); |
| 170 | 162 | } |
| 171 | - // 获取相关的仓库、库区、用户等数据 | |
| 163 | + // 获取相关的仓库、用户等数据 | |
| 172 | 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 | 165 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| 177 | 166 | order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); |
| 178 | 167 | // 拼接数据 |
| 179 | 168 | return BeanUtils.toBean(list, WmsCheckOrderRespVO.class, vo -> { |
| 180 | 169 | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); |
| 181 | - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); | |
| 182 | 170 | MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); |
| 183 | 171 | MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); |
| 184 | 172 | }); |
| ... | ... | @@ -192,14 +180,11 @@ public class WmsCheckOrderController { |
| 192 | 180 | if (CollUtil.isEmpty(list)) { |
| 193 | 181 | return Collections.emptyList(); |
| 194 | 182 | } |
| 195 | - // 获取相关的商品、SKU、仓库、库区等数据 | |
| 183 | + // 获取相关的商品、SKU、仓库等数据 | |
| 196 | 184 | Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsCheckOrderDetailDO::getSkuId)); |
| 197 | 185 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 198 | 186 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 199 | 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 | 189 | return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { |
| 205 | 190 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -208,7 +193,6 @@ public class WmsCheckOrderController { |
| 208 | 193 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 209 | 194 | }); |
| 210 | 195 | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); |
| 211 | - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); | |
| 212 | 196 | if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { |
| 213 | 197 | vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); |
| 214 | 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 | 7 | import cn.iocoder.yudao.module.wms.controller.admin.order.check.vo.detail.WmsCheckOrderDetailRespVO; |
| 8 | 8 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 9 | 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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 12 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; |
| 13 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 14 | 12 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 15 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 14 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 15 | import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderDetailService; |
| 19 | 16 | import io.swagger.v3.oas.annotations.Operation; |
| ... | ... | @@ -49,11 +46,6 @@ public class WmsCheckOrderDetailController { |
| 49 | 46 | private WmsItemSkuService itemSkuService; |
| 50 | 47 | @Resource |
| 51 | 48 | private WmsWarehouseService warehouseService; |
| 52 | - @Resource | |
| 53 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 54 | - | |
| 55 | - @Resource | |
| 56 | - private WmsProperties wmsProperties; | |
| 57 | 49 | |
| 58 | 50 | @GetMapping("/list-by-order-id") |
| 59 | 51 | @Operation(summary = "获得盘库单明细列表") |
| ... | ... | @@ -76,9 +68,6 @@ public class WmsCheckOrderDetailController { |
| 76 | 68 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 77 | 69 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 78 | 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 | 72 | return BeanUtils.toBean(list, WmsCheckOrderDetailRespVO.class, vo -> { |
| 84 | 73 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -87,7 +76,6 @@ public class WmsCheckOrderDetailController { |
| 87 | 76 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 88 | 77 | }); |
| 89 | 78 | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); |
| 90 | - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); | |
| 91 | 79 | if (vo.getQuantity() != null && vo.getCheckQuantity() != null) { |
| 92 | 80 | vo.setDifferenceQuantity(vo.getCheckQuantity().subtract(vo.getQuantity())); |
| 93 | 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 | 43 | @Schema(description = "仓库名称", example = "北京仓") |
| 44 | 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 | 46 | @Schema(description = "库存编号", example = "1024") |
| 53 | 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 | 20 | @NotNull(message = "SKU 不能为空") |
| 21 | 21 | private Long skuId; |
| 22 | 22 | |
| 23 | - @Schema(description = "库区编号", example = "1024") | |
| 24 | - private Long areaId; | |
| 25 | - | |
| 26 | 23 | @Schema(description = "库存编号", example = "1024") |
| 27 | 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 | 30 | @Schema(description = "仓库编号", example = "1024") |
| 31 | 31 | private Long warehouseId; |
| 32 | 32 | |
| 33 | - @Schema(description = "库区编号", example = "1024") | |
| 34 | - private Long areaId; | |
| 35 | - | |
| 36 | 33 | @Schema(description = "单据日期") |
| 37 | 34 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 38 | 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 | 40 | @ExcelProperty("仓库") |
| 41 | 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 | 43 | @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 50 | 44 | @ExcelProperty("盈亏数量") |
| 51 | 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 | 31 | @NotNull(message = "仓库不能为空") |
| 32 | 32 | private Long warehouseId; |
| 33 | 33 | |
| 34 | - @Schema(description = "库区编号", example = "1024") | |
| 35 | - private Long areaId; | |
| 36 | - | |
| 37 | 34 | @Schema(description = "盈亏数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 38 | 35 | @NotNull(message = "盈亏数量不能为空") |
| 39 | 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 | 17 | import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.order.WmsMovementOrderSaveReqVO; |
| 18 | 18 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 19 | 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 | 20 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 22 | 21 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDO; |
| 23 | 22 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; |
| 24 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 25 | 23 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 26 | 24 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 27 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 28 | 25 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 29 | 26 | import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; |
| 30 | 27 | import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; |
| ... | ... | @@ -62,16 +59,11 @@ public class WmsMovementOrderController { |
| 62 | 59 | @Resource |
| 63 | 60 | private WmsWarehouseService warehouseService; |
| 64 | 61 | @Resource |
| 65 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 66 | - @Resource | |
| 67 | 62 | private WmsItemService itemService; |
| 68 | 63 | @Resource |
| 69 | 64 | private WmsItemSkuService itemSkuService; |
| 70 | 65 | |
| 71 | 66 | @Resource |
| 72 | - private WmsProperties wmsProperties; | |
| 73 | - | |
| 74 | - @Resource | |
| 75 | 67 | private AdminUserApi adminUserApi; |
| 76 | 68 | |
| 77 | 69 | @PostMapping("/create") |
| ... | ... | @@ -168,13 +160,9 @@ public class WmsMovementOrderController { |
| 168 | 160 | if (CollUtil.isEmpty(list)) { |
| 169 | 161 | return Collections.emptyList(); |
| 170 | 162 | } |
| 171 | - // 获取相关的仓库、库区、用户等数据 | |
| 163 | + // 获取相关的仓库、用户等数据 | |
| 172 | 164 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, |
| 173 | 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 | 166 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| 179 | 167 | order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); |
| 180 | 168 | // 拼接数据 |
| ... | ... | @@ -183,8 +171,6 @@ public class WmsMovementOrderController { |
| 183 | 171 | warehouse -> vo.setSourceWarehouseName(warehouse.getName())); |
| 184 | 172 | MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), |
| 185 | 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 | 174 | MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); |
| 189 | 175 | MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); |
| 190 | 176 | }); |
| ... | ... | @@ -198,15 +184,11 @@ public class WmsMovementOrderController { |
| 198 | 184 | if (CollUtil.isEmpty(list)) { |
| 199 | 185 | return Collections.emptyList(); |
| 200 | 186 | } |
| 201 | - // 获取相关的商品、SKU、仓库、库区等数据 | |
| 187 | + // 获取相关的商品、SKU、仓库等数据 | |
| 202 | 188 | Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsMovementOrderDetailDO::getSkuId)); |
| 203 | 189 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 204 | 190 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, |
| 205 | 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 | 193 | return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { |
| 212 | 194 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -218,8 +200,6 @@ public class WmsMovementOrderController { |
| 218 | 200 | warehouse -> vo.setSourceWarehouseName(warehouse.getName())); |
| 219 | 201 | MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), |
| 220 | 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 | 7 | import cn.iocoder.yudao.module.wms.controller.admin.order.movement.vo.detail.WmsMovementOrderDetailRespVO; |
| 8 | 8 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 9 | 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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 12 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; |
| 13 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 14 | 12 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 15 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 14 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 15 | import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderDetailService; |
| 19 | 16 | import io.swagger.v3.oas.annotations.Operation; |
| ... | ... | @@ -50,11 +47,6 @@ public class WmsMovementOrderDetailController { |
| 50 | 47 | private WmsItemSkuService itemSkuService; |
| 51 | 48 | @Resource |
| 52 | 49 | private WmsWarehouseService warehouseService; |
| 53 | - @Resource | |
| 54 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 55 | - | |
| 56 | - @Resource | |
| 57 | - private WmsProperties wmsProperties; | |
| 58 | 50 | |
| 59 | 51 | @GetMapping("/list-by-order-id") |
| 60 | 52 | @Operation(summary = "获得移库单明细列表") |
| ... | ... | @@ -77,10 +69,6 @@ public class WmsMovementOrderDetailController { |
| 77 | 69 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 78 | 70 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSetByFlatMap(list, |
| 79 | 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 | 73 | return BeanUtils.toBean(list, WmsMovementOrderDetailRespVO.class, vo -> { |
| 86 | 74 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -92,8 +80,6 @@ public class WmsMovementOrderDetailController { |
| 92 | 80 | warehouse -> vo.setSourceWarehouseName(warehouse.getName())); |
| 93 | 81 | MapUtils.findAndThen(warehouseMap, vo.getTargetWarehouseId(), |
| 94 | 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 | 43 | @Schema(description = "来源仓库名称", example = "北京仓") |
| 44 | 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 | 46 | @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") |
| 53 | 47 | private Long targetWarehouseId; |
| 54 | 48 | |
| 55 | 49 | @Schema(description = "目标仓库名称", example = "上海仓") |
| 56 | 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 | 52 | @Schema(description = "批号", example = "B202605110001") |
| 65 | 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 | 20 | @NotNull(message = "SKU 不能为空") |
| 21 | 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 | 23 | @Schema(description = "批号", example = "B202605110001") |
| 30 | 24 | @Size(max = 64, message = "批号长度不能超过 64 个字符") |
| 31 | 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 | 40 | @ExcelProperty("来源仓库") |
| 41 | 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 | 43 | @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") |
| 50 | 44 | private Long targetWarehouseId; |
| 51 | 45 | |
| ... | ... | @@ -53,12 +47,6 @@ public class WmsMovementOrderRespVO { |
| 53 | 47 | @ExcelProperty("目标仓库") |
| 54 | 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 | 50 | @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 63 | 51 | @ExcelProperty("移库数量") |
| 64 | 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 | 31 | @NotNull(message = "来源仓库不能为空") |
| 32 | 32 | private Long sourceWarehouseId; |
| 33 | 33 | |
| 34 | - @Schema(description = "来源库区编号", example = "1024") | |
| 35 | - private Long sourceAreaId; | |
| 36 | - | |
| 37 | 34 | @Schema(description = "目标仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") |
| 38 | 35 | @NotNull(message = "目标仓库不能为空") |
| 39 | 36 | private Long targetWarehouseId; |
| 40 | 37 | |
| 41 | - @Schema(description = "目标库区编号", example = "2048") | |
| 42 | - private Long targetAreaId; | |
| 43 | - | |
| 44 | 38 | @Schema(description = "移库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 45 | 39 | @NotNull(message = "移库数量不能为空") |
| 46 | 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 | 18 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 19 | 19 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; |
| 20 | 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 | 21 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 23 | 22 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDO; |
| 24 | 23 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; |
| 25 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 26 | 24 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 27 | 25 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 28 | 26 | import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; |
| 29 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 30 | 27 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 31 | 28 | import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; |
| 32 | 29 | import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; |
| ... | ... | @@ -66,16 +63,11 @@ public class WmsReceiptOrderController { |
| 66 | 63 | @Resource |
| 67 | 64 | private WmsWarehouseService warehouseService; |
| 68 | 65 | @Resource |
| 69 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 70 | - @Resource | |
| 71 | 66 | private WmsItemService itemService; |
| 72 | 67 | @Resource |
| 73 | 68 | private WmsItemSkuService itemSkuService; |
| 74 | 69 | |
| 75 | 70 | @Resource |
| 76 | - private WmsProperties wmsProperties; | |
| 77 | - | |
| 78 | - @Resource | |
| 79 | 71 | private AdminUserApi adminUserApi; |
| 80 | 72 | |
| 81 | 73 | @PostMapping("/create") |
| ... | ... | @@ -171,19 +163,15 @@ public class WmsReceiptOrderController { |
| 171 | 163 | if (CollUtil.isEmpty(list)) { |
| 172 | 164 | return Collections.emptyList(); |
| 173 | 165 | } |
| 174 | - // 获取相关的商户、仓库、库区、用户等数据 | |
| 166 | + // 获取相关的商户、仓库、用户等数据 | |
| 175 | 167 | Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsReceiptOrderDO::getMerchantId)); |
| 176 | 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 | 169 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| 181 | 170 | order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); |
| 182 | 171 | // 拼接数据 |
| 183 | 172 | return BeanUtils.toBean(list, WmsReceiptOrderRespVO.class, vo -> { |
| 184 | 173 | MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); |
| 185 | 174 | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); |
| 186 | - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); | |
| 187 | 175 | MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); |
| 188 | 176 | MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); |
| 189 | 177 | }); |
| ... | ... | @@ -197,14 +185,11 @@ public class WmsReceiptOrderController { |
| 197 | 185 | if (CollUtil.isEmpty(list)) { |
| 198 | 186 | return Collections.emptyList(); |
| 199 | 187 | } |
| 200 | - // 获取相关的商品、SKU、仓库、库区等数据 | |
| 188 | + // 获取相关的商品、SKU、仓库等数据 | |
| 201 | 189 | Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsReceiptOrderDetailDO::getSkuId)); |
| 202 | 190 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 203 | 191 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 204 | 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 | 194 | return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { |
| 210 | 195 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -213,7 +198,6 @@ public class WmsReceiptOrderController { |
| 213 | 198 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 214 | 199 | }); |
| 215 | 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 | 7 | import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailRespVO; |
| 8 | 8 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 9 | 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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 12 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; |
| 13 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 14 | 12 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 15 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 14 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 15 | import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderDetailService; |
| 19 | 16 | import io.swagger.v3.oas.annotations.Operation; |
| ... | ... | @@ -48,11 +45,6 @@ public class WmsReceiptOrderDetailController { |
| 48 | 45 | private WmsItemSkuService itemSkuService; |
| 49 | 46 | @Resource |
| 50 | 47 | private WmsWarehouseService warehouseService; |
| 51 | - @Resource | |
| 52 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 53 | - | |
| 54 | - @Resource | |
| 55 | - private WmsProperties wmsProperties; | |
| 56 | 48 | |
| 57 | 49 | @GetMapping("/list-by-order-id") |
| 58 | 50 | @Operation(summary = "获得入库单明细列表") |
| ... | ... | @@ -75,9 +67,6 @@ public class WmsReceiptOrderDetailController { |
| 75 | 67 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 76 | 68 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 77 | 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 | 71 | return BeanUtils.toBean(list, WmsReceiptOrderDetailRespVO.class, vo -> { |
| 83 | 72 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -86,7 +75,6 @@ public class WmsReceiptOrderDetailController { |
| 86 | 75 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 87 | 76 | }); |
| 88 | 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 | 43 | @Schema(description = "仓库名称", example = "北京仓") |
| 44 | 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 | 46 | @Schema(description = "批号", example = "B202605110001") |
| 53 | 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 | 20 | @NotNull(message = "SKU 不能为空") |
| 21 | 21 | private Long skuId; |
| 22 | 22 | |
| 23 | - @Schema(description = "库区编号", example = "1024") | |
| 24 | - private Long areaId; | |
| 25 | - | |
| 26 | 23 | @Schema(description = "批号", example = "B202605110001") |
| 27 | 24 | @Size(max = 64, message = "批号长度不能超过 64 个字符") |
| 28 | 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 | 56 | @ExcelProperty("仓库") |
| 57 | 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 | 59 | @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 66 | 60 | @ExcelProperty("入库数量") |
| 67 | 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 | 45 | @NotNull(message = "仓库不能为空") |
| 46 | 46 | private Long warehouseId; |
| 47 | 47 | |
| 48 | - @Schema(description = "库区编号", example = "1024") | |
| 49 | - private Long areaId; | |
| 50 | - | |
| 51 | 48 | @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 52 | 49 | @NotNull(message = "入库数量不能为空") |
| 53 | 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 | 18 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 19 | 19 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; |
| 20 | 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 | 21 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 23 | 22 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDO; |
| 24 | 23 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; |
| 25 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 26 | 24 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 27 | 25 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 28 | 26 | import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; |
| 29 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 30 | 27 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 31 | 28 | import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; |
| 32 | 29 | import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderService; |
| ... | ... | @@ -66,16 +63,11 @@ public class WmsShipmentOrderController { |
| 66 | 63 | @Resource |
| 67 | 64 | private WmsWarehouseService warehouseService; |
| 68 | 65 | @Resource |
| 69 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 70 | - @Resource | |
| 71 | 66 | private WmsItemService itemService; |
| 72 | 67 | @Resource |
| 73 | 68 | private WmsItemSkuService itemSkuService; |
| 74 | 69 | |
| 75 | 70 | @Resource |
| 76 | - private WmsProperties wmsProperties; | |
| 77 | - | |
| 78 | - @Resource | |
| 79 | 71 | private AdminUserApi adminUserApi; |
| 80 | 72 | |
| 81 | 73 | @PostMapping("/create") |
| ... | ... | @@ -171,19 +163,15 @@ public class WmsShipmentOrderController { |
| 171 | 163 | if (CollUtil.isEmpty(list)) { |
| 172 | 164 | return Collections.emptyList(); |
| 173 | 165 | } |
| 174 | - // 获取相关的商户、仓库、库区、用户等数据 | |
| 166 | + // 获取相关的商户、仓库、用户等数据 | |
| 175 | 167 | Map<Long, WmsMerchantDO> merchantMap = merchantService.getMerchantMap(convertSet(list, WmsShipmentOrderDO::getMerchantId)); |
| 176 | 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 | 169 | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| 181 | 170 | order -> Stream.of(parseUserId(order.getCreator()), parseUserId(order.getUpdater())))); |
| 182 | 171 | // 拼接数据 |
| 183 | 172 | return BeanUtils.toBean(list, WmsShipmentOrderRespVO.class, vo -> { |
| 184 | 173 | MapUtils.findAndThen(merchantMap, vo.getMerchantId(), merchant -> vo.setMerchantName(merchant.getName())); |
| 185 | 174 | MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())); |
| 186 | - MapUtils.findAndThen(areaMap, vo.getAreaId(), area -> vo.setAreaName(area.getName())); | |
| 187 | 175 | MapUtils.findAndThen(userMap, parseUserId(vo.getCreator()), user -> vo.setCreatorName(user.getNickname())); |
| 188 | 176 | MapUtils.findAndThen(userMap, parseUserId(vo.getUpdater()), user -> vo.setUpdaterName(user.getNickname())); |
| 189 | 177 | }); |
| ... | ... | @@ -197,14 +185,11 @@ public class WmsShipmentOrderController { |
| 197 | 185 | if (CollUtil.isEmpty(list)) { |
| 198 | 186 | return Collections.emptyList(); |
| 199 | 187 | } |
| 200 | - // 获取相关的商品、SKU、仓库、库区等数据 | |
| 188 | + // 获取相关的商品、SKU、仓库等数据 | |
| 201 | 189 | Map<Long, WmsItemSkuDO> skuMap = itemSkuService.getItemSkuMap(convertSet(list, WmsShipmentOrderDetailDO::getSkuId)); |
| 202 | 190 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 203 | 191 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 204 | 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 | 194 | return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { |
| 210 | 195 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -213,7 +198,6 @@ public class WmsShipmentOrderController { |
| 213 | 198 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 214 | 199 | }); |
| 215 | 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 | 7 | import cn.iocoder.yudao.module.wms.controller.admin.order.shipment.vo.detail.WmsShipmentOrderDetailRespVO; |
| 8 | 8 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; |
| 9 | 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 | 10 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 12 | 11 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; |
| 13 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 14 | 12 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService; |
| 15 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 14 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 15 | import cn.iocoder.yudao.module.wms.service.order.shipment.WmsShipmentOrderDetailService; |
| 19 | 16 | import io.swagger.v3.oas.annotations.Operation; |
| ... | ... | @@ -48,11 +45,6 @@ public class WmsShipmentOrderDetailController { |
| 48 | 45 | private WmsItemSkuService itemSkuService; |
| 49 | 46 | @Resource |
| 50 | 47 | private WmsWarehouseService warehouseService; |
| 51 | - @Resource | |
| 52 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 53 | - | |
| 54 | - @Resource | |
| 55 | - private WmsProperties wmsProperties; | |
| 56 | 48 | |
| 57 | 49 | @GetMapping("/list-by-order-id") |
| 58 | 50 | @Operation(summary = "获得出库单明细列表") |
| ... | ... | @@ -75,9 +67,6 @@ public class WmsShipmentOrderDetailController { |
| 75 | 67 | Map<Long, WmsItemDO> itemMap = itemService.getItemMap(convertSet(skuMap.values(), WmsItemSkuDO::getItemId)); |
| 76 | 68 | Map<Long, WmsWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| 77 | 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 | 71 | return BeanUtils.toBean(list, WmsShipmentOrderDetailRespVO.class, vo -> { |
| 83 | 72 | MapUtils.findAndThen(skuMap, vo.getSkuId(), sku -> { |
| ... | ... | @@ -86,7 +75,6 @@ public class WmsShipmentOrderDetailController { |
| 86 | 75 | .setItemName(item.getName()).setUnit(item.getUnit())); |
| 87 | 76 | }); |
| 88 | 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 | 43 | @Schema(description = "仓库名称", example = "北京仓") |
| 44 | 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 | 46 | @Schema(description = "批号", example = "B202605110001") |
| 53 | 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 | 20 | @NotNull(message = "SKU 不能为空") |
| 21 | 21 | private Long skuId; |
| 22 | 22 | |
| 23 | - @Schema(description = "库区编号", example = "1024") | |
| 24 | - private Long areaId; | |
| 25 | - | |
| 26 | 23 | @Schema(description = "批号", example = "B202605110001") |
| 27 | 24 | @Size(max = 64, message = "批号长度不能超过 64 个字符") |
| 28 | 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 | 56 | @ExcelProperty("仓库") |
| 57 | 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 | 59 | @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 66 | 60 | @ExcelProperty("出库数量") |
| 67 | 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 | 45 | @NotNull(message = "仓库不能为空") |
| 46 | 46 | private Long warehouseId; |
| 47 | 47 | |
| 48 | - @Schema(description = "库区编号", example = "1024") | |
| 49 | - private Long areaId; | |
| 50 | - | |
| 51 | 48 | @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00") |
| 52 | 49 | @NotNull(message = "出库数量不能为空") |
| 53 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -44,12 +43,6 @@ public class WmsInventoryDO extends BaseDO { |
| 44 | 43 | */ |
| 45 | 44 | private Long warehouseId; |
| 46 | 45 | /** |
| 47 | - * 库区编号 | |
| 48 | - * | |
| 49 | - * 关联 {@link WmsWarehouseAreaDO#getId()} | |
| 50 | - */ | |
| 51 | - private Long areaId; | |
| 52 | - /** | |
| 53 | 46 | * 库存数量 |
| 54 | 47 | */ |
| 55 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| ... | ... | @@ -43,12 +42,6 @@ public class WmsInventoryHistoryDO extends BaseDO { |
| 43 | 42 | */ |
| 44 | 43 | private Long warehouseId; |
| 45 | 44 | /** |
| 46 | - * 库区编号 | |
| 47 | - * | |
| 48 | - * 关联 {@link WmsWarehouseAreaDO#getId()} | |
| 49 | - */ | |
| 50 | - private Long areaId; | |
| 51 | - /** | |
| 52 | 45 | * 商品 SKU 编号 |
| 53 | 46 | * |
| 54 | 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 | 1 | package cn.iocoder.yudao.module.wms.dal.dataobject.order.check; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; | |
| 5 | 4 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 6 | 5 | import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| ... | ... | @@ -46,7 +45,7 @@ public class WmsCheckOrderDO extends BaseDO { |
| 46 | 45 | */ |
| 47 | 46 | private String remark; |
| 48 | 47 | |
| 49 | - // ========= 仓库库区字段 ========= | |
| 48 | + // ========= 仓库字段 ========= | |
| 50 | 49 | |
| 51 | 50 | /** |
| 52 | 51 | * 仓库编号 |
| ... | ... | @@ -54,12 +53,6 @@ public class WmsCheckOrderDO extends BaseDO { |
| 54 | 53 | * 关联 {@link WmsWarehouseDO#getId()} |
| 55 | 54 | */ |
| 56 | 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 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 4 | import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO; |
| 5 | 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 | 6 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | 8 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -53,7 +52,7 @@ public class WmsCheckOrderDetailDO extends BaseDO { |
| 53 | 52 | */ |
| 54 | 53 | private Long skuId; |
| 55 | 54 | |
| 56 | - // ========= 仓库库区字段 ========= | |
| 55 | + // ========= 仓库字段 ========= | |
| 57 | 56 | |
| 58 | 57 | /** |
| 59 | 58 | * 仓库编号 |
| ... | ... | @@ -62,12 +61,6 @@ public class WmsCheckOrderDetailDO extends BaseDO { |
| 62 | 61 | */ |
| 63 | 62 | private Long warehouseId; |
| 64 | 63 | /** |
| 65 | - * 库区编号 | |
| 66 | - * | |
| 67 | - * 关联 {@link WmsWarehouseAreaDO#getId()} | |
| 68 | - */ | |
| 69 | - private Long areaId; | |
| 70 | - /** | |
| 71 | 64 | * 库存编号 |
| 72 | 65 | * |
| 73 | 66 | * 关联 {@link WmsInventoryDO#getId()} | ... | ... |
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/dataobject/order/movement/WmsMovementOrderDO.java
| 1 | 1 | package cn.iocoder.yudao.module.wms.dal.dataobject.order.movement; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseAreaDO; | |
| 5 | 4 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 6 | 5 | import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| ... | ... | @@ -46,7 +45,7 @@ public class WmsMovementOrderDO extends BaseDO { |
| 46 | 45 | */ |
| 47 | 46 | private String remark; |
| 48 | 47 | |
| 49 | - // ========= 来源仓库库区字段 ========= | |
| 48 | + // ========= 来源仓库字段 ========= | |
| 50 | 49 | |
| 51 | 50 | /** |
| 52 | 51 | * 来源仓库编号 |
| ... | ... | @@ -54,14 +53,8 @@ public class WmsMovementOrderDO extends BaseDO { |
| 54 | 53 | * 关联 {@link WmsWarehouseDO#getId()} |
| 55 | 54 | */ |
| 56 | 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 | 62 | * 关联 {@link WmsWarehouseDO#getId()} |
| 70 | 63 | */ |
| 71 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -52,7 +51,7 @@ public class WmsMovementOrderDetailDO extends BaseDO { |
| 52 | 51 | */ |
| 53 | 52 | private Long skuId; |
| 54 | 53 | |
| 55 | - // ========= 来源仓库库区字段 ========= | |
| 54 | + // ========= 来源仓库字段 ========= | |
| 56 | 55 | |
| 57 | 56 | /** |
| 58 | 57 | * 来源仓库编号 |
| ... | ... | @@ -60,14 +59,8 @@ public class WmsMovementOrderDetailDO extends BaseDO { |
| 60 | 59 | * 关联 {@link WmsWarehouseDO#getId()} |
| 61 | 60 | */ |
| 62 | 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 | 68 | * 关联 {@link WmsWarehouseDO#getId()} |
| 76 | 69 | */ |
| 77 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; |
| 8 | 7 | import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; |
| ... | ... | @@ -65,7 +64,7 @@ public class WmsReceiptOrderDO extends BaseDO { |
| 65 | 64 | */ |
| 66 | 65 | private String remark; |
| 67 | 66 | |
| 68 | - // ========= 仓库库区字段 ========= | |
| 67 | + // ========= 仓库字段 ========= | |
| 69 | 68 | |
| 70 | 69 | /** |
| 71 | 70 | * 仓库编号 |
| ... | ... | @@ -73,12 +72,6 @@ public class WmsReceiptOrderDO extends BaseDO { |
| 73 | 72 | * 关联 {@link WmsWarehouseDO#getId()} |
| 74 | 73 | */ |
| 75 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -52,7 +51,7 @@ public class WmsReceiptOrderDetailDO extends BaseDO { |
| 52 | 51 | */ |
| 53 | 52 | private Long skuId; |
| 54 | 53 | |
| 55 | - // ========= 仓库库区字段 ========= | |
| 54 | + // ========= 仓库字段 ========= | |
| 56 | 55 | |
| 57 | 56 | /** |
| 58 | 57 | * 仓库编号 |
| ... | ... | @@ -60,12 +59,6 @@ public class WmsReceiptOrderDetailDO extends BaseDO { |
| 60 | 59 | * 关联 {@link WmsWarehouseDO#getId()} |
| 61 | 60 | */ |
| 62 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import cn.iocoder.yudao.module.wms.enums.DictTypeConstants; |
| 8 | 7 | import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; |
| ... | ... | @@ -65,7 +64,7 @@ public class WmsShipmentOrderDO extends BaseDO { |
| 65 | 64 | */ |
| 66 | 65 | private String remark; |
| 67 | 66 | |
| 68 | - // ========= 仓库库区字段 ========= | |
| 67 | + // ========= 仓库字段 ========= | |
| 69 | 68 | |
| 70 | 69 | /** |
| 71 | 70 | * 仓库编号 |
| ... | ... | @@ -73,12 +72,6 @@ public class WmsShipmentOrderDO extends BaseDO { |
| 73 | 72 | * 关联 {@link WmsWarehouseDO#getId()} |
| 74 | 73 | */ |
| 75 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 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 | 5 | import cn.iocoder.yudao.module.wms.dal.dataobject.md.warehouse.WmsWarehouseDO; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| ... | ... | @@ -52,7 +51,7 @@ public class WmsShipmentOrderDetailDO extends BaseDO { |
| 52 | 51 | */ |
| 53 | 52 | private Long skuId; |
| 54 | 53 | |
| 55 | - // ========= 仓库库区字段 ========= | |
| 54 | + // ========= 仓库字段 ========= | |
| 56 | 55 | |
| 57 | 56 | /** |
| 58 | 57 | * 仓库编号 |
| ... | ... | @@ -60,12 +59,6 @@ public class WmsShipmentOrderDetailDO extends BaseDO { |
| 60 | 59 | * 关联 {@link WmsWarehouseDO#getId()} |
| 61 | 60 | */ |
| 62 | 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 | 28 | .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) |
| 29 | 29 | .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) |
| 30 | 30 | .eqIfPresent(WmsInventoryHistoryDO::getWarehouseId, reqVO.getWarehouseId()) |
| 31 | - .eqIfPresent(WmsInventoryHistoryDO::getAreaId, reqVO.getAreaId()) | |
| 32 | 31 | .eqIfPresent(WmsInventoryHistoryDO::getOrderNo, reqVO.getOrderNo()) |
| 33 | 32 | .eqIfPresent(WmsInventoryHistoryDO::getOrderType, reqVO.getOrderType()) |
| 34 | 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 | 35 | .likeIfPresent(WmsItemSkuDO::getCode, reqVO.getSkuCode()) |
| 36 | 36 | .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) |
| 37 | 37 | .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId()) |
| 38 | - .eqIfPresent(WmsInventoryDO::getAreaId, reqVO.getAreaId()) | |
| 39 | 38 | .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity()); |
| 40 | 39 | appendDimensionOrder(query, reqVO.getType()); |
| 41 | 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 | 43 | default Long selectCountBySkuId(Long skuId) { |
| 69 | 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 | 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 | 56 | * @return 库存列表 |
| 83 | 57 | */ |
| 84 | 58 | default List<WmsInventoryDO> selectListByKeys(Collection<WmsInventoryDO> keys) { |
| ... | ... | @@ -93,8 +67,7 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { |
| 93 | 67 | query.or(); |
| 94 | 68 | } |
| 95 | 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 | 71 | first = false; |
| 99 | 72 | } |
| 100 | 73 | })); |
| ... | ... | @@ -122,15 +95,6 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { |
| 122 | 95 | query.orderByAsc(WmsItemSkuDO::getItemId) |
| 123 | 96 | .orderByAsc(WmsInventoryDO::getSkuId) |
| 124 | 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 | 98 | .orderByAsc(WmsInventoryDO::getId); |
| 135 | 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 | 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 | 20 | .likeIfPresent(WmsCheckOrderDO::getNo, reqVO.getNo()) |
| 21 | 21 | .eqIfPresent(WmsCheckOrderDO::getStatus, reqVO.getStatus()) |
| 22 | 22 | .eqIfPresent(WmsCheckOrderDO::getWarehouseId, reqVO.getWarehouseId()) |
| 23 | - .eqIfPresent(WmsCheckOrderDO::getAreaId, reqVO.getAreaId()) | |
| 24 | 23 | .betweenIfPresent(WmsCheckOrderDO::getCreateTime, reqVO.getOrderDate()) |
| 25 | 24 | .geIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMin()) |
| 26 | 25 | .leIfPresent(WmsCheckOrderDO::getTotalQuantity, reqVO.getTotalQuantityMax()) |
| ... | ... | @@ -41,8 +40,4 @@ public interface WmsCheckOrderMapper extends BaseMapperX<WmsCheckOrderDO> { |
| 41 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 9 | */ |
| 10 | 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 | 12 | // ========== WMS 基础数据-仓库 1-060-100-000 ========== |
| 16 | 13 | ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_060_100_000, "仓库不存在"); |
| 17 | 14 | ErrorCode WAREHOUSE_NAME_DUPLICATE = new ErrorCode(1_060_100_001, "仓库名称重复"); |
| 18 | 15 | ErrorCode WAREHOUSE_CODE_DUPLICATE = new ErrorCode(1_060_100_002, "仓库编号重复"); |
| 19 | - ErrorCode WAREHOUSE_HAS_AREA = new ErrorCode(1_060_100_003, "删除失败!请先删除该仓库下的库区!"); | |
| 20 | 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 | 18 | // ========== WMS 基础数据-商品分类 1-060-102-000 ========== |
| 30 | 19 | ErrorCode ITEM_CATEGORY_NOT_EXISTS = new ErrorCode(1_060_102_000, "商品分类不存在"); |
| 31 | 20 | ErrorCode ITEM_CATEGORY_NAME_DUPLICATE = new ErrorCode(1_060_102_001, "商品分类名称重复"); |
| ... | ... | @@ -59,7 +48,6 @@ public interface ErrorCodeConstants { |
| 59 | 48 | ErrorCode RECEIPT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_200_001, "入库单号重复"); |
| 60 | 49 | ErrorCode RECEIPT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_200_002, "入库单状态不是草稿,不能操作"); |
| 61 | 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 | 51 | ErrorCode RECEIPT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_200_005, "入库单状态不是草稿或已作废,不能删除"); |
| 64 | 52 | ErrorCode RECEIPT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_200_007, "入库单明细不存在"); |
| 65 | 53 | |
| ... | ... | @@ -68,7 +56,6 @@ public interface ErrorCodeConstants { |
| 68 | 56 | ErrorCode SHIPMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_201_001, "出库单号重复"); |
| 69 | 57 | ErrorCode SHIPMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_201_002, "出库单状态不是草稿,不能操作"); |
| 70 | 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 | 59 | ErrorCode SHIPMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_201_005, "出库单状态不是草稿或已作废,不能删除"); |
| 73 | 60 | ErrorCode SHIPMENT_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_201_007, "出库单明细不存在"); |
| 74 | 61 | |
| ... | ... | @@ -77,22 +64,20 @@ public interface ErrorCodeConstants { |
| 77 | 64 | ErrorCode MOVEMENT_ORDER_NO_DUPLICATE = new ErrorCode(1_060_202_001, "移库单号重复"); |
| 78 | 65 | ErrorCode MOVEMENT_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_202_002, "移库单状态不是草稿,不能操作"); |
| 79 | 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 | 67 | ErrorCode MOVEMENT_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_202_005, "移库单状态不是草稿或已作废,不能删除"); |
| 82 | 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 | 71 | // ========== WMS 盘库单 1-060-203-000 ========== |
| 86 | 72 | ErrorCode CHECK_ORDER_NOT_EXISTS = new ErrorCode(1_060_203_000, "盘库单不存在"); |
| 87 | 73 | ErrorCode CHECK_ORDER_NO_DUPLICATE = new ErrorCode(1_060_203_001, "盘库单号重复"); |
| 88 | 74 | ErrorCode CHECK_ORDER_STATUS_NOT_PREPARE = new ErrorCode(1_060_203_002, "盘库单状态不是草稿,不能操作"); |
| 89 | 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 | 76 | ErrorCode CHECK_ORDER_STATUS_NOT_DELETABLE = new ErrorCode(1_060_203_005, "盘库单状态不是草稿或已作废,不能删除"); |
| 92 | 77 | ErrorCode CHECK_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_060_203_006, "盘库单明细不存在"); |
| 93 | 78 | |
| 94 | 79 | // ========== WMS 库存 1-060-300-000 ========== |
| 95 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.lang.Tuple; |
| 5 | 5 | import cn.hutool.core.util.ObjectUtil; |
| 6 | -import cn.hutool.core.util.StrUtil; | |
| 7 | 6 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 8 | 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 8 | import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO; |
| ... | ... | @@ -56,9 +55,6 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 56 | 55 | |
| 57 | 56 | @Override |
| 58 | 57 | public PageResult<WmsInventoryDO> getInventoryPage(WmsInventoryPageReqVO pageReqVO) { |
| 59 | - if (StrUtil.equals(WmsInventoryPageReqVO.TYPE_WAREHOUSE, pageReqVO.getType())) { | |
| 60 | - return inventoryMapper.selectPageGroupByWarehouse(pageReqVO); | |
| 61 | - } | |
| 62 | 58 | return inventoryMapper.selectPage(pageReqVO); |
| 63 | 59 | } |
| 64 | 60 | |
| ... | ... | @@ -106,7 +102,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 106 | 102 | WmsInventoryDO inventory = findInventory(inventories, item); |
| 107 | 103 | if (inventory == null) { |
| 108 | 104 | throw new IllegalStateException("库存行不存在,skuId=" + item.getSkuId() |
| 109 | - + ", warehouseId=" + item.getWarehouseId() + ", areaId=" + item.getAreaId()); | |
| 105 | + + ", warehouseId=" + item.getWarehouseId()); | |
| 110 | 106 | } |
| 111 | 107 | BigDecimal beforeQuantity = inventory.getQuantity(); |
| 112 | 108 | BigDecimal afterQuantity = beforeQuantity.add(item.getQuantity()); |
| ... | ... | @@ -130,7 +126,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 130 | 126 | for (WmsInventoryChangeReqDTO.Item item : items) { |
| 131 | 127 | if (findInventory(inventoryKeyList, item) == null) { |
| 132 | 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 | 152 | // 优先批量插入缺失库存行;并发唯一键冲突时,再逐个插入并回查冲突行。 |
| 157 | 153 | List<WmsInventoryDO> newInventoryList = convertList(missingInventoryList, missingInventory -> |
| 158 | 154 | new WmsInventoryDO().setSkuId(missingInventory.getSkuId()).setWarehouseId(missingInventory.getWarehouseId()) |
| 159 | - .setAreaId(missingInventory.getAreaId()).setQuantity(BigDecimal.ZERO)); | |
| 155 | + .setQuantity(BigDecimal.ZERO)); | |
| 160 | 156 | try { |
| 161 | 157 | inventoryMapper.insertBatch(newInventoryList); |
| 162 | 158 | return newInventoryList; |
| ... | ... | @@ -170,13 +166,13 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 170 | 166 | List<WmsInventoryDO> resultList = new ArrayList<>(missingInventoryList.size()); |
| 171 | 167 | for (WmsInventoryDO missingInventory : missingInventoryList) { |
| 172 | 168 | WmsInventoryDO inventory = new WmsInventoryDO().setSkuId(missingInventory.getSkuId()) |
| 173 | - .setWarehouseId(missingInventory.getWarehouseId()).setAreaId(missingInventory.getAreaId()) | |
| 169 | + .setWarehouseId(missingInventory.getWarehouseId()) | |
| 174 | 170 | .setQuantity(BigDecimal.ZERO); |
| 175 | 171 | try { |
| 176 | 172 | inventoryMapper.insert(inventory); |
| 177 | 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 | 176 | log.warn("[createMissingInventoryList][missingInventory({}) 插入库存行冲突,回查已有库存行]", missingInventory, ex); |
| 181 | 177 | if (inventory == null) { |
| 182 | 178 | throw ex; |
| ... | ... | @@ -191,7 +187,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 191 | 187 | WmsInventoryChangeReqDTO.Item item, |
| 192 | 188 | Tuple result) { |
| 193 | 189 | return new WmsInventoryHistoryDO() |
| 194 | - .setWarehouseId(item.getWarehouseId()).setAreaId(item.getAreaId()).setSkuId(item.getSkuId()) | |
| 190 | + .setWarehouseId(item.getWarehouseId()).setSkuId(item.getSkuId()) | |
| 195 | 191 | .setQuantity(item.getQuantity()).setBeforeQuantity(result.get(0)).setAfterQuantity(result.get(1)) |
| 196 | 192 | .setBatchNo(item.getBatchNo()).setProductionDate(item.getProductionDate()) |
| 197 | 193 | .setExpirationDate(item.getExpirationDate()) |
| ... | ... | @@ -209,14 +205,12 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 209 | 205 | |
| 210 | 206 | private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryChangeReqDTO.Item item) { |
| 211 | 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 | 211 | private static boolean isSameInventory(WmsInventoryDO inventory, WmsInventoryDO key) { |
| 217 | 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 | 216 | private ServiceException buildInventoryQuantityNotEnoughException(WmsInventoryChangeReqDTO.Item item, |
| ... | ... | @@ -224,7 +218,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService { |
| 224 | 218 | WmsItemSkuDO skuDO = itemSkuService.validateItemSkuExists(item.getSkuId()); |
| 225 | 219 | WmsItemDO itemDO = itemService.validateItemExists(skuDO.getItemId()); |
| 226 | 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
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 | 8 | import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehousePageReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.wms.controller.admin.md.warehouse.vo.WmsWarehouseSaveReqVO; |
| 10 | 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 | 11 | import cn.iocoder.yudao.module.wms.dal.mysql.md.warehouse.WmsWarehouseMapper; |
| 13 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 14 | 12 | import cn.iocoder.yudao.module.wms.service.order.check.WmsCheckOrderService; |
| 15 | 13 | import cn.iocoder.yudao.module.wms.service.order.movement.WmsMovementOrderService; |
| 16 | 14 | import cn.iocoder.yudao.module.wms.service.order.receipt.WmsReceiptOrderService; |
| ... | ... | @@ -40,10 +38,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { |
| 40 | 38 | @Resource |
| 41 | 39 | private WmsWarehouseMapper warehouseMapper; |
| 42 | 40 | @Resource |
| 43 | - private WmsWarehouseAreaMapper warehouseAreaMapper; | |
| 44 | - @Resource | |
| 45 | - private WmsProperties wmsProperties; | |
| 46 | - @Resource | |
| 47 | 41 | @Lazy // 延迟加载,避免循环依赖 |
| 48 | 42 | private WmsReceiptOrderService receiptOrderService; |
| 49 | 43 | @Resource |
| ... | ... | @@ -113,10 +107,6 @@ public class WmsWarehouseServiceImpl implements WmsWarehouseService { |
| 113 | 107 | validateWarehouseExists(id); |
| 114 | 108 | // 校验未被单据使用 |
| 115 | 109 | validateWarehouseUnused(id); |
| 116 | - // 库区模式下,存在库区时不允许删除仓库 | |
| 117 | - if (wmsProperties.isAreaEnabled() && warehouseAreaMapper.selectCountByWarehouseId(id) > 0) { | |
| 118 | - throw exception(WAREHOUSE_HAS_AREA); | |
| 119 | - } | |
| 120 | 110 | |
| 121 | 111 | // 删除 |
| 122 | 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 | 68 | */ |
| 69 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.collection.ListUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 7 | 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 | 7 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.check.WmsCheckOrderDetailDO; |
| 10 | 8 | import cn.iocoder.yudao.module.wms.dal.mysql.order.check.WmsCheckOrderDetailMapper; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 9 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 13 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 14 | 10 | import jakarta.annotation.Resource; |
| 15 | 11 | import org.springframework.stereotype.Service; |
| 16 | 12 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -37,10 +33,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic |
| 37 | 33 | private WmsCheckOrderDetailMapper checkOrderDetailMapper; |
| 38 | 34 | @Resource |
| 39 | 35 | private WmsItemSkuService itemSkuService; |
| 40 | - @Resource | |
| 41 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 42 | - @Resource | |
| 43 | - private WmsProperties wmsProperties; | |
| 44 | 36 | |
| 45 | 37 | @Override |
| 46 | 38 | @Transactional(rollbackFor = Exception.class) |
| ... | ... | @@ -104,10 +96,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic |
| 104 | 96 | if (CollUtil.isEmpty(details)) { |
| 105 | 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 | 99 | return details; |
| 112 | 100 | } |
| 113 | 101 | |
| ... | ... | @@ -116,11 +104,6 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic |
| 116 | 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 | 107 | private List<WmsCheckOrderDetailDO> buildCheckOrderDetailList(WmsCheckOrderSaveReqVO reqVO) { |
| 125 | 108 | if (CollUtil.isEmpty(reqVO.getDetails())) { |
| 126 | 109 | return ListUtil.of(); |
| ... | ... | @@ -128,12 +111,8 @@ public class WmsCheckOrderDetailServiceImpl implements WmsCheckOrderDetailServic |
| 128 | 111 | return convertList(reqVO.getDetails(), detail -> { |
| 129 | 112 | // 校验 SKU 存在 |
| 130 | 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 | 73 | */ |
| 74 | 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 | 12 | import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; |
| 13 | 13 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; |
| 14 | 14 | import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; |
| 15 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 16 | 15 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 17 | 16 | import jakarta.annotation.Resource; |
| 18 | 17 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -42,8 +41,6 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { |
| 42 | 41 | @Resource |
| 43 | 42 | private WmsWarehouseService warehouseService; |
| 44 | 43 | @Resource |
| 45 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 46 | - @Resource | |
| 47 | 44 | private WmsInventoryService inventoryService; |
| 48 | 45 | |
| 49 | 46 | @Override |
| ... | ... | @@ -134,18 +131,11 @@ public class WmsCheckOrderServiceImpl implements WmsCheckOrderService { |
| 134 | 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 | 134 | private void validateCheckOrderSaveData(WmsCheckOrderSaveReqVO reqVO) { |
| 143 | 135 | // 校验盘库单号唯一 |
| 144 | 136 | validateCheckOrderNoUnique(reqVO.getId(), reqVO.getNo()); |
| 145 | - // 校验仓库、库区存在 | |
| 137 | + // 校验仓库存在 | |
| 146 | 138 | warehouseService.validateWarehouseExists(reqVO.getWarehouseId()); |
| 147 | - reqVO.setAreaId(warehouseAreaService.validateAndNormalizeWarehouseAreaId(reqVO.getAreaId(), | |
| 148 | - reqVO.getWarehouseId())); | |
| 149 | 139 | } |
| 150 | 140 | |
| 151 | 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 | 68 | */ |
| 69 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.collection.ListUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 7 | 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 | 7 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.movement.WmsMovementOrderDetailDO; |
| 10 | 8 | import cn.iocoder.yudao.module.wms.dal.mysql.order.movement.WmsMovementOrderDetailMapper; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 9 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 13 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 14 | 10 | import jakarta.annotation.Resource; |
| 15 | 11 | import org.springframework.stereotype.Service; |
| 16 | 12 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -37,10 +33,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail |
| 37 | 33 | private WmsMovementOrderDetailMapper movementOrderDetailMapper; |
| 38 | 34 | @Resource |
| 39 | 35 | private WmsItemSkuService itemSkuService; |
| 40 | - @Resource | |
| 41 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 42 | - @Resource | |
| 43 | - private WmsProperties wmsProperties; | |
| 44 | 36 | |
| 45 | 37 | @Override |
| 46 | 38 | @Transactional(rollbackFor = Exception.class) |
| ... | ... | @@ -104,11 +96,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail |
| 104 | 96 | if (CollUtil.isEmpty(details)) { |
| 105 | 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 | 99 | return details; |
| 113 | 100 | } |
| 114 | 101 | |
| ... | ... | @@ -117,11 +104,6 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail |
| 117 | 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 | 107 | private List<WmsMovementOrderDetailDO> buildMovementOrderDetailList(WmsMovementOrderSaveReqVO reqVO) { |
| 126 | 108 | if (CollUtil.isEmpty(reqVO.getDetails())) { |
| 127 | 109 | return ListUtil.of(); |
| ... | ... | @@ -129,17 +111,10 @@ public class WmsMovementOrderDetailServiceImpl implements WmsMovementOrderDetail |
| 129 | 111 | return convertList(reqVO.getDetails(), detail -> { |
| 130 | 112 | // 校验 SKU 存在 |
| 131 | 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 | 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 | 73 | */ |
| 74 | 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 | 12 | import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; |
| 13 | 13 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; |
| 14 | 14 | import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; |
| 15 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 16 | 15 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 17 | 16 | import jakarta.annotation.Resource; |
| 18 | 17 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -41,8 +40,6 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { |
| 41 | 40 | @Resource |
| 42 | 41 | private WmsWarehouseService warehouseService; |
| 43 | 42 | @Resource |
| 44 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 45 | - @Resource | |
| 46 | 43 | private WmsInventoryService inventoryService; |
| 47 | 44 | |
| 48 | 45 | @Override |
| ... | ... | @@ -133,25 +130,15 @@ public class WmsMovementOrderServiceImpl implements WmsMovementOrderService { |
| 133 | 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 | 133 | private void validateMovementOrderSaveData(WmsMovementOrderSaveReqVO reqVO) { |
| 142 | 134 | // 校验移库单号唯一 |
| 143 | 135 | validateMovementOrderNoUnique(reqVO.getId(), reqVO.getNo()); |
| 144 | - // 校验仓库、库区存在 | |
| 136 | + // 校验仓库存在 | |
| 145 | 137 | warehouseService.validateWarehouseExists(reqVO.getSourceWarehouseId()); |
| 146 | 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 | 186 | List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(details.size() * 2); |
| 200 | 187 | for (WmsMovementOrderDetailDO detail : details) { |
| 201 | 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 | 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 | 193 | inventoryService.changeInventory(new WmsInventoryChangeReqDTO() |
| 209 | 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 | 68 | */ |
| 69 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.collection.ListUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 7 | 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 | 7 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; |
| 10 | 8 | import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 9 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 13 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 14 | 10 | import jakarta.annotation.Resource; |
| 15 | 11 | import org.springframework.stereotype.Service; |
| 16 | 12 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -37,10 +33,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe |
| 37 | 33 | private WmsReceiptOrderDetailMapper receiptOrderDetailMapper; |
| 38 | 34 | @Resource |
| 39 | 35 | private WmsItemSkuService itemSkuService; |
| 40 | - @Resource | |
| 41 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 42 | - @Resource | |
| 43 | - private WmsProperties wmsProperties; | |
| 44 | 36 | |
| 45 | 37 | @Override |
| 46 | 38 | @Transactional(rollbackFor = Exception.class) |
| ... | ... | @@ -104,10 +96,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe |
| 104 | 96 | if (CollUtil.isEmpty(details)) { |
| 105 | 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 | 99 | return details; |
| 112 | 100 | } |
| 113 | 101 | |
| ... | ... | @@ -116,11 +104,6 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe |
| 116 | 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 | 107 | private List<WmsReceiptOrderDetailDO> buildReceiptOrderDetailList(WmsReceiptOrderSaveReqVO reqVO) { |
| 125 | 108 | if (CollUtil.isEmpty(reqVO.getDetails())) { |
| 126 | 109 | return ListUtil.of(); |
| ... | ... | @@ -128,12 +111,8 @@ public class WmsReceiptOrderDetailServiceImpl implements WmsReceiptOrderDetailSe |
| 128 | 111 | return convertList(reqVO.getDetails(), detail -> { |
| 129 | 112 | // 校验 SKU 存在 |
| 130 | 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 | 81 | */ |
| 82 | 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 | 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 | 141 | private void validateReceiptOrderSaveData(WmsReceiptOrderSaveReqVO reqVO) { |
| 147 | 142 | // 校验入库单号唯一 |
| 148 | 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 | 68 | */ |
| 69 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.collection.ListUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 7 | 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 | 7 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.shipment.WmsShipmentOrderDetailDO; |
| 10 | 8 | import cn.iocoder.yudao.module.wms.dal.mysql.order.shipment.WmsShipmentOrderDetailMapper; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 9 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 13 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 14 | 10 | import jakarta.annotation.Resource; |
| 15 | 11 | import org.springframework.stereotype.Service; |
| 16 | 12 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -37,10 +33,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail |
| 37 | 33 | private WmsShipmentOrderDetailMapper shipmentOrderDetailMapper; |
| 38 | 34 | @Resource |
| 39 | 35 | private WmsItemSkuService itemSkuService; |
| 40 | - @Resource | |
| 41 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 42 | - @Resource | |
| 43 | - private WmsProperties wmsProperties; | |
| 44 | 36 | |
| 45 | 37 | @Override |
| 46 | 38 | @Transactional(rollbackFor = Exception.class) |
| ... | ... | @@ -104,10 +96,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail |
| 104 | 96 | if (CollUtil.isEmpty(details)) { |
| 105 | 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 | 99 | return details; |
| 112 | 100 | } |
| 113 | 101 | |
| ... | ... | @@ -116,11 +104,6 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail |
| 116 | 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 | 107 | private List<WmsShipmentOrderDetailDO> buildShipmentOrderDetailList(WmsShipmentOrderSaveReqVO reqVO) { |
| 125 | 108 | if (CollUtil.isEmpty(reqVO.getDetails())) { |
| 126 | 109 | return ListUtil.of(); |
| ... | ... | @@ -128,12 +111,8 @@ public class WmsShipmentOrderDetailServiceImpl implements WmsShipmentOrderDetail |
| 128 | 111 | return convertList(reqVO.getDetails(), detail -> { |
| 129 | 112 | // 校验 SKU 存在 |
| 130 | 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 | 81 | */ |
| 82 | 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 | 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 | 142 | private void validateShipmentOrderSaveData(WmsShipmentOrderSaveReqVO reqVO) { |
| 148 | 143 | // 校验出库单号唯一 |
| 149 | 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 | 57 | // mock 数据 |
| 58 | 58 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 59 | 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 | 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 | 67 | assertNotNull(inventory); |
| 68 | 68 | assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); |
| 69 | 69 | // 断言:库存流水 |
| ... | ... | @@ -72,7 +72,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 72 | 72 | WmsInventoryHistoryDO history = histories.get(0); |
| 73 | 73 | assertEquals(sku.getId(), history.getSkuId()); |
| 74 | 74 | assertEquals(100L, history.getWarehouseId()); |
| 75 | - assertEquals(1001L, history.getAreaId()); | |
| 76 | 75 | assertEquals(0, BigDecimal.ZERO.compareTo(history.getBeforeQuantity())); |
| 77 | 76 | assertEquals(0, new BigDecimal("5.00").compareTo(history.getAfterQuantity())); |
| 78 | 77 | assertEquals(reqDTO.getOrderId(), history.getOrderId()); |
| ... | ... | @@ -85,14 +84,14 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 85 | 84 | // mock 数据 |
| 86 | 85 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 87 | 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 | 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 | 95 | assertNotNull(inventory); |
| 97 | 96 | assertEquals(0, new BigDecimal("5.00").compareTo(inventory.getQuantity())); |
| 98 | 97 | // 断言:库存流水 |
| ... | ... | @@ -109,12 +108,11 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 109 | 108 | // mock 数据 |
| 110 | 109 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 111 | 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 | 112 | List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); |
| 114 | 113 | items.add(new WmsInventoryChangeReqDTO.Item() |
| 115 | 114 | .setSkuId(sku.getId()) |
| 116 | 115 | .setWarehouseId(100L) |
| 117 | - .setAreaId(1001L) | |
| 118 | 116 | .setQuantity(new BigDecimal("7.00")) |
| 119 | 117 | .setAmount(new BigDecimal("140.00")) |
| 120 | 118 | .setRemark("测试入库 2")); |
| ... | ... | @@ -124,7 +122,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 124 | 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 | 126 | assertNotNull(inventory); |
| 129 | 127 | assertEquals(0, new BigDecimal("12.00").compareTo(inventory.getQuantity())); |
| 130 | 128 | // 断言:库存流水保持用户明细颗粒度 |
| ... | ... | @@ -144,13 +142,12 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 144 | 142 | // mock 数据 |
| 145 | 143 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 146 | 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 | 147 | List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); |
| 150 | 148 | items.add(new WmsInventoryChangeReqDTO.Item() |
| 151 | 149 | .setSkuId(sku.getId()) |
| 152 | 150 | .setWarehouseId(100L) |
| 153 | - .setAreaId(1001L) | |
| 154 | 151 | .setQuantity(new BigDecimal("4.00")) |
| 155 | 152 | .setAmount(new BigDecimal("80.00")) |
| 156 | 153 | .setRemark("测试入库 2")); |
| ... | ... | @@ -160,7 +157,7 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 160 | 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 | 161 | assertNotNull(inventory); |
| 165 | 162 | assertEquals(0, new BigDecimal("9.00").compareTo(inventory.getQuantity())); |
| 166 | 163 | // 断言:库存流水保持用户明细颗粒度 |
| ... | ... | @@ -180,19 +177,17 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 180 | 177 | // mock 数据 |
| 181 | 178 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 182 | 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 | 181 | List<WmsInventoryChangeReqDTO.Item> items = new ArrayList<>(reqDTO.getItems()); |
| 185 | 182 | items.add(new WmsInventoryChangeReqDTO.Item() |
| 186 | 183 | .setSkuId(sku.getId()) |
| 187 | 184 | .setWarehouseId(200L) |
| 188 | - .setAreaId(2001L) | |
| 189 | 185 | .setQuantity(new BigDecimal("3.00")) |
| 190 | 186 | .setAmount(new BigDecimal("60.00")) |
| 191 | 187 | .setRemark("测试入库 2")); |
| 192 | 188 | items.add(new WmsInventoryChangeReqDTO.Item() |
| 193 | 189 | .setSkuId(sku.getId()) |
| 194 | 190 | .setWarehouseId(100L) |
| 195 | - .setAreaId(1001L) | |
| 196 | 191 | .setQuantity(new BigDecimal("-2.00")) |
| 197 | 192 | .setAmount(new BigDecimal("40.00")) |
| 198 | 193 | .setRemark("测试出库")); |
| ... | ... | @@ -202,10 +197,10 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 202 | 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 | 201 | assertNotNull(inventory1); |
| 207 | 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 | 204 | assertNotNull(inventory2); |
| 210 | 205 | assertEquals(0, new BigDecimal("3.00").compareTo(inventory2.getQuantity())); |
| 211 | 206 | // 断言:批量加锁后仍按明细颗粒度记录 before/after |
| ... | ... | @@ -228,13 +223,13 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 228 | 223 | // mock 数据 |
| 229 | 224 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 230 | 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 | 228 | mockItemSkuAndItem(item, sku); |
| 234 | 229 | |
| 235 | 230 | // 调用,并断言 |
| 236 | 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 | 235 | @Test |
| ... | ... | @@ -242,28 +237,26 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 242 | 237 | // mock 数据 |
| 243 | 238 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 244 | 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 | 241 | mockItemSkuAndItem(item, sku); |
| 247 | 242 | |
| 248 | 243 | // 调用,并断言 |
| 249 | 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 | 246 | assertEquals(0, inventoryMapper.selectCount()); |
| 252 | 247 | } |
| 253 | 248 | |
| 254 | 249 | @Test |
| 255 | - public void testGetInventoryPage_groupByWarehouse() { | |
| 250 | + public void testGetInventoryPage_filterByWarehouse() { | |
| 256 | 251 | // mock 数据 |
| 257 | 252 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 258 | 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 | 257 | WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); |
| 264 | 258 | reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); |
| 265 | 259 | reqVO.setWarehouseId(100L); |
| 266 | - reqVO.setAreaId(1001L); // 仓库维度不按库区过滤 | |
| 267 | 260 | |
| 268 | 261 | // 调用 |
| 269 | 262 | PageResult<WmsInventoryDO> pageResult = inventoryService.getInventoryPage(reqVO); |
| ... | ... | @@ -272,9 +265,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 272 | 265 | assertEquals(1, pageResult.getList().size()); |
| 273 | 266 | WmsInventoryDO inventory = pageResult.getList().get(0); |
| 274 | 267 | assertEquals(100L, inventory.getWarehouseId()); |
| 275 | - assertEquals(0L, inventory.getAreaId()); | |
| 276 | 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 | 272 | @Test |
| ... | ... | @@ -282,8 +274,8 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 282 | 274 | // mock 数据 |
| 283 | 275 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 284 | 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 | 280 | WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); |
| 289 | 281 | reqVO.setType(WmsInventoryPageReqVO.TYPE_WAREHOUSE); |
| ... | ... | @@ -292,27 +284,57 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 292 | 284 | // 调用 |
| 293 | 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 | 292 | @Test |
| 300 | - public void testGetInventoryPage_area() { | |
| 293 | + public void testGetInventoryPage_sku() { | |
| 301 | 294 | // mock 数据 |
| 302 | 295 | WmsItemDO item = createItem("ITEM-001", "红富士苹果"); |
| 303 | 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 | 301 | WmsInventoryPageReqVO reqVO = new WmsInventoryPageReqVO(); |
| 308 | - reqVO.setType(WmsInventoryPageReqVO.TYPE_AREA); | |
| 302 | + reqVO.setType(WmsInventoryPageReqVO.TYPE_ITEM); | |
| 309 | 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 | 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 | 340 | private WmsItemDO createItem(String code, String name) { |
| ... | ... | @@ -342,16 +364,15 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 342 | 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 | 368 | return WmsInventoryDO.builder() |
| 347 | 369 | .skuId(skuId) |
| 348 | 370 | .warehouseId(warehouseId) |
| 349 | - .areaId(areaId) | |
| 350 | 371 | .quantity(new BigDecimal(quantity)) |
| 351 | 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 | 376 | return new WmsInventoryChangeReqDTO() |
| 356 | 377 | .setOrderId(1L) |
| 357 | 378 | .setOrderNo("RK202605120001") |
| ... | ... | @@ -359,7 +380,6 @@ public class WmsInventoryServiceImplTest extends BaseDbUnitTest { |
| 359 | 380 | .setItems(Collections.singletonList(new WmsInventoryChangeReqDTO.Item() |
| 360 | 381 | .setSkuId(skuId) |
| 361 | 382 | .setWarehouseId(warehouseId) |
| 362 | - .setAreaId(areaId) | |
| 363 | 383 | .setQuantity(new BigDecimal(quantity)) |
| 364 | 384 | .setAmount(new BigDecimal("100.00")) |
| 365 | 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 | 3 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 4 | 4 | import cn.iocoder.yudao.module.wms.controller.admin.order.receipt.vo.detail.WmsReceiptOrderDetailSaveReqVO; |
| 5 | 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 | 6 | import cn.iocoder.yudao.module.wms.dal.dataobject.order.receipt.WmsReceiptOrderDetailDO; |
| 8 | 7 | import cn.iocoder.yudao.module.wms.dal.mysql.order.receipt.WmsReceiptOrderDetailMapper; |
| 9 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 10 | 8 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 11 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 12 | 9 | import jakarta.annotation.Resource; |
| 13 | -import org.junit.jupiter.api.BeforeEach; | |
| 14 | 10 | import org.junit.jupiter.api.Test; |
| 15 | 11 | import org.springframework.context.annotation.Import; |
| 16 | 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 | 20 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 25 | 21 | import static org.junit.jupiter.api.Assertions.assertNotNull; |
| 26 | 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 | 25 | public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { |
| 32 | 26 | |
| 33 | 27 | @Resource |
| ... | ... | @@ -38,14 +32,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { |
| 38 | 32 | |
| 39 | 33 | @MockitoBean |
| 40 | 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 | 36 | @Test |
| 51 | 37 | public void testCreateReceiptOrderDetailList_success() { |
| ... | ... | @@ -129,7 +115,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { |
| 129 | 115 | private static WmsReceiptOrderSaveReqVO createReceiptOrderReqVO(WmsReceiptOrderDetailSaveReqVO... details) { |
| 130 | 116 | WmsReceiptOrderSaveReqVO reqVO = new WmsReceiptOrderSaveReqVO(); |
| 131 | 117 | reqVO.setWarehouseId(100L); |
| 132 | - reqVO.setAreaId(0L); | |
| 133 | 118 | reqVO.setDetails(Arrays.asList(details)); |
| 134 | 119 | return reqVO; |
| 135 | 120 | } |
| ... | ... | @@ -138,7 +123,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { |
| 138 | 123 | WmsReceiptOrderDetailSaveReqVO reqVO = new WmsReceiptOrderDetailSaveReqVO(); |
| 139 | 124 | reqVO.setId(id); |
| 140 | 125 | reqVO.setSkuId(skuId); |
| 141 | - reqVO.setAreaId(0L); | |
| 142 | 126 | reqVO.setQuantity(new BigDecimal(quantity)); |
| 143 | 127 | reqVO.setAmount(new BigDecimal("100.00")); |
| 144 | 128 | return reqVO; |
| ... | ... | @@ -149,7 +133,6 @@ public class WmsReceiptOrderDetailServiceImplTest extends BaseDbUnitTest { |
| 149 | 133 | .orderId(orderId) |
| 150 | 134 | .skuId(skuId) |
| 151 | 135 | .warehouseId(100L) |
| 152 | - .areaId(0L) | |
| 153 | 136 | .quantity(new BigDecimal(quantity)) |
| 154 | 137 | .amount(new BigDecimal("100.00")) |
| 155 | 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 | 8 | import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; |
| 9 | 9 | import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; |
| 10 | 10 | import cn.iocoder.yudao.module.wms.enums.order.WmsReceiptOrderTypeEnum; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 11 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; |
| 13 | 12 | import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; |
| 14 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 15 | 14 | import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 15 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 16 | import jakarta.annotation.Resource; |
| 19 | 17 | import org.junit.jupiter.api.Test; |
| ... | ... | @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; |
| 24 | 22 | import java.math.BigDecimal; |
| 25 | 23 | |
| 26 | 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 | 25 | import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_DETAIL_REQUIRED; |
| 29 | 26 | import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.RECEIPT_ORDER_STATUS_NOT_DELETABLE; |
| 30 | 27 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| ... | ... | @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; |
| 34 | 31 | import static org.mockito.Mockito.never; |
| 35 | 32 | import static org.mockito.Mockito.verify; |
| 36 | 33 | |
| 37 | -@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class, WmsProperties.class}) | |
| 34 | +@Import({WmsReceiptOrderServiceImpl.class, WmsReceiptOrderDetailServiceImpl.class}) | |
| 38 | 35 | public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 39 | 36 | |
| 40 | 37 | @Resource |
| ... | ... | @@ -48,8 +45,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 48 | 45 | @MockitoBean |
| 49 | 46 | private WmsWarehouseService warehouseService; |
| 50 | 47 | @MockitoBean |
| 51 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 52 | - @MockitoBean | |
| 53 | 48 | private WmsMerchantService merchantService; |
| 54 | 49 | @MockitoBean |
| 55 | 50 | private WmsItemSkuService itemSkuService; |
| ... | ... | @@ -63,7 +58,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 63 | 58 | Long skuId = 200L; |
| 64 | 59 | WmsReceiptOrderDO order = createReceiptOrder(warehouseId); |
| 65 | 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 | 64 | receiptOrderService.completeReceiptOrder(order.getId()); |
| ... | ... | @@ -98,19 +93,6 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 98 | 93 | } |
| 99 | 94 | |
| 100 | 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 | 96 | public void testCancelReceiptOrder_success() { |
| 115 | 97 | // mock 数据 |
| 116 | 98 | WmsReceiptOrderDO order = createReceiptOrder(100L); |
| ... | ... | @@ -131,7 +113,7 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 131 | 113 | // mock 数据 |
| 132 | 114 | WmsReceiptOrderDO order = createReceiptOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); |
| 133 | 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 | 119 | receiptOrderService.deleteReceiptOrder(order.getId()); |
| ... | ... | @@ -158,18 +140,15 @@ public class WmsReceiptOrderServiceImplTest extends BaseDbUnitTest { |
| 158 | 140 | .setType(WmsReceiptOrderTypeEnum.PURCHASE.getType()) |
| 159 | 141 | .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) |
| 160 | 142 | .setWarehouseId(warehouseId) |
| 161 | - .setAreaId(0L) | |
| 162 | 143 | .setTotalQuantity(new BigDecimal("2.00")) |
| 163 | 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 | 148 | return WmsReceiptOrderDetailDO.builder() |
| 169 | 149 | .orderId(orderId) |
| 170 | 150 | .skuId(skuId) |
| 171 | 151 | .warehouseId(warehouseId) |
| 172 | - .areaId(areaId) | |
| 173 | 152 | .quantity(new BigDecimal("2.00")) |
| 174 | 153 | .amount(new BigDecimal("20.00")) |
| 175 | 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 | 8 | import cn.iocoder.yudao.module.wms.enums.inventory.WmsInventoryOrderTypeEnum; |
| 9 | 9 | import cn.iocoder.yudao.module.wms.enums.order.WmsOrderStatusEnum; |
| 10 | 10 | import cn.iocoder.yudao.module.wms.enums.order.WmsShipmentOrderTypeEnum; |
| 11 | -import cn.iocoder.yudao.module.wms.framework.config.WmsProperties; | |
| 12 | 11 | import cn.iocoder.yudao.module.wms.service.inventory.WmsInventoryService; |
| 13 | 12 | import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO; |
| 14 | 13 | import cn.iocoder.yudao.module.wms.service.md.item.WmsItemSkuService; |
| 15 | 14 | import cn.iocoder.yudao.module.wms.service.md.merchant.WmsMerchantService; |
| 16 | -import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseAreaService; | |
| 17 | 15 | import cn.iocoder.yudao.module.wms.service.md.warehouse.WmsWarehouseService; |
| 18 | 16 | import jakarta.annotation.Resource; |
| 19 | 17 | import org.junit.jupiter.api.Test; |
| ... | ... | @@ -24,7 +22,6 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; |
| 24 | 22 | import java.math.BigDecimal; |
| 25 | 23 | |
| 26 | 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 | 25 | import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_DETAIL_REQUIRED; |
| 29 | 26 | import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.SHIPMENT_ORDER_STATUS_NOT_DELETABLE; |
| 30 | 27 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| ... | ... | @@ -34,7 +31,7 @@ import static org.mockito.ArgumentMatchers.any; |
| 34 | 31 | import static org.mockito.Mockito.never; |
| 35 | 32 | import static org.mockito.Mockito.verify; |
| 36 | 33 | |
| 37 | -@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class, WmsProperties.class}) | |
| 34 | +@Import({WmsShipmentOrderServiceImpl.class, WmsShipmentOrderDetailServiceImpl.class}) | |
| 38 | 35 | public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 39 | 36 | |
| 40 | 37 | @Resource |
| ... | ... | @@ -48,8 +45,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 48 | 45 | @MockitoBean |
| 49 | 46 | private WmsWarehouseService warehouseService; |
| 50 | 47 | @MockitoBean |
| 51 | - private WmsWarehouseAreaService warehouseAreaService; | |
| 52 | - @MockitoBean | |
| 53 | 48 | private WmsMerchantService merchantService; |
| 54 | 49 | @MockitoBean |
| 55 | 50 | private WmsItemSkuService itemSkuService; |
| ... | ... | @@ -63,7 +58,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 63 | 58 | Long skuId = 200L; |
| 64 | 59 | WmsShipmentOrderDO order = createShipmentOrder(warehouseId); |
| 65 | 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 | 64 | shipmentOrderService.completeShipmentOrder(order.getId()); |
| ... | ... | @@ -98,19 +93,6 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 98 | 93 | } |
| 99 | 94 | |
| 100 | 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 | 96 | public void testCancelShipmentOrder_success() { |
| 115 | 97 | // mock 数据 |
| 116 | 98 | WmsShipmentOrderDO order = createShipmentOrder(100L); |
| ... | ... | @@ -131,7 +113,7 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 131 | 113 | // mock 数据 |
| 132 | 114 | WmsShipmentOrderDO order = createShipmentOrder(100L).setStatus(WmsOrderStatusEnum.CANCELED.getStatus()); |
| 133 | 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 | 119 | shipmentOrderService.deleteShipmentOrder(order.getId()); |
| ... | ... | @@ -158,18 +140,15 @@ public class WmsShipmentOrderServiceImplTest extends BaseDbUnitTest { |
| 158 | 140 | .setType(WmsShipmentOrderTypeEnum.SALE.getType()) |
| 159 | 141 | .setStatus(WmsOrderStatusEnum.PREPARE.getStatus()) |
| 160 | 142 | .setWarehouseId(warehouseId) |
| 161 | - .setAreaId(0L) | |
| 162 | 143 | .setTotalQuantity(new BigDecimal("2.00")) |
| 163 | 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 | 148 | return WmsShipmentOrderDetailDO.builder() |
| 169 | 149 | .orderId(orderId) |
| 170 | 150 | .skuId(skuId) |
| 171 | 151 | .warehouseId(warehouseId) |
| 172 | - .areaId(areaId) | |
| 173 | 152 | .quantity(new BigDecimal("2.00")) |
| 174 | 153 | .amount(new BigDecimal("20.00")) |
| 175 | 154 | .build(); | ... | ... |
yudao-module-wms/src/test/resources/sql/create_tables.sql
| ... | ... | @@ -41,7 +41,6 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( |
| 41 | 41 | "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, |
| 42 | 42 | "sku_id" bigint NOT NULL, |
| 43 | 43 | "warehouse_id" bigint NOT NULL, |
| 44 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 45 | 44 | "quantity" decimal(24, 6) NOT NULL DEFAULT '0', |
| 46 | 45 | "remark" varchar(255) DEFAULT NULL, |
| 47 | 46 | "creator" varchar(64) DEFAULT '', |
| ... | ... | @@ -51,13 +50,12 @@ CREATE TABLE IF NOT EXISTS "wms_inventory" ( |
| 51 | 50 | "deleted" bit NOT NULL DEFAULT FALSE, |
| 52 | 51 | "tenant_id" bigint NOT NULL DEFAULT '0', |
| 53 | 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 | 54 | ) COMMENT 'WMS 库存表'; |
| 56 | 55 | |
| 57 | 56 | CREATE TABLE IF NOT EXISTS "wms_inventory_history" ( |
| 58 | 57 | "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, |
| 59 | 58 | "warehouse_id" bigint NOT NULL, |
| 60 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 61 | 59 | "sku_id" bigint NOT NULL, |
| 62 | 60 | "quantity" decimal(24, 6) NOT NULL DEFAULT '0', |
| 63 | 61 | "before_quantity" decimal(24, 6) DEFAULT NULL, |
| ... | ... | @@ -88,7 +86,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order" ( |
| 88 | 86 | "merchant_id" bigint DEFAULT NULL, |
| 89 | 87 | "remark" varchar(255) DEFAULT NULL, |
| 90 | 88 | "warehouse_id" bigint NOT NULL, |
| 91 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 92 | 89 | "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', |
| 93 | 90 | "total_amount" decimal(10, 2) DEFAULT NULL, |
| 94 | 91 | "creator" varchar(64) DEFAULT '', |
| ... | ... | @@ -106,7 +103,6 @@ CREATE TABLE IF NOT EXISTS "wms_receipt_order_detail" ( |
| 106 | 103 | "order_id" bigint NOT NULL, |
| 107 | 104 | "sku_id" bigint NOT NULL, |
| 108 | 105 | "warehouse_id" bigint NOT NULL, |
| 109 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 110 | 106 | "batch_no" varchar(64) DEFAULT NULL, |
| 111 | 107 | "production_date" timestamp DEFAULT NULL, |
| 112 | 108 | "expiration_date" timestamp DEFAULT NULL, |
| ... | ... | @@ -130,7 +126,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order" ( |
| 130 | 126 | "merchant_id" bigint DEFAULT NULL, |
| 131 | 127 | "remark" varchar(255) DEFAULT NULL, |
| 132 | 128 | "warehouse_id" bigint NOT NULL, |
| 133 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 134 | 129 | "total_quantity" decimal(20, 2) NOT NULL DEFAULT '0', |
| 135 | 130 | "total_amount" decimal(10, 2) DEFAULT NULL, |
| 136 | 131 | "creator" varchar(64) DEFAULT '', |
| ... | ... | @@ -148,7 +143,6 @@ CREATE TABLE IF NOT EXISTS "wms_shipment_order_detail" ( |
| 148 | 143 | "order_id" bigint NOT NULL, |
| 149 | 144 | "sku_id" bigint NOT NULL, |
| 150 | 145 | "warehouse_id" bigint NOT NULL, |
| 151 | - "area_id" bigint NOT NULL DEFAULT '0', | |
| 152 | 146 | "batch_no" varchar(64) DEFAULT NULL, |
| 153 | 147 | "production_date" timestamp DEFAULT NULL, |
| 154 | 148 | "expiration_date" timestamp DEFAULT NULL, | ... | ... |