Commit b49798aa9e0d14bd679715c436343db2096d04dd

Authored by YunaiV
1 parent b886ad6f

✨ feat(mes): 添加物料/产品标识枚举及相关逻辑

新增物料/产品标识枚举类,优化物料类型校验逻辑,提升代码可读性和可维护性
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/item/MesMdItemTypeDO.java
... ... @@ -42,6 +42,8 @@ public class MesMdItemTypeDO extends BaseDO {
42 42 private Long parentId;
43 43 /**
44 44 * 物料/产品标识
  45 + *
  46 + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.md.MesMdItemTypeEnum}
45 47 */
46 48 private String itemOrProduct;
47 49 /**
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/MesMdItemTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.enums.md;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * MES 物料产品分类 - 物料/产品标识枚举
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum MesMdItemTypeEnum {
  14 +
  15 + /**
  16 + * 物料
  17 + */
  18 + ITEM("ITEM", "物料"),
  19 + /**
  20 + * 产品
  21 + */
  22 + PRODUCT("PRODUCT", "产品");
  23 +
  24 + /**
  25 + * 标识值
  26 + */
  27 + private final String value;
  28 + /**
  29 + * 标识名
  30 + */
  31 + private final String name;
  32 +
  33 + /**
  34 + * 判断给定值是否为产品类型
  35 + */
  36 + public static boolean isProduct(String value) {
  37 + return PRODUCT.getValue().equals(value);
  38 + }
  39 +
  40 +}
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
... ... @@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
16 16 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO;
17 17 import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
18 18 import cn.iocoder.yudao.module.mes.dal.mysql.md.item.MesMdItemMapper;
  19 +import cn.iocoder.yudao.module.mes.enums.md.MesMdItemTypeEnum;
19 20 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
20 21 import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
21 22 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService;
... ... @@ -112,7 +113,7 @@ public class MesMdItemServiceImpl implements MesMdItemService {
112 113 }
113 114 // 如果是产品类型,校验必须配置 BOM
114 115 MesMdItemTypeDO itemType = itemTypeService.getItemType(item.getItemTypeId());
115   - if (itemType != null && "PRODUCT".equals(itemType.getItemOrProduct())) {
  116 + if (MesMdItemTypeEnum.isProduct(itemType.getItemOrProduct())) {
116 117 if (CollUtil.isEmpty(productBomService.getProductBomListByItemId(id))) {
117 118 throw exception(MD_ITEM_PRODUCT_BOM_REQUIRED);
118 119 }
... ...