zhuo
2025-05-07 50164d95bfe34f532e3f2513a53f62c0864fe1a2
cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java
@@ -1,8 +1,10 @@
package com.ruoyi.device.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.device.dto.DataConfigDto;
@@ -33,43 +35,70 @@
    private DataConfigMapper dataConfigMapper;
    /**
     * 维护设备文件配置
     * @param dataConfigList
     */
    @Override
    public void deleteDataConfig() {
        List<Integer> integers = dataConfigMapper.deleteDataConfig();
        if (!integers.isEmpty()) {
            dataConfigMapper.deleteBatchIds(integers);
    public void saveDeviceFileConfiguration(DataConfigDto dataConfigList) {
        if (dataConfigList.getDeviceId() == null) {
            throw new RuntimeException("缺少设备Id");
        }
        Device device = new Device();
        BeanUtils.copyProperties(dataConfigList, device);
        device.setId(dataConfigList.getDeviceId());
        deviceMapper.updateById(device);
    }
    /**
     * 数采配置
     * @param dataConfigList
     */
    @Override
    public void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList) {
        if (dataConfigList.getIsDevice()) {
            Device device = new Device();
            BeanUtils.copyProperties(dataConfigList, device);
            device.setId(deviceId);
            deviceMapper.updateById(device);
        } else {
            this.saveOrUpdateBatch(dataConfigList.getDataConfigList());
    public void saveDataAcquisitionConfiguration(DataConfigDto dataConfigList) {
        if (dataConfigList.getDeviceId() == null) {
            throw new RuntimeException("缺少设备id");
        }
        for (DataConfig dataConfig : dataConfigList.getDataConfigList()) {
            if (dataConfig.getStructureItemParameterId() == null) {
                throw new RuntimeException("缺少检验项id");
            }
            dataConfig.setDeviceId(dataConfigList.getDeviceId());
        }
        this.saveOrUpdateBatch(dataConfigList.getDataConfigList());
    }
    @Override
    public Result<?> queryDataAcquisitionConfiguration(DataConfig dataConfig) {
        if (dataConfig.getIsDevice()) {
            LambdaQueryWrapper<DataConfig> wrapper = Wrappers.<DataConfig>lambdaQuery()
                    .eq(DataConfig::getDeviceId, dataConfig.getDeviceId())
                    .eq(DataConfig::getInspectionItem, dataConfig.getInspectionItem())
                    .eq(DataConfig::getInspectionItemSubclass, dataConfig.getInspectionItemSubclass());
            if (StringUtils.isNotBlank(dataConfig.getInspectionItemClass())) {
                wrapper.eq(DataConfig::getInspectionItemClass, dataConfig.getInspectionItemClass());
            }
            if (dataConfig.getStructureItemParameterId() != null) {
                wrapper.eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId());
            }
            List<DataConfig> list = baseMapper.selectList(wrapper);
            return Result.success(list);
        } else {
            return Result.success(dataConfigMapper.selectDataConfigList(dataConfig.getDeviceId()));
        return Result.success(dataConfigMapper.selectDataConfigList(dataConfig.getDeviceId()));
    }
    /**
     * 查询检验项数采配置
     * @param dataConfig
     * @return
     */
    @Override
    public Result<?> queryProductConfiguration(DataConfig dataConfig) {
        if (dataConfig.getStructureItemParameterId() == null) {
            throw new RuntimeException("缺少检测项id");
        }
        List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery().eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId()));
        return Result.success(list);
    }
    /**
     * 查询了绑定但是没有配置的检验项
     * @param deviceId
     * @return
     */
    @Override
    public IPage<DataConfig> getNoConfigProduct(Page page, Integer deviceId) {
        return baseMapper.getNoConfigProduct(page, deviceId);
    }
}