Commit ec76d72775323d863aa9812d60890b44c24ff89c
1 parent
e74752eb
✨ feat(mes): 重构库区混放规则更新逻辑,简化接口调用
Showing
4 changed files
with
27 additions
and
44 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java
| @@ -94,20 +94,14 @@ public class MesWmWarehouseLocationController { | @@ -94,20 +94,14 @@ public class MesWmWarehouseLocationController { | ||
| 94 | return success(buildWarehouseLocationRespVOList(list)); | 94 | return success(buildWarehouseLocationRespVOList(list)); |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | - // TODO @AI:update-by-location;方法名也改下; | ||
| 98 | - @PutMapping("/update-mixing") | 97 | + @PutMapping("/update-by-location-id") |
| 99 | @Operation(summary = "批量设置库区下所有库位的混放规则") | 98 | @Operation(summary = "批量设置库区下所有库位的混放规则") |
| 100 | @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')") | 99 | @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:update')") |
| 101 | - public CommonResult<Boolean> updateMixing(@RequestParam("locationId") Long locationId, | ||
| 102 | - @RequestParam(value = "allowItemMixing", required = false) Boolean allowItemMixing, | ||
| 103 | - @RequestParam(value = "allowBatchMixing", required = false) Boolean allowBatchMixing) { | ||
| 104 | - // TODO @AI:统一放到 service 里; | ||
| 105 | - if (allowItemMixing != null) { | ||
| 106 | - areaService.updateAllowItemMixingByLocationId(locationId, allowItemMixing); | ||
| 107 | - } | ||
| 108 | - if (allowBatchMixing != null) { | ||
| 109 | - areaService.updateAllowBatchMixingByLocationId(locationId, allowBatchMixing); | ||
| 110 | - } | 100 | + public CommonResult<Boolean> updateAreaByLocationId( |
| 101 | + @RequestParam("locationId") Long locationId, | ||
| 102 | + @RequestParam(value = "allowItemMixing", required = false) Boolean allowItemMixing, | ||
| 103 | + @RequestParam(value = "allowBatchMixing", required = false) Boolean allowBatchMixing) { | ||
| 104 | + areaService.updateByLocationId(locationId, allowItemMixing, allowBatchMixing); | ||
| 111 | return success(true); | 105 | return success(true); |
| 112 | } | 106 | } |
| 113 | 107 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/warehouse/MesWmWarehouseAreaMapper.java
| @@ -59,21 +59,11 @@ public interface MesWmWarehouseAreaMapper extends BaseMapperX<MesWmWarehouseArea | @@ -59,21 +59,11 @@ public interface MesWmWarehouseAreaMapper extends BaseMapperX<MesWmWarehouseArea | ||
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | /** | 61 | /** |
| 62 | - * 批量更新指定库区下所有库位的物料混放规则 | 62 | + * 批量更新指定库区下所有库位 |
| 63 | */ | 63 | */ |
| 64 | - default void updateAllowItemMixingByLocationId(Long locationId, Boolean allowItemMixing) { | ||
| 65 | - update(new MesWmWarehouseAreaDO().setAllowItemMixing(allowItemMixing), | ||
| 66 | - new LambdaQueryWrapperX<MesWmWarehouseAreaDO>() | ||
| 67 | - .eq(MesWmWarehouseAreaDO::getLocationId, locationId)); | ||
| 68 | - } | ||
| 69 | - | ||
| 70 | - /** | ||
| 71 | - * 批量更新指定库区下所有库位的批次混放规则 | ||
| 72 | - */ | ||
| 73 | - default void updateAllowBatchMixingByLocationId(Long locationId, Boolean allowBatchMixing) { | ||
| 74 | - update(new MesWmWarehouseAreaDO().setAllowBatchMixing(allowBatchMixing), | ||
| 75 | - new LambdaQueryWrapperX<MesWmWarehouseAreaDO>() | ||
| 76 | - .eq(MesWmWarehouseAreaDO::getLocationId, locationId)); | 64 | + default void updateByLocationId(Long locationId, MesWmWarehouseAreaDO updateObj) { |
| 65 | + update(updateObj, new LambdaQueryWrapperX<MesWmWarehouseAreaDO>() | ||
| 66 | + .eq(MesWmWarehouseAreaDO::getLocationId, locationId)); | ||
| 77 | } | 67 | } |
| 78 | 68 | ||
| 79 | } | 69 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java
| @@ -101,20 +101,13 @@ public interface MesWmWarehouseAreaService { | @@ -101,20 +101,13 @@ public interface MesWmWarehouseAreaService { | ||
| 101 | void validateWarehouseAreaExists(Long warehouseId, Long locationId, Long areaId); | 101 | void validateWarehouseAreaExists(Long warehouseId, Long locationId, Long areaId); |
| 102 | 102 | ||
| 103 | /** | 103 | /** |
| 104 | - * 批量设置指定库区下所有库位的物料混放规则 | 104 | + * 批量设置指定库区下所有库位的混放规则 |
| 105 | * | 105 | * |
| 106 | * @param locationId 库区编号 | 106 | * @param locationId 库区编号 |
| 107 | - * @param allowItemMixing 是否允许物料混放 | 107 | + * @param allowItemMixing 是否允许物料混放(null 表示不修改) |
| 108 | + * @param allowBatchMixing 是否允许批次混放(null 表示不修改) | ||
| 108 | */ | 109 | */ |
| 109 | - void updateAllowItemMixingByLocationId(Long locationId, Boolean allowItemMixing); | ||
| 110 | - | ||
| 111 | - /** | ||
| 112 | - * 批量设置指定库区下所有库位的批次混放规则 | ||
| 113 | - * | ||
| 114 | - * @param locationId 库区编号 | ||
| 115 | - * @param allowBatchMixing 是否允许批次混放 | ||
| 116 | - */ | ||
| 117 | - void updateAllowBatchMixingByLocationId(Long locationId, Boolean allowBatchMixing); | 110 | + void updateByLocationId(Long locationId, Boolean allowItemMixing, Boolean allowBatchMixing); |
| 118 | 111 | ||
| 119 | /** | 112 | /** |
| 120 | * 按编码获得库位(如果是虚拟线边库位编码且不存在,会自动插入) | 113 | * 按编码获得库位(如果是虚拟线边库位编码且不存在,会自动插入) |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java
| @@ -196,13 +196,19 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService | @@ -196,13 +196,19 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService | ||
| 196 | } | 196 | } |
| 197 | 197 | ||
| 198 | @Override | 198 | @Override |
| 199 | - public void updateAllowItemMixingByLocationId(Long locationId, Boolean allowItemMixing) { | ||
| 200 | - areaMapper.updateAllowItemMixingByLocationId(locationId, allowItemMixing); | ||
| 201 | - } | ||
| 202 | - | ||
| 203 | - @Override | ||
| 204 | - public void updateAllowBatchMixingByLocationId(Long locationId, Boolean allowBatchMixing) { | ||
| 205 | - areaMapper.updateAllowBatchMixingByLocationId(locationId, allowBatchMixing); | 199 | + public void updateByLocationId(Long locationId, Boolean allowItemMixing, Boolean allowBatchMixing) { |
| 200 | + // 校验库区存在 | ||
| 201 | + locationService.validateWarehouseLocationExists(locationId); | ||
| 202 | + // 构建更新对象 | ||
| 203 | + MesWmWarehouseAreaDO updateObj = new MesWmWarehouseAreaDO(); | ||
| 204 | + if (allowItemMixing != null) { | ||
| 205 | + updateObj.setAllowItemMixing(allowItemMixing); | ||
| 206 | + } | ||
| 207 | + if (allowBatchMixing != null) { | ||
| 208 | + updateObj.setAllowBatchMixing(allowBatchMixing); | ||
| 209 | + } | ||
| 210 | + // 批量更新库位 | ||
| 211 | + areaMapper.updateByLocationId(locationId, updateObj); | ||
| 206 | } | 212 | } |
| 207 | 213 | ||
| 208 | @Override | 214 | @Override |