鞍钢鲅鱼圈能源管控系统后端代码
dengzedong
2025-06-16 a78320993e8ae8e1e4617d4e66d7ddcab8565870
ansteel-biz/src/main/java/com/iailab/module/ansteel/plant/service/impl/PlantConfServiceImpl.java
@@ -5,6 +5,7 @@
import com.iailab.module.ansteel.plant.dao.PlantConfDao;
import com.iailab.module.ansteel.plant.entity.PlantConfEntity;
import com.iailab.module.ansteel.plant.service.PlantConfService;
import com.iailab.module.ansteel.plant.vo.PlantDataVO;
import com.iailab.module.data.api.arc.ArcDataApi;
import com.iailab.module.data.api.arc.dto.ApiArcDataDTO;
import com.iailab.module.data.api.ind.IndItemApi;
@@ -17,6 +18,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -40,7 +42,7 @@
    @Resource
    private ArcDataApi arcDataApi;
    private BigDecimal badValue = new BigDecimal(-2);
    private final BigDecimal badValue = new BigDecimal(-2);
    @Override
    public List<PlantConfEntity> list(Map<String, Object> params) {
@@ -52,7 +54,7 @@
    }
    @Override
    public Map<String, BigDecimal> getPlantData(String businessType) {
    public List<PlantDataVO> getPlantData(String businessType) {
        QueryWrapper<PlantConfEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("business_type",businessType);
        List<PlantConfEntity> plantConfList = plantConfDao.selectList(queryWrapper);
@@ -62,38 +64,44 @@
        if (!CollectionUtils.isEmpty(pointNos)) {
            pointValues = dataPointApi.queryPointsRealValue(pointNos);
        }
        Map<String, BigDecimal> result = new HashMap<>(plantConfList.size());
        List<PlantDataVO> result = new ArrayList<>(plantConfList.size());
        for (PlantConfEntity plantConf : plantConfList) {
            String dataNo = plantConf.getDataNo();
            String dataType = plantConf.getDataType();
            PlantDataVO plantData = new PlantDataVO();
            plantData.setCode(plantConf.getIndCode());
            plantData.setName(plantConf.getIndName());
            plantData.setUnit(plantConf.getIndUnit());
            plantData.setSort(plantConf.getSort());
            switch (ProcessConfDataTypeEnum.getEumByCode(dataType)) {
                case DATAPOINT:
                    if (pointValues.containsKey(dataNo)) {
                        result.put(dataNo,new BigDecimal(pointValues.get(dataNo).toString()));
                        plantData.setValue(new BigDecimal(pointValues.get(dataNo).toString()));
                    }else {
                        result.put(dataNo,badValue);
                        plantData.setValue(badValue);
                    }
                    break;
                case IND:
                    List<ApiIndItemValueDTO> indValues = indItemApi.queryIndItemDefaultValue(dataNo);
                    if (!CollectionUtils.isEmpty(indValues)) {
                        result.put(dataNo,new BigDecimal(indValues.get(0).getDataValue().toString()));
                        plantData.setValue(new BigDecimal(indValues.get(0).getDataValue().toString()));
                    }else {
                        result.put(dataNo,badValue);
                        plantData.setValue(badValue);
                    }
                    break;
                case ARC:
                    ApiArcDataDTO apiArcDataDTO = arcDataApi.queryArcLastValue(dataNo);
                    if (apiArcDataDTO != null) {
                        result.put(dataNo,apiArcDataDTO.getArcValue());
                        plantData.setValue(apiArcDataDTO.getArcValue());
                    }else {
                        result.put(dataNo,badValue);
                        plantData.setValue(badValue);
                    }
                    break;
                default:
                    result.put(dataNo,badValue);
                    plantData.setValue(badValue);
                    break;
            }
            result.add(plantData);
        }
        return result;
    }