vince
2025-02-17 320350eb18e32a9a008c4e6409441730732e2e97
src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
@@ -277,8 +277,8 @@
        int cableZ = cableData.getCableZ();
        int cableY = cableData.getCableY();
        int sumNum = temps.size();
            log.info("temps:" + temps.toString());
        int sumNum = 0;
        log.info("temps:" + temps.toString());
        //数据封装
        GrainData grain = new GrainData();
        grain.setMessageId(ScConstant.getMessageId());
@@ -304,7 +304,7 @@
        double curTemp;
        int x = 0, y = 0, z = 0;
        for (int i = 0; i < sumNum; i++) {
        for (int i = 0; i < temps.size(); i++) {
            curTemp = temps.get(i);
            position = i;
@@ -317,17 +317,27 @@
            temperature.add(new GrainTemp(cableNum + "", z + "", curTemp + "", position + ""));
            //求最大最小值
            if (curTemp < -900) {
                sumNum--;
            } else {
//            //求最大最小值
//            if (curTemp < -900) {
//            //    sumNum--;
//            } else {
//                sumT += curTemp;
//                if (curTemp > max) {
//                    max = curTemp;
//                }
//                if (curTemp < min) {
//                    min = curTemp;
//                }
//            }
            if (curTemp > max  && curTemp < 40) {
                max = curTemp;
            }
            if (curTemp < min && curTemp > 3) {
                min = curTemp;
            }
            if(curTemp > 3 &&  curTemp < 40){
                sumT += curTemp;
                if (curTemp > max) {
                    max = curTemp;
                }
                if (curTemp < min) {
                    min = curTemp;
                }
                sumNum++;
            }
        }
@@ -346,7 +356,7 @@
        outPut.setTemperature(temperature);
        outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + "");
        outPut.setMinTemperature(min + "");
        outPut.setMaxTemperature(min + "");
        outPut.setMaxTemperature(max + "");
        JSONObject properties = new JSONObject();
@@ -376,7 +386,7 @@
            weatherStation.setId(device.getDeviceId());
        }
        weatherStation.setAirPressure(weather.getPressure());
        weatherStation.setHumidity(weather.getHumidity());
        weatherStation.setHumidity(weather.getHumidity().replaceAll("%",""));
        weatherStation.setPm(weather.getAir_pm25());
        weatherStation.setRadiation("0");
        weatherStation.setRainfallAmount(weather.getWea());
@@ -392,7 +402,7 @@
        grain.setProperties(properties);
        reqData.setData(JSONObject.toJSONString(grain));
        doPushGrain(reqData);
        doPushGrain(reqData,grain);
    }
    /**
@@ -448,8 +458,7 @@
        GrainOutPut outPut = new GrainOutPut();
        double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = cableX
                * cableY * cableZ;
        double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = 0;
        List<GrainTemp> temperature = new ArrayList<>();
        //根号
@@ -470,16 +479,26 @@
            temperature.add(new GrainTemp(cableNum + "", z + "", curTemp + "", position + ""));
            //求最大最小值
            if (curTemp < -900) {
                sumNum--;
            } else {
//            if (curTemp < -900) {
//                sumNum--;
//            } else {
//                sumT += curTemp;
//                if (curTemp > max) {
//                    max = curTemp;
//                }
//                if (curTemp < min) {
//                    min = curTemp;
//                }
//            }
            if (curTemp > max  && curTemp < 40) {
                max = curTemp;
            }
            if (curTemp < min && curTemp > 3) {
                min = curTemp;
            }
            if(curTemp > 3 &&  curTemp < 40){
                sumT += curTemp;
                if (curTemp > max) {
                    max = curTemp;
                }
                if (curTemp < min) {
                    min = curTemp;
                }
                sumNum++;
            }
        }
@@ -498,7 +517,7 @@
        outPut.setTemperature(temperature);
        outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + "");
        outPut.setMinTemperature(min + "");
        outPut.setMaxTemperature(min + "");
        outPut.setMaxTemperature(max + "");
        List<GrainTH> ths = new ArrayList<>();
        ths.add(new GrainTH(thDto.getTempIn() != null ? thDto.getTempIn() + "" : "", thDto.getHumidityIn() != null ? thDto.getHumidityIn() + "" : "", "1"));
@@ -521,7 +540,7 @@
            weatherStation.setId(device.getDeviceId());
        }
        weatherStation.setAirPressure(weather.getPressure());
        weatherStation.setHumidity(weather.getHumidity());
        weatherStation.setHumidity(weather.getHumidity().replaceAll("%",""));
        weatherStation.setPm(weather.getAir_pm25());
        weatherStation.setRadiation("0");
        weatherStation.setRainfallAmount(weather.getWea());
@@ -537,10 +556,10 @@
        reqData.setData(JSONObject.toJSONString(grain));
        doPushGrain(reqData);
        doPushGrain(reqData,grain);
    }
    private void doPushGrain(BaseReqData reqData) {
    private void doPushGrain(BaseReqData reqData,GrainData grainData) {
        GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol());
        if (null == reportService) {
@@ -548,6 +567,8 @@
            return;
        }
        reportService.reportGrainData(reqData);
        reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData());
        reportService.reportGrainDataByKafka(reqData);
    }