From aeb72a25017b02f1277651e85ec6ad4e5ac3d9c1 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 18 Mar 2025 17:15:46 +0800 Subject: [PATCH 1/6] =?UTF-8?q?update=20Dms=E6=8A=A5=E8=AD=A6=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=85=B3=E7=B3=BB=E4=BF=A1=E6=81=AF=E3=80=81=E6=9C=BA?= =?UTF-8?q?=E5=8F=B0=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/dms/domain/BaseAlarmRule.java | 22 +++++++ .../dms/domain/bo/BaseAlarmRuleBo.java | 7 ++- .../dms/domain/vo/BaseAlarmRuleVo.java | 23 +++++++ .../impl/BaseAlarmRuleServiceImpl.java | 54 ++++++++++------- .../mes/domain/ProdBaseDeviceMode.java | 53 ++++++++++++++++ .../mes/domain/ProdBaseMachineInfo.java | 51 ++++++++++++++++ .../mes/domain/bo/ProdBaseMachineInfoBo.java | 55 +++++++++++++++++ .../mes/domain/vo/ProdBaseMachineInfoVo.java | 60 +++++++++++++++++++ .../mes/mapper/prodBaseDeviceModeMapper.java | 14 +++++ .../impl/ProdBaseMachineInfoServiceImpl.java | 2 + 10 files changed, 315 insertions(+), 26 deletions(-) create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java index 5df1a28..bd735a0 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java @@ -112,5 +112,27 @@ public class BaseAlarmRule extends TenantEntity { */ private String remark; + /** + * 报警级别名称 + */ + @TableField(exist = false) + private String alarmLevelName; + /** + * 报警类型名称 + */ + @TableField(exist = false) + private String alarmTypeName; + + /** + * 设备名称 + */ + @TableField(exist = false) + private String ruleDeviceName; + + /** + * 设备模型名称 + */ + @TableField(exist = false) + private String ruleDeviceModeName; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java index da27ed2..68b9749 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java @@ -28,19 +28,19 @@ public class BaseAlarmRuleBo extends BaseEntity { /** * 规则名称 */ - @NotBlank(message = "规则名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "规则名称不能为空", groups = {AddGroup.class, EditGroup.class}) private String alarmRuleName; /** * 报警级别,关联表hw_alarm_level字段alarm_level_id */ - @NotNull(message = "报警级别,关联表hw_alarm_level字段alarm_level_id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "报警级别", groups = {AddGroup.class, EditGroup.class}) private Long alarmLevelId; /** * 报警类型,关联表hw_alarm_type字段alarm_type_id */ - @NotNull(message = "报警类型,关联表hw_alarm_type字段alarm_type_id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "报警类型", groups = {AddGroup.class, EditGroup.class}) private Long alarmTypeId; /** @@ -66,6 +66,7 @@ public class BaseAlarmRuleBo extends BaseEntity { /** * 表达式,例如:{}>60 or {}<-88 */ + @NotBlank(message = "表达式不能为空", groups = {AddGroup.class, EditGroup.class}) private String triggerExpression; /** diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java index 78694bd..ef6e214 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java @@ -141,5 +141,28 @@ public class BaseAlarmRuleVo implements Serializable { @ExcelProperty(value = "描述") private String remark; + /** + * 报警级别名称 + */ + @ExcelProperty(value = "报警级别名称") + private String alarmLevelName; + + /** + * 报警类型名称 + */ + @ExcelProperty(value = "报警类型名称") + private String alarmTypeName; + + /** + * 设备名称 + */ + @ExcelProperty(value = "设备名称") + private String ruleDeviceName; + + /** + * 设备模型名称 + */ + @ExcelProperty(value = "设备模型名称") + private String ruleDeviceModeName; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java index ec2c60d..cd06093 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java @@ -7,8 +7,10 @@ import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.dms.domain.BaseAlarmLevel; +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.dms.domain.DmsDeviceMode; import org.springframework.stereotype.Service; import org.dromara.dms.domain.bo.BaseAlarmRuleBo; import org.dromara.dms.domain.vo.BaseAlarmRuleVo; @@ -39,7 +41,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { * @return 报警规则 */ @Override - public BaseAlarmRuleVo queryById(Long alarmRuleId){ + public BaseAlarmRuleVo queryById(Long alarmRuleId) { return baseMapper.selectVoById(alarmRuleId); } @@ -72,25 +74,31 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { private MPJLambdaWrapper buildQueryWrapper(BaseAlarmRuleBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmRule.class) - .selectAll(BaseAlarmRule.class) - .eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId()) - .like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName()) - .eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId()) - .eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId()) - .eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType()) - .eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId()) - .eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId()) - .eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal()) - .eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression()) - .eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag()) - .eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus()) - .eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag()) - .eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent()) - .eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent()) - .eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame()) - .eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber()) - .eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone()) - .orderByAsc(BaseAlarmRule::getCreateTime); + .selectAll(BaseAlarmRule.class) + .select(BaseAlarmLevel::getAlarmLevelName) + .select(BaseAlarmType::getAlarmTypeName) + .select(DmsDeviceMode::getDeviceModeName) + .leftJoin(BaseAlarmLevel.class, BaseAlarmLevel::getAlarmLevelId, BaseAlarmRule::getAlarmLevelId) + .leftJoin(BaseAlarmType.class, BaseAlarmType::getAlarmTypeId, BaseAlarmRule::getAlarmTypeId) + .leftJoin(DmsDeviceMode.class, DmsDeviceMode::getDeviceModeId, BaseAlarmRule::getRuleDeviceModeId) + .eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId()) + .like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName()) + .eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId()) + .eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId()) + .eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType()) + .eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId()) + .eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId()) + .eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal()) + .eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression()) + .eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent()) + .eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent()) + .eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame()) + .eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber()) + .eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone()) + .orderByAsc(BaseAlarmRule::getCreateTime); return lqw; } @@ -127,7 +135,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(BaseAlarmRule entity){ + private void validEntityBeforeSave(BaseAlarmRule entity) { //TODO 做一些数据校验,如唯一约束 } @@ -140,7 +148,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java new file mode 100644 index 0000000..d649ade --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java @@ -0,0 +1,53 @@ +package org.dromara.mes.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备模型对象 dms_device_mode + * + * @author Yinq + * @date 2025-03-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_device_mode") +public class ProdBaseDeviceMode extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 设备模型ID + */ + @TableId(value = "device_mode_id", type = IdType.AUTO) + private Long deviceModeId; + + /** + * 设备模型名称 + */ + private String deviceModeName; + + /** + * 设备模型状态(1:启用,9:删除) + */ + private String deviceModeStatus; + + /** + * 设备模型图片地址 + */ + private String deviceModePic; + + /** + * 场景描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java index 257c320..da74ae2 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java @@ -77,9 +77,60 @@ public class ProdBaseMachineInfo extends TenantEntity { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + private Long deviceModeId; + + /** + * 设备IP地址 + */ + private String machineIp; + + /** + * 设备端口 + */ + private Long machinePort; + + /** + * 设备协议 + */ + private String accessProtocol; + + /** + * 寄存器地址 + */ + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + private String dataType; + + /** + * 数据长度 + */ + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + private Long requestInterval; + /** * 车间名称 */ @TableField(exist = false) private String workshopName; + + /** + * 设备模型名称 + */ + @TableField(exist = false) + private String deviceModeName; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java index 8e323cd..c6e36b9 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java @@ -1,5 +1,6 @@ package org.dromara.mes.domain.bo; +import com.alibaba.excel.annotation.ExcelProperty; import org.dromara.mes.domain.ProdBaseMachineInfo; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -85,5 +86,59 @@ public class ProdBaseMachineInfoBo extends BaseEntity { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + @ExcelProperty(value = "设备模型,关联设备模型dms_device_mode") + private Long deviceModeId; + + /** + * 设备IP地址 + */ + @ExcelProperty(value = "设备IP地址") + private String machineIp; + + /** + * 设备端口 + */ + @ExcelProperty(value = "设备端口") + private Long machinePort; + + /** + * 设备协议 + */ + @ExcelProperty(value = "设备协议") + private String accessProtocol; + + /** + * 寄存器地址 + */ + @ExcelProperty(value = "寄存器地址") + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + @ExcelProperty(value = "数据类型") + private String dataType; + + /** + * 数据长度 + */ + @ExcelProperty(value = "数据长度") + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + @ExcelProperty(value = "数据编码格式") + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + @ExcelProperty(value = "请求间隔") + private Long requestInterval; + private List baseMachineProcessList; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java index 35d21f5..a53df78 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java @@ -131,12 +131,72 @@ public class ProdBaseMachineInfoVo implements Serializable { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + @ExcelProperty(value = "设备模型,关联设备模型dms_device_mode") + private Long deviceModeId; + + /** + * 设备IP地址 + */ + @ExcelProperty(value = "设备IP地址") + private String machineIp; + + /** + * 设备端口 + */ + @ExcelProperty(value = "设备端口") + private Long machinePort; + + /** + * 设备协议 + */ + @ExcelProperty(value = "设备协议") + private String accessProtocol; + + /** + * 寄存器地址 + */ + @ExcelProperty(value = "寄存器地址") + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + @ExcelProperty(value = "数据类型") + private String dataType; + + /** + * 数据长度 + */ + @ExcelProperty(value = "数据长度") + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + @ExcelProperty(value = "数据编码格式") + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + @ExcelProperty(value = "请求间隔") + private Long requestInterval; + /** * 车间名称 */ @ExcelProperty(value = "车间名称") private String workshopName; + /** + * 设备模型名称 + */ + @ExcelProperty(value = "设备模型名称") + private String deviceModeName; + private List baseMachineProcessList; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java new file mode 100644 index 0000000..6ab6620 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java @@ -0,0 +1,14 @@ +package org.dromara.mes.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.mes.domain.ProdBaseDeviceMode; + +/** + * 设备模型Mapper接口 + * + * @author Yinq + * @date 2025-03-11 + */ +public interface prodBaseDeviceModeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java index 089aa52..4c57315 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java @@ -96,7 +96,9 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdBaseMachineInfo.class) .selectAll(ProdBaseMachineInfo.class) .select(ProdBaseWorkshopInfo::getWorkshopName) + .select(ProdBaseDeviceMode::getDeviceModeName) .leftJoin(ProdBaseWorkshopInfo.class, ProdBaseWorkshopInfo::getWorkshopId, ProdBaseMachineInfo::getWorkshopId) + .leftJoin(ProdBaseDeviceMode.class, ProdBaseDeviceMode::getDeviceModeId, ProdBaseMachineInfo::getDeviceModeId) .eq(bo.getMachineId() != null, ProdBaseMachineInfo::getMachineId, bo.getMachineId()) .like(StringUtils.isNotBlank(bo.getMachineCode()), ProdBaseMachineInfo::getMachineCode, bo.getMachineCode()) .like(StringUtils.isNotBlank(bo.getMachineName()), ProdBaseMachineInfo::getMachineName, bo.getMachineName()) From 477ebb304d50eb5749043e6d900abcc37e21c150 Mon Sep 17 00:00:00 2001 From: zch Date: Tue, 18 Mar 2025 20:47:44 +0800 Subject: [PATCH 2/6] =?UTF-8?q?change(device):=20=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=A4=A7=E7=B1=BB=E5=90=8D=E7=A7=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?,=E6=96=B0=E5=A2=9E=E7=A5=96=E5=85=88=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=9A=84=E6=8F=92=E5=85=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 BaseDeviceType 模型中添加 deviceCategoryName 字段用于映射设备大类名称 - 在 BaseDeviceTypeBo 和 BaseDeviceTypeVo 中添加相应的字段和注解- 修改 BaseDeviceTypeServiceImpl 中的查询方法,增加设备大类名称的关联查询 - 优化设备类型插入逻辑,处理父节点为空的情况 --- .../org/dromara/mes/domain/BaseDeviceType.java | 7 +++++++ .../dromara/mes/domain/bo/BaseDeviceTypeBo.java | 14 +++++++++----- .../dromara/mes/domain/vo/BaseDeviceTypeVo.java | 6 +++++- .../service/impl/BaseDeviceTypeServiceImpl.java | 17 +++++++++++++++++ 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java index b7010da..1b0ae8a 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseDeviceType.java @@ -24,6 +24,7 @@ public class BaseDeviceType extends TenantEntity { /** * 物料类型ID */ + @TableId(value = "device_type_id", type = IdType.AUTO) private Long deviceTypeId; /** @@ -61,5 +62,11 @@ public class BaseDeviceType extends TenantEntity { */ private String remark; + /** + * 设备大类名称 + */ + @TableField(exist = false) + private String deviceCategoryName;//join映射字段 + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java index fda0244..f7cffa0 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java @@ -23,7 +23,7 @@ public class BaseDeviceTypeBo extends BaseEntity { /** * 物料类型ID */ - @NotNull(message = "物料类型ID不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotNull(message = "物料类型ID不能为空", groups = { AddGroup.class, EditGroup.class })*/ private Long deviceTypeId; /** @@ -35,13 +35,13 @@ public class BaseDeviceTypeBo extends BaseEntity { /** * 设备类型编号 */ - @NotBlank(message = "设备类型编号不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotBlank(message = "设备类型编号不能为空", groups = { AddGroup.class, EditGroup.class })*/ private String deviceTypeCode; /** * 设备类型名称 */ - @NotBlank(message = "设备类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotBlank(message = "设备类型名称不能为空", groups = { AddGroup.class, EditGroup.class })*/ private String deviceTypeName; /** @@ -53,13 +53,13 @@ public class BaseDeviceTypeBo extends BaseEntity { /** * 设备大类ID(大类ID(关联base_category表category_type为2的)) */ - @NotNull(message = "设备大类不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotNull(message = "设备大类不能为空", groups = { AddGroup.class, EditGroup.class })*/ private Long deviceCategoryId; /** * 激活标识(1是 0否) */ - @NotBlank(message = "激活标识不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotBlank(message = "激活标识不能为空", groups = { AddGroup.class, EditGroup.class })*/ private String activeFlag; /** @@ -68,5 +68,9 @@ public class BaseDeviceTypeBo extends BaseEntity { /* @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })*/ private String remark; + /** + * 设备大类名称 + */ + private String deviceCategoryName;//join映射字段 } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java index fd77434..fcd2967 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseDeviceTypeVo.java @@ -78,5 +78,9 @@ public class BaseDeviceTypeVo implements Serializable { @ExcelProperty(value = "备注") private String remark; - + /** + * 设备大类名称 + */ + @ExcelProperty(value = "设备大类名称") + private String deviceCategoryName;//join映射字段 } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java index de2f880..cc65454 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseDeviceTypeServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.mes.service.impl; +import org.apache.commons.lang3.ObjectUtils; 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.BaseDeviceCategory; +import org.dromara.mes.domain.vo.BaseMaterialTypeVo; import org.springframework.stereotype.Service; import org.dromara.mes.domain.bo.BaseDeviceTypeBo; import org.dromara.mes.domain.vo.BaseDeviceTypeVo; @@ -73,6 +76,11 @@ public class BaseDeviceTypeServiceImpl implements IBaseDeviceTypeService { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseDeviceType.class) .selectAll(BaseDeviceType.class) + + // 关联查询设备大类信息 + .select(BaseDeviceCategory::getDeviceCategoryName) + .leftJoin(BaseDeviceCategory.class,BaseDeviceCategory::getDeviceCategoryId,BaseDeviceType::getDeviceCategoryId) + .eq(bo.getDeviceTypeId() != null, BaseDeviceType::getDeviceTypeId, bo.getDeviceTypeId()) .eq(bo.getParentId() != null, BaseDeviceType::getParentId, bo.getParentId()) .eq(StringUtils.isNotBlank(bo.getDeviceTypeCode()), BaseDeviceType::getDeviceTypeCode, bo.getDeviceTypeCode()) @@ -94,6 +102,15 @@ public class BaseDeviceTypeServiceImpl implements IBaseDeviceTypeService { public Boolean insertByBo(BaseDeviceTypeBo bo) { BaseDeviceType add = MapstructUtils.convert(bo, BaseDeviceType.class); validEntityBeforeSave(add); + //获取父节点信息 + BaseDeviceTypeVo query = baseMapper.selectVoById(bo.getParentId()); + if (ObjectUtils.isNotEmpty(query)) { + //若父节点不为空,则将父节点的ancestors拼接父节点id拼接成ancestors + add.setAncestors(query.getAncestors() + "," + bo.getParentId()); + }else{ + //若父节点为空,则ancestors仅有父节点id + add.setAncestors(bo.getParentId().toString()); + } boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setDeviceTypeId(add.getDeviceTypeId()); From cfb55019ae63a60b226c17b416fc055fb8fb701c Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Tue, 18 Mar 2025 20:56:43 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4(PDA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/nacos/application-common.yml | 3 +- .../mes/api/RemoteMaterialInfoService.java | 3 + ruoyi-api/hwmom-api-pda/pom.xml | 38 ++ .../pda/api/RemotePdaMesApiService.java | 20 + .../pda/api/RemotePdaQmsApiService.java | 19 + .../dromara/pda/api/model/BaseMaterial.java | 267 ++++++++++++ .../pda/api/model/vo/RemoteDefectVo.java | 104 +++++ ruoyi-api/pom.xml | 1 + ruoyi-common/ruoyi-common-core/pom.xml | 1 - .../exception/pda/PdaServiceException.java | 14 + .../main/resources/i18n/messages.properties | 3 + ruoyi-modules/hwmom-api/pom.xml | 8 +- .../BaseMaterialInfoApiController.java | 2 +- .../api/controller/PdaApiController.java | 42 ++ .../dromara/api/domain/BaseMaterialInfo.java | 282 +++++++++++++ .../api/domain/sap/vo/BaseMaterialInfoVo.java | 382 ++++++++++++++++++ .../dromara/api/service/IPdaApiService.java | 20 + .../impl/BaseMaterialInfoApiServiceImpl.java | 1 + .../api/service/impl/IPdaApiServiceImpl.java | 32 ++ ruoyi-modules/hwmom-mes/pom.xml | 6 + .../dubbo/RemoteMaterialInfoServiceImpl.java | 8 +- .../mes/dubbo/RemoteQmsApiServiceImpl.java | 43 ++ .../mes/mapper/BaseMaterialInfoMapper.java | 2 + .../mapper/mes/BaseMaterialInfoMapper.xml | 3 + ruoyi-modules/hwmom-qms/pom.xml | 6 + .../org/dromara/qms/HwmomQmsApplication.java | 2 + .../qms/domain/bo/QcDefectDetailBo.java | 2 + .../qms/domain/bo/QcInspectionRulesBo.java | 1 - .../qms/dubbo/RemoteQmsApiServiceImpl.java | 62 +++ 29 files changed, 1369 insertions(+), 8 deletions(-) create mode 100644 ruoyi-api/hwmom-api-pda/pom.xml create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java create mode 100644 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java diff --git a/config/nacos/application-common.yml b/config/nacos/application-common.yml index ee793c7..3217415 100644 --- a/config/nacos/application-common.yml +++ b/config/nacos/application-common.yml @@ -178,7 +178,8 @@ sa-token: is-share: false # jwt秘钥 jwt-secret-key: abcdefghijklmnopqrstuvwxyz - + # 设置Token有效期1小时(单位:秒) + timeout: 3600 # MyBatisPlus配置 # https://baomidou.com/config/ mybatis-plus: diff --git a/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java b/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java index 9b4b205..ef98a11 100644 --- a/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java +++ b/ruoyi-api/hwmom-api-mes/src/main/java/org/dromara/mes/api/RemoteMaterialInfoService.java @@ -1,5 +1,7 @@ package org.dromara.mes.api; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.mes.api.model.BaseMaterialInfo; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import java.util.List; @@ -18,4 +20,5 @@ public interface RemoteMaterialInfoService { */ Boolean remoteInsertBaseMaterialInfo(List bos); + } diff --git a/ruoyi-api/hwmom-api-pda/pom.xml b/ruoyi-api/hwmom-api-pda/pom.xml new file mode 100644 index 0000000..3cebf37 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/pom.xml @@ -0,0 +1,38 @@ + + + + org.dromara + ruoyi-api + ${revision} + + 4.0.0 + + hwmom-api-pda + + + hwmom-api-pda PDA接口模块 + + + + + + + org.dromara + ruoyi-common-core + + + + org.dromara + ruoyi-common-excel + + + org.projectlombok + lombok + provided + + + + + diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java new file mode 100644 index 0000000..b30e7f2 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaMesApiService.java @@ -0,0 +1,20 @@ +package org.dromara.pda.api; + +import org.dromara.common.core.exception.user.UserException; +import org.dromara.pda.api.model.BaseMaterial; + +import java.util.List; +import java.util.Map; + +public interface RemotePdaMesApiService { + /** + * + * @param materialCode + * @param tenantId + * @return + * @throws UserException + */ + BaseMaterial remoteQueryByMaterialCode(String materialCode , String tenantId) throws UserException; + + +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java new file mode 100644 index 0000000..6679187 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/RemotePdaQmsApiService.java @@ -0,0 +1,19 @@ +package org.dromara.pda.api; + +import org.dromara.common.core.domain.R; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.pda.api.model.vo.RemoteDefectVo; + +import java.util.List; + + +public interface RemotePdaQmsApiService { + /** + * + * @param defectType 缺陷类型 + * @param tenantId 租户编号 + * @return + * @throws UserException + */ + List remoteQueryDefectList(String defectType , String tenantId) throws UserException; +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java new file mode 100644 index 0000000..c8f22eb --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/BaseMaterial.java @@ -0,0 +1,267 @@ +package org.dromara.pda.api.model; + + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +@Data +@NoArgsConstructor +public class BaseMaterial implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long materialId; + + /** + * ERP信息 + */ + private String erpId; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 旧物料编码 + */ + private String oldMaterialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + private String materialCategories; + + /** + * 物料小类 + */ + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + private String batchFlag; + + /** + * 小批次数量 + */ + private Long batchAmount; + + /** + * 计量单位ID + */ + private Long materialUnitId; + + /** + * 计量单位名称 + */ + private String materialUnit; + + /** + * 物料组 + */ + private String materialMatkl; + + /** + * 物料规格 + */ + private String materialSpec; + + /** + * 净重 + */ + private Long netWeight; + + /** + * 毛重 + */ + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + private String alwaysFlag; + + /** + * 所属工厂 + */ + private Long factoryId; + + /** + * 创建组织 + */ + private Long createOrgId; + + /** + * 使用组织 + */ + private Long useOrgId; + + /** + * 所属产线 + */ + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + private String deletedFlag; + + /** + * 采购计价单位 + */ + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + private Date approveDate; + + /** + * erp最后更新日期 + */ + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + private Long minStockAmount; + + /** + * 安全库存数量 + */ + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + private String brand; + + /** + * 层级 + */ + private String plyrating; + + /** + * 花纹 + */ + private String pattern; + + /** + * 速度级别 + */ + private String speedLevel; + + /** + * 负荷载重 + */ + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + private Long maxParkingTime; + + /** + * 标准重量 + */ + private Long standardWeight; + + /** + * 标准重量上限 + */ + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + private String saleType; + + /** + * 备注 + */ + private String remark; + + + /** + * 所属工厂名称 + */ + private String factoryName; //映射字段 + + /** + * 物料类型名称 + */ + private String matrialTypeName;//映射字段 +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java new file mode 100644 index 0000000..3e386bf --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteDefectVo.java @@ -0,0 +1,104 @@ +package org.dromara.pda.api.model.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; + +import java.io.Serial; +import java.io.Serializable; + +@Data +@NoArgsConstructor +public class RemoteDefectVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private String defectDetailId; + + /** + * 病疵编码 + */ + @ExcelProperty(value = "病疵编码") + private Long defectCode; + + /** + * 病疵描述 + */ + @ExcelProperty(value = "病疵描述") + private String defectDesc; + + /** + * 病疵类型 + */ + @ExcelProperty(value = "病疵类型") + private String defectType; + + /** + * 排序 + */ + @ExcelProperty(value = "排序") + private String sort; + + /** + * 工序 + */ + @ExcelProperty(value = "工序") + private String operation; + + /** + * 层级 + */ + @ExcelProperty(value = "层级") + private String defectLevel; + + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=正常,1=停用") + private String status; + + /** + * 是否删除(1是 0否) + */ + @ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=是,0=否") + private String isFlag; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr1; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr2; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr3; + + /** + * 预留字段 + */ + @ExcelProperty(value = "预留字段") + private String attr4; + + /** + * 备注 + */ + private String remark; + +} diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index fc8dc58..edd400d 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -14,6 +14,7 @@ ruoyi-api-resource ruoyi-api-workflow hwmom-api-mes + hwmom-api-pda ruoyi-api diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index 01d876e..2c1ed57 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -14,7 +14,6 @@ ruoyi-common-core 核心模块 - diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java new file mode 100644 index 0000000..bf90b97 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/pda/PdaServiceException.java @@ -0,0 +1,14 @@ +package org.dromara.common.core.exception.pda; + +import org.dromara.common.core.exception.base.BaseException; + +import java.io.Serial; + +public class PdaServiceException extends BaseException { + @Serial + private static final long serialVersionUID = 1L; + + public PdaServiceException(String code, Object... args) { + super("materialCode", code, args, null); + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties b/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties index cce11c8..906c57b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties +++ b/ruoyi-common/ruoyi-common-core/src/main/resources/i18n/messages.properties @@ -59,3 +59,6 @@ tenant.number.not.blank=租户编号不能为空 tenant.not.exists=对不起, 您的租户不存在,请联系管理员 tenant.blocked=对不起,您的租户已禁用,请联系管理员 tenant.expired=对不起,您的租户已过期,请联系管理员 +##PDA +materialCode.not.exit=对不起,物料编码不存在 +defect.type.not.blank=缺陷类型不能为空 diff --git a/ruoyi-modules/hwmom-api/pom.xml b/ruoyi-modules/hwmom-api/pom.xml index 2cd6c77..9eebf8a 100644 --- a/ruoyi-modules/hwmom-api/pom.xml +++ b/ruoyi-modules/hwmom-api/pom.xml @@ -120,12 +120,16 @@ 2.2.2 compile - + + org.dromara + hwmom-api-pda + 2.2.2 + compile + org.dromara ruoyi-common-job - diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java index 9f03d28..ec9bfec 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/BaseMaterialInfoApiController.java @@ -4,7 +4,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.api.service.IBaseMaterialInfoApiService; -import org.dromara.mes.api.RemoteMaterialInfoService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.dromara.common.web.core.BaseController; diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java new file mode 100644 index 0000000..34c1601 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/controller/PdaApiController.java @@ -0,0 +1,42 @@ +package org.dromara.api.controller; + +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.api.service.IPdaApiService; +import org.dromara.common.core.domain.R; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 生产信息 + * 前端访问路由地址为:/mes/prodPlanDetailApi + * + * @author Yangwl + * @date 2025-01-02 + */ +@Slf4j +@RequiredArgsConstructor +@RestController +@RequestMapping("/pdaApi") +public class PdaApiController { + + @Autowired + private final IPdaApiService iPdaApiService; + + /** + * PDA获取物料信息接口 + */ + @GetMapping(value = {"/getMaterialInfo/{MaterialCode}"}) + public BaseMaterial getMaterialInfo(@PathVariable(value = "MaterialCode", required = false) String MaterialCode) { + return iPdaApiService.getMaterialInfo(MaterialCode); + } + @GetMapping("/getDefectDetail") + public List getDefectDetail(@NotBlank(message = "{defect.type.not.blank}") String defectType) { + return iPdaApiService.getDefectDetail(defectType); + } +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java new file mode 100644 index 0000000..2d926b6 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/BaseMaterialInfo.java @@ -0,0 +1,282 @@ +package org.dromara.api.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 物料信息对象 base_material_info + * + * @author zangch + * @date 2025-01-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("base_material_info") +public class BaseMaterialInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "material_id", type = IdType.AUTO) + private Long materialId; + + /** + * ERP信息 + */ + private String erpId; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 旧物料编码 + */ + private String oldMaterialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + private String materialCategories; + + /** + * 物料小类 + */ + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + private String batchFlag; + + /** + * 小批次数量 + */ + private Long batchAmount; + + /** + * 计量单位ID + */ + private Long materialUnitId; + + /** + * 计量单位名称 + */ + private String materialUnit; + + /** + * 物料组 + */ + private String materialMatkl; + + /** + * 物料规格 + */ + private String materialSpec; + + /** + * 净重 + */ + private Long netWeight; + + /** + * 毛重 + */ + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + private String alwaysFlag; + + /** + * 所属工厂 + */ + private Long factoryId; + + /** + * 创建组织 + */ + private Long createOrgId; + + /** + * 使用组织 + */ + private Long useOrgId; + + /** + * 所属产线 + */ + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + private String deletedFlag; + + /** + * 采购计价单位 + */ + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + private Date approveDate; + + /** + * erp最后更新日期 + */ + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + private Long minStockAmount; + + /** + * 安全库存数量 + */ + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + private String brand; + + /** + * 层级 + */ + private String plyrating; + + /** + * 花纹 + */ + private String pattern; + + /** + * 速度级别 + */ + private String speedLevel; + + /** + * 负荷载重 + */ + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + private Long maxParkingTime; + + /** + * 标准重量 + */ + private Long standardWeight; + + /** + * 标准重量上限 + */ + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + private String saleType; + + /** + * 备注 + */ + private String remark; + + + /** + * 所属工厂名称 + */ + @TableField(exist = false) + private String factoryName; //映射字段 + + /** + * 物料类型名称 + */ + @TableField(exist = false) + private String matrialTypeName;//映射字段 + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java new file mode 100644 index 0000000..04cba09 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/sap/vo/BaseMaterialInfoVo.java @@ -0,0 +1,382 @@ +package org.dromara.api.domain.sap.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.api.domain.BaseMaterialInfo; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; + + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +/** + * 物料信息视图对象 base_material_info + * + * @author zangch + * @date 2025-01-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BaseMaterialInfo.class) +public class BaseMaterialInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long materialId; + + /** + * 租户编号 + */ + @ExcelProperty(value = "租户编号") + private String tenantId; + + /** + * ERP信息 + */ + @ExcelProperty(value = "ERP信息") + private String erpId; + + /** + * 物料编码 + */ + @ExcelProperty(value = "物料编码") + private String materialCode; + + /** + * 旧物料编码 + */ + @ExcelProperty(value = "旧物料编码") + private String oldMaterialCode; + + /** + * 物料名称 + */ + @ExcelProperty(value = "物料名称") + private String materialName; + + /** + * 物料类型ID + */ + @ExcelProperty(value = "物料类型ID") + private Long materialTypeId; + + /** + * 物料大类(1原材料 2半成品 3成品) + */ + @ExcelProperty(value = "物料大类(1原材料 2半成品 3成品)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_material_categories") + private String materialCategories; + + /** + * 物料小类 + */ + @ExcelProperty(value = "物料小类") + private String materialSubclass; + + /** + * 批次标识(0否 1是) + */ + @ExcelProperty(value = "批次标识(0否 1是)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_batch_flag") + private String batchFlag; + + /** + * 小批次数量 + */ + @ExcelProperty(value = "小批次数量") + private Long batchAmount; + + /** + * 计量单位ID + */ + @ExcelProperty(value = "计量单位ID") + private Long materialUnitId; + + /** + * 计量单位名称 + */ + @ExcelProperty(value = "计量单位名称") + private String materialUnit; + + /** + * 物料组 + */ + @ExcelProperty(value = "物料组") + private String materialMatkl; + + /** + * 物料规格 + */ + @ExcelProperty(value = "物料规格") + private String materialSpec; + + /** + * 净重 + */ + @ExcelProperty(value = "净重") + private Long netWeight; + + /** + * 毛重 + */ + @ExcelProperty(value = "毛重") + private Long grossWeight; + + /** + * 绑定标识(1是 0否) + */ + @ExcelProperty(value = "绑定标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "always_flag") + private String alwaysFlag; + + /** + * 所属工厂 + */ + @ExcelProperty(value = "所属工厂") + private Long factoryId; + + /** + * 创建组织 + */ + @ExcelProperty(value = "创建组织") + private Long createOrgId; + + /** + * 使用组织 + */ + @ExcelProperty(value = "使用组织") + private Long useOrgId; + + /** + * 所属产线 + */ + @ExcelProperty(value = "所属产线") + private Long prodLineId; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 删除标识(0否 1是) + */ + @ExcelProperty(value = "删除标识(0否 1是)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "deleted_flag") + private String deletedFlag; + + /** + * 采购计价单位 + */ + @ExcelProperty(value = "采购计价单位") + private Long purchasePriceUnitId; + + /** + * 审核日期 + */ + @ExcelProperty(value = "审核日期") + private Date approveDate; + + /** + * erp最后更新日期 + */ + @ExcelProperty(value = "erp最后更新日期") + private Date erpModifyDate; + + /** + * 最大库存数量 + */ + @ExcelProperty(value = "最大库存数量") + private Long maxStockAmount; + + /** + * 最小库存数量 + */ + @ExcelProperty(value = "最小库存数量") + private Long minStockAmount; + + /** + * 安全库存数量 + */ + @ExcelProperty(value = "安全库存数量") + private Long safeStockAmount; + + /** + * 申请标识(1是 0否) + */ + @ExcelProperty(value = "申请标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "apply_flag") + private String applyFlag; + + /** + * 物料分类(1ERP同步 2虚拟物料 3MES物料) + */ + @ExcelProperty(value = "物料分类", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "material_classfication") + private String materialClassfication; + + /** + * 自动出库标识(1是 0否) + */ + @ExcelProperty(value = "自动出库标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "auto_outstock_flag") + private String autoOutstockFlag; + + /** + * 辅料标识(1是 0否) + */ + @ExcelProperty(value = "辅料标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_accessories_flag") + private String accessoriesFlag; + + /** + * 低值易耗品标识(1是 0否) + */ + @ExcelProperty(value = "低值易耗品标识(1是 0否)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "mes_low_value_consumable_flag") + private String lowValueConsumableFlag; + + /** + * 品牌 + */ + @ExcelProperty(value = "品牌") + private String brand; + + /** + * 层级 + */ + @ExcelProperty(value = "层级") + private String plyrating; + + /** + * 花纹 + */ + @ExcelProperty(value = "花纹") + private String pattern; + + /** + * 速度级别 + */ + @ExcelProperty(value = "速度级别") + private String speedLevel; + + /** + * 负荷载重 + */ + @ExcelProperty(value = "负荷载重") + private String load; + + /** + * 轮胎标记(1全钢胎 2半钢胎 3工程胎) + */ + @ExcelProperty(value = "轮胎标记", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "tire_markings") + private String tireMarkings; + + /** + * 最小停放时间(秒) + */ + @ExcelProperty(value = "最小停放时间", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "秒=") + private Long minParkingTime; + + /** + * 最大停放时间(秒) + */ + @ExcelProperty(value = "最大停放时间", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "秒=") + private Long maxParkingTime; + + /** + * 标准重量 + */ + @ExcelProperty(value = "标准重量") + private Long standardWeight; + + /** + * 标准重量上限 + */ + @ExcelProperty(value = "标准重量上限") + private Long weightUpperLimit; + + /** + * 标准重量下限 + */ + @ExcelProperty(value = "标准重量下限") + private Long weightLowerLimit; + + /** + * 内胎标记(0无 1有) + */ + @ExcelProperty(value = "内胎标记(0无 1有)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "inner_tube_flag") + private String innerTubeFlag; + + /** + * 销售类型(0内销 1外销) + */ + @ExcelProperty(value = "销售类型(0内销 1外销)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sale_type") + private String saleType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private Long updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + /** + * 所属工厂 + */ + @ExcelProperty(value = "所属工厂") + private String factoryName;//映射字段 + + /** + * 物料类型名称 + */ + @ExcelProperty(value = "物料类型名称") + private String matrialTypeName;//映射字段 + +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java new file mode 100644 index 0000000..cc63145 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/IPdaApiService.java @@ -0,0 +1,20 @@ +package org.dromara.api.service; + +import org.dromara.common.core.domain.R; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; + +import java.util.List; + +/** + * API物料Service接口 + * + * @author Yinq + * @date 2025-01-02 + */ +public interface IPdaApiService { + + BaseMaterial getMaterialInfo(String materialCode); + + List getDefectDetail(String defectType); +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java index 6052085..c3996a7 100644 --- a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/BaseMaterialInfoApiServiceImpl.java @@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.dromara.api.service.ICommonApiService; import org.dromara.api.utils.SAPApiUtils; import org.dromara.api.utils.SAPConstants; + import org.dromara.mes.api.RemoteMaterialInfoService; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java new file mode 100644 index 0000000..1013db7 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/service/impl/IPdaApiServiceImpl.java @@ -0,0 +1,32 @@ +package org.dromara.api.service.impl; + +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.api.service.IPdaApiService; +import org.dromara.common.core.domain.R; +import org.dromara.pda.api.RemotePdaMesApiService; +import org.dromara.pda.api.RemotePdaQmsApiService; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +@RequiredArgsConstructor +@Service +public class IPdaApiServiceImpl implements IPdaApiService { + @DubboReference + private final RemotePdaMesApiService remotePdaMesApiService; + @DubboReference + private final RemotePdaQmsApiService remotePdaQmsApiService; + + @Override + public BaseMaterial getMaterialInfo(String materialCode) { + return remotePdaMesApiService.remoteQueryByMaterialCode(materialCode,"000000"); + } + + @Override + public List getDefectDetail(String defectType) { + return remotePdaQmsApiService.remoteQueryDefectList(defectType,"000000"); + } +} diff --git a/ruoyi-modules/hwmom-mes/pom.xml b/ruoyi-modules/hwmom-mes/pom.xml index a5531c6..e049731 100644 --- a/ruoyi-modules/hwmom-mes/pom.xml +++ b/ruoyi-modules/hwmom-mes/pom.xml @@ -128,6 +128,12 @@ 2.2.2 compile + + org.dromara + hwmom-api-pda + 2.2.2 + compile + diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java index b5d5740..701a4ec 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteMaterialInfoServiceImpl.java @@ -1,11 +1,17 @@ package org.dromara.mes.dubbo; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.enums.UserStatus; +import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.mes.api.RemoteMaterialInfoService; import org.dromara.mes.api.model.bo.BaseMaterialInfoBo; import org.dromara.mes.domain.BaseMaterialInfo; +import org.dromara.mes.domain.vo.BaseMaterialInfoVo; import org.dromara.mes.mapper.BaseMaterialInfoMapper; import org.springframework.stereotype.Service; @@ -44,6 +50,4 @@ public class RemoteMaterialInfoServiceImpl implements RemoteMaterialInfoService return materialInfoMapper.insertBatch(list); } - - } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java new file mode 100644 index 0000000..de7b20a --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/dubbo/RemoteQmsApiServiceImpl.java @@ -0,0 +1,43 @@ +package org.dromara.mes.dubbo; + +import cn.hutool.core.util.ObjectUtil; +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.mes.mapper.BaseMaterialInfoMapper; +import org.dromara.pda.api.RemotePdaMesApiService; +import org.dromara.pda.api.model.BaseMaterial; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@RequiredArgsConstructor +@Service +@DubboService +public class RemoteQmsApiServiceImpl implements RemotePdaMesApiService { + + private final BaseMaterialInfoMapper baseMaterialInfoMapper ; + + + + @Override + public BaseMaterial remoteQueryByMaterialCode(String materialCode, String tenantId) throws UserException { + return TenantHelper.dynamic(tenantId, () -> { + + BaseMaterial baseMaterial=baseMaterialInfoMapper.queryByMaterialCode(materialCode); + + //BaseMaterialInfoVo sysUser = baseMaterialInfoMapper.selectVoOne(new LambdaQueryWrapper().eq(BaseMaterialInfo::getMaterialCode, materialCode)); + if (ObjectUtil.isNull(baseMaterial)) { + throw new UserException("materialCode.not.exit", materialCode); + } +// if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { +// throw new UserException("user.blocked", username); +// } + + return baseMaterial; + }); + } + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java index e0f12ee..f38c805 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/BaseMaterialInfoMapper.java @@ -3,6 +3,7 @@ package org.dromara.mes.mapper; import org.dromara.mes.domain.BaseMaterialInfo; import org.dromara.mes.domain.vo.BaseMaterialInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.pda.api.model.BaseMaterial; /** * 物料信息Mapper接口 @@ -12,4 +13,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface BaseMaterialInfoMapper extends BaseMapperPlus { + BaseMaterial queryByMaterialCode(String materialCode); } diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml index 29a3a4e..3f95aa2 100644 --- a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/BaseMaterialInfoMapper.xml @@ -4,4 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + diff --git a/ruoyi-modules/hwmom-qms/pom.xml b/ruoyi-modules/hwmom-qms/pom.xml index 3ceeaa3..fd70a1c 100644 --- a/ruoyi-modules/hwmom-qms/pom.xml +++ b/ruoyi-modules/hwmom-qms/pom.xml @@ -111,6 +111,12 @@ com.microsoft.sqlserver mssql-jdbc + + org.dromara + hwmom-api-pda + 2.2.2 + compile + diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java index 90ba417..9aa3070 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/HwmomQmsApplication.java @@ -1,8 +1,10 @@ package org.dromara.qms; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +@EnableDubbo @SpringBootApplication public class HwmomQmsApplication { diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java index 454ef74..2de814d 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcDefectDetailBo.java @@ -26,6 +26,8 @@ public class QcDefectDetailBo extends BaseEntity { private String defectDetailId; + private String tenantId; + /** * 病疵编码 */ diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java index 329dbb5..7550a32 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionRulesBo.java @@ -54,5 +54,4 @@ public class QcInspectionRulesBo extends BaseEntity { */ private String remark; - } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java new file mode 100644 index 0000000..4f4f129 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java @@ -0,0 +1,62 @@ +package org.dromara.qms.dubbo; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.exception.user.UserException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.pda.api.RemotePdaMesApiService; +import org.dromara.pda.api.RemotePdaQmsApiService; +import org.dromara.pda.api.model.BaseMaterial; +import org.dromara.pda.api.model.vo.RemoteDefectVo; +import org.dromara.qms.domain.QcDefectDetail; +import org.dromara.qms.domain.bo.QcDefectDetailBo; +import org.dromara.qms.domain.vo.QcDefectDetailVo; +import org.dromara.qms.mapper.QcDefectDetailMapper; +import org.dromara.qms.mapper.QcDefectInfoMapper; +import org.dromara.qms.service.IQcDefectDetailService; +import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@RequiredArgsConstructor +@Service +@DubboService +public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { + + private final QcDefectInfoMapper qcDefectInfoMapper; + private final QcDefectDetailMapper qcDefectDetailMapper; + private final IQcDefectDetailService iQcDefectDetailService; + /** + * 获取缺陷数据接口 + * @param defectType 缺陷类型 + * @param tenantId 租户编号 + * @return + * @throws UserException + */ + @Override + public List remoteQueryDefectList(String defectType, String tenantId) throws UserException { + return TenantHelper.dynamic(tenantId, () -> { + QcDefectDetailBo bo=new QcDefectDetailBo(); + bo.setDefectType(defectType); + bo.setTenantId("000000"); + List DefectDetailVos = iQcDefectDetailService.queryList(bo); + RemoteDefectVo rem=new RemoteDefectVo(); + List remoteDefectVoList=new ArrayList<>(); + for(QcDefectDetailVo qcDefectDetailVo:DefectDetailVos){ + rem.setDefectCode(qcDefectDetailVo.getDefectCode()); + rem.setDefectDesc(qcDefectDetailVo.getDefectDesc()); + remoteDefectVoList.add(rem); + } + return remoteDefectVoList; + }); + } + +} From f0eb7739d1618f6c1a78055db2a17df84852d5af Mon Sep 17 00:00:00 2001 From: zch Date: Wed, 19 Mar 2025 13:41:22 +0800 Subject: [PATCH 4/6] =?UTF-8?q?change(mes):=20=E7=A7=BB=E9=99=A4=20BaseDev?= =?UTF-8?q?iceTypeBo=20=E4=B8=AD=E7=9A=84=E7=88=B6=E7=BA=A7=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java index f7cffa0..5e18605 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseDeviceTypeBo.java @@ -29,7 +29,7 @@ public class BaseDeviceTypeBo extends BaseEntity { /** * 父级标识 */ - @NotNull(message = "父级标识不能为空", groups = { AddGroup.class, EditGroup.class }) +/* @NotNull(message = "父级标识不能为空", groups = { AddGroup.class, EditGroup.class })*/ private Long parentId; /** From 13472d77c5e4480bce1164e3d6dabefad07e4986 Mon Sep 17 00:00:00 2001 From: zch Date: Wed, 19 Mar 2025 14:07:21 +0800 Subject: [PATCH 5/6] =?UTF-8?q?change(mes):=20(MeterSphere100027)=E3=80=90?= =?UTF-8?q?=E6=A8=A1=E5=85=B7=E4=BF=A1=E6=81=AF=E3=80=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 取消机台必填项 --- .../java/org/dromara/mes/domain/bo/ProdBaseMouldInfoBo.java | 2 +- .../main/java/org/dromara/mes/domain/vo/PlanMonitorVo.java | 5 +++++ .../main/java/org/dromara/mes/domain/vo/ShiftGroupVo.java | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMouldInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMouldInfoBo.java index 4b2ef8d..4092d5a 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMouldInfoBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMouldInfoBo.java @@ -37,7 +37,7 @@ public class ProdBaseMouldInfoBo extends BaseEntity { /** * 所在机台ID */ - @NotNull(message = "所在机台ID不能为空", groups = {AddGroup.class, EditGroup.class}) +/* @NotNull(message = "所在机台ID不能为空", groups = {AddGroup.class, EditGroup.class})*/ private Long machineId; /** diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanMonitorVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanMonitorVo.java index 1d1c92d..51350c1 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanMonitorVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanMonitorVo.java @@ -1,6 +1,8 @@ package org.dromara.mes.domain.vo; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; + import java.util.List; /** @@ -11,16 +13,19 @@ public class PlanMonitorVo { /** * 机台ID */ + @ExcelProperty(value = "机台ID") private Long machineId; /** * 机台名称 */ + @ExcelProperty(value = "机台名称") private String machineName; /** * 班次分组列表 */ + @ExcelProperty(value = "班次分组列表") private List shifts; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ShiftGroupVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ShiftGroupVo.java index 25f7623..afa4d7c 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ShiftGroupVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ShiftGroupVo.java @@ -1,5 +1,6 @@ package org.dromara.mes.domain.vo; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; import java.util.List; @@ -12,15 +13,18 @@ public class ShiftGroupVo { /** * 班次ID */ + @ExcelProperty(value = "班次ID") private Long shiftId; /** * 班次名称 */ + @ExcelProperty(value = "班次名称") private String shiftName; /** * 该班次下的物料计划列表 */ + @ExcelProperty(value = "该班次下的物料计划列表") private List plans; } From 9ffa4ac3b11ec82fae7e212e2c728923c1b090f1 Mon Sep 17 00:00:00 2001 From: yinq Date: Wed, 19 Mar 2025 14:19:47 +0800 Subject: [PATCH 6/6] =?UTF-8?q?update=20mes=E7=AD=89=E5=90=8C=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=8A=A0=E7=88=B6=E7=BA=A7=E7=89=A9=E6=96=99=E3=80=81?= =?UTF-8?q?BOM=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/domain/BaseEqualMaterialInfo.java | 20 +++++++++++--- .../domain/bo/BaseEqualMaterialInfoBo.java | 11 +++++--- .../domain/vo/BaseEqualMaterialInfoVo.java | 19 ++++++++++++- .../BaseEqualMaterialInfoServiceImpl.java | 27 ++++++++++--------- 4 files changed, 58 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseEqualMaterialInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseEqualMaterialInfo.java index d4727e1..965f5a0 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseEqualMaterialInfo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/BaseEqualMaterialInfo.java @@ -50,17 +50,31 @@ public class BaseEqualMaterialInfo extends TenantEntity { */ private String remark; + /** + * 父物料ID + */ + private Long parentId; + + /** + * BOM版本 + */ + private String materialBomVersion; + /** * 物料名称 */ @TableField(exist = false) - private String materialName;//映射字段 - + private String materialName; /** * 等同物料名称 */ @TableField(exist = false) - private String equalMaterialName;//映射字段 + private String equalMaterialName; + /** + * 父物料名称 + */ + @TableField(exist = false) + private String parentName; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseEqualMaterialInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseEqualMaterialInfoBo.java index ff40ba6..9314423 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseEqualMaterialInfoBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/BaseEqualMaterialInfoBo.java @@ -2,12 +2,9 @@ package org.dromara.mes.domain.bo; import org.dromara.mes.domain.BaseEqualMaterialInfo; import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; /** * 等同物料信息业务对象 base_equal_material_info @@ -45,5 +42,13 @@ public class BaseEqualMaterialInfoBo extends BaseEntity { */ private String remark; + /** + * 父物料ID + */ + private Long parentId; + /** + * BOM版本 + */ + private String materialBomVersion; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseEqualMaterialInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseEqualMaterialInfoVo.java index 611d90d..7f9fdb1 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseEqualMaterialInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/BaseEqualMaterialInfoVo.java @@ -13,7 +13,6 @@ import java.io.Serializable; import java.util.Date; - /** * 等同物料信息视图对象 base_equal_material_info * @@ -109,4 +108,22 @@ public class BaseEqualMaterialInfoVo implements Serializable { @ExcelProperty(value = "物料名称") private String equalMaterialName;//映射字段 + /** + * 父物料ID + */ + @ExcelProperty(value = "父物料ID") + private Long parentId; + + /** + * BOM版本 + */ + @ExcelProperty(value = "BOM版本") + private String materialBomVersion; + + /** + * 父物料名称 + */ + @ExcelProperty(value = "父物料名称") + private String parentName; + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseEqualMaterialInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseEqualMaterialInfoServiceImpl.java index c4a12e0..d93e93b 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseEqualMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseEqualMaterialInfoServiceImpl.java @@ -43,12 +43,12 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS * @return 等同物料信息 */ @Override - public BaseEqualMaterialInfoVo queryById(Long equalMaterialInfoId){ + public BaseEqualMaterialInfoVo queryById(Long equalMaterialInfoId) { BaseEqualMaterialInfoVo baseEqualMaterialInfoVo = baseMapper.selectVoById(equalMaterialInfoId); if (!ObjectUtils.isEmpty(baseEqualMaterialInfoVo)) { // 关联物料名称 BaseMaterialInfo baseMaterialInfo = baseMaterialInfoMapper.selectOne(Wrappers.lambdaQuery(BaseMaterialInfo.class) - .eq(BaseMaterialInfo::getMaterialId, baseEqualMaterialInfoVo.getMaterialId())); + .eq(BaseMaterialInfo::getMaterialId, baseEqualMaterialInfoVo.getMaterialId())); if (!ObjectUtils.isEmpty(baseMaterialInfo)) { baseEqualMaterialInfoVo.setMaterialName(baseMaterialInfo.getMaterialName()); } @@ -94,22 +94,25 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseEqualMaterialInfo.class) .selectAll(BaseEqualMaterialInfo.class) - // 关联查询物料名称 .select("material.material_name as material_name") .leftJoin(BaseMaterialInfo.class, "material", on -> on .eq(BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getMaterialId)) - // 关联查询等同物料名称 .select("equal_material.material_name as equal_material_name") .leftJoin(BaseMaterialInfo.class, "equal_material", on -> on .eq(BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getEqualMaterialId)) - - .eq(bo.getEqualMaterialInfoId() != null, BaseEqualMaterialInfo::getEqualMaterialInfoId, bo.getEqualMaterialInfoId()) - .eq(bo.getMaterialId() != null, BaseEqualMaterialInfo::getMaterialId, bo.getMaterialId()) - .eq(bo.getEqualMaterialId() != null, BaseEqualMaterialInfo::getEqualMaterialId, bo.getEqualMaterialId()) - .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseEqualMaterialInfo::getActiveFlag, bo.getActiveFlag()) - .orderByDesc(BaseEqualMaterialInfo::getCreateTime); + // 关联查询父级物料名称 + .select("parent_material.material_name as parent_name") + .leftJoin(BaseMaterialInfo.class, "parent_material", on -> on + .eq(BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getParentId)) + .eq(bo.getEqualMaterialInfoId() != null, BaseEqualMaterialInfo::getEqualMaterialInfoId, bo.getEqualMaterialInfoId()) + .eq(bo.getMaterialId() != null, BaseEqualMaterialInfo::getMaterialId, bo.getMaterialId()) + .eq(bo.getEqualMaterialId() != null, BaseEqualMaterialInfo::getEqualMaterialId, bo.getEqualMaterialId()) + .eq(bo.getParentId() != null, BaseEqualMaterialInfo::getParentId, bo.getParentId()) + .eq(bo.getMaterialBomVersion() != null, BaseEqualMaterialInfo::getMaterialBomVersion, bo.getMaterialBomVersion()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), BaseEqualMaterialInfo::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(BaseEqualMaterialInfo::getCreateTime); return lqw; } @@ -146,7 +149,7 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS /** * 保存前的数据校验 */ - private void validEntityBeforeSave(BaseEqualMaterialInfo entity){ + private void validEntityBeforeSave(BaseEqualMaterialInfo entity) { //TODO 做一些数据校验,如唯一约束 } @@ -159,7 +162,7 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;