elkers
2025-04-09 806cbe242deee0ddbcdc9dc898150c3af836cc0d
src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
@@ -36,9 +36,12 @@
import com.nanjing.water.repository.po.WaterFacilityPO;
import com.nanjing.water.repository.po.WaterFacilityParameterPO;
import com.nanjing.water.repository.vo.WaterFacilityParameterVO;
import com.nanjing.water.repository.vo.WaterFacilityVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -253,7 +256,49 @@
        result.setLastId(pageList.getLastId());
        return ExecutedResult.success(result);
    }
    public ExecutedResult<List<WaterFacilityVO>> getData(){
        List<WaterFacilityVO>result=new ArrayList<>();
        //获取泵房数据
        List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList();
        //获取泵房设备参数
        List<WaterFacilityParameterPO> parameterPOList = mapper.getList();
        if(ListUtil.isNotNullOrEmpty(facilityPOList)){
            result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class);
            for(WaterFacilityVO facilityVO:result){
                List<WaterFacilityParameterPO> collect = parameterPOList.stream().filter(x -> x.getFacilityId().equals(facilityVO.getId())).collect(Collectors.toList());
                if(ListUtil.isNotNullOrEmpty(collect)){
                    List<WaterFacilityParameterVO>parameterVOList=CopierUtil.mapTo(collect, WaterFacilityParameterVO.class);
                    for(WaterFacilityParameterVO parameterVO:parameterVOList){
                        boolean matches = parameterVO.getColumnValue().matches("-?\\d+(\\.\\d+)?");
                        if (matches) {
                            BigDecimal value = new BigDecimal(parameterVO.getColumnValue()).setScale(3, BigDecimal.ROUND_DOWN);
                            parameterVO.setColumnValue(value.toString());
                        }
                        if("false".equals(parameterVO.getColumnValue())){
                            parameterVO.setColumnValue("关");
                        }
                        if("true".equals(parameterVO.getColumnValue())){
                            parameterVO.setColumnValue("开");
                        }
//                        if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")){
//                            BigDecimal bigDecimal=new BigDecimal(parameterVO.getColumnValue()).setScale(2,RoundingMode.DOWN);
//                            if(bigDecimal.compareTo(new BigDecimal(60).setScale(2,RoundingMode.DOWN))>0){
//                                BigDecimal data = bigDecimal.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP);
//                                parameterVO.setColumnValue(data+"分");
//                            }
//                            if(bigDecimal.compareTo(new BigDecimal(3600))>0){
//                                BigDecimal data = bigDecimal.divide(new BigDecimal(3600),2,BigDecimal.ROUND_HALF_UP);
//                                parameterVO.setColumnValue(data+"时");
//                            }
//                        }
                    }
                    facilityVO.setParameterVOList(parameterVOList);
                }
            }
        }
        return ExecutedResult.success(result);
    }
    protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) {
        WaterFacilityParameterPO exists = mapper.get(id);
        if (Objects.isNull(exists)) {