From cc29c141a1147e29554330fdbfdd7798c178e060 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 30 Mar 2026 10:26:46 +0800 Subject: [PATCH] ✨ feat(mes): 优化库存选择器和退货明细表单布局 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java | 29 +++++++++++++++-------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java | 29 +++++++++++++++++------------ 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java index 0b22f50..b12f5d3 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueDetailServiceImpl.java +++ b/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 @Override public Long createReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO createReqVO) { - // 校验父数据存在 - MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(createReqVO.getLineId()); - // 校验仓库、库区、库位的关联关系 - warehouseAreaService.validateWarehouseAreaExists( - createReqVO.getWarehouseId(), createReqVO.getLocationId(), createReqVO.getAreaId()); - // 校验明细总数量不超过行数量 - validateDetailQuantityNotExceed(createReqVO.getLineId(), createReqVO.getQuantity(), null, line); + validateReturnIssueDetailSaveData(createReqVO); // TODO @芋艿:【后续搞】不允许物资混放 // 插入 @@ -57,13 +51,7 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail public void updateReturnIssueDetail(MesWmReturnIssueDetailSaveReqVO updateReqVO) { // 校验存在 validateReturnIssueDetailExists(updateReqVO.getId()); - // 校验父数据存在 - MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(updateReqVO.getLineId()); - // 校验仓库、库区、库位的关联关系 - warehouseAreaService.validateWarehouseAreaExists( - updateReqVO.getWarehouseId(), updateReqVO.getLocationId(), updateReqVO.getAreaId()); - // 校验明细总数量不超过行数量(排除自身) - validateDetailQuantityNotExceed(updateReqVO.getLineId(), updateReqVO.getQuantity(), updateReqVO.getId(), line); + validateReturnIssueDetailSaveData(updateReqVO); // TODO @芋艿:【后续搞】不允许物资混放 // 更新 @@ -106,6 +94,19 @@ public class MesWmReturnIssueDetailServiceImpl implements MesWmReturnIssueDetail } /** + * 校验保存时的关联数据 + */ + private void validateReturnIssueDetailSaveData(MesWmReturnIssueDetailSaveReqVO reqVO) { + // 校验父数据存在 + MesWmReturnIssueLineDO line = issueLineService.validateReturnIssueLineExists(reqVO.getLineId()); + // 校验仓库、库区、库位的关联关系 + warehouseAreaService.validateWarehouseAreaExists( + reqVO.getWarehouseId(), reqVO.getLocationId(), reqVO.getAreaId()); + // 校验明细总数量不超过行数量(排除自身) + validateDetailQuantityNotExceed(reqVO.getLineId(), reqVO.getQuantity(), reqVO.getId(), line); + } + + /** * 校验明细总数量不超过行数量 * * @param lineId 行 ID diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java index ed228cd..2358ca2 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java +++ b/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 @Override public Long createReturnIssueLine(MesWmReturnIssueLineSaveReqVO createReqVO) { - // 校验父数据存在 - MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(createReqVO.getIssueId()); - // 校验物料存在 - itemService.validateItemExists(createReqVO.getItemId()); + // 校验数据 + MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(createReqVO); // 插入 MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class); - // 质量状态自动赋值 - line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); + line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); // 质量状态自动赋值 issueLineMapper.insert(line); return line.getId(); } @@ -60,15 +57,12 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) { // 校验存在 validateReturnIssueLineExists(updateReqVO.getId()); - // 校验父数据存在 - MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(updateReqVO.getIssueId()); - // 校验物料存在 - itemService.validateItemExists(updateReqVO.getItemId()); + // 校验数据 + MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(updateReqVO); // 更新 MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class); - // 质量状态自动赋值 - updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); // 质量状态自动赋值 issueLineMapper.updateById(updateObj); } @@ -109,6 +103,17 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ return line; } + /** + * 校验保存时的关联数据 + */ + private MesWmReturnIssueDO validateReturnIssueLineSaveData(MesWmReturnIssueLineSaveReqVO reqVO) { + // 校验父数据存在 + MesWmReturnIssueDO issue = issueService.validateReturnIssueExists(reqVO.getIssueId()); + // 校验物料存在 + itemService.validateItemExists(reqVO.getItemId()); + return issue; + } + @Override public void updateReturnIssueQualityStatusByIssueId(Long issueId, Integer issueType) { List lines = issueLineMapper.selectListByIssueId(issueId); -- libgit2 0.21.4