package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.CoalValueDto; import com.ruoyi.basic.entity.CoalField; import com.ruoyi.basic.entity.CoalValue; import com.ruoyi.basic.mapper.CoalFieldMapper; import com.ruoyi.basic.mapper.CoalValueMapper; import com.ruoyi.basic.service.CoalValueService; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.Objects; /** *

* 煤质信息表,记录煤炭质量检测相关数据 服务实现类 *

* * @author ruoyi * @since 2025-06-09 */ @Service @RequiredArgsConstructor public class CoalValueServiceImpl extends ServiceImpl implements CoalValueService { private final CoalValueMapper coalValueMapper; private final CoalFieldMapper coalFieldMapper; @Override public IPage selectCoalFieldList(Page page, CoalValueDto coalValueDto) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); return coalValueMapper.selectPage(page, queryWrapper); } @Override public int addOrEditCoalValue(CoalValueDto coalValueDto) { CoalValue coalValue = new CoalValue(); BeanUtils.copyProperties(coalValueDto, coalValue); coalValue.setPlanId(coalValueDto.getPlanId()); int i = 0; if (Objects.isNull(coalValueDto.getId())) { List> fieldValue = coalValueDto.getFieldValue(); for (Map field : fieldValue) { for (Map.Entry entry : field.entrySet()) { String key = entry.getKey(); // 获取 key,这里会得到 "field01" String value = entry.getValue(); // 获取 value,这里会得到 "99" LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); CoalField coalField = coalFieldMapper.selectOne(queryWrapper.eq(CoalField::getFields, key)); coalValue.setCoalValue(value); coalValue.setFields(coalField.getFields()); coalValue.setFieldName(coalField.getFieldName()); coalValue.setId(null); i = coalValueMapper.insert(coalValue); } } return i; } else { return coalValueMapper.updateById(coalValue); } } @Override public int delCoalValueByIds(Long[] ids) { return 0; } }