From b5b79b96db8edd91fdf4703bccd797268423bea0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 3 Mar 2026 12:51:32 +0800 Subject: [PATCH] ✨ feat(mes): 添加杂项出库单类型及状态枚举支持 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java | 3 ++- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java | 2 ++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java | 21 ++++++++++++++++----- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java | 22 ++++++++++++++++++---- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java index b0210e5..9d777b1 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java @@ -35,9 +35,10 @@ public class MesWmMiscIssueDO extends BaseDO { * 出库单名称 */ private String name; - // TODO @AI:字典;需要写在 dict constants 里; /** * 杂项类型 + * + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.DictTypeConstants#MES_WM_MISC_ISSUE_TYPE} */ private String type; // TODO @芋艿:这里还没定,关联哪些; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java index 1273dd2..b46e0f2 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java @@ -50,5 +50,7 @@ public interface DictTypeConstants { String MES_WM_QUALITY_STATUS = "mes_wm_quality_status"; // MES 质量状态(待检/合格/不合格) String MES_WM_RETURN_ISSUE_STATUS = "mes_return_issue_status"; // MES 生产退料单状态 String MES_WM_RETURN_ISSUE_TYPE = "mes_return_issue_type"; // MES 生产退料类型 + String MES_WM_MISC_ISSUE_TYPE = "mes_wm_misc_issue_type"; // MES 杂项出库类型 + String MES_WM_MISC_ISSUE_STATUS = "mes_wm_misc_issue_status"; // MES 杂项出库单状态 } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java index 0ee114c..cb22ead 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.mes.enums.wm; import cn.iocoder.yudao.framework.common.core.ArrayValuable; +import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; +import cn.iocoder.yudao.module.mes.service.wm.miscissue.MesWmMiscIssueService; import lombok.AllArgsConstructor; import lombok.Getter; @@ -9,29 +11,38 @@ import java.util.Arrays; /** * MES 杂项出库单状态枚举 * + * 对应字典 mes_wm_misc_issue_status + * * @author 芋道源码 */ @Getter @AllArgsConstructor public enum MesWmMiscIssueStatusEnum implements ArrayValuable { - // TODO @AI:/Users/yunai/Java/yudao-all-in-one/ruoyi-vue-pro/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductSalesStatusEnum.java,关联 orderstatus;然后有“对应方法” /** * 草稿 + * + * 对应方法:{@link MesWmMiscIssueService#createMiscIssue} */ - PREPARE(0, "草稿"), + PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), /** * 待执行出库 + * + * 对应方法:{@link MesWmMiscIssueService#submitMiscIssue} */ - APPROVED(1, "待执行出库"), + APPROVED(MesOrderStatusConstants.APPROVED, "待执行出库"), /** * 已完成 + * + * 对应方法:{@link MesWmMiscIssueService#finishMiscIssue} */ - FINISHED(2, "已完成"), + FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), /** * 已取消 + * + * 对应方法:{@link MesWmMiscIssueService#cancelMiscIssue} */ - CANCELED(3, "已取消"); + CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmMiscIssueStatusEnum::getStatus).toArray(Integer[]::new); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java index 9d6b283..f66a0f4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMi import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMiscIssueLineSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.miscissue.MesWmMiscIssueLineDO; import cn.iocoder.yudao.module.mes.dal.mysql.wm.miscissue.MesWmMiscIssueLineMapper; +import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; +import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -31,12 +33,21 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService @Lazy private MesWmMiscIssueService miscIssueService; + @Resource + private MesMdItemService itemService; + + @Resource + private MesWmWarehouseAreaService warehouseAreaService; + @Override public Long createMiscIssueLine(MesWmMiscIssueLineSaveReqVO createReqVO) { // 校验父单据存在且为可编辑状态 miscIssueService.validateMiscIssueEditable(createReqVO.getIssueId()); - // TODO AI:item 存在; - // TODO @AI:校验 areaid 等字段存在;areaservice 有统一方法; + // 校验物料存在 + itemService.validateItemExists(createReqVO.getItemId()); + // 校验仓库、库区、库位的父子关系 + warehouseAreaService.validateWarehouseAreaExists(createReqVO.getWarehouseId(), + createReqVO.getLocationId(), createReqVO.getAreaId()); // 新增 MesWmMiscIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmMiscIssueLineDO.class); @@ -50,8 +61,11 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService MesWmMiscIssueLineDO line = validateMiscIssueLineExists(updateReqVO.getId()); // 校验父单据存在且为可编辑状态 miscIssueService.validateMiscIssueEditable(line.getIssueId()); - // TODO AI:item 存在; - // TODO @AI:校验 areaid 等字段存在;areaservice 有统一方法; + // 校验物料存在 + itemService.validateItemExists(updateReqVO.getItemId()); + // 校验仓库、库区、库位的父子关系 + warehouseAreaService.validateWarehouseAreaExists(updateReqVO.getWarehouseId(), + updateReqVO.getLocationId(), updateReqVO.getAreaId()); // 更新 MesWmMiscIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscIssueLineDO.class); -- libgit2 0.21.4