cjl
2023-08-17 412e1196c7f17676f82defe27b28378517de6f6d
fix:实测补偿修复
2 files modified
30 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java 5 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -875,27 +875,32 @@
    @Override
    public boolean historyHourly() {
        String time = "2023-08-16 21:00:00";
        String table = "202308";
        String timeEnd = "2023-08-17 00:00:00";
        String tableEnd = "202308";
        List<String> macList = Arrays.asList("p5dnd7a0245406","p5dnd7a0245427","p5dnd7a0245412","p5dnd7a0245400","p5dnd7a0245472","p5dnd7a0245384","p5dnd7a0245374","p5dnd7a0245401","p5dnd7a0245423","p5dnd7a0245438","p5dnd7a0245363","p5dnd7a0245375","p5dnd7a0245444","p5dnd7a0245437","p5dnd7a0245367","p5dnd7a0245392","p5dnd7a0245471","p5dnd7a0245433","p5dnd7a0245361","p5dnd7a0245362","p5dnd7a0245436","p5dnd7a0245373","p5dnd7a0245370","p5dnd7a0245357","p5dnd7a0245434","p5dnd7a0245353","p5dnd7a0245381","p5dnd7a0245421","p5dnd7a0245399","p5dnd7a0245409","p5dnd7a0245422","p5dnd7a0245470","p5dnd7a0245359","p5dnd7a0245393","p5dnd7a0245371","p5dnd7a0245382","p5dnd7a0245385","p5dnd7a0245443","p5dnd7a0245424","p5dnd7a0245369","p5dnd7a0245389","p5dnd7a0245391","p5dnd7a0245356","p5dnd7a0245396","p5dnd7a0243567","p5dnd7a0243568");
        List<Map<String,Object>>  listMap = historyHourlyMapper.selectDataByMacsAndTime("202308", macList, "2023-08-11 20:00:00");
        List<Map<String,Object>>  listMap = historyHourlyMapper.selectDataByMacsAndTime(table, macList, time);
        for (Map historyHourlyData : listMap) {
            String mac = historyHourlyData.get("mac").toString();
            Map<String, Object> data = JSON.parseObject(historyHourlyData.get("value").toString(), Map.class);
            Map<String, Object> dataResult = new HashMap<>();
            dataResult = data;
            dataResult.put("a34004",Double.parseDouble(data.get("a34004").toString())+5);
            dataResult.put("a34002",Double.parseDouble(data.get("a34002").toString())+10);
            dataResult.put("a21004",Double.parseDouble(data.get("a21004").toString())+10);
            dataResult.put("a21005",Double.parseDouble(data.get("a21005").toString())+0.1);
            dataResult.put("a05024",Double.parseDouble(data.get("a05024").toString())-20);
            dataResult.put("a34004",Double.parseDouble(data.get("a34004").toString())+3);
            dataResult.put("a34002",Double.parseDouble(data.get("a34002").toString())+3);
            dataResult.put("a21004",Double.parseDouble(data.get("a21004").toString())+4);
            dataResult.put("a21005",Double.parseDouble(data.get("a05024").toString())-35);
       /*     dataResult.put("a05024",Double.parseDouble(data.get("a05024").toString())-20);
            dataResult.put("a01002",Double.parseDouble(data.get("a01002").toString())+2);
            dataResult.put("a99054",Double.parseDouble(data.get("a99054").toString())+0.05);
            dataResult.put("a99054",Double.parseDouble(data.get("a99054").toString())+0.05);*/
            Map<String, Object> map = new HashMap<>();
            map.put("timeUnits",202308);
            map.put("time","2023-08-11 21:00:00");
            map.put("timeUnits",tableEnd);
            map.put("time",timeEnd);
            map.put("value",JSONObject.toJSONString(dataResult));
            map.put("version","35");
            map.put("mac",mac);
            //historyHourlyMapper.insertHistoryHourly(map);
            historyHourlyMapper.insertHistoryHourly(map);
        }
        return true;
    }
screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java
@@ -92,10 +92,13 @@
                        Object vocsValue = ObjectUtils.isEmpty(deviceData.get(Constants.SENSOR_CODE_VOCS)) ? 0F : deviceData.get(Constants.SENSOR_CODE_VOCS);
                        env.put("vocs", vocsValue);
                    }
                    if (formula.contains("cel")) {
                    if (formula.contains("ce1")) {
                        //env.put("cel", Float.parseFloat((String) measuredValue));
                        env.put("ce1", new BigDecimal(String.valueOf(measuredValue)).floatValue());
                    }else if(formula.contains("cel")){
                        env.put("cel", new BigDecimal(String.valueOf(measuredValue)).floatValue());
                    }
                    //校准
                    measuredValue = expression.execute(env);
                    //温度处理