Commit b49798aa9e0d14bd679715c436343db2096d04dd
1 parent
b886ad6f
✨ feat(mes): 添加物料/产品标识枚举及相关逻辑
新增物料/产品标识枚举类,优化物料类型校验逻辑,提升代码可读性和可维护性
Showing
3 changed files
with
44 additions
and
1 deletions
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,6 +42,8 @@ public class MesMdItemTypeDO extends BaseDO { | ||
| 42 | private Long parentId; | 42 | private Long parentId; |
| 43 | /** | 43 | /** |
| 44 | * 物料/产品标识 | 44 | * 物料/产品标识 |
| 45 | + * | ||
| 46 | + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.md.MesMdItemTypeEnum} | ||
| 45 | */ | 47 | */ |
| 46 | private String itemOrProduct; | 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,6 +16,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; | ||
| 16 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO; | 16 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO; |
| 17 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; | 17 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; |
| 18 | import cn.iocoder.yudao.module.mes.dal.mysql.md.item.MesMdItemMapper; | 18 | import cn.iocoder.yudao.module.mes.dal.mysql.md.item.MesMdItemMapper; |
| 19 | +import cn.iocoder.yudao.module.mes.enums.md.MesMdItemTypeEnum; | ||
| 19 | import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum; | 20 | import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum; |
| 20 | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; | 21 | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; |
| 21 | import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; | 22 | import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; |
| @@ -112,7 +113,7 @@ public class MesMdItemServiceImpl implements MesMdItemService { | @@ -112,7 +113,7 @@ public class MesMdItemServiceImpl implements MesMdItemService { | ||
| 112 | } | 113 | } |
| 113 | // 如果是产品类型,校验必须配置 BOM | 114 | // 如果是产品类型,校验必须配置 BOM |
| 114 | MesMdItemTypeDO itemType = itemTypeService.getItemType(item.getItemTypeId()); | 115 | MesMdItemTypeDO itemType = itemTypeService.getItemType(item.getItemTypeId()); |
| 115 | - if (itemType != null && "PRODUCT".equals(itemType.getItemOrProduct())) { | 116 | + if (MesMdItemTypeEnum.isProduct(itemType.getItemOrProduct())) { |
| 116 | if (CollUtil.isEmpty(productBomService.getProductBomListByItemId(id))) { | 117 | if (CollUtil.isEmpty(productBomService.getProductBomListByItemId(id))) { |
| 117 | throw exception(MD_ITEM_PRODUCT_BOM_REQUIRED); | 118 | throw exception(MD_ITEM_PRODUCT_BOM_REQUIRED); |
| 118 | } | 119 | } |