Commit cc29c141a1147e29554330fdbfdd7798c178e060

Authored by YunaiV
1 parent e081a599

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

调整库存选择器为下拉选择组件,支持前端过滤,提升用户体验。更新退货明细表单,增加库存记录选择,优化表单布局,确保信息展示更为清晰。
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java
@@ -38,13 +38,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail @@ -38,13 +38,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail
38 38
39 @Override 39 @Override
40 public Long createReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO createReqVO) { 40 public Long createReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO createReqVO) {
41 - // 校验父数据存在  
42 - MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(createReqVO.getLineId());  
43 - // 校验仓库、库区、库位的关联关系  
44 - warehouseAreaService.validateWarehouseAreaExists(  
45 - createReqVO.getWarehouseId(), createReqVO.getLocationId(), createReqVO.getAreaId());  
46 - // 校验明细总数量不超过行数量  
47 - validateDetailQuantityNotExceed(createReqVO.getLineId(), createReqVO.getQuantity(), null, line); 41 + validateReturnIssueDetailSaveData(createReqVO);
48 // TODO @芋艿:【后续搞】不允许物资混放 42 // TODO @芋艿:【后续搞】不允许物资混放
49 43
50 // 插入 44 // 插入
@@ -57,13 +51,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail @@ -57,13 +51,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail
57 public void updateReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO updateReqVO) { 51 public void updateReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO updateReqVO) {
58 // 校验存在 52 // 校验存在
59 validateReturnIssueDetailExists(updateReqVO.getId()); 53 validateReturnIssueDetailExists(updateReqVO.getId());
60 - // 校验父数据存在  
61 - MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(updateReqVO.getLineId());  
62 - // 校验仓库、库区、库位的关联关系  
63 - warehouseAreaService.validateWarehouseAreaExists(  
64 - updateReqVO.getWarehouseId(), updateReqVO.getLocationId(), updateReqVO.getAreaId());  
65 - // 校验明细总数量不超过行数量(排除自身)  
66 - validateDetailQuantityNotExceed(updateReqVO.getLineId(), updateReqVO.getQuantity(), updateReqVO.getId(), line); 54 + validateReturnIssueDetailSaveData(updateReqVO);
67 // TODO @芋艿:【后续搞】不允许物资混放 55 // TODO @芋艿:【后续搞】不允许物资混放
68 56
69 // 更新 57 // 更新
@@ -106,6 +94,19 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail @@ -106,6 +94,19 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail
106 } 94 }
107 95
108 /** 96 /**
  97 + * 校验保存时的关联数据
  98 + */
  99 + private void validateReturnIssueDetailSaveData(MesWmReturnIssueDetailSaveReqVO reqVO) {
  100 + // 校验父数据存在
  101 + MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(reqVO.getLineId());
  102 + // 校验仓库、库区、库位的关联关系
  103 + warehouseAreaService.validateWarehouseAreaExists(
  104 + reqVO.getWarehouseId(), reqVO.getLocationId(), reqVO.getAreaId());
  105 + // 校验明细总数量不超过行数量(排除自身)
  106 + validateDetailQuantityNotExceed(reqVO.getLineId(), reqVO.getQuantity(), reqVO.getId(), line);
  107 + }
  108 +
  109 + /**
109 * 校验明细总数量不超过行数量 110 * 校验明细总数量不超过行数量
110 * 111 *
111 * @param lineId 行 ID 112 * @param lineId 行 ID
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
@@ -43,15 +43,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ @@ -43,15 +43,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ
43 43
44 @Override 44 @Override
45 public Long createReturnIssueLine(MesWmReturnIssueLineSaveReqVO createReqVO) { 45 public Long createReturnIssueLine(MesWmReturnIssueLineSaveReqVO createReqVO) {
46 - // 校验父数据存在  
47 - MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(createReqVO.getIssueId());  
48 - // 校验物料存在  
49 - itemService.validateItemExists(createReqVO.getItemId()); 46 + // 校验数据
  47 + MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(createReqVO);
50 48
51 // 插入 49 // 插入
52 MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class); 50 MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class);
53 - // 质量状态自动赋值  
54 - line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); 51 + line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); // 质量状态自动赋值
55 issueLineMapper.insert(line); 52 issueLineMapper.insert(line);
56 return line.getId(); 53 return line.getId();
57 } 54 }
@@ -60,15 +57,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ @@ -60,15 +57,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ
60 public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) { 57 public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) {
61 // 校验存在 58 // 校验存在
62 validateReturnIssueLineExists(updateReqVO.getId()); 59 validateReturnIssueLineExists(updateReqVO.getId());
63 - // 校验父数据存在  
64 - MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(updateReqVO.getIssueId());  
65 - // 校验物料存在  
66 - itemService.validateItemExists(updateReqVO.getItemId()); 60 + // 校验数据
  61 + MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(updateReqVO);
67 62
68 // 更新 63 // 更新
69 MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class); 64 MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class);
70 - // 质量状态自动赋值  
71 - updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); 65 + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); // 质量状态自动赋值
72 issueLineMapper.updateById(updateObj); 66 issueLineMapper.updateById(updateObj);
73 } 67 }
74 68
@@ -109,6 +103,17 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ @@ -109,6 +103,17 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ
109 return line; 103 return line;
110 } 104 }
111 105
  106 + /**
  107 + * 校验保存时的关联数据
  108 + */
  109 + private MesWmReturnIssueDO validateReturnIssueLineSaveData(MesWmReturnIssueLineSaveReqVO reqVO) {
  110 + // 校验父数据存在
  111 + MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(reqVO.getIssueId());
  112 + // 校验物料存在
  113 + itemService.validateItemExists(reqVO.getItemId());
  114 + return issue;
  115 + }
  116 +
112 @Override 117 @Override
113 public void updateReturnIssueQualityStatusByIssueId(Long issueId, Integer issueType) { 118 public void updateReturnIssueQualityStatusByIssueId(Long issueId, Integer issueType) {
114 List<MesWmReturnIssueLineDO> lines = issueLineMapper.selectListByIssueId(issueId); 119 List<MesWmReturnIssueLineDO> lines = issueLineMapper.selectListByIssueId(issueId);