Commit bb2fbcc1aacb23ec402d03248f4b134127de9c50

Authored by YunaiV
1 parent 8ac57045

✨ feat(mes): 优化库存选择器和退货明细表单布局

调整库存选择器为下拉选择组件,支持前端过滤,提升用户体验。更新退货明细表单,增加库存记录选择,优化表单布局,确保信息展示更为清晰。
Showing 32 changed files with 130 additions and 62 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/machinery/MesDvMachineryController.java
... ... @@ -112,7 +112,7 @@ public class MesDvMachineryController {
112 112 @Operation(summary = "获得设备精简列表", description = "主要用于前端的下拉选项")
113 113 @PreAuthorize("@ss.hasPermission('mes:dv-machinery:query')")
114 114 public CommonResult<List<MesDvMachineryRespVO>> getMachinerySimpleList() {
115   - List<MesDvMachineryDO> list = machineryService.getMachinerySimpleList();
  115 + List<MesDvMachineryDO> list = machineryService.getMachineryList();
116 116 return success(BeanUtils.toBean(list, MesDvMachineryRespVO.class));
117 117 }
118 118  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/subject/MesDvSubjectController.java
... ... @@ -81,7 +81,7 @@ public class MesDvSubjectController {
81 81 @Operation(summary = "获得点检保养项目精简列表", description = "主要用于前端的下拉选项")
82 82 @PreAuthorize("@ss.hasPermission('mes:dv-subject:query')")
83 83 public CommonResult<List<MesDvSubjectRespVO>> getSubjectSimpleList() {
84   - List<MesDvSubjectDO> list = subjectService.getSubjectSimpleList();
  84 + List<MesDvSubjectDO> list = subjectService.getSubjectList();
85 85 return success(BeanUtils.toBean(list, MesDvSubjectRespVO.class));
86 86 }
87 87  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/tool/MesTmToolController.java
... ... @@ -113,7 +113,7 @@ public class MesTmToolController {
113 113 @Operation(summary = "获得工具精简列表")
114 114 @PreAuthorize("@ss.hasPermission('mes:tm-tool:query')")
115 115 public CommonResult<List<MesTmToolRespVO>> getToolSimpleList() {
116   - List<MesTmToolDO> list = toolService.getToolSimpleList();
  116 + List<MesTmToolDO> list = toolService.getToolList();
117 117 return success(BeanUtils.toBean(list, MesTmToolRespVO.class));
118 118 }
119 119  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java
... ... @@ -96,6 +96,13 @@ public class MesWmBatchController {
96 96 return success(buildBatchRespVOList(list));
97 97 }
98 98  
  99 + @GetMapping("/simple-list")
  100 + @Operation(summary = "获得批次精简列表", description = "主要用于前端下拉")
  101 + public CommonResult<List<MesWmBatchRespVO>> getBatchSimpleList() {
  102 + List<MesWmBatchDO> list = batchService.getBatchList();
  103 + return success(BeanUtils.toBean(list, MesWmBatchRespVO.class));
  104 + }
  105 +
99 106 // ==================== 拼接 VO ====================
100 107  
101 108 private List<MesWmBatchRespVO> buildBatchRespVOList(List<MesWmBatchDO> list) {
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/materialstock/MesWmMaterialStockController.java
... ... @@ -113,6 +113,15 @@ public class MesWmMaterialStockController {
113 113 buildRespVOList(pageResult.getList()));
114 114 }
115 115  
  116 + @GetMapping("/simple-list")
  117 + @Operation(summary = "获得库存精简列表", description = "主要用于前端下拉,可按 itemId 过滤")
  118 + @Parameter(name = "itemId", description = "物料编号", example = "1")
  119 + public CommonResult<List<MesWmMaterialStockRespVO>> getMaterialStockSimpleList(
  120 + @RequestParam(value = "itemId", required = false) Long itemId) {
  121 + List<MesWmMaterialStockDO> list = materialStockService.getMaterialStockList(itemId);
  122 + return success(buildRespVOList(list));
  123 + }
  124 +
116 125 // ==================== 拼接 VO ====================
117 126  
118 127 private List<MesWmMaterialStockRespVO> buildRespVOList(List<MesWmMaterialStockDO> list) {
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/packages/MesWmPackageController.java
... ... @@ -129,7 +129,7 @@ public class MesWmPackageController {
129 129 @Operation(summary = "可添加为子箱的装箱单精简列表")
130 130 @PreAuthorize("@ss.hasPermission('mes:wm-package:query')")
131 131 public CommonResult<List<MesWmPackageRespVO>> getChildablePackageSimpleList() {
132   - List<MesWmPackageDO> list = packageService.getChildablePackageSimpleList();
  132 + List<MesWmPackageDO> list = packageService.getChildablePackageList();
133 133 return success(buildRespVOList(list));
134 134 }
135 135  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/vo/detail/MesWmReturnVendorDetailSaveReqVO.java
... ... @@ -26,6 +26,9 @@ public class MesWmReturnVendorDetailSaveReqVO {
26 26 @NotNull(message = "物料编号不能为空")
27 27 private Long itemId;
28 28  
  29 + @Schema(description = "库存记录编号", example = "1")
  30 + private Long materialStockId;
  31 +
29 32 @Schema(description = "退货数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "300.00")
30 33 @NotNull(message = "退货数量不能为空")
31 34 @DecimalMin(value = "0", inclusive = false, message = "退货数量必须大于 0")
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/vo/line/MesWmReturnVendorLineRespVO.java
... ... @@ -37,6 +37,9 @@ public class MesWmReturnVendorLineRespVO {
37 37 @Schema(description = "批次ID", example = "1")
38 38 private Long batchId;
39 39  
  40 + @Schema(description = "批次号", example = "BATCH20260101001")
  41 + private String batchCode;
  42 +
40 43 @Schema(description = "备注", example = "备注")
41 44 private String remark;
42 45  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/vo/line/MesWmReturnVendorLineSaveReqVO.java
... ... @@ -30,6 +30,9 @@ public class MesWmReturnVendorLineSaveReqVO {
30 30 @Schema(description = "批次ID", example = "1")
31 31 private Long batchId;
32 32  
  33 + @Schema(description = "批次号", example = "BATCH20260101001")
  34 + private String batchCode;
  35 +
33 36 @Schema(description = "备注", example = "备注")
34 37 private String remark;
35 38  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java
... ... @@ -26,7 +26,6 @@ import org.springframework.web.bind.annotation.*;
26 26 import java.util.Collections;
27 27 import java.util.List;
28 28 import java.util.Map;
29   -import java.util.Set;
30 29  
31 30 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
32 31 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
... ... @@ -94,7 +93,7 @@ public class MesWmWarehouseAreaController {
94 93 @Operation(summary = "获得库位精简列表", description = "可按库区过滤")
95 94 public CommonResult<List<MesWmWarehouseAreaRespVO>> getWarehouseAreaSimpleList(
96 95 @Parameter(name = "locationId", description = "库区编号") @RequestParam(value = "locationId", required = false) Long locationId) {
97   - List<MesWmWarehouseAreaDO> list = areaService.getWarehouseAreaSimpleList(locationId);
  96 + List<MesWmWarehouseAreaDO> list = areaService.getWarehouseAreaList(locationId);
98 97 return success(buildWarehouseAreaRespVOList(list));
99 98 }
100 99  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseController.java
... ... @@ -74,7 +74,7 @@ public class MesWmWarehouseController {
74 74 @GetMapping("/simple-list")
75 75 @Operation(summary = "获得仓库精简列表", description = "主要用于前端下拉")
76 76 public CommonResult<List<MesWmWarehouseRespVO>> getWarehouseSimpleList() {
77   - List<MesWmWarehouseDO> list = warehouseService.getWarehouseSimpleList();
  77 + List<MesWmWarehouseDO> list = warehouseService.getWarehouseList();
78 78 return success(BeanUtils.toBean(list, MesWmWarehouseRespVO.class));
79 79 }
80 80  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java
... ... @@ -90,7 +90,7 @@ public class MesWmWarehouseLocationController {
90 90 @Operation(summary = "获得库区精简列表", description = "可按仓库过滤")
91 91 public CommonResult<List<MesWmWarehouseLocationRespVO>> getWarehouseLocationSimpleList(
92 92 @Parameter(name = "warehouseId", description = "仓库编号") @RequestParam(value = "warehouseId", required = false) Long warehouseId) {
93   - List<MesWmWarehouseLocationDO> list = locationService.getWarehouseLocationSimpleList(warehouseId);
  93 + List<MesWmWarehouseLocationDO> list = locationService.getWarehouseLocationList(warehouseId);
94 94 return success(buildWarehouseLocationRespVOList(list));
95 95 }
96 96  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/returnvendor/MesWmReturnVendorLineDO.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
  5 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableId;
7 8 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -45,9 +46,17 @@ public class MesWmReturnVendorLineDO extends BaseDO {
45 46 private BigDecimal quantity;
46 47 /**
47 48 * 批次 ID
  49 + *
  50 + * 关联 {@link MesWmBatchDO#getId()}
48 51 */
49 52 private Long batchId;
50 53 /**
  54 + * 批次号
  55 + *
  56 + * 关联 {@link MesWmBatchDO#getCode()}
  57 + */
  58 + private String batchCode;
  59 + /**
51 60 * 备注
52 61 */
53 62 private String remark;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryService.java
... ... @@ -73,11 +73,11 @@ public interface MesDvMachineryService {
73 73 void validateMachineryExists(Long id);
74 74  
75 75 /**
76   - * 获得设备精简列表(下拉选项用)
  76 + * 获得设备列表
77 77 *
78 78 * @return 设备列表
79 79 */
80   - List<MesDvMachineryDO> getMachinerySimpleList();
  80 + List<MesDvMachineryDO> getMachineryList();
81 81  
82 82 /**
83 83 * 获得设备列表
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java
... ... @@ -127,7 +127,7 @@ public class MesDvMachineryServiceImpl implements MesDvMachineryService {
127 127 }
128 128  
129 129 @Override
130   - public List<MesDvMachineryDO> getMachinerySimpleList() {
  130 + public List<MesDvMachineryDO> getMachineryList() {
131 131 return machineryMapper.selectList();
132 132 }
133 133  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectService.java
... ... @@ -65,11 +65,11 @@ public interface MesDvSubjectService {
65 65 void validateSubjectExists(Long id);
66 66  
67 67 /**
68   - * 获得点检保养项目精简列表(下拉选项用)
  68 + * 获得点检保养项目列表
69 69 *
70 70 * @return 项目列表
71 71 */
72   - List<MesDvSubjectDO> getSubjectSimpleList();
  72 + List<MesDvSubjectDO> getSubjectList();
73 73  
74 74 /**
75 75 * 获得点检保养项目列表
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/subject/MesDvSubjectServiceImpl.java
... ... @@ -93,7 +93,7 @@ public class MesDvSubjectServiceImpl implements MesDvSubjectService {
93 93 }
94 94  
95 95 @Override
96   - public List<MesDvSubjectDO> getSubjectSimpleList() {
  96 + public List<MesDvSubjectDO> getSubjectList() {
97 97 return subjectMapper.selectList();
98 98 }
99 99  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java
... ... @@ -54,10 +54,10 @@ public interface MesTmToolService {
54 54 PageResult<MesTmToolDO> getToolPage(MesTmToolPageReqVO pageReqVO);
55 55  
56 56 /**
57   - * 获得工具精简列表
  57 + * 获得工具列表
58 58 *
59 59 * @return 工具列表
60 60 */
61   - List<MesTmToolDO> getToolSimpleList();
  61 + List<MesTmToolDO> getToolList();
62 62  
63 63 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java
... ... @@ -119,7 +119,7 @@ public class MesTmToolServiceImpl implements MesTmToolService {
119 119 }
120 120  
121 121 @Override
122   - public List<MesTmToolDO> getToolSimpleList() {
  122 + public List<MesTmToolDO> getToolList() {
123 123 return toolMapper.selectList();
124 124 }
125 125  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchService.java
... ... @@ -68,4 +68,11 @@ public interface MesWmBatchService {
68 68 */
69 69 List<MesWmBatchDO> getBackwardBatchList(String code);
70 70  
  71 + /**
  72 + * 获取批次列表
  73 + *
  74 + * @return 批次列表
  75 + */
  76 + List<MesWmBatchDO> getBatchList();
  77 +
71 78 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
... ... @@ -220,4 +220,9 @@ public class MesWmBatchServiceImpl implements MesWmBatchService {
220 220 return results;
221 221 }
222 222  
  223 + @Override
  224 + public List<MesWmBatchDO> getBatchList() {
  225 + return batchMapper.selectList();
  226 + }
  227 +
223 228 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java
... ... @@ -29,19 +29,6 @@ public interface MesWmMaterialStockService {
29 29 MesWmMaterialStockDO getMaterialStock(Long id);
30 30  
31 31 /**
32   - * 按组合键查询库存记录
33   - *
34   - * @param itemId 物料编号
35   - * @param warehouseId 仓库编号
36   - * @param locationId 库区编号
37   - * @param areaId 库位编号
38   - * @param batchId 批次编号
39   - * @return 库存记录,不存在返回 null
40   - */
41   - MesWmMaterialStockDO getMaterialStockByCompositeKey(Long itemId, Long warehouseId, Long locationId,
42   - Long areaId, Long batchId);
43   -
44   - /**
45 32 * 查询指定库位的库存记录列表
46 33 *
47 34 * @param areaId 库位编号
... ... @@ -109,6 +96,14 @@ public interface MesWmMaterialStockService {
109 96 }
110 97  
111 98 /**
  99 + * 获得库存精简列表(用于前端下拉选择)
  100 + *
  101 + * @param itemId 物料编号(可为 null)
  102 + * @return 库存记录列表
  103 + */
  104 + List<MesWmMaterialStockDO> getMaterialStockList(Long itemId);
  105 +
  106 + /**
112 107 * 获取或创建库存记录(按组合键唯一)
113 108 *
114 109 * @param itemId 物料编号
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java
... ... @@ -50,12 +50,6 @@ public class MesWmMaterialStockServiceImpl implements MesWmMaterialStockService
50 50 }
51 51  
52 52 @Override
53   - public MesWmMaterialStockDO getMaterialStockByCompositeKey(Long itemId, Long warehouseId, Long locationId,
54   - Long areaId, Long batchId) {
55   - return materialStockMapper.selectByCompositeKey(itemId, warehouseId, locationId, areaId, batchId);
56   - }
57   -
58   - @Override
59 53 public List<MesWmMaterialStockDO> getMaterialStockListByAreaId(Long areaId) {
60 54 return materialStockMapper.selectList(MesWmMaterialStockDO::getAreaId, areaId);
61 55 }
... ... @@ -127,6 +121,14 @@ public class MesWmMaterialStockServiceImpl implements MesWmMaterialStockService
127 121 }
128 122  
129 123 @Override
  124 + public List<MesWmMaterialStockDO> getMaterialStockList(Long itemId) {
  125 + if (itemId != null) {
  126 + return materialStockMapper.selectList(MesWmMaterialStockDO::getItemId, itemId);
  127 + }
  128 + return materialStockMapper.selectList();
  129 + }
  130 +
  131 + @Override
130 132 public MesWmMaterialStockDO getOrCreateMaterialStock(Long itemId, Long warehouseId, Long locationId, Long areaId,
131 133 Long batchId, String batchCode, Long vendorId, LocalDateTime receiptTime) {
132 134 // 1. 查找已有库存记录
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageService.java
... ... @@ -83,10 +83,10 @@ public interface MesWmPackageService {
83 83 void removeChildPackage(Long childId);
84 84  
85 85 /**
86   - * 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态)
  86 + * 可添加为子箱的装箱单列表(无父箱 + 已完成状态)
87 87 *
88 88 * @return 装箱单列表
89 89 */
90   - List<MesWmPackageDO> getChildablePackageSimpleList();
  90 + List<MesWmPackageDO> getChildablePackageList();
91 91  
92 92 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java
... ... @@ -137,7 +137,7 @@ public class MesWmPackageServiceImpl implements MesWmPackageService {
137 137 }
138 138  
139 139 @Override
140   - public List<MesWmPackageDO> getChildablePackageSimpleList() {
  140 + public List<MesWmPackageDO> getChildablePackageList() {
141 141 return packageMapper.selectChildableList();
142 142 }
143 143  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
... ... @@ -3,10 +3,12 @@ package cn.iocoder.yudao.module.mes.service.wm.returnvendor;
3 3 import cn.hutool.core.util.ObjUtil;
4 4 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 5 import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.detail.MesWmReturnVendorDetailSaveReqVO;
  6 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO;
6 7 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorDetailDO;
7 8 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorLineDO;
8 9 import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnvendor.MesWmReturnVendorDetailMapper;
9 10 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
  11 +import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
10 12 import jakarta.annotation.Resource;
11 13 import org.springframework.context.annotation.Lazy;
12 14 import org.springframework.stereotype.Service;
... ... @@ -15,8 +17,7 @@ import org.springframework.validation.annotation.Validated;
15 17 import java.util.List;
16 18  
17 19 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
18   -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_RETURN_VENDOR_DETAIL_ITEM_MISMATCH;
19   -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_RETURN_VENDOR_DETAIL_NOT_EXISTS;
  20 +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
20 21  
21 22 /**
22 23 * MES 供应商退货明细 Service 实现类
... ... @@ -35,14 +36,13 @@ public class MesWmReturnVendorDetailServiceImpl implements MesWmReturnVendorDeta
35 36 @Resource
36 37 private MesMdItemService itemService;
37 38  
  39 + @Resource
  40 + private MesWmMaterialStockService materialStockService;
  41 +
38 42 @Override
39 43 public Long createReturnVendorDetail(MesWmReturnVendorDetailSaveReqVO createReqVO) {
40   - // 校验父数据存在
41   - MesWmReturnVendorLineDO line = returnVendorLineService.validateReturnVendorLineExists(createReqVO.getLineId());
42   - // 校验物料存在
43   - itemService.validateItemExists(createReqVO.getItemId());
44   - // 校验物料与行物料一致
45   - validateItemConsistency(createReqVO.getItemId(), line);
  44 + // 校验数据
  45 + validateDetailSaveData(createReqVO);
46 46  
47 47 // 插入
48 48 MesWmReturnVendorDetailDO detail = BeanUtils.toBean(createReqVO, MesWmReturnVendorDetailDO.class);
... ... @@ -54,18 +54,28 @@ public class MesWmReturnVendorDetailServiceImpl implements MesWmReturnVendorDeta
54 54 public void updateReturnVendorDetail(MesWmReturnVendorDetailSaveReqVO updateReqVO) {
55 55 // 校验存在
56 56 validateReturnVendorDetailExists(updateReqVO.getId());
57   - // 校验父数据存在
58   - MesWmReturnVendorLineDO line = returnVendorLineService.validateReturnVendorLineExists(updateReqVO.getLineId());
59   - // 校验物料存在
60   - itemService.validateItemExists(updateReqVO.getItemId());
61   - // 校验物料与行物料一致
62   - validateItemConsistency(updateReqVO.getItemId(), line);
  57 + // 校验数据
  58 + validateDetailSaveData(updateReqVO);
63 59  
64 60 // 更新
65 61 MesWmReturnVendorDetailDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnVendorDetailDO.class);
66 62 returnVendorDetailMapper.updateById(updateObj);
67 63 }
68 64  
  65 + /**
  66 + * 校验明细创建/修改的公共数据
  67 + */
  68 + private void validateDetailSaveData(MesWmReturnVendorDetailSaveReqVO reqVO) {
  69 + // 校验父数据(行)存在
  70 + MesWmReturnVendorLineDO line = returnVendorLineService.validateReturnVendorLineExists(reqVO.getLineId());
  71 + // 校验物料存在
  72 + itemService.validateItemExists(reqVO.getItemId());
  73 + // 校验物料与行物料一致
  74 + validateItemConsistency(reqVO.getItemId(), line);
  75 + // 校验库存记录存在且物料一致
  76 + validateMaterialStock(reqVO.getMaterialStockId(), line);
  77 + }
  78 +
69 79 @Override
70 80 public void deleteReturnVendorDetail(Long id) {
71 81 // 校验存在
... ... @@ -114,4 +124,20 @@ public class MesWmReturnVendorDetailServiceImpl implements MesWmReturnVendorDeta
114 124 }
115 125 }
116 126  
  127 + /**
  128 + * 校验库存记录存在且物料与行物料一致
  129 + */
  130 + private void validateMaterialStock(Long materialStockId, MesWmReturnVendorLineDO line) {
  131 + if (materialStockId == null) {
  132 + return;
  133 + }
  134 + MesWmMaterialStockDO stock = materialStockService.getMaterialStock(materialStockId);
  135 + if (stock == null) {
  136 + throw exception(WM_MATERIAL_STOCK_NOT_EXISTS);
  137 + }
  138 + if (ObjUtil.notEqual(stock.getItemId(), line.getItemId())) {
  139 + throw exception(WM_RETURN_VENDOR_DETAIL_ITEM_MISMATCH);
  140 + }
  141 + }
  142 +
117 143 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaService.java
... ... @@ -64,12 +64,12 @@ public interface MesWmWarehouseAreaService {
64 64 PageResult<MesWmWarehouseAreaDO> getWarehouseAreaPage(MesWmWarehouseAreaPageReqVO pageReqVO);
65 65  
66 66 /**
67   - * 按库区获得库位精简列表
  67 + * 按库区获得库位列表
68 68 *
69 69 * @param locationId 库区编号
70 70 * @return 库位列表
71 71 */
72   - List<MesWmWarehouseAreaDO> getWarehouseAreaSimpleList(Long locationId);
  72 + List<MesWmWarehouseAreaDO> getWarehouseAreaList(Long locationId);
73 73  
74 74 /**
75 75 * 按编号集合获得库位列表
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseAreaServiceImpl.java
... ... @@ -154,7 +154,7 @@ public class MesWmWarehouseAreaServiceImpl implements MesWmWarehouseAreaService
154 154 }
155 155  
156 156 @Override
157   - public List<MesWmWarehouseAreaDO> getWarehouseAreaSimpleList(Long locationId) {
  157 + public List<MesWmWarehouseAreaDO> getWarehouseAreaList(Long locationId) {
158 158 return areaMapper.selectSimpleList(locationId);
159 159 }
160 160  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationService.java
... ... @@ -64,12 +64,12 @@ public interface MesWmWarehouseLocationService {
64 64 PageResult<MesWmWarehouseLocationDO> getWarehouseLocationPage(MesWmWarehouseLocationPageReqVO pageReqVO);
65 65  
66 66 /**
67   - * 按仓库获得库区精简列表
  67 + * 按仓库获得库区列表
68 68 *
69 69 * @param warehouseId 仓库编号
70 70 * @return 库区列表
71 71 */
72   - List<MesWmWarehouseLocationDO> getWarehouseLocationSimpleList(Long warehouseId);
  72 + List<MesWmWarehouseLocationDO> getWarehouseLocationList(Long warehouseId);
73 73  
74 74 /**
75 75 * 按编号集合获得库区列表
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseLocationServiceImpl.java
... ... @@ -157,7 +157,7 @@ public class MesWmWarehouseLocationServiceImpl implements MesWmWarehouseLocation
157 157 }
158 158  
159 159 @Override
160   - public List<MesWmWarehouseLocationDO> getWarehouseLocationSimpleList(Long warehouseId) {
  160 + public List<MesWmWarehouseLocationDO> getWarehouseLocationList(Long warehouseId) {
161 161 return locationMapper.selectSimpleList(warehouseId);
162 162 }
163 163  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseService.java
... ... @@ -64,11 +64,11 @@ public interface MesWmWarehouseService {
64 64 PageResult<MesWmWarehouseDO> getWarehousePage(MesWmWarehousePageReqVO pageReqVO);
65 65  
66 66 /**
67   - * 获得仓库精简列表
  67 + * 获得仓库列表
68 68 *
69 69 * @return 仓库列表
70 70 */
71   - List<MesWmWarehouseDO> getWarehouseSimpleList();
  71 + List<MesWmWarehouseDO> getWarehouseList();
72 72  
73 73 /**
74 74 * 按编号集合获得仓库列表
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/warehouse/MesWmWarehouseServiceImpl.java
... ... @@ -151,7 +151,7 @@ public class MesWmWarehouseServiceImpl implements MesWmWarehouseService {
151 151 }
152 152  
153 153 @Override
154   - public List<MesWmWarehouseDO> getWarehouseSimpleList() {
  154 + public List<MesWmWarehouseDO> getWarehouseList() {
155 155 return warehouseMapper.selectSimpleList();
156 156 }
157 157  
... ...