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 38  
39 39 @Override
40 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 42 // TODO @芋艿:【后续搞】不允许物资混放
49 43  
50 44 // 插入
... ... @@ -57,13 +51,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail
57 51 public void updateReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO updateReqVO) {
58 52 // 校验存在
59 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 55 // TODO @芋艿:【后续搞】不允许物资混放
68 56  
69 57 // 更新
... ... @@ -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 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 43  
44 44 @Override
45 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 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 52 issueLineMapper.insert(line);
56 53 return line.getId();
57 54 }
... ... @@ -60,15 +57,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ
60 57 public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) {
61 58 // 校验存在
62 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 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 66 issueLineMapper.updateById(updateObj);
73 67 }
74 68  
... ... @@ -109,6 +103,17 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ
109 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 117 @Override
113 118 public void updateReturnIssueQualityStatusByIssueId(Long issueId, Integer issueType) {
114 119 List<MesWmReturnIssueLineDO> lines = issueLineMapper.selectListByIssueId(issueId);
... ...