whyclxw
2 天以前 f998f917f90d86499bf8a24c8912e270655e4d43
src/main/java/com/whyc/service/AlmAnalysisParamService.java
@@ -1,6 +1,7 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.whyc.constant.AnalysisEnum;
import com.whyc.dto.AnalysisAlm.AnalysisChangeRes;
import com.whyc.dto.AnalysisAlm.ResAnalysis;
import com.whyc.dto.Real.RealDateDTO;
@@ -47,6 +48,13 @@
        wrapper.eq("alm_id",almId);
        wrapper.last("limit 1");
        AlmAnalysisParam param= mapper.selectOne(wrapper);
        if(param!=null){
            param.setMainFieldTypeName(AnalysisEnum.getValue(param.getMainFieldType()));
            param.setMinorField1TypeName(AnalysisEnum.getValue(param.getMinorField1Type()));
            param.setMinorField2TypeName(AnalysisEnum.getValue(param.getMinorField2Type()));
            param.setMinorField3TypeName(AnalysisEnum.getValue(param.getMinorField3Type()));
            param.setMinorField4TypeName(AnalysisEnum.getValue(param.getMinorField4Type()));
        }
        return param;
    }
@@ -67,6 +75,7 @@
        if(almAnalysisParam==null||almAnalysisParam.getMainFieldType()==null){
            return new Response().set(1,false,"无对应分析属性");
        }else{
            //分组查看需要查询电源/电池实时表的哪些数据
            Map<String,  Map<String,Object>> groupmap=groupPwrAndBatt(almAnalysisParam);
            Map<String,Object> battMap=groupmap.get("batt");
@@ -225,10 +234,10 @@
        //将属性拷贝至almAnalysisParam中
        copyProperties(almAnalysisParam,res);
        //分组查看需要查询电源/电池实时表的哪些数据
        Map<String,  Map<String,Object>> groupmap=groupPwrAndBatt(almAnalysisParam);
        Map<String,  Map<String,Object>> groupmap=groupPwrAndBattWithChage(almAnalysisParam);
        Map<String,Object> battMap=groupmap.get("batt");
        Map<String,Object> pwrMap=groupmap.get("pwr");
        Map<String,Object> mainMap=groupmap.get("main");
        Map<String,Object> mainMap=new HashMap<>();
        mainMap.put("pwr",pwrMap.size());
        mainMap.put("batt",battMap.size());
        if(res.getBattgroupId()!=null){
@@ -245,23 +254,86 @@
        }
        return new Response().setIIII(1,true, map,mainMap,almAnalysisParam,"预警分析管理-切换时间间隔和副属性");
    }
    //分组查看需要查询电源/电池实时表的哪些数据
    private Map<String, Map<String, Object>> groupPwrAndBattWithChage(AlmAnalysisParam almAnalysisParam) {
        Map<String,  Map<String,Object>> map = new HashMap<>();
        Map<String,Object> battMap=new HashMap<>();
        Map<String,Object> pwrMap=new HashMap<>();
        if(almAnalysisParam.getMinorField1Type()==1||almAnalysisParam.getMinorField1Type()==2||almAnalysisParam.getMinorField1Type()==3){
            if(almAnalysisParam.getMinorField1()!=null&&almAnalysisParam.getMinorField1().length()>0){
                pwrMap.put(almAnalysisParam.getMinorField1(),almAnalysisParam.getMinorField1Type());
            }
        }else{
            if(almAnalysisParam.getMinorField1()!=null&&almAnalysisParam.getMinorField1().length()>0){
                battMap.put(almAnalysisParam.getMinorField1(),almAnalysisParam.getMinorField1Type());
            }
        }
        if(almAnalysisParam.getMinorField2Type()==1||almAnalysisParam.getMinorField2Type()==2||almAnalysisParam.getMinorField2Type()==3){
            if(almAnalysisParam.getMinorField2()!=null&&almAnalysisParam.getMinorField2().length()>0){
                pwrMap.put(almAnalysisParam.getMinorField2(),almAnalysisParam.getMinorField2Type());
            }
        }else{
            if(almAnalysisParam.getMinorField2()!=null&&almAnalysisParam.getMinorField2().length()>0){
                battMap.put(almAnalysisParam.getMinorField2(),almAnalysisParam.getMinorField2Type());
            }
        }
        if(almAnalysisParam.getMinorField3Type()==1||almAnalysisParam.getMinorField3Type()==2||almAnalysisParam.getMinorField3Type()==3){
            if(almAnalysisParam.getMinorField3()!=null&&almAnalysisParam.getMinorField3().length()>0){
                pwrMap.put(almAnalysisParam.getMinorField3(),almAnalysisParam.getMinorField3Type());
            }
        }else{
            if(almAnalysisParam.getMinorField3()!=null&&almAnalysisParam.getMinorField3().length()>0){
                battMap.put(almAnalysisParam.getMinorField3(),almAnalysisParam.getMinorField3Type());
            }
        }
        if(almAnalysisParam.getMinorField4Type()==1||almAnalysisParam.getMinorField4Type()==2||almAnalysisParam.getMinorField4Type()==3){
            if(almAnalysisParam.getMinorField4()!=null&&almAnalysisParam.getMinorField4().length()>0){
                pwrMap.put(almAnalysisParam.getMinorField4(),almAnalysisParam.getMinorField4Type());
            }
        }else{
            if(almAnalysisParam.getMinorField4()!=null&&almAnalysisParam.getMinorField4().length()>0){
                battMap.put(almAnalysisParam.getMinorField4(),almAnalysisParam.getMinorField4Type());
            }
        }
        map.put("pwr",pwrMap);
        map.put("batt",battMap);
        return map;
    }
    //将属性拷贝至almAnalysisParam中
    private void copyProperties(AlmAnalysisParam almAnalysisParam, AnalysisChangeRes res) {
        almAnalysisParam.setMainField(res.getDataName1());
        almAnalysisParam.setMainFieldType(res.getDataType1());
        almAnalysisParam.setMinorField1(res.getDataName2());
        almAnalysisParam.setMinorField1Type(res.getDataType2());
        almAnalysisParam.setMinorField2(res.getDataName3());
        almAnalysisParam.setMinorField2Type(res.getDataType3());
        almAnalysisParam.setMinorField3(res.getDataName4());
        almAnalysisParam.setMinorField3Type(res.getDataType4());
        almAnalysisParam.setMinorField4(res.getDataName5());
        almAnalysisParam.setMinorField4Type(res.getDataType5());
        almAnalysisParam.setMinorField1(res.getDataName1());
        if(res.getDataType1()!=null){
            almAnalysisParam.setMinorField1Type(res.getDataType1());
        }else{
            almAnalysisParam.setMinorField1Type(0);
        }
        almAnalysisParam.setMinorField2(res.getDataName2());
        if(res.getDataType2()!=null){
            almAnalysisParam.setMinorField2Type(res.getDataType2());
        }else{
            almAnalysisParam.setMinorField2Type(0);
        }
        almAnalysisParam.setMinorField3(res.getDataName3());
        if(res.getDataType3()!=null){
            almAnalysisParam.setMinorField3Type(res.getDataType3());
        }else{
            almAnalysisParam.setMinorField3Type(0);
        }
        almAnalysisParam.setMinorField4(res.getDataName4());
        if(res.getDataType4()!=null){
            almAnalysisParam.setMinorField4Type(res.getDataType4());
        }else{
            almAnalysisParam.setMinorField4Type(0);
        }
    }
    //预警分析管理-查询所有的属性对应关系
    public Response getAlmSummaryParam() {
        //总的属性配置
        List<AlmSummaryParam> summaryList=summaryParamService.getInfo();
        summaryList.forEach(item->{
            item.setFieldTypeName(AnalysisEnum.getValue(item.getFieldType()));
        });
        return new Response().setII(1,true,summaryList,"预警分析管理-查询所有的属性对应关系");
    }
}