From ab80320bf0d8a7d268a934dabd2c0a2a6b9f0b9a Mon Sep 17 00:00:00 2001 From: yinq Date: Mon, 17 Mar 2025 09:35:07 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=8A=9F=E8=83=BD=E7=BB=B4=E6=8A=A4=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E8=BE=93=E5=85=A5=E3=80=81=E8=BE=93=E5=87=BA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/bo/DmsDeviceModeFunctionBo.java | 13 ++++ .../domain/vo/DmsDeviceModeFunctionVo.java | 11 +++- .../DmsDeviceModeFunctionServiceImpl.java | 60 +++++++++++++++++-- .../DmsDeviceModeParameterServiceImpl.java | 2 +- 4 files changed, 79 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java index a8e68ff5..6c8032df 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsDeviceModeFunctionBo.java @@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.dms.domain.DmsDeviceModeParameter; + +import java.util.List; /** * 设备模型功能业务对象 dms_device_mode_function @@ -127,5 +130,15 @@ public class DmsDeviceModeFunctionBo extends BaseEntity { */ private String propertyField; + /** + * 输入参数 + */ + private List inputParametersData; + + /** + * 输出参数 + */ + private List outputParametersData; + } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java index d4575f39..225ad239 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsDeviceModeFunctionVo.java @@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.dms.domain.DmsDeviceModeParameter; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -164,5 +165,13 @@ public class DmsDeviceModeFunctionVo implements Serializable { @ExcelProperty(value = "预留字段") private String propertyField; + /** + * 输入参数 + */ + private List inputParametersData; + /** + * 输出参数 + */ + private List outputParametersData; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java index ddc2904b..8d667782 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeFunctionServiceImpl.java @@ -7,18 +7,18 @@ 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.DmsDeviceModeParameter; +import org.dromara.dms.mapper.DmsDeviceModeParameterMapper; import org.springframework.stereotype.Service; import org.dromara.dms.domain.bo.DmsDeviceModeFunctionBo; import org.dromara.dms.domain.vo.DmsDeviceModeFunctionVo; import org.dromara.dms.domain.DmsDeviceModeFunction; import org.dromara.dms.mapper.DmsDeviceModeFunctionMapper; import org.dromara.dms.service.IDmsDeviceModeFunctionService; +import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 设备模型功能Service业务层处理 @@ -32,6 +32,8 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS private final DmsDeviceModeFunctionMapper baseMapper; + private final DmsDeviceModeParameterMapper dmsDeviceModeParameterMapper; + /** * 查询设备模型功能 * @@ -40,7 +42,24 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS */ @Override public DmsDeviceModeFunctionVo queryById(Long modeFunctionId) { - return baseMapper.selectVoById(modeFunctionId); + DmsDeviceModeFunctionVo modeFunctionVo = baseMapper.selectVoById(modeFunctionId); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsDeviceModeParameter.class) + .selectAll(DmsDeviceModeParameter.class) + .eq(DmsDeviceModeParameter::getModeFunctionId, modeFunctionId); + List parameterList = dmsDeviceModeParameterMapper.selectList(lqw); + List inputParametersData = new ArrayList<>(); + List outputParametersData = new ArrayList<>(); + parameterList.forEach(e -> { + if (e.getParameterType().equals("1")) { + inputParametersData.add(e); + } + if (e.getParameterType().equals("2")) { + outputParametersData.add(e); + } + }); + modeFunctionVo.setInputParametersData(inputParametersData); + modeFunctionVo.setOutputParametersData(outputParametersData); + return modeFunctionVo; } /** @@ -104,12 +123,27 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(DmsDeviceModeFunctionBo bo) { DmsDeviceModeFunction add = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setModeFunctionId(add.getModeFunctionId()); + List inputParametersDataList = bo.getInputParametersData(); + List outputParametersDataList = bo.getOutputParametersData(); + if (inputParametersDataList.size() > 0) { + inputParametersDataList.forEach(e -> { + e.setModeFunctionId(add.getModeFunctionId()); + dmsDeviceModeParameterMapper.insert(e); + }); + } + if (outputParametersDataList.size() > 0) { + outputParametersDataList.forEach(e -> { + e.setModeFunctionId(add.getModeFunctionId()); + dmsDeviceModeParameterMapper.insert(e); + }); + } } return flag; } @@ -121,9 +155,25 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS * @return 是否修改成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(DmsDeviceModeFunctionBo bo) { DmsDeviceModeFunction update = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); validEntityBeforeSave(update); + assert update != null; + List inputParametersDataList = bo.getInputParametersData(); + List outputParametersDataList = bo.getOutputParametersData(); + if (inputParametersDataList.size() > 0) { + inputParametersDataList.forEach(e -> { + e.setModeFunctionId(update.getModeFunctionId()); + dmsDeviceModeParameterMapper.insertOrUpdate(e); + }); + } + if (outputParametersDataList.size() > 0) { + outputParametersDataList.forEach(e -> { + e.setModeFunctionId(update.getModeFunctionId()); + dmsDeviceModeParameterMapper.insertOrUpdate(e); + }); + } return baseMapper.updateById(update) > 0; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java index 755b4ba5..6cc83f12 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsDeviceModeParameterServiceImpl.java @@ -83,7 +83,7 @@ public class DmsDeviceModeParameterServiceImpl implements IDmsDeviceModeParamete .eq(StringUtils.isNotBlank(bo.getDataDefinition()), DmsDeviceModeParameter::getDataDefinition, bo.getDataDefinition()) .eq(StringUtils.isNotBlank(bo.getPropertyUnit()), DmsDeviceModeParameter::getPropertyUnit, bo.getPropertyUnit()) .eq(bo.getPropertyStep() != null, DmsDeviceModeParameter::getPropertyStep, bo.getPropertyStep()) - .orderByDesc(DmsDeviceModeParameter::getModeParameterId); + .orderByAsc(DmsDeviceModeParameter::getModeParameterId); return lqw; }