Commit 23af22311b3057e0fc11fad5d78f5c465e805775

Authored by YunaiV
1 parent a5510bb3

review(mes):wm-warehouse 的初步实现 50%

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java
... ... @@ -55,14 +55,14 @@ public class MesWmWarehouseAreaController {
55 55  
56 56 @PostMapping("/create")
57 57 @Operation(summary = "创建库位")
58   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:create')")
  58 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:create')")
59 59 public CommonResult<Long> createWarehouseArea(@Valid @RequestBody MesWmWarehouseAreaSaveReqVO createReqVO) {
60 60 return success(areaService.createWarehouseArea(createReqVO));
61 61 }
62 62  
63 63 @PutMapping("/update")
64 64 @Operation(summary = "更新库位")
65   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:update')")
  65 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')")
66 66 public CommonResult<Boolean> updateWarehouseArea(@Valid @RequestBody MesWmWarehouseAreaSaveReqVO updateReqVO) {
67 67 areaService.updateWarehouseArea(updateReqVO);
68 68 return success(true);
... ... @@ -71,7 +71,7 @@ public class MesWmWarehouseAreaController {
71 71 @DeleteMapping("/delete")
72 72 @Operation(summary = "删除库位")
73 73 @Parameter(name = "id", description = "编号", required = true)
74   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:delete')")
  74 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:delete')")
75 75 public CommonResult<Boolean> deleteWarehouseArea(@RequestParam("id") Long id) {
76 76 areaService.deleteWarehouseArea(id);
77 77 return success(true);
... ... @@ -80,15 +80,18 @@ public class MesWmWarehouseAreaController {
80 80 @GetMapping("/get")
81 81 @Operation(summary = "获得库位")
82 82 @Parameter(name = "id", description = "编号", required = true, example = "1024")
83   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:query')")
  83 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
84 84 public CommonResult<MesWmWarehouseAreaRespVO> getWarehouseArea(@RequestParam("id") Long id) {
85 85 MesWmWarehouseAreaDO area = areaService.getWarehouseArea(id);
86   - return success(buildWarehouseAreaRespVO(area));
  86 + if (area == null) {
  87 + return success(null);
  88 + }
  89 + return success(buildWarehouseAreaRespVOList(Collections.singletonList(area)).get(0));
87 90 }
88 91  
89 92 @GetMapping("/page")
90 93 @Operation(summary = "获得库位分页")
91   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:query')")
  94 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
92 95 public CommonResult<PageResult<MesWmWarehouseAreaRespVO>> getWarehouseAreaPage(@Valid MesWmWarehouseAreaPageReqVO pageReqVO) {
93 96 PageResult<MesWmWarehouseAreaDO> pageResult = areaService.getWarehouseAreaPage(pageReqVO);
94 97 return success(new PageResult<>(buildWarehouseAreaRespVOList(pageResult.getList()), pageResult.getTotal()));
... ... @@ -102,9 +105,11 @@ public class MesWmWarehouseAreaController {
102 105 return success(buildWarehouseAreaRespVOList(list));
103 106 }
104 107  
  108 + // TODO @AI:不需要导出功能;前端也可以去掉;
  109 +
105 110 @GetMapping("/export-excel")
106 111 @Operation(summary = "导出库位 Excel")
107   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-area:export')")
  112 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:export')")
108 113 @ApiAccessLog(operateType = EXPORT)
109 114 public void exportWarehouseAreaExcel(@Valid MesWmWarehouseAreaPageReqVO pageReqVO,
110 115 HttpServletResponse response) throws IOException {
... ... @@ -114,27 +119,24 @@ public class MesWmWarehouseAreaController {
114 119 buildWarehouseAreaRespVOList(list));
115 120 }
116 121  
117   - // TODO @AI:这里有个注释块,参考别的方法;
118   -
119   - // TODO @AI:下面这个,就不用愁方法了;直接 get 那处理下 get 0;
120   -
121   - private MesWmWarehouseAreaRespVO buildWarehouseAreaRespVO(MesWmWarehouseAreaDO area) {
122   - if (area == null) {
123   - return null;
124   - }
125   - List<MesWmWarehouseAreaRespVO> list = buildWarehouseAreaRespVOList(Collections.singletonList(area));
126   - return CollUtil.isEmpty(list) ? null : CollUtil.getFirst(list);
127   - }
  122 + // ==================== 拼接 VO ====================
128 123  
  124 + /**
  125 + * 批量构建库位响应 VO 列表(填充库区、仓库信息)
  126 + *
  127 + * @param list 库位列表
  128 + * @return 响应 VO 列表
  129 + */
129 130 private List<MesWmWarehouseAreaRespVO> buildWarehouseAreaRespVOList(List<MesWmWarehouseAreaDO> list) {
130 131 if (CollUtil.isEmpty(list)) {
131 132 return Collections.emptyList();
132 133 }
133   - Set<Long> locationIds = convertSet(list, MesWmWarehouseAreaDO::getLocationId);
134   - Map<Long, MesWmWarehouseLocationDO> locationMap = locationService.getWarehouseLocationMap(locationIds);
135   - Set<Long> warehouseIds = convertSet(locationMap.values(), MesWmWarehouseLocationDO::getWarehouseId);
136   - Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(warehouseIds);
137   -
  134 + // 1. 获得库区信息
  135 + Map<Long, MesWmWarehouseLocationDO> locationMap = locationService.getWarehouseLocationMap(
  136 + convertSet(list, MesWmWarehouseAreaDO::getLocationId));
  137 + Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
  138 + convertSet(locationMap.values(), MesWmWarehouseLocationDO::getWarehouseId));
  139 + // 2. 构建结果
138 140 return BeanUtils.toBean(list, MesWmWarehouseAreaRespVO.class, vo -> {
139 141 MapUtils.findAndThen(locationMap, vo.getLocationId(), location -> {
140 142 vo.setLocationName(location.getName());
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java
... ... @@ -49,14 +49,14 @@ public class MesWmWarehouseLocationController {
49 49  
50 50 @PostMapping("/create")
51 51 @Operation(summary = "创建库区")
52   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:create')")
  52 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:create')")
53 53 public CommonResult<Long> createWarehouseLocation(@Valid @RequestBody MesWmWarehouseLocationSaveReqVO createReqVO) {
54 54 return success(locationService.createWarehouseLocation(createReqVO));
55 55 }
56 56  
57 57 @PutMapping("/update")
58 58 @Operation(summary = "更新库区")
59   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:update')")
  59 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')")
60 60 public CommonResult<Boolean> updateWarehouseLocation(@Valid @RequestBody MesWmWarehouseLocationSaveReqVO updateReqVO) {
61 61 locationService.updateWarehouseLocation(updateReqVO);
62 62 return success(true);
... ... @@ -65,7 +65,7 @@ public class MesWmWarehouseLocationController {
65 65 @DeleteMapping("/delete")
66 66 @Operation(summary = "删除库区")
67 67 @Parameter(name = "id", description = "编号", required = true)
68   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:delete')")
  68 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:delete')")
69 69 public CommonResult<Boolean> deleteWarehouseLocation(@RequestParam("id") Long id) {
70 70 locationService.deleteWarehouseLocation(id);
71 71 return success(true);
... ... @@ -74,15 +74,18 @@ public class MesWmWarehouseLocationController {
74 74 @GetMapping("/get")
75 75 @Operation(summary = "获得库区")
76 76 @Parameter(name = "id", description = "编号", required = true, example = "1024")
77   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:query')")
  77 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
78 78 public CommonResult<MesWmWarehouseLocationRespVO> getWarehouseLocation(@RequestParam("id") Long id) {
79 79 MesWmWarehouseLocationDO location = locationService.getWarehouseLocation(id);
80   - return success(buildWarehouseLocationRespVO(location));
  80 + if (location == null) {
  81 + return success(null);
  82 + }
  83 + return success(buildWarehouseLocationRespVOList(Collections.singletonList(location)).get(0));
81 84 }
82 85  
83 86 @GetMapping("/page")
84 87 @Operation(summary = "获得库区分页")
85   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:query')")
  88 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
86 89 public CommonResult<PageResult<MesWmWarehouseLocationRespVO>> getWarehouseLocationPage(@Valid MesWmWarehouseLocationPageReqVO pageReqVO) {
87 90 PageResult<MesWmWarehouseLocationDO> pageResult = locationService.getWarehouseLocationPage(pageReqVO);
88 91 return success(new PageResult<>(buildWarehouseLocationRespVOList(pageResult.getList()), pageResult.getTotal()));
... ... @@ -96,9 +99,11 @@ public class MesWmWarehouseLocationController {
96 99 return success(buildWarehouseLocationRespVOList(list));
97 100 }
98 101  
  102 + // TODO @AI:不需要导出功能;前端也可以去掉;
  103 +
99 104 @GetMapping("/export-excel")
100 105 @Operation(summary = "导出库区 Excel")
101   - @PreAuthorize("@ss.hasPermission('mes:wm-warehouse-location:export')")
  106 + @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:export')")
102 107 @ApiAccessLog(operateType = EXPORT)
103 108 public void exportWarehouseLocationExcel(@Valid MesWmWarehouseLocationPageReqVO pageReqVO,
104 109 HttpServletResponse response) throws IOException {
... ... @@ -108,22 +113,21 @@ public class MesWmWarehouseLocationController {
108 113 buildWarehouseLocationRespVOList(list));
109 114 }
110 115  
111   - // TODO @AI:这里有个注释块,参考别的方法;
112   -
113   - // TODO @AI:下面这个,就不用愁方法了;直接 get 那处理下 get 0;
114   - private MesWmWarehouseLocationRespVO buildWarehouseLocationRespVO(MesWmWarehouseLocationDO location) {
115   - if (location == null) {
116   - return null;
117   - }
118   - List<MesWmWarehouseLocationRespVO> list = buildWarehouseLocationRespVOList(Collections.singletonList(location));
119   - return CollUtil.isEmpty(list) ? null : CollUtil.getFirst(list);
120   - }
  116 + // ==================== 拼接 VO ====================
121 117  
  118 + /**
  119 + * 批量构建库区响应 VO 列表(填充仓库名称)
  120 + *
  121 + * @param list 库区列表
  122 + * @return 响应 VO 列表
  123 + */
122 124 private List<MesWmWarehouseLocationRespVO> buildWarehouseLocationRespVOList(List<MesWmWarehouseLocationDO> list) {
123 125 if (CollUtil.isEmpty(list)) {
124 126 return Collections.emptyList();
125 127 }
  128 + // 1. 获得仓库信息
126 129 Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(convertSet(list, MesWmWarehouseLocationDO::getWarehouseId));
  130 + // 2. 构建结果
127 131 return BeanUtils.toBean(list, MesWmWarehouseLocationRespVO.class, vo ->
128 132 MapUtils.findAndThen(warehouseMap, vo.getWarehouseId(), warehouse -> vo.setWarehouseName(warehouse.getName())));
129 133 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
... ... @@ -139,6 +139,10 @@ public interface ErrorCodeConstants {
139 139 // ========== MES 生产管理-工序(1-040-500-000) ==========
140 140 ErrorCode PRO_PROCESS_NOT_EXISTS = new ErrorCode(1_040_500_000, "工序不存在");
141 141 ErrorCode PRO_PROCESS_CODE_EXISTS = new ErrorCode(1_040_500_001, "工序编码已存在");
  142 + ErrorCode PRO_PROCESS_NAME_EXISTS = new ErrorCode(1_040_500_002, "工序名称已存在");
  143 + ErrorCode PRO_PROCESS_USED_BY_ROUTE = new ErrorCode(1_040_500_003, "工序已被工艺路线引用,无法删除");
  144 + // ========== MES 生产管理-工序内容(1-040-500-100) ==========
  145 + ErrorCode PRO_PROCESS_CONTENT_NOT_EXISTS = new ErrorCode(1_040_500_100, "工序内容不存在");
142 146  
143 147 // ========== MES 生产管理-工艺路线(1-040-501-000) ==========
144 148 ErrorCode PRO_ROUTE_NOT_EXISTS = new ErrorCode(1_040_501_000, "工艺路线不存在");
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java
... ... @@ -12,24 +12,72 @@ import java.util.Map;
12 12  
13 13 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
14 14  
15   -// TODO @AI:方法注释;
16 15 /**
17 16 * MES 库位 Service 接口
18 17 */
19 18 public interface MesWmWarehouseAreaService {
20 19  
  20 + /**
  21 + * 创建库位
  22 + *
  23 + * @param createReqVO 创建信息
  24 + * @return 编号
  25 + */
21 26 Long createWarehouseArea(@Valid MesWmWarehouseAreaSaveReqVO createReqVO);
22 27  
  28 + /**
  29 + * 更新库位
  30 + *
  31 + * @param updateReqVO 更新信息
  32 + */
23 33 void updateWarehouseArea(@Valid MesWmWarehouseAreaSaveReqVO updateReqVO);
24 34  
  35 + /**
  36 + * 删除库位
  37 + *
  38 + * @param id 编号
  39 + */
25 40 void deleteWarehouseArea(Long id);
26 41  
  42 + /**
  43 + * 校验库位存在
  44 + *
  45 + * @param id 编号
  46 + * @return 库位
  47 + */
  48 + MesWmWarehouseAreaDO validateWarehouseAreaExists(Long id);
  49 +
  50 + /**
  51 + * 获得库位
  52 + *
  53 + * @param id 编号
  54 + * @return 库位
  55 + */
27 56 MesWmWarehouseAreaDO getWarehouseArea(Long id);
28 57  
  58 + /**
  59 + * 获得库位分页
  60 + *
  61 + * @param pageReqVO 分页参数
  62 + * @return 库位分页
  63 + */
29 64 PageResult<MesWmWarehouseAreaDO> getWarehouseAreaPage(MesWmWarehouseAreaPageReqVO pageReqVO);
30 65  
  66 + /**
  67 + * 按库区与状态获得库位列表
  68 + *
  69 + * @param locationId 库区编号
  70 + * @param status 状态
  71 + * @return 库位列表
  72 + */
31 73 List<MesWmWarehouseAreaDO> getWarehouseAreaList(Long locationId, Integer status);
32 74  
  75 + /**
  76 + * 按编号集合获得库位列表
  77 + *
  78 + * @param ids 编号集合
  79 + * @return 库位列表
  80 + */
33 81 List<MesWmWarehouseAreaDO> getWarehouseAreaList(Collection<Long> ids);
34 82  
35 83 default Map<Long, MesWmWarehouseAreaDO> getWarehouseAreaMap(Collection<Long> ids) {
... ...
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
39 39 @Override
40 40 public Long createWarehouseArea(MesWmWarehouseAreaSaveReqVO createReqVO) {
41 41 // 校验库区存在
42   - validateWarehouseLocationExists(createReqVO.getLocationId());
  42 + locationService.validateWarehouseLocationExists(createReqVO.getLocationId());
43 43 // 校验编码唯一
44 44 validateWarehouseAreaCodeUnique(null, createReqVO.getLocationId(), createReqVO.getCode());
45 45 // 校验名称唯一
... ... @@ -55,7 +55,7 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService
55 55 // 校验存在
56 56 validateWarehouseAreaExists(updateReqVO.getId());
57 57 // 校验库区存在
58   - validateWarehouseLocationExists(updateReqVO.getLocationId());
  58 + locationService.validateWarehouseLocationExists(updateReqVO.getLocationId());
59 59 // 校验编码唯一
60 60 validateWarehouseAreaCodeUnique(updateReqVO.getId(), updateReqVO.getLocationId(), updateReqVO.getCode());
61 61 // 校验名称唯一
... ... @@ -78,17 +78,13 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService
78 78 areaMapper.deleteById(id);
79 79 }
80 80  
81   - // TODO @AI: locationService 抽个类似的方法被调用;
82   - private void validateWarehouseLocationExists(Long locationId) {
83   - if (locationService.getWarehouseLocation(locationId) == null) {
84   - throw exception(WM_WAREHOUSE_LOCATION_NOT_EXISTS);
85   - }
86   - }
87   -
88   - private void validateWarehouseAreaExists(Long id) {
89   - if (areaMapper.selectById(id) == null) {
  81 + @Override
  82 + public MesWmWarehouseAreaDO validateWarehouseAreaExists(Long id) {
  83 + MesWmWarehouseAreaDO area = areaMapper.selectById(id);
  84 + if (area == null) {
90 85 throw exception(WM_WAREHOUSE_AREA_NOT_EXISTS);
91 86 }
  87 + return area;
92 88 }
93 89  
94 90 private void validateWarehouseAreaCodeUnique(Long id, Long locationId, String code) {
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java
... ... @@ -12,24 +12,72 @@ import java.util.Map;
12 12  
13 13 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
14 14  
15   -// TODO @AI:方法注释;
16 15 /**
17 16 * MES 库区 Service 接口
18 17 */
19 18 public interface MesWmWarehouseLocationService {
20 19  
  20 + /**
  21 + * 创建库区
  22 + *
  23 + * @param createReqVO 创建信息
  24 + * @return 编号
  25 + */
21 26 Long createWarehouseLocation(@Valid MesWmWarehouseLocationSaveReqVO createReqVO);
22 27  
  28 + /**
  29 + * 更新库区
  30 + *
  31 + * @param updateReqVO 更新信息
  32 + */
23 33 void updateWarehouseLocation(@Valid MesWmWarehouseLocationSaveReqVO updateReqVO);
24 34  
  35 + /**
  36 + * 删除库区
  37 + *
  38 + * @param id 编号
  39 + */
25 40 void deleteWarehouseLocation(Long id);
26 41  
  42 + /**
  43 + * 校验库区存在
  44 + *
  45 + * @param id 编号
  46 + * @return 库区
  47 + */
  48 + MesWmWarehouseLocationDO validateWarehouseLocationExists(Long id);
  49 +
  50 + /**
  51 + * 获得库区
  52 + *
  53 + * @param id 编号
  54 + * @return 库区
  55 + */
27 56 MesWmWarehouseLocationDO getWarehouseLocation(Long id);
28 57  
  58 + /**
  59 + * 获得库区分页
  60 + *
  61 + * @param pageReqVO 分页参数
  62 + * @return 库区分页
  63 + */
29 64 PageResult<MesWmWarehouseLocationDO> getWarehouseLocationPage(MesWmWarehouseLocationPageReqVO pageReqVO);
30 65  
  66 + /**
  67 + * 按仓库与状态获得库区列表
  68 + *
  69 + * @param warehouseId 仓库编号
  70 + * @param status 状态
  71 + * @return 库区列表
  72 + */
31 73 List<MesWmWarehouseLocationDO> getWarehouseLocationList(Long warehouseId, Integer status);
32 74  
  75 + /**
  76 + * 按编号集合获得库区列表
  77 + *
  78 + * @param ids 编号集合
  79 + * @return 库区列表
  80 + */
33 81 List<MesWmWarehouseLocationDO> getWarehouseLocationList(Collection<Long> ids);
34 82  
35 83 default Map<Long, MesWmWarehouseLocationDO> getWarehouseLocationMap(Collection<Long> ids) {
... ...
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
43 43 @Override
44 44 public Long createWarehouseLocation(MesWmWarehouseLocationSaveReqVO createReqVO) {
45 45 // 校验仓库存在
46   - validateWarehouseExists(createReqVO.getWarehouseId());
  46 + warehouseService.validateWarehouseExists(createReqVO.getWarehouseId());
47 47 // 校验编码唯一
48 48 validateWarehouseLocationCodeUnique(null, createReqVO.getWarehouseId(), createReqVO.getCode());
49 49 // 校验名称唯一
... ... @@ -59,7 +59,7 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation
59 59 // 校验存在
60 60 validateWarehouseLocationExists(updateReqVO.getId());
61 61 // 校验仓库存在
62   - validateWarehouseExists(updateReqVO.getWarehouseId());
  62 + warehouseService.validateWarehouseExists(updateReqVO.getWarehouseId());
63 63 // 校验编码唯一
64 64 validateWarehouseLocationCodeUnique(updateReqVO.getId(), updateReqVO.getWarehouseId(), updateReqVO.getCode());
65 65 // 校验名称唯一
... ... @@ -86,18 +86,13 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation
86 86 locationMapper.deleteById(id);
87 87 }
88 88  
89   - // TODO @AI:使用 warehouseService 里的;抽过去;
90   - private void validateWarehouseExists(Long warehouseId) {
91   - if (warehouseService.getWarehouse(warehouseId) == null) {
92   - throw exception(WM_WAREHOUSE_NOT_EXISTS);
93   - }
94   - }
95   -
96   - // TODO @AI:使用 warehouseLocationService 里的;抽过去;
97   - private void validateWarehouseLocationExists(Long id) {
98   - if (locationMapper.selectById(id) == null) {
  89 + @Override
  90 + public MesWmWarehouseLocationDO validateWarehouseLocationExists(Long id) {
  91 + MesWmWarehouseLocationDO location = locationMapper.selectById(id);
  92 + if (location == null) {
99 93 throw exception(WM_WAREHOUSE_LOCATION_NOT_EXISTS);
100 94 }
  95 + return location;
101 96 }
102 97  
103 98 private void validateWarehouseLocationCodeUnique(Long id, Long warehouseId, String code) {
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java
... ... @@ -12,24 +12,71 @@ import java.util.Map;
12 12  
13 13 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
14 14  
15   -// TODO @AI:方法注释;
16 15 /**
17 16 * MES 仓库 Service 接口
18 17 */
19 18 public interface MesWmWarehouseService {
20 19  
  20 + /**
  21 + * 创建仓库
  22 + *
  23 + * @param createReqVO 创建信息
  24 + * @return 编号
  25 + */
21 26 Long createWarehouse(@Valid MesWmWarehouseSaveReqVO createReqVO);
22 27  
  28 + /**
  29 + * 更新仓库
  30 + *
  31 + * @param updateReqVO 更新信息
  32 + */
23 33 void updateWarehouse(@Valid MesWmWarehouseSaveReqVO updateReqVO);
24 34  
  35 + /**
  36 + * 删除仓库
  37 + *
  38 + * @param id 编号
  39 + */
25 40 void deleteWarehouse(Long id);
26 41  
  42 + /**
  43 + * 校验仓库存在
  44 + *
  45 + * @param id 编号
  46 + * @return 仓库
  47 + */
  48 + MesWmWarehouseDO validateWarehouseExists(Long id);
  49 +
  50 + /**
  51 + * 获得仓库
  52 + *
  53 + * @param id 编号
  54 + * @return 仓库
  55 + */
27 56 MesWmWarehouseDO getWarehouse(Long id);
28 57  
  58 + /**
  59 + * 获得仓库分页
  60 + *
  61 + * @param pageReqVO 分页参数
  62 + * @return 仓库分页
  63 + */
29 64 PageResult<MesWmWarehouseDO> getWarehousePage(MesWmWarehousePageReqVO pageReqVO);
30 65  
  66 + /**
  67 + * 按状态获得仓库列表
  68 + *
  69 + * @param status 状态
  70 + * @return 仓库列表
  71 + */
31 72 List<MesWmWarehouseDO> getWarehouseListByStatus(Integer status);
32 73  
  74 + /**
  75 + * 按编号集合获得仓库列表
  76 + *
  77 + * @param ids 编号集合
  78 + * @return 仓库列表
  79 + */
33 80 List<MesWmWarehouseDO> getWarehouseList(Collection<Long> ids);
34 81  
35 82 default Map<Long, MesWmWarehouseDO> getWarehouseMap(Collection<Long> ids) {
... ...
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 {
82 82 warehouseMapper.deleteById(id);
83 83 }
84 84  
85   - private void validateWarehouseExists(Long id) {
86   - if (warehouseMapper.selectById(id) == null) {
  85 + @Override
  86 + public MesWmWarehouseDO validateWarehouseExists(Long id) {
  87 + MesWmWarehouseDO warehouse = warehouseMapper.selectById(id);
  88 + if (warehouse == null) {
87 89 throw exception(WM_WAREHOUSE_NOT_EXISTS);
88 90 }
  91 + return warehouse;
89 92 }
90 93  
91 94 private void validateWarehouseCodeUnique(Long id, String code) {
... ...