From 23af22311b3057e0fc11fad5d78f5c465e805775 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 17 Feb 2026 22:52:45 +0800 Subject: [PATCH] review(mes):wm-warehouse 的初步实现 50% --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java | 48 +++++++++++++++++++++++++----------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java | 38 +++++++++++++++++++++----------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java | 4 ++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java | 18 +++++++----------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java | 19 +++++++------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java | 7 +++++-- 9 files changed, 215 insertions(+), 68 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java index 75a15de..dd928af 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java @@ -55,14 +55,14 @@ public class MesWmWarehouseAreaController { @PostMapping("/create") @Operation(summary = "创建库位") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:create')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:create')") public CommonResult createWarehouseArea(@Valid @RequestBody MesWmWarehouseAreaSaveReqVO createReqVO) { return success(areaService.createWarehouseArea(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新库位") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:update')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')") public CommonResult updateWarehouseArea(@Valid @RequestBody MesWmWarehouseAreaSaveReqVO updateReqVO) { areaService.updateWarehouseArea(updateReqVO); return success(true); @@ -71,7 +71,7 @@ public class MesWmWarehouseAreaController { @DeleteMapping("/delete") @Operation(summary = "删除库位") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:delete')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:delete')") public CommonResult deleteWarehouseArea(@RequestParam("id") Long id) { areaService.deleteWarehouseArea(id); return success(true); @@ -80,15 +80,18 @@ public class MesWmWarehouseAreaController { @GetMapping("/get") @Operation(summary = "获得库位") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:query')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')") public CommonResult getWarehouseArea(@RequestParam("id") Long id) { MesWmWarehouseAreaDO area = areaService.getWarehouseArea(id); - return success(buildWarehouseAreaRespVO(area)); + if (area == null) { + return success(null); + } + return success(buildWarehouseAreaRespVOList(Collections.singletonList(area)).get(0)); } @GetMapping("/page") @Operation(summary = "获得库位分页") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:query')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')") public CommonResult> getWarehouseAreaPage(@Valid MesWmWarehouseAreaPageReqVO pageReqVO) { PageResult pageResult = areaService.getWarehouseAreaPage(pageReqVO); return success(new PageResult<>(buildWarehouseAreaRespVOList(pageResult.getList()), pageResult.getTotal())); @@ -102,9 +105,11 @@ public class MesWmWarehouseAreaController { return success(buildWarehouseAreaRespVOList(list)); } + // TODO @AI:不需要导出功能;前端也可以去掉; + @GetMapping("/export-excel") @Operation(summary = "导出库位 Excel") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:export')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:export')") @ApiAccessLog(operateType = EXPORT) public void exportWarehouseAreaExcel(@Valid MesWmWarehouseAreaPageReqVO pageReqVO, HttpServletResponse response) throws IOException { @@ -114,27 +119,24 @@ public class MesWmWarehouseAreaController { buildWarehouseAreaRespVOList(list)); } - // TODO @AI:这里有个注释块,参考别的方法; - - // TODO @AI:下面这个,就不用愁方法了;直接 get 那处理下 get 0; - - private MesWmWarehouseAreaRespVO buildWarehouseAreaRespVO(MesWmWarehouseAreaDO area) { - if (area == null) { - return null; - } - List list = buildWarehouseAreaRespVOList(Collections.singletonList(area)); - return CollUtil.isEmpty(list) ? null : CollUtil.getFirst(list); - } + // ==================== 拼接 VO ==================== + /** + * 批量构建库位响应 VO 列表(填充库区、仓库信息) + * + * @param list 库位列表 + * @return 响应 VO 列表 + */ private List buildWarehouseAreaRespVOList(List list) { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } - Set locationIds = convertSet(list, MesWmWarehouseAreaDO::getLocationId); - Map locationMap = locationService.getWarehouseLocationMap(locationIds); - Set warehouseIds = convertSet(locationMap.values(), MesWmWarehouseLocationDO::getWarehouseId); - Map warehouseMap = warehouseService.getWarehouseMap(warehouseIds); - + // 1. 获得库区信息 + Map locationMap = locationService.getWarehouseLocationMap( + convertSet(list, MesWmWarehouseAreaDO::getLocationId)); + Map warehouseMap = warehouseService.getWarehouseMap( + convertSet(locationMap.values(), MesWmWarehouseLocationDO::getWarehouseId)); + // 2. 构建结果 return BeanUtils.toBean(list, MesWmWarehouseAreaRespVO.class, vo -> { MapUtils.findAndThen(locationMap, vo.getLocationId(), location -> { vo.setLocationName(location.getName()); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java index b2010d6..353dcac 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java @@ -49,14 +49,14 @@ public class MesWmWarehouseLocationController { @PostMapping("/create") @Operation(summary = "创建库区") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:create')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:create')") public CommonResult createWarehouseLocation(@Valid @RequestBody MesWmWarehouseLocationSaveReqVO createReqVO) { return success(locationService.createWarehouseLocation(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新库区") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:update')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')") public CommonResult updateWarehouseLocation(@Valid @RequestBody MesWmWarehouseLocationSaveReqVO updateReqVO) { locationService.updateWarehouseLocation(updateReqVO); return success(true); @@ -65,7 +65,7 @@ public class MesWmWarehouseLocationController { @DeleteMapping("/delete") @Operation(summary = "删除库区") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:delete')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:delete')") public CommonResult deleteWarehouseLocation(@RequestParam("id") Long id) { locationService.deleteWarehouseLocation(id); return success(true); @@ -74,15 +74,18 @@ public class MesWmWarehouseLocationController { @GetMapping("/get") @Operation(summary = "获得库区") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:query')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')") public CommonResult getWarehouseLocation(@RequestParam("id") Long id) { MesWmWarehouseLocationDO location = locationService.getWarehouseLocation(id); - return success(buildWarehouseLocationRespVO(location)); + if (location == null) { + return success(null); + } + return success(buildWarehouseLocationRespVOList(Collections.singletonList(location)).get(0)); } @GetMapping("/page") @Operation(summary = "获得库区分页") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:query')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')") public CommonResult> getWarehouseLocationPage(@Valid MesWmWarehouseLocationPageReqVO pageReqVO) { PageResult pageResult = locationService.getWarehouseLocationPage(pageReqVO); return success(new PageResult<>(buildWarehouseLocationRespVOList(pageResult.getList()), pageResult.getTotal())); @@ -96,9 +99,11 @@ public class MesWmWarehouseLocationController { return success(buildWarehouseLocationRespVOList(list)); } + // TODO @AI:不需要导出功能;前端也可以去掉; + @GetMapping("/export-excel") @Operation(summary = "导出库区 Excel") - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:export')") + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:export')") @ApiAccessLog(operateType = EXPORT) public void exportWarehouseLocationExcel(@Valid MesWmWarehouseLocationPageReqVO pageReqVO, HttpServletResponse response) throws IOException { @@ -108,22 +113,21 @@ public class MesWmWarehouseLocationController { buildWarehouseLocationRespVOList(list)); } - // TODO @AI:这里有个注释块,参考别的方法; - - // TODO @AI:下面这个,就不用愁方法了;直接 get 那处理下 get 0; - private MesWmWarehouseLocationRespVO buildWarehouseLocationRespVO(MesWmWarehouseLocationDO location) { - if (location == null) { - return null; - } - List list = buildWarehouseLocationRespVOList(Collections.singletonList(location)); - return CollUtil.isEmpty(list) ? null : CollUtil.getFirst(list); - } + // ==================== 拼接 VO ==================== + /** + * 批量构建库区响应 VO 列表(填充仓库名称) + * + * @param list 库区列表 + * @return 响应 VO 列表 + */ private List buildWarehouseLocationRespVOList(List list) { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } + // 1. 获得仓库信息 Map warehouseMap = warehouseService.getWarehouseMap(convertSet(list, MesWmWarehouseLocationDO::getWarehouseId)); + // 2. 构建结果 return BeanUtils.toBean(list, MesWmWarehouseLocationRespVO.class, vo -> MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName()))); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java index eafeaf2..6f88172 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java @@ -139,6 +139,10 @@ public interface ErrorCodeConstants { // ========== MES 生产管理-工序(1-040-500-000) ========== ErrorCode PRO_PROCESS_NOT_EXISTS = new ErrorCode(1_040_500_000, "工序不存在"); ErrorCode PRO_PROCESS_CODE_EXISTS = new ErrorCode(1_040_500_001, "工序编码已存在"); + ErrorCode PRO_PROCESS_NAME_EXISTS = new ErrorCode(1_040_500_002, "工序名称已存在"); + ErrorCode PRO_PROCESS_USED_BY_ROUTE = new ErrorCode(1_040_500_003, "工序已被工艺路线引用,无法删除"); + // ========== MES 生产管理-工序内容(1-040-500-100) ========== + ErrorCode PRO_PROCESS_CONTENT_NOT_EXISTS = new ErrorCode(1_040_500_100, "工序内容不存在"); // ========== MES 生产管理-工艺路线(1-040-501-000) ========== ErrorCode PRO_ROUTE_NOT_EXISTS = new ErrorCode(1_040_501_000, "工艺路线不存在"); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java index f15f65c..faf5208 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java @@ -12,24 +12,72 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -// TODO @AI:方法注释; /** * MES 库位 Service 接口 */ public interface MesWmWarehouseAreaService { + /** + * 创建库位 + * + * @param createReqVO 创建信息 + * @return 编号 + */ Long createWarehouseArea(@Valid MesWmWarehouseAreaSaveReqVO createReqVO); + /** + * 更新库位 + * + * @param updateReqVO 更新信息 + */ void updateWarehouseArea(@Valid MesWmWarehouseAreaSaveReqVO updateReqVO); + /** + * 删除库位 + * + * @param id 编号 + */ void deleteWarehouseArea(Long id); + /** + * 校验库位存在 + * + * @param id 编号 + * @return 库位 + */ + MesWmWarehouseAreaDO validateWarehouseAreaExists(Long id); + + /** + * 获得库位 + * + * @param id 编号 + * @return 库位 + */ MesWmWarehouseAreaDO getWarehouseArea(Long id); + /** + * 获得库位分页 + * + * @param pageReqVO 分页参数 + * @return 库位分页 + */ PageResult getWarehouseAreaPage(MesWmWarehouseAreaPageReqVO pageReqVO); + /** + * 按库区与状态获得库位列表 + * + * @param locationId 库区编号 + * @param status 状态 + * @return 库位列表 + */ List getWarehouseAreaList(Long locationId, Integer status); + /** + * 按编号集合获得库位列表 + * + * @param ids 编号集合 + * @return 库位列表 + */ List getWarehouseAreaList(Collection ids); default Map getWarehouseAreaMap(Collection ids) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java index a81ad4d..1ae3f2a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java @@ -39,7 +39,7 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService @Override public Long createWarehouseArea(MesWmWarehouseAreaSaveReqVO createReqVO) { // 校验库区存在 - validateWarehouseLocationExists(createReqVO.getLocationId()); + locationService.validateWarehouseLocationExists(createReqVO.getLocationId()); // 校验编码唯一 validateWarehouseAreaCodeUnique(null, createReqVO.getLocationId(), createReqVO.getCode()); // 校验名称唯一 @@ -55,7 +55,7 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService // 校验存在 validateWarehouseAreaExists(updateReqVO.getId()); // 校验库区存在 - validateWarehouseLocationExists(updateReqVO.getLocationId()); + locationService.validateWarehouseLocationExists(updateReqVO.getLocationId()); // 校验编码唯一 validateWarehouseAreaCodeUnique(updateReqVO.getId(), updateReqVO.getLocationId(), updateReqVO.getCode()); // 校验名称唯一 @@ -78,17 +78,13 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService areaMapper.deleteById(id); } - // TODO @AI: locationService 抽个类似的方法被调用; - private void validateWarehouseLocationExists(Long locationId) { - if (locationService.getWarehouseLocation(locationId) == null) { - throw exception(WM_WAREHOUSE_LOCATION_NOT_EXISTS); - } - } - - private void validateWarehouseAreaExists(Long id) { - if (areaMapper.selectById(id) == null) { + @Override + public MesWmWarehouseAreaDO validateWarehouseAreaExists(Long id) { + MesWmWarehouseAreaDO area = areaMapper.selectById(id); + if (area == null) { throw exception(WM_WAREHOUSE_AREA_NOT_EXISTS); } + return area; } private void validateWarehouseAreaCodeUnique(Long id, Long locationId, String code) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java index 3870ac0..da3d441 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java @@ -12,24 +12,72 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -// TODO @AI:方法注释; /** * MES 库区 Service 接口 */ public interface MesWmWarehouseLocationService { + /** + * 创建库区 + * + * @param createReqVO 创建信息 + * @return 编号 + */ Long createWarehouseLocation(@Valid MesWmWarehouseLocationSaveReqVO createReqVO); + /** + * 更新库区 + * + * @param updateReqVO 更新信息 + */ void updateWarehouseLocation(@Valid MesWmWarehouseLocationSaveReqVO updateReqVO); + /** + * 删除库区 + * + * @param id 编号 + */ void deleteWarehouseLocation(Long id); + /** + * 校验库区存在 + * + * @param id 编号 + * @return 库区 + */ + MesWmWarehouseLocationDO validateWarehouseLocationExists(Long id); + + /** + * 获得库区 + * + * @param id 编号 + * @return 库区 + */ MesWmWarehouseLocationDO getWarehouseLocation(Long id); + /** + * 获得库区分页 + * + * @param pageReqVO 分页参数 + * @return 库区分页 + */ PageResult getWarehouseLocationPage(MesWmWarehouseLocationPageReqVO pageReqVO); + /** + * 按仓库与状态获得库区列表 + * + * @param warehouseId 仓库编号 + * @param status 状态 + * @return 库区列表 + */ List getWarehouseLocationList(Long warehouseId, Integer status); + /** + * 按编号集合获得库区列表 + * + * @param ids 编号集合 + * @return 库区列表 + */ List getWarehouseLocationList(Collection ids); default Map getWarehouseLocationMap(Collection ids) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java index d9119db..bb269d4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java @@ -43,7 +43,7 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation @Override public Long createWarehouseLocation(MesWmWarehouseLocationSaveReqVO createReqVO) { // 校验仓库存在 - validateWarehouseExists(createReqVO.getWarehouseId()); + warehouseService.validateWarehouseExists(createReqVO.getWarehouseId()); // 校验编码唯一 validateWarehouseLocationCodeUnique(null, createReqVO.getWarehouseId(), createReqVO.getCode()); // 校验名称唯一 @@ -59,7 +59,7 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation // 校验存在 validateWarehouseLocationExists(updateReqVO.getId()); // 校验仓库存在 - validateWarehouseExists(updateReqVO.getWarehouseId()); + warehouseService.validateWarehouseExists(updateReqVO.getWarehouseId()); // 校验编码唯一 validateWarehouseLocationCodeUnique(updateReqVO.getId(), updateReqVO.getWarehouseId(), updateReqVO.getCode()); // 校验名称唯一 @@ -86,18 +86,13 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation locationMapper.deleteById(id); } - // TODO @AI:使用 warehouseService 里的;抽过去; - private void validateWarehouseExists(Long warehouseId) { - if (warehouseService.getWarehouse(warehouseId) == null) { - throw exception(WM_WAREHOUSE_NOT_EXISTS); - } - } - - // TODO @AI:使用 warehouseLocationService 里的;抽过去; - private void validateWarehouseLocationExists(Long id) { - if (locationMapper.selectById(id) == null) { + @Override + public MesWmWarehouseLocationDO validateWarehouseLocationExists(Long id) { + MesWmWarehouseLocationDO location = locationMapper.selectById(id); + if (location == null) { throw exception(WM_WAREHOUSE_LOCATION_NOT_EXISTS); } + return location; } private void validateWarehouseLocationCodeUnique(Long id, Long warehouseId, String code) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java index cd9ff7a..0c82329 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java @@ -12,24 +12,71 @@ import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; -// TODO @AI:方法注释; /** * MES 仓库 Service 接口 */ public interface MesWmWarehouseService { + /** + * 创建仓库 + * + * @param createReqVO 创建信息 + * @return 编号 + */ Long createWarehouse(@Valid MesWmWarehouseSaveReqVO createReqVO); + /** + * 更新仓库 + * + * @param updateReqVO 更新信息 + */ void updateWarehouse(@Valid MesWmWarehouseSaveReqVO updateReqVO); + /** + * 删除仓库 + * + * @param id 编号 + */ void deleteWarehouse(Long id); + /** + * 校验仓库存在 + * + * @param id 编号 + * @return 仓库 + */ + MesWmWarehouseDO validateWarehouseExists(Long id); + + /** + * 获得仓库 + * + * @param id 编号 + * @return 仓库 + */ MesWmWarehouseDO getWarehouse(Long id); + /** + * 获得仓库分页 + * + * @param pageReqVO 分页参数 + * @return 仓库分页 + */ PageResult getWarehousePage(MesWmWarehousePageReqVO pageReqVO); + /** + * 按状态获得仓库列表 + * + * @param status 状态 + * @return 仓库列表 + */ List getWarehouseListByStatus(Integer status); + /** + * 按编号集合获得仓库列表 + * + * @param ids 编号集合 + * @return 仓库列表 + */ List getWarehouseList(Collection ids); default Map getWarehouseMap(Collection ids) { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java index ecf6f56..f89d69f 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java @@ -82,10 +82,13 @@ public class MesWmWarehouseServiceImpl implements MesWmWarehouseService { warehouseMapper.deleteById(id); } - private void validateWarehouseExists(Long id) { - if (warehouseMapper.selectById(id) == null) { + @Override + public MesWmWarehouseDO validateWarehouseExists(Long id) { + MesWmWarehouseDO warehouse = warehouseMapper.selectById(id); + if (warehouse == null) { throw exception(WM_WAREHOUSE_NOT_EXISTS); } + return warehouse; } private void validateWarehouseCodeUnique(Long id, String code) { -- libgit2 0.21.4