update 添加设备模型功能维护管理输入、输出参数。

master
yinq 1 week ago
parent e2456f5503
commit ab80320bf0

@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import org.dromara.dms.domain.DmsDeviceModeParameter;
import java.util.List;
/** /**
* dms_device_mode_function * dms_device_mode_function
@ -127,5 +130,15 @@ public class DmsDeviceModeFunctionBo extends BaseEntity {
*/ */
private String propertyField; private String propertyField;
/**
*
*/
private List<DmsDeviceModeParameter> inputParametersData;
/**
*
*/
private List<DmsDeviceModeParameter> outputParametersData;
} }

@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.dms.domain.DmsDeviceModeParameter;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -164,5 +165,13 @@ public class DmsDeviceModeFunctionVo implements Serializable {
@ExcelProperty(value = "预留字段") @ExcelProperty(value = "预留字段")
private String propertyField; private String propertyField;
/**
*
*/
private List<DmsDeviceModeParameter> inputParametersData;
/**
*
*/
private List<DmsDeviceModeParameter> outputParametersData;
} }

@ -7,18 +7,18 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.dms.domain.DmsDeviceModeParameter;
import org.dromara.dms.mapper.DmsDeviceModeParameterMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.DmsDeviceModeFunctionBo; import org.dromara.dms.domain.bo.DmsDeviceModeFunctionBo;
import org.dromara.dms.domain.vo.DmsDeviceModeFunctionVo; import org.dromara.dms.domain.vo.DmsDeviceModeFunctionVo;
import org.dromara.dms.domain.DmsDeviceModeFunction; import org.dromara.dms.domain.DmsDeviceModeFunction;
import org.dromara.dms.mapper.DmsDeviceModeFunctionMapper; import org.dromara.dms.mapper.DmsDeviceModeFunctionMapper;
import org.dromara.dms.service.IDmsDeviceModeFunctionService; import org.dromara.dms.service.IDmsDeviceModeFunctionService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.Collection;
/** /**
* Service * Service
@ -32,6 +32,8 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS
private final DmsDeviceModeFunctionMapper baseMapper; private final DmsDeviceModeFunctionMapper baseMapper;
private final DmsDeviceModeParameterMapper dmsDeviceModeParameterMapper;
/** /**
* *
* *
@ -40,7 +42,24 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS
*/ */
@Override @Override
public DmsDeviceModeFunctionVo queryById(Long modeFunctionId) { public DmsDeviceModeFunctionVo queryById(Long modeFunctionId) {
return baseMapper.selectVoById(modeFunctionId); DmsDeviceModeFunctionVo modeFunctionVo = baseMapper.selectVoById(modeFunctionId);
MPJLambdaWrapper<DmsDeviceModeParameter> lqw = JoinWrappers.lambda(DmsDeviceModeParameter.class)
.selectAll(DmsDeviceModeParameter.class)
.eq(DmsDeviceModeParameter::getModeFunctionId, modeFunctionId);
List<DmsDeviceModeParameter> parameterList = dmsDeviceModeParameterMapper.selectList(lqw);
List<DmsDeviceModeParameter> inputParametersData = new ArrayList<>();
List<DmsDeviceModeParameter> 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 * @return
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(DmsDeviceModeFunctionBo bo) { public Boolean insertByBo(DmsDeviceModeFunctionBo bo) {
DmsDeviceModeFunction add = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); DmsDeviceModeFunction add = MapstructUtils.convert(bo, DmsDeviceModeFunction.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setModeFunctionId(add.getModeFunctionId()); bo.setModeFunctionId(add.getModeFunctionId());
List<DmsDeviceModeParameter> inputParametersDataList = bo.getInputParametersData();
List<DmsDeviceModeParameter> 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; return flag;
} }
@ -121,9 +155,25 @@ public class DmsDeviceModeFunctionServiceImpl implements IDmsDeviceModeFunctionS
* @return * @return
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(DmsDeviceModeFunctionBo bo) { public Boolean updateByBo(DmsDeviceModeFunctionBo bo) {
DmsDeviceModeFunction update = MapstructUtils.convert(bo, DmsDeviceModeFunction.class); DmsDeviceModeFunction update = MapstructUtils.convert(bo, DmsDeviceModeFunction.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
assert update != null;
List<DmsDeviceModeParameter> inputParametersDataList = bo.getInputParametersData();
List<DmsDeviceModeParameter> 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; return baseMapper.updateById(update) > 0;
} }

@ -83,7 +83,7 @@ public class DmsDeviceModeParameterServiceImpl implements IDmsDeviceModeParamete
.eq(StringUtils.isNotBlank(bo.getDataDefinition()), DmsDeviceModeParameter::getDataDefinition, bo.getDataDefinition()) .eq(StringUtils.isNotBlank(bo.getDataDefinition()), DmsDeviceModeParameter::getDataDefinition, bo.getDataDefinition())
.eq(StringUtils.isNotBlank(bo.getPropertyUnit()), DmsDeviceModeParameter::getPropertyUnit, bo.getPropertyUnit()) .eq(StringUtils.isNotBlank(bo.getPropertyUnit()), DmsDeviceModeParameter::getPropertyUnit, bo.getPropertyUnit())
.eq(bo.getPropertyStep() != null, DmsDeviceModeParameter::getPropertyStep, bo.getPropertyStep()) .eq(bo.getPropertyStep() != null, DmsDeviceModeParameter::getPropertyStep, bo.getPropertyStep())
.orderByDesc(DmsDeviceModeParameter::getModeParameterId); .orderByAsc(DmsDeviceModeParameter::getModeParameterId);
return lqw; return lqw;
} }

Loading…
Cancel
Save