whyclxw
6 天以前 b739e402257f565eff94ab0b985f93247c0a6c84
1.2.7修改优良电源统计时取电源历史实时数据采用反射来写
2个文件已修改
136 ■■■■ 已修改文件
src/main/java/com/whyc/service/PwrdevHistorydataIdService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/SubTablePageInfoService.java 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -27,6 +27,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class PwrdevHistorydataIdService {
@@ -99,12 +100,9 @@
        List<String> datelist=ActionUtil.getDateListBetweenDates(apptimeParam.getParamValue(), new Date());
        //获取电源优良判断的标准参数值
        List<PowerPropertyParam> paramList=propertyParamService.getPwrStandardParam(powerType);
        /*Map<String,Float> paramValues=new HashMap<>();
        for (PowerPropertyParam param : paramList) {
            paramValues.put(param.getPropertyName()+"_upper", param.getBasisVal()*param.getAlarmLimithUpper());
            paramValues.put(param.getPropertyName()+"_lower", param.getBasisVal()*param.getAlarmLimitlLower());
            map.put(param.getPropertyName(), 0);
        }*/
        List<String> propertyNameList = paramList.stream()
                .map(param -> param.getPropertyName())
                .collect(Collectors.toList());
        for (int i=0;i<datelist.size();i++) {
            String date=datelist.get(i);
            String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+date;
@@ -113,29 +111,9 @@
            if(existTableName == null){
                continue;
            }
            List<PwrdevHistorydataId> datalist=subTablePageInfoService.getPwrQuarter7(tableName);
            List<PwrdevHistorydataId> datalist=subTablePageInfoService.getPwrQuarter7(tableName,propertyNameList);
            // 遍历 dataList 并比较属性值
            for (PwrdevHistorydataId data : datalist) {
                /*if(paramValues.get("acin1_vola_upper")!=null){
                    if ((data.getAcin1Vola() > paramValues.get("acin1_vola_upper"))||(data.getAcin1Vola() < paramValues.get("acin1_vola_lower"))) {
                        map.put("acin1_vola", map.get("acin1_vola") + 1);
                    }
                }
                if(paramValues.get("acout_curra_upper")!=null) {
                    if ((data.getAcoutCurra() > paramValues.get("acout_curra_upper")) || (data.getAcoutCurra() < paramValues.get("acout_curra_lower"))) {
                        map.put("acout_curra", map.get("acout_curra") + 1);
                    }
                }
                if(paramValues.get("dcout_vol_upper")!=null) {
                    if ((data.getDcoutVol() > paramValues.get("dcout_vol_upper")) || (data.getDcoutVol() < paramValues.get("dcout_vo_lower"))) {
                        map.put("dcout_vol", map.get("dcout_vol") + 1);
                    }
                }
                if(paramValues.get("dcout_curr_upper")!=null) {
                    if ((data.getDcoutCurr() > paramValues.get("dcout_curr_upper")) || (data.getDcoutCurr() < paramValues.get("dcout_curr_lower"))) {
                        map.put("dcout_curr", map.get("dcout_curr") + 1);
                    }
                }*/
                for (int j=0;j<paramList.size();j++) {
                    PowerPropertyParam param = paramList.get(j);
                    String propertyName = ActionUtil.toCamelCase(param.getPropertyName());
src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -13,6 +13,7 @@
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_data_history.PwrdevHistorydataId;
import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmHistory;
import com.whyc.util.ActionUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -917,8 +918,9 @@
         return list;
    }
    //1.2.7优良电源统计上一季度的电源某一属性和参数阈值超过的次数
    public List<PwrdevHistorydataId> getPwrQuarter7(String tableName) {
        String sql=" select  distinct * " +
    public List<PwrdevHistorydataId> getPwrQuarter7(String tableName,List<String> propertyNameList) {
        String result = propertyNameList.stream().collect(Collectors.joining(","));
        String sql=" select  distinct record_datetime,"+result+" " +
                " from "+tableName+" " ;
        sql+=" order by record_datetime asc";
        List<PwrdevHistorydataId> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
@@ -928,91 +930,19 @@
                while (rs.next()){
                    PwrdevHistorydataId data=new PwrdevHistorydataId();
                    data.setRecordDatetime(rs.getTimestamp("record_datetime"));
                    data.setAcin1Vola(rs.getFloat("acin1_vola"));
                    data.setAcin1Volb(rs.getFloat("acin1_volb"));
                    data.setAcin1Volc(rs.getFloat("acin1_volc"));
                    data.setAcin2Vola(rs.getFloat("acin2_vola"));
                    data.setAcin2Volb(rs.getFloat("acin2_volb"));
                    data.setAcin2Volc(rs.getFloat("acin2_volc"));
                    data.setAcoutVola(rs.getFloat("acout_vola"));
                    data.setAcoutVolb(rs.getFloat("acout_volb"));
                    data.setAcoutVolc(rs.getFloat("acout_volc"));
                    data.setAcoutCurra(rs.getFloat("acout_curra"));
                    data.setAcoutCurrb(rs.getFloat("acout_currb"));
                    data.setAcoutCurrc(rs.getFloat("acout_currc"));
                    data.setDcoutVol(rs.getFloat("dcout_vol"));
                    data.setDcoutCurr(rs.getFloat("dcout_curr"));
                    data.setBattgroup1Vol(rs.getFloat("battgroup1_vol"));
                    data.setBattgroup1Curr(rs.getFloat("battgroup1_curr"));
                    data.setBattgroup2Vol(rs.getFloat("battgroup2_vol"));
                    data.setBattgroup2Curr(rs.getFloat("battgroup2_curr"));
                    data.setTemprature(rs.getFloat("temprature"));
                    data.setMOutputvol(rs.getFloat("m_outputvol"));
                    data.setM1Outcurr(rs.getFloat("m1_outcurr"));
                    data.setM2Outcurr(rs.getFloat("m2_outcurr"));
                    data.setM3Outcurr(rs.getFloat("m3_outcurr"));
                    data.setM4Outcurr(rs.getFloat("m4_outcurr"));
                    data.setM5Outcurr(rs.getFloat("m5_outcurr"));
                    data.setM6Outcurr(rs.getFloat("m6_outcurr"));
                    data.setM7Outcurr(rs.getFloat("m7_outcurr"));
                    data.setM8Outcurr(rs.getFloat("m8_outcurr"));
                    data.setM9Outcurr(rs.getFloat("m9_outcurr"));
                    data.setM10Outcurr(rs.getFloat("m10_outcurr"));
                    data.setM11Outcurr(rs.getFloat("m11_outcurr"));
                    data.setM12Outcurr(rs.getFloat("m12_outcurr"));
                    data.setM13Outcurr(rs.getFloat("m13_outcurr"));
                    data.setM14Outcurr(rs.getFloat("m14_outcurr"));
                    data.setM15Outcurr(rs.getFloat("m15_outcurr"));
                    data.setM16Outcurr(rs.getFloat("m16_outcurr"));
                    data.setAcin1Curra(rs.getFloat("acin1_curra"));
                    data.setAcin1Currb(rs.getFloat("acin1_currb"));
                    data.setAcin1Currc(rs.getFloat("acin1_currc"));
                    data.setLoaderCurr(rs.getFloat("loader_curr"));
                    data.setBattgroup1Ah(rs.getFloat("battgroup1_ah"));
                    data.setBattgroup1Temp(rs.getFloat("battgroup1_temp"));
                    data.setBattgroup2Ah(rs.getFloat("battgroup2_ah"));
                    data.setBattgroup2Temp(rs.getFloat("battgroup2_temp"));
                    data.setAcdcmTemp(rs.getFloat("acdcm_temp"));
                    data.setM1OutVol(rs.getFloat("m1_out_vol"));
                    data.setM2OutVol(rs.getFloat("m2_out_vol"));
                    data.setM3OutVol(rs.getFloat("m3_out_vol"));
                    data.setM4OutVol(rs.getFloat("m4_out_vol"));
                    data.setM5OutVol(rs.getFloat("m5_out_vol"));
                    data.setM6OutVol(rs.getFloat("m6_out_vol"));
                    data.setM7OutVol(rs.getFloat("m7_out_vol"));
                    data.setM8OutVol(rs.getFloat("m8_out_vol"));
                    data.setM9OutVol(rs.getFloat("m9_out_vol"));
                    data.setM10OutVol(rs.getFloat("m10_out_vol"));
                    data.setM11OutVol(rs.getFloat("m11_out_vol"));
                    data.setM12OutVol(rs.getFloat("m12_out_vol"));
                    data.setM13OutVol(rs.getFloat("m13_out_vol"));
                    data.setM14OutVol(rs.getFloat("m14_out_vol"));
                    data.setM15OutVol(rs.getFloat("m15_out_vol"));
                    data.setM16OutVol(rs.getFloat("m16_out_vol"));
                    data.setUseracin1Vola(rs.getFloat("useracin1_vola"));
                    data.setUseracin1Volb(rs.getFloat("useracin1_volb"));
                    data.setUseracin1Volc(rs.getFloat("useracin1_volc"));
                    data.setUseracin1Curra(rs.getFloat("useracin1_curra"));
                    data.setUseracin1Currb(rs.getFloat("useracin1_currb"));
                    data.setUseracin1Currc(rs.getFloat("useracin1_currc"));
                    data.setUseracin1Freq(rs.getFloat("useracin1_freq"));
                    data.setUseracin2Vola(rs.getFloat("useracin2_vola"));
                    data.setUseracin2Volb(rs.getFloat("useracin2_volb"));
                    data.setUseracin2Volc(rs.getFloat("useracin2_volc"));
                    data.setUseracin2Curra(rs.getFloat("useracin2_curra"));
                    data.setUseracin2Currb(rs.getFloat("useracin2_currb"));
                    data.setUseracin2Currc(rs.getFloat("useracin2_currc"));
                    data.setUseracin2Freq(rs.getFloat("useracin2_freq"));
                    data.setMTemper1(rs.getFloat("m_temper1"));
                    data.setMTemper2(rs.getFloat("m_temper2"));
                    data.setMTemper3(rs.getFloat("m_temper3"));
                    data.setMHumidity1(rs.getFloat("m_humidity1"));
                    data.setMHumidity2(rs.getFloat("m_humidity2"));
                    data.setMHumidity3(rs.getFloat("m_humidity3"));
                    for (int i=0;i<propertyNameList.size();i++){
                        try {
                            Float value = rs.getFloat(propertyNameList.get(i));
                            String propertyName = ActionUtil.toCamelCase(propertyNameList.get(i));
                            Field fieldValue = PwrdevHistorydataId.class.getDeclaredField(propertyName);
                            fieldValue.setAccessible(true);
                            fieldValue.set(data,value);
                        } catch (NoSuchFieldException e) {
                            e.printStackTrace();
                        } catch (IllegalAccessException e) {
                            e.printStackTrace();
                        }
                    }
                    list.add(data);
                }
                return list;