From de1391e701438e3b10636df18e731502845ba741 Mon Sep 17 00:00:00 2001 From: zch Date: Tue, 14 Jan 2025 20:10:26 +0800 Subject: [PATCH] =?UTF-8?q?change(hwmom-mes):=E5=A2=9E=E5=8A=A0=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=B1=BB=E5=9E=8B=E5=90=8D=E7=A7=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=B9=B6=E5=AE=9E=E7=8E=B0=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 BaseMaterialInfo 模型中添加 matrialTypeName 字段 - 在 BaseMaterialInfoServiceImpl 服务中实现物料类型名称的关联查询 - 在 BaseMaterialInfoVo 视图中添加 matrialTypeName 属性 - 添加物料编码唯一性的校验逻辑 --- .../dromara/mes/domain/BaseMaterialInfo.java | 7 ++++++ .../mes/domain/vo/BaseMaterialInfoVo.java | 6 +++++ .../impl/BaseMaterialInfoServiceImpl.java | 25 +++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseMaterialInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseMaterialInfo.java index 2984590..4cbf300 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseMaterialInfo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseMaterialInfo.java @@ -270,4 +270,11 @@ public class BaseMaterialInfo extends TenantEntity { */ @TableField(exist = false) private String factoryName; //映射字段 + + /** + * 物料类型名称 + */ + @TableField(exist = false) + private String matrialTypeName;//映射字段 + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseMaterialInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseMaterialInfoVo.java index 5a3ea64..1f7aa51 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseMaterialInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseMaterialInfoVo.java @@ -375,4 +375,10 @@ public class BaseMaterialInfoVo implements Serializable { @ExcelProperty(value = "所属工厂") private String factoryName; + /** + * 物料类型名称 + */ + @ExcelProperty(value = "物料类型名称") + private String matrialTypeName;//映射字段 + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java index 3ba89f5..c04469f 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.mes.service.impl; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +10,8 @@ import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.mes.domain.BaseMaterialType; +import org.dromara.mes.domain.BaseMeasurementUnitInfo; import org.dromara.mes.domain.ProdBaseFactoryInfo; import org.springframework.stereotype.Service; import org.dromara.mes.domain.bo.BaseMaterialInfoBo; @@ -75,9 +78,21 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService { MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseMaterialInfo.class) .selectAll(BaseMaterialInfo.class) + // 关联查询工厂信息 .select(ProdBaseFactoryInfo::getFactoryName) .leftJoin(ProdBaseFactoryInfo.class, ProdBaseFactoryInfo::getFactoryId, BaseMaterialInfo::getFactoryId) + //关联查询物料类型名称 + .select(BaseMaterialType::getMatrialTypeName) + //注意"e":BaseMaterialType实体类中为matrialTypeId,BaseMaterialInfo实体类中为materialTypeId + .leftJoin(BaseMaterialType.class, BaseMaterialType::getMatrialTypeId, BaseMaterialInfo::getMaterialTypeId) + +/* //关联计量单位信息 + .select(BaseMeasurementUnitInfo::getUnitName) + .leftJoin(BaseMeasurementUnitInfo.class, BaseMeasurementUnitInfo::getUnitId, BaseMaterialInfo::getMaterialUnitId)*/ + + + .eq(bo.getMaterialId() != null, BaseMaterialInfo::getMaterialId, bo.getMaterialId()) .eq(StringUtils.isNotBlank(bo.getErpId()), BaseMaterialInfo::getErpId, bo.getErpId()) @@ -166,6 +181,16 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService { */ private void validEntityBeforeSave(BaseMaterialInfo entity){ //TODO 做一些数据校验,如唯一约束 + if (StringUtils.isNotBlank(entity.getMaterialCode())) { + BaseMaterialInfoBo query = new BaseMaterialInfoBo(); + query.setMaterialCode(entity.getMaterialCode()); + MPJLambdaWrapper lqw = buildQueryWrapper(query); + BaseMaterialInfo baseMaterialInfo = baseMapper.selectOne(lqw); + if (baseMaterialInfo != null + && !baseMaterialInfo.getMaterialId().equals(entity.getMaterialId())) { + throw new ServiceException("编码已存在"); + } + } } /**