package com.gyee.generation.service.realtimelibrary;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.gyee.common.contant.ContantXk;
import com.gyee.common.model.PointData;
import com.gyee.common.util.DateUtils;
import com.gyee.common.util.DoubleUtils;
import com.gyee.generation.init.CacheContext;
import com.gyee.generation.model.auto.*;
import com.gyee.generation.model.vo.CurveType;
import com.gyee.generation.model.vo.PowerVo;
import com.gyee.generation.util.PointUtil;
import com.gyee.generation.util.StringUtils;
import com.gyee.generation.util.math.LightToTheoreticalPower;
import com.gyee.generation.util.math.PowerIntegration;
import com.gyee.generation.util.realtimesource.IEdosUtil;
import com.gyee.generation.util.redis.RedisService;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;

/*
@author   谢生杰
@date   2022/11/9-9:29
计算日月年
15分钟
*/
@Service
public class CycleCalculationService {
    @Resource
    private IEdosUtil edosUtil;

    @Value("${notCalculatePower}")
    private String notCalculatePower;

    @Resource
    private RedisService redisService;
    @Resource
    private LightToTheoreticalPower lightToTheoreticalPower;

    @SneakyThrows
    public void saveCyle() throws Exception {


        List<String> runWpids = Arrays.asList(notCalculatePower.split(","));

        Calendar c = Calendar.getInstance();

        if (c.get(Calendar.HOUR_OF_DAY) == 0 && c.get(Calendar.MINUTE) == 0) {
            c.add(Calendar.DAY_OF_MONTH, -1);
            c.set(Calendar.HOUR_OF_DAY, 23);
            c.set(Calendar.MINUTE, 59);
            c.set(Calendar.SECOND, 59);
        }


        Date currentDate = c.getTime();

        int day = DateUtils.getDay(currentDate);
        int month = DateUtils.getMonth(currentDate);
        Date date = DateUtils.addMinutes(currentDate, -5);
        Date date15age = DateUtils.addMinutes(currentDate, -15);

        Date samedayZero = DateUtils.truncate(currentDate);
        Date samedayZeroAdd15 = DateUtils.addMinutes(samedayZero, 15);

        Date monthFirstZero = DateUtils.getMonthFirstZero();
        Date monthFirstZeroAdd15 = DateUtils.addMinutes(monthFirstZero, 15);

        Date yearFirstZero = DateUtils.getYearFirstZero();
        Date yearFirstZeroAdd15 = DateUtils.addMinutes(yearFirstZero, 15);


        List<ProBasicEquipment> wtls = CacheContext.wtls;
        List<ProBasicLine> lnls = CacheContext.lnls;
        List<ProBasicProject> pjls = CacheContext.pjls;
        List<ProBasicPowerstation> wpls = CacheContext.wpls;
        Map<String, List<ProBasicEquipment>> lnwtmap = CacheContext.lnwtmap;
        Map<String, List<ProBasicLine>> prolinemap = CacheContext.prolinemap;
        Map<String, List<ProBasicProject>> wppromap = CacheContext.wppromap;
        Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
        Map<String, Map<String, ProBasicPowerstationPoint>> linepointmap = CacheContext.linepointmap;
        Map<String, Map<String, ProBasicPowerstationPoint>> propointmap = CacheContext.propointmap;
        Map<String, Map<String, ProBasicPowerstationPoint>> wppointmap = CacheContext.wppointmap;
        Map<String, Double> modelpower = CacheContext.modelpower;
        List<PointData> wtResultList = new ArrayList<>();
        //        wtls.stream().forEach(wt->{
        for (ProBasicEquipment wt : wtls) {


            Map<String, Double> dataMap = new HashMap<>();
            Map<String, ProBasicEquipmentPoint> equipmentPointMap = wtpAimap.get(wt.getId());

            Map<String, ProBasicPowerstationPoint> wpPointMap = wppointmap.get(wt.getWindpowerstationId());

            ProBasicPowerstationPoint gzdPoint = wpPointMap.get("GCGZQD");
            ProBasicEquipmentPoint ssfsPoint = equipmentPointMap.get(ContantXk.CJ_SSFS);
            ProBasicEquipmentPoint ssglPoint = equipmentPointMap.get(ContantXk.CJ_SSGL);
            ProBasicEquipmentPoint rssfdlPoint = equipmentPointMap.get(ContantXk.CJ_FDL);
            ProBasicEquipmentPoint dwglPoint = equipmentPointMap.get(ContantXk.CJ_DWGL);
            //                ProBasicEquipmentPoint kyglPoint = equipmentPointMap.get(ContantXk.KYGL);
            ProBasicEquipmentPoint zsglPoint = equipmentPointMap.get(ContantXk.ZSGL);
            ProBasicEquipmentPoint mxztPoint = equipmentPointMap.get(ContantXk.MXZT);

            ProBasicEquipmentPoint rpjfsPoint = equipmentPointMap.get(ContantXk.RPJFS);
            ProBasicEquipmentPoint rpjgzdPoint = equipmentPointMap.get(ContantXk.RPJGZD);
            ProBasicEquipmentPoint ypjfsPoint = equipmentPointMap.get(ContantXk.YPJFS);
            ProBasicEquipmentPoint ypjgzdPoint = equipmentPointMap.get(ContantXk.YPJGZD);
            ProBasicEquipmentPoint npjfsPoint = equipmentPointMap.get(ContantXk.NPJFS);
            ProBasicEquipmentPoint npjgzdPoint = equipmentPointMap.get(ContantXk.NPJGZD);
            ProBasicEquipmentPoint rpjglPoint = equipmentPointMap.get(ContantXk.RPJGL);
            ProBasicEquipmentPoint ypjglPoint = equipmentPointMap.get(ContantXk.YPJGL);
            ProBasicEquipmentPoint npjglPoint = equipmentPointMap.get(ContantXk.NPJGL);
            ProBasicEquipmentPoint rfdlPoint = equipmentPointMap.get(ContantXk.RFDL);
            ProBasicEquipmentPoint yfdlPoint = equipmentPointMap.get(ContantXk.YFDL);
            ProBasicEquipmentPoint nfdlPoint = equipmentPointMap.get(ContantXk.NFDL);
            ProBasicEquipmentPoint fdl15Point = equipmentPointMap.get(ContantXk.FDL15);
            ProBasicEquipmentPoint pjfs15Point = equipmentPointMap.get(ContantXk.PJFS15);
            ProBasicEquipmentPoint pjgzd15Point = equipmentPointMap.get(ContantXk.PJGZD15);
            ProBasicEquipmentPoint pjgl15Point = equipmentPointMap.get(ContantXk.PJGL15);
            ProBasicEquipmentPoint rkydlPoint = equipmentPointMap.get(ContantXk.RKYDL);
            ProBasicEquipmentPoint ykydlPoint = equipmentPointMap.get(ContantXk.YKYDL);
            ProBasicEquipmentPoint nkydlPoint = equipmentPointMap.get(ContantXk.NKYDL);
            ProBasicEquipmentPoint kydl15Point = equipmentPointMap.get(ContantXk.KYDL15);
            ProBasicEquipmentPoint rlldlzsPoint = equipmentPointMap.get(ContantXk.RLLFDLZS);
            ProBasicEquipmentPoint ylldlzsPoint = equipmentPointMap.get(ContantXk.YLLFDLZS);
            ProBasicEquipmentPoint nlldlzsPoint = equipmentPointMap.get(ContantXk.NLLFDLZS);
            ProBasicEquipmentPoint lldl15zsPoint = equipmentPointMap.get(ContantXk.LLFDL15ZS);
            ProBasicEquipmentPoint rzhdPoint = equipmentPointMap.get(ContantXk.RZHD);
            ProBasicEquipmentPoint yzhdPoint = equipmentPointMap.get(ContantXk.YZHD);
            ProBasicEquipmentPoint nzhdPoint = equipmentPointMap.get(ContantXk.NZHD);
            ProBasicEquipmentPoint zhd15Point = equipmentPointMap.get(ContantXk.ZHD15);
            ProBasicEquipmentPoint rgzssPoint = equipmentPointMap.get(ContantXk.RGZSSDL);
            ProBasicEquipmentPoint rgzslPoint = equipmentPointMap.get(ContantXk.RCNSLGZSSDL);
            ProBasicEquipmentPoint rjxssPoint = equipmentPointMap.get(ContantXk.RJXSSDL);
            ProBasicEquipmentPoint rjxslPoint = equipmentPointMap.get(ContantXk.RCNSLJXSSDL);
            ProBasicEquipmentPoint rdjssPoint = equipmentPointMap.get(ContantXk.RDJSSDL);
            ProBasicEquipmentPoint rsdtjPoint = equipmentPointMap.get(ContantXk.RSDTJSSDL);
            ProBasicEquipmentPoint rxnssPoint = equipmentPointMap.get(ContantXk.RXNSSDL);
            ProBasicEquipmentPoint rfdjclPoint = equipmentPointMap.get(ContantXk.RQXJCLSSDL);
            ProBasicEquipmentPoint rxdjclPoint = equipmentPointMap.get(ContantXk.RXDJCLSSDL);
            ProBasicEquipmentPoint rxdtjPoint = equipmentPointMap.get(ContantXk.RXDTJSSDL);
            ProBasicEquipmentPoint rdwslPoint = equipmentPointMap.get(ContantXk.RCWSLDWSSDL);
            ProBasicEquipmentPoint rhjslPoint = equipmentPointMap.get(ContantXk.RCWSLTQSSDL);
            ProBasicEquipmentPoint rqfdlPoint = equipmentPointMap.get(ContantXk.RQFDL);
            ProBasicEquipmentPoint rzfdlPoint = equipmentPointMap.get(ContantXk.RZFDL);
            ProBasicEquipmentPoint rllfdlPoint = equipmentPointMap.get(ContantXk.RLLFDL);
            ProBasicEquipmentPoint ygzssPoint = equipmentPointMap.get(ContantXk.YGZSSDL);
            ProBasicEquipmentPoint ygzslPoint = equipmentPointMap.get(ContantXk.YCNSLGZSSDL);
            ProBasicEquipmentPoint yjxssPoint = equipmentPointMap.get(ContantXk.YJXSSDL);
            ProBasicEquipmentPoint yjxslPoint = equipmentPointMap.get(ContantXk.YCNSLJXSSDL);
            ProBasicEquipmentPoint ydjssPoint = equipmentPointMap.get(ContantXk.YDJSSDL);
            ProBasicEquipmentPoint ysdtjPoint = equipmentPointMap.get(ContantXk.YSDTJSSDL);
            ProBasicEquipmentPoint yxnssPoint = equipmentPointMap.get(ContantXk.YXNSSDL);
            ProBasicEquipmentPoint yfdjclPoint = equipmentPointMap.get(ContantXk.YQXJCLSSDL);
            ProBasicEquipmentPoint yxdjclPoint = equipmentPointMap.get(ContantXk.YXDJCLSSDL);
            ProBasicEquipmentPoint yxdtjPoint = equipmentPointMap.get(ContantXk.YXDTJSSDL);
            ProBasicEquipmentPoint ydwslPoint = equipmentPointMap.get(ContantXk.YCWSLDWSSDL);
            ProBasicEquipmentPoint yhjslPoint = equipmentPointMap.get(ContantXk.YCWSLTQSSDL);
            ProBasicEquipmentPoint yqfdlPoint = equipmentPointMap.get(ContantXk.YQFDL);
            ProBasicEquipmentPoint yzfdlPoint = equipmentPointMap.get(ContantXk.YZFDL);
            ProBasicEquipmentPoint yllfdlPoint = equipmentPointMap.get(ContantXk.YLLFDL);
            ProBasicEquipmentPoint ngzssPoint = equipmentPointMap.get(ContantXk.NGZSSDL);
            ProBasicEquipmentPoint ngzslPoint = equipmentPointMap.get(ContantXk.NCNSLGZSSDL);
            ProBasicEquipmentPoint njxssPoint = equipmentPointMap.get(ContantXk.NJXSSDL);
            ProBasicEquipmentPoint njxslPoint = equipmentPointMap.get(ContantXk.NCNSLJXSSDL);
            ProBasicEquipmentPoint ndjssPoint = equipmentPointMap.get(ContantXk.NDJSSDL);
            ProBasicEquipmentPoint nsdtjPoint = equipmentPointMap.get(ContantXk.NSDTJSSDL);
            ProBasicEquipmentPoint nxnssPoint = equipmentPointMap.get(ContantXk.NXNSSDL);
            ProBasicEquipmentPoint nfdjclPoint = equipmentPointMap.get(ContantXk.NQXJCLSSDL);
            ProBasicEquipmentPoint nxdjclPoint = equipmentPointMap.get(ContantXk.NXDJCLSSDL);
            ProBasicEquipmentPoint nxdtjPoint = equipmentPointMap.get(ContantXk.NXDTJSSDL);
            ProBasicEquipmentPoint ndwslPoint = equipmentPointMap.get(ContantXk.NCWSLDWSSDL);
            ProBasicEquipmentPoint nhjslPoint = equipmentPointMap.get(ContantXk.NCWSLTQSSDL);
            ProBasicEquipmentPoint nqfdlPoint = equipmentPointMap.get(ContantXk.NQFDL);
            ProBasicEquipmentPoint nzfdlPoint = equipmentPointMap.get(ContantXk.NZFDL);
            ProBasicEquipmentPoint nllfdlPoint = equipmentPointMap.get(ContantXk.NLLFDL);
            ProBasicEquipmentPoint gzss15Point = equipmentPointMap.get(ContantXk.GZSSDL15);
            ProBasicEquipmentPoint gzsl15Point = equipmentPointMap.get(ContantXk.CNSLGZSSDL15);
            ProBasicEquipmentPoint jxss15Point = equipmentPointMap.get(ContantXk.JXSSDL15);
            ProBasicEquipmentPoint jxsl15Point = equipmentPointMap.get(ContantXk.CNSLJXSSDL15);
            ProBasicEquipmentPoint djss15Point = equipmentPointMap.get(ContantXk.DJSSDL15);
            ProBasicEquipmentPoint sdtj15Point = equipmentPointMap.get(ContantXk.SDTJSSDL15);
            ProBasicEquipmentPoint xnss15Point = equipmentPointMap.get(ContantXk.XNSSDL15);
            ProBasicEquipmentPoint fdjcl15Point = equipmentPointMap.get(ContantXk.QXJCLSSDL15);
            ProBasicEquipmentPoint xdjcl15Point = equipmentPointMap.get(ContantXk.XDJCLSSDL15);
            ProBasicEquipmentPoint xdtj15Point = equipmentPointMap.get(ContantXk.XDTJSSDL15);
            ProBasicEquipmentPoint dwsl15Point = equipmentPointMap.get(ContantXk.CWSLDWSSDL15);
            ProBasicEquipmentPoint hjsl15Point = equipmentPointMap.get(ContantXk.CWSLTQSSDL15);
            ProBasicEquipmentPoint qfdl15Point = equipmentPointMap.get(ContantXk.QFDL15);
            ProBasicEquipmentPoint zfdl15Point = equipmentPointMap.get(ContantXk.ZFDL15);
            ProBasicEquipmentPoint llfdl15Point = equipmentPointMap.get(ContantXk.LLFDL15);

            try {

                double ssztmx = edosUtil.getRealData(mxztPoint).getPointValueInDouble();

                if (ssztmx == 12 || ssztmx == 13) {
                    continue;

                } else {

                    double ssfdl = edosUtil.getSectionData(rssfdlPoint, currentDate.getTime()).getPointValueInDouble() * rssfdlPoint.getCoefficient();
                    double zerofdl = edosUtil.getSectionData(rssfdlPoint, samedayZero.getTime()).getPointValueInDouble() * rssfdlPoint.getCoefficient();
                    double monthfirstfdl = edosUtil.getSectionData(rssfdlPoint, monthFirstZero.getTime()).getPointValueInDouble() * rssfdlPoint.getCoefficient();
                    double yearfirstfdl = edosUtil.getSectionData(rssfdlPoint, yearFirstZero.getTime()).getPointValueInDouble() * rssfdlPoint.getCoefficient();
                    double date15agofdl = edosUtil.getSectionData(rssfdlPoint, date15age.getTime()).getPointValueInDouble() * rssfdlPoint.getCoefficient();


                    c = Calendar.getInstance();
                    c.setTime(currentDate);
                    if (c.get(Calendar.DAY_OF_MONTH) != 1) {
                        c.add(Calendar.DAY_OF_MONTH, -1);
                        c.set(Calendar.HOUR_OF_DAY, 23);
                        c.set(Calendar.MINUTE, 59);
                    }

                    double yssfdl = edosUtil.getSectionData(yfdlPoint, c.getTime().getTime()).getPointValueInDouble();
                    double nssfdl = edosUtil.getSectionData(nfdlPoint, c.getTime().getTime()).getPointValueInDouble();

                    double rfdl = ssfdl - zerofdl;

                    if (rfdl <= 0 || rfdl > modelpower.get(wt.getModelId()) * 24 * 1.5) {
                        rfdl = 0;
                        List<PointData> ssglList = edosUtil.getHistoryDatasSnap(ssglPoint, samedayZero.getTime() / 1000, currentDate.getTime() / 1000, null, 900l);

                        if (!ssglList.isEmpty()) {
                            Map<Integer, Double> map = new HashMap<>();
                            int time = 0;
                            for (int i = 0; i < ssglList.size(); i++) {

                                double modelvalue = modelpower.get(wt.getModelId()) * 1.5;

                                if (ssglList.get(i).getPointValueInDouble() > 0 && ssglList.get(i).getPointValueInDouble() < modelvalue) {
                                    map.put(time, ssglList.get(i).getPointValueInDouble());
                                    time++;
                                }

                            }
                            PowerIntegration pi = new PowerIntegration();

                            rfdl = pi.calculateEnergy(map, 0.25);
                        }

                    }


                    double yfdl = yssfdl - monthfirstfdl;
                    if (c.get(Calendar.DAY_OF_MONTH) == 1) {
                        yfdl = rfdl;
                    } else {
                        yfdl = yfdl + rfdl;
                    }

                    if (yfdl <= 0 || yfdl < rfdl || yfdl > modelpower.get(wt.getModelId()) * 24 * 31 * 1.5) {
                        yfdl = rfdl * day;
                    }

                    double nfdl = nssfdl - yearfirstfdl;


                    if (c.get(Calendar.DAY_OF_MONTH) == 1 && c.get(Calendar.MONTH) == 0) {
                        nfdl = rfdl;
                    } else {
                        nfdl = nfdl + rfdl;
                    }
                    if (nfdl <= 0 || nfdl < yfdl || nfdl > modelpower.get(wt.getModelId()) * 24 * 31 * 12 * 1.5) {
                        nfdl = yfdl * month;
                    }


                    //
                    //                        if(wt.getWindpowerstationId().equals("SXJ_KGDL_YTY_FDC_STA"))
                    //                        {
                    //                            System.out.println("");
                    //                        }
                    if (!runWpids.contains(wt.getWindpowerstationId())) {
                        wtResultList.add(PointUtil.createPointData(date, rfdl, rfdlPoint.getNemCode(), rfdlPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, yfdl, yfdlPoint.getNemCode(), yfdlPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, nfdl, nfdlPoint.getNemCode(), nfdlPoint.getName()));
                    }

                    double fdl15 = ssfdl - date15agofdl;
                    wtResultList.add(PointUtil.createPointData(date, fdl15, fdl15Point.getNemCode(), fdl15Point.getName()));

                    double ssdwgl = edosUtil.getSectionData(dwglPoint, currentDate.getTime()).getPointValueInDouble();
                    double zerodwgl = edosUtil.getSectionData(dwglPoint, samedayZero.getTime()).getPointValueInDouble();
                    double monthfirstdwgl = edosUtil.getSectionData(dwglPoint, monthFirstZero.getTime()).getPointValueInDouble();
                    double yearfirstdwgl = edosUtil.getSectionData(dwglPoint, yearFirstZero.getTime()).getPointValueInDouble();
                    double date15agodwgl = edosUtil.getSectionData(dwglPoint, date15age.getTime()).getPointValueInDouble();

                    double rzhd = ssdwgl - zerodwgl;
                    wtResultList.add(PointUtil.createPointData(date, rzhd, rzhdPoint.getNemCode(), rzhdPoint.getName()));
                    double yzhd = ssdwgl - monthfirstdwgl;
                    wtResultList.add(PointUtil.createPointData(date, yzhd, yzhdPoint.getNemCode(), yzhdPoint.getName()));
                    double nzhd = ssdwgl - yearfirstdwgl;
                    wtResultList.add(PointUtil.createPointData(date, nzhd, nzhdPoint.getNemCode(), nzhdPoint.getName()));
                    double zhd15 = ssdwgl - date15agodwgl;
                    wtResultList.add(PointUtil.createPointData(date, zhd15, zhd15Point.getNemCode(), zhd15Point.getName()));


                    List<PointData> ssfsList = edosUtil.getHistStat(ssfsPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 1l, 900l, 2);
                    Optional<PointData> ssfsFirst = ssfsList.stream().findFirst();
                    if (ssfsFirst.isPresent()) {
                        double value = ssfsFirst.get().getPointValueInDouble();
                        if (wt.getEquipmentCategory().equals("-1")) {
                            if (value >= 0 && value <= 30) {
                                dataMap.put("pjfs", value);
                            } else {
                                dataMap.put("pjfs", 0d);
                            }
                        } else {
                            dataMap.put("pjfs", value);
                        }

                    }
                    List<PointData> ssglList = edosUtil.getHistStat(ssglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 1l, 900l, 2);
                    Optional<PointData> ssglFirst = ssglList.stream().findFirst();
                    if (ssglFirst.isPresent()) {
                        dataMap.put("pjgl", ssglFirst.get().getPointValueInDouble());
                    }
                    //                    List<PointData> kyglList = edosUtil.getHistStat(kyglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 1l, 900l, 2);
                    //                    Optional<PointData> kyglFirst = kyglList.stream().findFirst();
                    //                    if (kyglFirst.isPresent()) {
                    //                        dataMap.put("kydl", kyglFirst.get().getPointValueInDouble());
                    //                    }

                    dataMap.put("kydl", 0.0);
                    List<PointData> zsglList = edosUtil.getHistStat(zsglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 1l, 900l, 2);
                    Optional<PointData> zsglFirst = zsglList.stream().findFirst();
                    if (zsglFirst.isPresent()) {
                        dataMap.put("zsdl", zsglFirst.get().getPointValueInDouble());
                    }
                    //                    List<PointData> mxztPointDatas = edosUtil.getHistoryDatasSnap(mxztPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                    //实际功率
                    //                    List<PointData> ssglPointDatas = edosUtil.getHistoryDatasSnap(ssglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                    //拟合功率
                    //                    List<PointData> zsglPointDatas = edosUtil.getHistoryDatasSnap(zsglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                    //故障
                    double gzss = 0.0;
                    //故障受累
                    double gzsl = 0.0;
                    //检修
                    double jxss = 0.0;
                    //检修受累
                    double jxsl = 0.0;
                    //待机
                    double djss = 0.0;
                    //手动停机
                    double sdtj = 0.0;
                    //性能
                    double xnss = 0.0;
                    //发电降出力
                    double fdjcl = 0.0;
                    //限电降出力
                    double xdjcl = 0.0;
                    //限电停机
                    double xdtj = 0.0;
                    //电网受累
                    double dwsl = 0.0;
                    //环境受累
                    double hjsl = 0.0;
                    if (wt.getId().contains("_F_")) {
                        List<PointData> mxztPointDatas = edosUtil.getHistoryDatasSnap(mxztPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);

                        //实时功率平均值
                        List<PointData> ssglPointDatas = edosUtil.getHistStat(ssglPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 15l, 60l, 2);
                        //实时风速平均值
                        List<PointData> pjfsointDatas = edosUtil.getHistStat(ssfsPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, 15l, 60l, 2);
                        //故障
                        gzss = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 4, wt);
                        //故障受累
                        gzsl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 5, wt);
                        //检修
                        jxss = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 6, wt);
                        //检修受累
                        jxsl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 7, wt);
                        //待机
                        djss = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 0, wt) * 0.1;
                        //手动停机
                        sdtj = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 1, wt) * 0.1;
                        //性能
                        xnss = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 2, wt) * 0.1;
                        //发电降出力
                        fdjcl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 3, wt) * 0.1;
                        //限电降出力
                        xdjcl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 8, wt);
                        //限电停机
                        xdtj = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 9, wt);
                        //电网受累
                        dwsl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 10, wt);
                        //环境受累
                        hjsl = generalLossBySpeed(mxztPointDatas, pjfsointDatas, ssglPointDatas, 11, wt);
                    } else {
                        List<PointData> mxztPointDatas = edosUtil.getHistoryDatasSnap(mxztPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                        List<PointData> rfdlPointDatas = edosUtil.getHistoryDatasSnap(rfdlPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                        List<PointData> gzdPointDatas = edosUtil.getHistoryDatasSnap(gzdPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);

                        //                        if(wt.getId().equals("SXJ_KGDL_JR_G_IN_0304_EQ"))
                        //                        {
                        //                            System.out.println("");
                        //                        }
                        if (CacheContext.modelMap.containsKey(wt.getModelId())) {
                            if (!rfdlPointDatas.isEmpty() && rfdlPointDatas.size() >= 2) {
                                rfdlPointDatas.get(0).setPointValueInDouble(rfdlPointDatas.get(1).getPointValueInDouble());
                            }
                            ProEconEquipmentmodel model = CacheContext.modelMap.get(wt.getModelId());
                            PowerVo vo = lightToTheoreticalPower.calculateEnergy(rfdlPointDatas, gzdPointDatas, mxztPointDatas, gzdPoint.getNemCode(), model.getPowerProduction());
                            //故障
                            gzss = vo.getRgzssdl();
                            //故障受累
                            gzsl = vo.getRcnslgzssdl();
                            //检修
                            jxss = vo.getRjxssdl();
                            //检修受累
                            jxsl = vo.getRcnsljxssdl();
                            //待机
                            djss = vo.getRdjssdl();
                            //手动停机
                            sdtj = vo.getRsdtjssdl();
                            //性能
                            xnss = vo.getRxnssdl();
                            //发电降出力
                            fdjcl = vo.getRqxjclssdl();
                            //限电降出力
                            xdjcl = vo.getRxdjclssdl();
                            //限电停机
                            xdtj = vo.getRxdtjssdl();
                            //电网受累
                            dwsl = vo.getRcwsldwssdl();
                            //环境受累
                            hjsl = vo.getRcwsltqssdl();

                        }

                    }


                    double rgzss = 0;
                    double rgzsl = 0;
                    double rjxss = 0;
                    double rjxsl = 0;
                    double rdjss = 0;
                    double rsdtj = 0;
                    double rxnss = 0;
                    double rfdjcl = 0;
                    double rxdjcl = 0;
                    double rxdtj = 0;
                    double rdwsl = 0;
                    double rhjsl = 0;
                    double rqfdl = 0;
                    double rzfdl = 0;

                    double ygzss = 0;
                    double ygzsl = 0;
                    double yjxss = 0;
                    double yjxsl = 0;
                    double ydjss = 0;
                    double ysdtj = 0;
                    double yxnss = 0;
                    double yfdjcl = 0;
                    double yxdjcl = 0;
                    double yxdtj = 0;
                    double ydwsl = 0;
                    double yhjsl = 0;
                    double yqfdl = 0;
                    double yzfdl = 0;

                    double ngzss = 0;
                    double ngzsl = 0;
                    double njxss = 0;
                    double njxsl = 0;
                    double ndjss = 0;
                    double nsdtj = 0;
                    double nxnss = 0;
                    double nfdjcl = 0;
                    double nxdjcl = 0;
                    double nxdtj = 0;
                    double ndwsl = 0;
                    double nhjsl = 0;
                    double nqfdl = 0;
                    double nzfdl = 0;

                    double rpjfs = 0;
                    double ypjfs = 0;
                    double npjfs = 0;
                    double rpjgl = 0;
                    double ypjgl = 0;
                    double npjgl = 0;
                    double rkydl = 0;
                    double ykydl = 0;
                    double nkydl = 0;
                    double rzsdl = 0;
                    double yzsdl = 0;
                    double nzsdl = 0;


                    if (date.getTime() > samedayZero.getTime() && date.getTime() <= samedayZeroAdd15.getTime()) {
                        rpjfs = dataMap.get("pjfs");
                        rpjgl = dataMap.get("pjgl");
                        rkydl = dataMap.get("kydl");
                        rzsdl = dataMap.get("zsdl");
                        rgzss = gzss;
                        rgzsl = gzsl;
                        rjxss = jxss;
                        rjxsl = jxsl;
                        rdjss = djss;
                        rsdtj = sdtj;
                        rxnss = xnss;
                        rfdjcl = fdjcl;
                        rxdjcl = xdjcl;
                        rxdtj = xdtj;
                        rdwsl = dwsl;
                        rhjsl = hjsl;
                        double temp = rgzss + rgzsl + rjxss + rjxsl + rdjss + rsdtj + rxnss + rfdjcl + rxdjcl + rxdtj + rdwsl + rhjsl;
                        if (temp >= 0) {
                            rqfdl = temp;
                        } else {
                            rzfdl = Math.abs(temp);
                        }
                    } else {
                        if (wt.getId().contains("_WT_")) {
                            double lsfs = edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble();
                            if (lsfs > 25) {
                                lsfs = 25;
                            } else if (lsfs < 0) {
                                lsfs = 0;
                            }
                            rpjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));

                            double lsgl = edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble();
                            rpjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                            double lskydl = edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble();
                            rkydl = DoubleUtils.sum(lskydl, dataMap.get("kydl"));
                            double lslldlzs = edosUtil.getSectionData(rlldlzsPoint, currentDate.getTime()).getPointValueInDouble();
                            rzsdl = DoubleUtils.sum(lslldlzs, dataMap.get("zsdl"));
                            double lsgzss = edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble();
                            rgzss = DoubleUtils.sum(lsgzss, gzss);
                            double lsgzsl = edosUtil.getSectionData(rgzslPoint, currentDate.getTime()).getPointValueInDouble();
                            rgzsl = DoubleUtils.sum(lsgzsl, gzsl);
                            double lsjxss = edosUtil.getSectionData(rjxssPoint, currentDate.getTime()).getPointValueInDouble();
                            rjxss = DoubleUtils.sum(lsjxss, jxss);
                            double lsjxsl = edosUtil.getSectionData(rjxslPoint, currentDate.getTime()).getPointValueInDouble();
                            rjxsl = DoubleUtils.sum(lsjxsl, jxsl);

                            double lsdjss = edosUtil.getSectionData(rdjssPoint, currentDate.getTime()).getPointValueInDouble();
                            rdjss = DoubleUtils.sum(lsdjss, djss);
                            ;
                            double lssdtj = edosUtil.getSectionData(rsdtjPoint, currentDate.getTime()).getPointValueInDouble();
                            rsdtj = DoubleUtils.sum(lssdtj, sdtj);
                            ;
                            double lsxnss = edosUtil.getSectionData(rxnssPoint, currentDate.getTime()).getPointValueInDouble();
                            rxnss = DoubleUtils.sum(lsxnss, xnss);
                            ;

                            double lsfdjcl = edosUtil.getSectionData(rfdjclPoint, currentDate.getTime()).getPointValueInDouble();
                            rfdjcl = DoubleUtils.sum(lsfdjcl, fdjcl);

                            double lsxdjcl = edosUtil.getSectionData(rxdjclPoint, currentDate.getTime()).getPointValueInDouble();
                            rxdjcl = DoubleUtils.sum(lsxdjcl, xdjcl);
                            double lsxdtj = edosUtil.getSectionData(rxdtjPoint, currentDate.getTime()).getPointValueInDouble();
                            rxdtj = DoubleUtils.sum(lsxdtj, xdtj);
                            double lsdwsl = edosUtil.getSectionData(rdwslPoint, currentDate.getTime()).getPointValueInDouble();
                            rdwsl = DoubleUtils.sum(lsdwsl, dwsl);
                            double lshjsl = edosUtil.getSectionData(rhjslPoint, currentDate.getTime()).getPointValueInDouble();
                            rhjsl = DoubleUtils.sum(lshjsl, hjsl);

                            //                            if (currentDate.getTime() < samedayZeroAdd15.getTime()) {
                            //                                rgzss = gzss;
                            //                                rgzsl = gzsl;
                            //                                rjxss = jxss;
                            //                                rjxsl = jxsl;
                            //                                rdjss = djss;
                            //                                rsdtj = sdtj;
                            //                                rxnss = xnss;
                            //                                rfdjcl = fdjcl;
                            //                                rxdjcl = xdjcl;
                            //                                rxdtj = xdtj;
                            //                                rdwsl = dwsl;
                            //                                rhjsl = hjsl;
                            //                            }
                            double temp = rgzss + rgzsl + rjxss + rjxsl + rdjss + rsdtj + rxnss + rfdjcl + rxdjcl + rxdtj + rdwsl + rhjsl;
                            if (temp >= 0) {
                                rqfdl = temp;
                            } else {
                                rzfdl = Math.abs(temp);
                            }
                        } else {

                            List<PointData> pointls = edosUtil.getHistoryDatasSnap(gzdPoint, date15age.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
                            if (!pointls.isEmpty()) {
                                List<PointData> filterls = new ArrayList<>();
                                for (PointData po : pointls) {
                                    if (po.getPointValueInDouble() > 10) {
                                        filterls.add(po);
                                    }
                                }

                                if (!filterls.isEmpty()) {
                                    Date beginTime = new Date(filterls.get(0).getPointTime());
                                    Date endTime = new Date(filterls.get(filterls.size() - 1).getPointTime());
                                    double hours = com.gyee.generation.util.DateUtils.hoursDiff(beginTime, endTime);
                                    DoubleSummaryStatistics summaryStatistics = filterls.stream().mapToDouble(PointData::getPointValueInDouble).summaryStatistics();
                                    double avg = com.gyee.common.model.StringUtils.round(summaryStatistics.getAverage(), 2);
                                    //累计光照度
                                    rpjfs = new BigDecimal(avg * hours).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();


                                    dataMap.put("pjfs", rpjfs);
                                }

                            }

                            double lsgl = edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble();
                            rpjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                            double lskydl = edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble();
                            rkydl = DoubleUtils.sum(lskydl, dataMap.get("kydl"));
                            double lslldlzs = edosUtil.getSectionData(rlldlzsPoint, currentDate.getTime()).getPointValueInDouble();
                            rzsdl = DoubleUtils.sum(lslldlzs, dataMap.get("zsdl"));
                            //                            double lsgzss = edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble();
                            //
                            //                            rgzss = gzss;
                            //                            rgzsl = gzsl;
                            //                            rjxss = jxss;
                            //                            rjxsl = jxsl;
                            //                            rdjss = djss;
                            //                            rsdtj = sdtj;
                            //                            rxnss = xnss;
                            //                            rfdjcl = fdjcl;
                            //                            rxdjcl =xdjcl;
                            //                            rxdtj = xdtj;
                            //                            rdwsl = dwsl;
                            //                            rhjsl =hjsl;

                            double lsgzss = edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble();
                            rgzss = DoubleUtils.sum(lsgzss, gzss);
                            double lsgzsl = edosUtil.getSectionData(rgzslPoint, currentDate.getTime()).getPointValueInDouble();
                            rgzsl = DoubleUtils.sum(lsgzsl, gzsl);
                            double lsjxss = edosUtil.getSectionData(rjxssPoint, currentDate.getTime()).getPointValueInDouble();
                            rjxss = DoubleUtils.sum(lsjxss, jxss);
                            double lsjxsl = edosUtil.getSectionData(rjxslPoint, currentDate.getTime()).getPointValueInDouble();
                            rjxsl = DoubleUtils.sum(lsjxsl, jxsl);

                            double lsdjss = edosUtil.getSectionData(rdjssPoint, currentDate.getTime()).getPointValueInDouble();
                            rdjss = DoubleUtils.sum(lsdjss, djss);
                            ;
                            double lssdtj = edosUtil.getSectionData(rsdtjPoint, currentDate.getTime()).getPointValueInDouble();
                            rsdtj = DoubleUtils.sum(lssdtj, sdtj);
                            ;
                            double lsxnss = edosUtil.getSectionData(rxnssPoint, currentDate.getTime()).getPointValueInDouble();
                            rxnss = DoubleUtils.sum(lsxnss, xnss);
                            ;

                            double lsfdjcl = edosUtil.getSectionData(rfdjclPoint, currentDate.getTime()).getPointValueInDouble();
                            rfdjcl = DoubleUtils.sum(lsfdjcl, fdjcl);

                            double lsxdjcl = edosUtil.getSectionData(rxdjclPoint, currentDate.getTime()).getPointValueInDouble();
                            rxdjcl = DoubleUtils.sum(lsxdjcl, xdjcl);
                            double lsxdtj = edosUtil.getSectionData(rxdtjPoint, currentDate.getTime()).getPointValueInDouble();
                            rxdtj = DoubleUtils.sum(lsxdtj, xdtj);
                            double lsdwsl = edosUtil.getSectionData(rdwslPoint, currentDate.getTime()).getPointValueInDouble();
                            rdwsl = DoubleUtils.sum(lsdwsl, dwsl);
                            double lshjsl = edosUtil.getSectionData(rhjslPoint, currentDate.getTime()).getPointValueInDouble();
                            rhjsl = DoubleUtils.sum(lshjsl, hjsl);
                            double temp = rgzss + rgzsl + rjxss + rjxsl + rdjss + rsdtj + rxnss + rfdjcl + rxdjcl + rxdtj + rdwsl + rhjsl;
                            if (temp >= 0) {
                                rqfdl = temp;
                            } else {
                                rzfdl = Math.abs(temp);
                            }
                        }

                    }
                    if (date.getTime() > monthFirstZero.getTime() && date.getTime() <= monthFirstZeroAdd15.getTime()) {
                        ypjfs = dataMap.get("pjfs");
                        ypjgl = dataMap.get("pjgl");
                        ykydl = dataMap.get("kydl");
                        yzsdl = dataMap.get("zsdl");

                        ygzss = gzss;
                        ygzsl = gzsl;
                        yjxss = jxss;
                        yjxsl = jxsl;
                        ydjss = djss;
                        ysdtj = sdtj;

                        yxnss = xnss;

                        yfdjcl = fdjcl;
                        yxdjcl = xdjcl;
                        yxdtj = xdtj;
                        ydwsl = dwsl;
                        yhjsl = hjsl;
                        double temp = ygzss + ygzsl + yjxss + yjxsl + ydjss + ysdtj + yxnss + yfdjcl + yxdjcl + yxdtj + ydwsl + yhjsl;
                        if (temp >= 0) {
                            yqfdl = temp;
                        } else {
                            yzfdl = Math.abs(temp);
                        }
                    } else {
                        if (wt.getId().contains("_WT_")) {
                            double lsfs = edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble();
                            if (lsfs > 25) {
                                lsfs = 25;
                            } else if (lsfs < 0) {
                                lsfs = 0;
                            }
                            ypjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
                        } else {
                            double lsfs = edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble();
                            ypjfs = DoubleUtils.sum(lsfs, dataMap.get("pjfs"));

                            //                            Date tempdate=DateUtils.truncate(currentDate);
                            //                            Calendar c=new GregorianCalendar();
                            //                            c.setTime(tempdate);
                            //                            c.set(Calendar.DAY_OF_MONTH,1);
                            //                            List<PointData> pointls=edosUtil.getHistoryDatasSnap(rpjgzdPoint.getNemCode(), tempdate.getTime()/1000, currentDate.getTime()/1000,null,24*60*60l);
                            //                            if(!pointls.isEmpty())
                            //                            {
                            //                                double value=0.0;
                            //                                for(PointData po:pointls)
                            //                                {
                            //                                    if(po.getPointValueInDouble()>10)
                            //                                    {
                            //                                       value=value+po.getPointValueInDouble();
                            //                                    }
                            //                                }
                            //                                //累计光照度
                            //                                ypjfs = new BigDecimal(value).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
                            //                            }
                            //

                        }

                        double lsgl = edosUtil.getSectionData(ypjglPoint, currentDate.getTime()).getPointValueInDouble();
                        ypjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                        double lskydl = edosUtil.getSectionData(ykydlPoint, currentDate.getTime()).getPointValueInDouble();
                        ykydl = DoubleUtils.sum(lskydl, dataMap.get("kydl"));
                        double lslldlzs = edosUtil.getSectionData(ylldlzsPoint, currentDate.getTime()).getPointValueInDouble();
                        yzsdl = DoubleUtils.sum(lslldlzs, dataMap.get("zsdl"));
                        double lsgzss = edosUtil.getSectionData(ygzssPoint, currentDate.getTime()).getPointValueInDouble();
                        ygzss = DoubleUtils.sum(lsgzss, gzss);
                        double lsgzsl = edosUtil.getSectionData(ygzslPoint, currentDate.getTime()).getPointValueInDouble();
                        ygzsl = DoubleUtils.sum(lsgzsl, gzsl);
                        double lsjxss = edosUtil.getSectionData(yjxssPoint, currentDate.getTime()).getPointValueInDouble();
                        yjxss = DoubleUtils.sum(lsjxss, jxss);
                        double lsjxsl = edosUtil.getSectionData(yjxslPoint, currentDate.getTime()).getPointValueInDouble();
                        yjxsl = DoubleUtils.sum(lsjxsl, jxsl);

                        double lsdjss = edosUtil.getSectionData(ydjssPoint, currentDate.getTime()).getPointValueInDouble();
                        ydjss = DoubleUtils.sum(lsdjss, djss);
                        double lssdtj = edosUtil.getSectionData(ysdtjPoint, currentDate.getTime()).getPointValueInDouble();
                        ysdtj = DoubleUtils.sum(lssdtj, sdtj);
                        double lsxnss = edosUtil.getSectionData(yxnssPoint, currentDate.getTime()).getPointValueInDouble();
                        yxnss = DoubleUtils.sum(lsxnss, xnss);
                        double lsfdjcl = edosUtil.getSectionData(yfdjclPoint, currentDate.getTime()).getPointValueInDouble();
                        yfdjcl = DoubleUtils.sum(lsfdjcl, fdjcl);

                        double lsxdjcl = edosUtil.getSectionData(yxdjclPoint, currentDate.getTime()).getPointValueInDouble();
                        yxdjcl = DoubleUtils.sum(lsxdjcl, xdjcl);
                        double lsxdtj = edosUtil.getSectionData(yxdtjPoint, currentDate.getTime()).getPointValueInDouble();
                        yxdtj = DoubleUtils.sum(lsxdtj, xdtj);
                        double lsdwsl = edosUtil.getSectionData(ydwslPoint, currentDate.getTime()).getPointValueInDouble();
                        ydwsl = DoubleUtils.sum(lsdwsl, dwsl);
                        double lshjsl = edosUtil.getSectionData(yhjslPoint, currentDate.getTime()).getPointValueInDouble();
                        yhjsl = DoubleUtils.sum(lshjsl, hjsl);
                        double temp = ygzss + ygzsl + yjxss + yjxsl + ydjss + ysdtj + yxnss + yfdjcl + yxdjcl + yxdtj + ydwsl + yhjsl;
                        if (temp >= 0) {
                            yqfdl = temp;
                        } else {
                            yzfdl = Math.abs(temp);
                        }
                    }
                    if (date.getTime() > yearFirstZero.getTime() && date.getTime() <= yearFirstZeroAdd15.getTime()) {
                        npjfs = dataMap.get("pjfs");
                        npjgl = dataMap.get("pjgl");
                        nkydl = dataMap.get("kydl");
                        nzsdl = dataMap.get("zsdl");

                        ngzss = gzss;
                        ngzsl = gzsl;
                        njxss = jxss;
                        njxsl = jxsl;
                        ndjss = djss;
                        nsdtj = sdtj;
                        nxnss = xnss;

                        nfdjcl = fdjcl;
                        nxdjcl = xdjcl;
                        nxdtj = xdtj;
                        ndwsl = dwsl;
                        nhjsl = hjsl;
                        double temp = ngzss + ngzsl + njxss + njxsl + ndjss + nsdtj + nxnss + nfdjcl + nxdjcl + nxdtj + ndwsl + nhjsl;
                        if (temp >= 0) {
                            nqfdl = temp;
                        } else {
                            nzfdl = Math.abs(temp);
                        }
                    } else {
                        if (wt.getId().contains("_WT_")) {
                            double lsfs = edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble();
                            if (lsfs > 25) {
                                lsfs = 25;
                            } else if (lsfs < 0) {
                                lsfs = 0;
                            }
                            npjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
                        } else {
                            double lsfs = edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble();
                            npjfs = DoubleUtils.sum(lsfs, dataMap.get("pjfs"));

                        }

                        double lsgl = edosUtil.getSectionData(npjglPoint, currentDate.getTime()).getPointValueInDouble();
                        npjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                        double lskydl = edosUtil.getSectionData(nkydlPoint, currentDate.getTime()).getPointValueInDouble();
                        nkydl = DoubleUtils.sum(lskydl, dataMap.get("kydl"));
                        double lslldlzs = edosUtil.getSectionData(nlldlzsPoint, currentDate.getTime()).getPointValueInDouble();
                        nzsdl = DoubleUtils.sum(lslldlzs, dataMap.get("zsdl"));

                        double lsgzss = edosUtil.getSectionData(ngzssPoint, currentDate.getTime()).getPointValueInDouble();
                        ngzss = DoubleUtils.sum(lsgzss, gzss);
                        double lsgzsl = edosUtil.getSectionData(ngzslPoint, currentDate.getTime()).getPointValueInDouble();
                        ngzsl = DoubleUtils.sum(lsgzsl, gzsl);
                        double lsjxss = edosUtil.getSectionData(njxssPoint, currentDate.getTime()).getPointValueInDouble();
                        njxss = DoubleUtils.sum(lsjxss, jxss);
                        double lsjxsl = edosUtil.getSectionData(njxslPoint, currentDate.getTime()).getPointValueInDouble();
                        njxsl = DoubleUtils.sum(lsjxsl, jxsl);

                        double lsdjss = edosUtil.getSectionData(ndjssPoint, currentDate.getTime()).getPointValueInDouble();
                        ndjss = DoubleUtils.sum(lsdjss, djss);

                        double lssdtj = edosUtil.getSectionData(nsdtjPoint, currentDate.getTime()).getPointValueInDouble();
                        nsdtj = DoubleUtils.sum(lssdtj, sdtj);

                        double lsxnss = edosUtil.getSectionData(nxnssPoint, currentDate.getTime()).getPointValueInDouble();
                        nxnss = DoubleUtils.sum(lsxnss, xnss);

                        double lsfdjcl = edosUtil.getSectionData(nfdjclPoint, currentDate.getTime()).getPointValueInDouble();
                        nfdjcl = DoubleUtils.sum(lsfdjcl, fdjcl);


                        double lsxdjcl = edosUtil.getSectionData(nxdjclPoint, currentDate.getTime()).getPointValueInDouble();
                        nxdjcl = DoubleUtils.sum(lsxdjcl, xdjcl);
                        double lsxdtj = edosUtil.getSectionData(nxdtjPoint, currentDate.getTime()).getPointValueInDouble();
                        nxdtj = DoubleUtils.sum(lsxdtj, xdtj);
                        double lsdwsl = edosUtil.getSectionData(ndwslPoint, currentDate.getTime()).getPointValueInDouble();
                        ndwsl = DoubleUtils.sum(lsdwsl, dwsl);
                        double lshjsl = edosUtil.getSectionData(nhjslPoint, currentDate.getTime()).getPointValueInDouble();
                        nhjsl = DoubleUtils.sum(lshjsl, hjsl);
                        double temp = ngzss + ngzsl + njxss + njxsl + ndjss + nsdtj + nxnss + nfdjcl + nxdjcl + nxdtj + ndwsl + nhjsl;
                        if (temp >= 0) {
                            nqfdl = temp;
                        } else {
                            nzfdl = Math.abs(temp);
                        }
                    }
                    double pjfs15 = 0;
                    double pjgl15 = 0;
                    double kydl15 = 0;
                    double zsdl15 = 0;
                    if (dataMap.containsKey("pjfs")) {
                        pjfs15 = dataMap.get("pjfs");
                    }
                    if (dataMap.containsKey("pjgl")) {
                        pjgl15 = dataMap.get("pjgl");
                    }
                    if (dataMap.containsKey("kydl")) {
                        kydl15 = dataMap.get("kydl");
                    }
                    if (dataMap.containsKey("zsdl")) {
                        zsdl15 = dataMap.get("zsdl");
                    }

                    double gzss15 = gzss;
                    double gzsl15 = gzsl;
                    double jxss15 = jxss;
                    double jxsl15 = jxsl;
                    double djss15 = djss;
                    double sdtj15 = sdtj;
                    double xnss15 = xnss;
                    double fdjcl15 = fdjcl;
                    double xdjcl15 = xdjcl;
                    double xdtj15 = xdtj;
                    double dwsl15 = dwsl;
                    double hjsl15 = hjsl;
                    double temp = gzss15 + gzsl15 + jxss15 + jxsl15 + djss15 + sdtj15 + xnss15 + fdjcl15 + xdjcl15 + xdtj15 + dwsl15 + hjsl15;
                    double qfdl15 = 0;
                    double zfdl15 = 0;
                    if (temp >= 0) {
                        qfdl15 = temp;
                    } else {
                        zfdl15 = Math.abs(temp);
                    }

                    double rllfdl = rfdl + rgzss + rgzsl + rjxss + rjxsl + rdjss + rsdtj + rxnss + rfdjcl + rxdjcl + rxdtj + rdwsl + rhjsl;
                    double yllfdl = yfdl + ygzss + ygzsl + yjxss + yjxsl + ydjss + ysdtj + yxnss + yfdjcl + yxdjcl + yxdtj + ydwsl + yhjsl;
                    double nllfdl = nfdl + ngzss + ngzsl + njxss + njxsl + ndjss + nsdtj + nxnss + nfdjcl + nxdjcl + nxdtj + ndwsl + nhjsl;
                    double llfdl15 = fdl15 + gzss15 + gzsl15 + jxss15 + jxsl15 + djss15 + sdtj15 + xnss15 + fdjcl15 + xdjcl15 + xdtj15 + dwsl15 + hjsl15;

                    if (wt.getId().contains("_WT_")) {
                        wtResultList.add(PointUtil.createPointData(date, rpjfs, rpjfsPoint.getNemCode(), rpjfsPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, ypjfs, ypjfsPoint.getNemCode(), ypjfsPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, npjfs, npjfsPoint.getNemCode(), npjfsPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, pjfs15, pjfs15Point.getNemCode(), pjfs15Point.getName()));
                    } else {
                        wtResultList.add(PointUtil.createPointData(date, rpjfs, rpjgzdPoint.getNemCode(), rpjgzdPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, ypjfs, ypjgzdPoint.getNemCode(), ypjgzdPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, npjfs, npjgzdPoint.getNemCode(), npjgzdPoint.getName()));
                        wtResultList.add(PointUtil.createPointData(date, pjfs15, pjgzd15Point.getNemCode(), pjgzd15Point.getName()));
                    }

                    wtResultList.add(PointUtil.createPointData(date, rpjgl, rpjglPoint.getNemCode(), rpjglPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ypjgl, ypjglPoint.getNemCode(), ypjglPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, npjgl, npjglPoint.getNemCode(), npjglPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, pjgl15, pjgl15Point.getNemCode(), pjgl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rkydl, rkydlPoint.getNemCode(), rkydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ykydl, ykydlPoint.getNemCode(), ykydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nkydl, nkydlPoint.getNemCode(), nkydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, kydl15, kydl15Point.getNemCode(), kydl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rzsdl, rlldlzsPoint.getNemCode(), rkydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yzsdl, ylldlzsPoint.getNemCode(), ykydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nzsdl, nlldlzsPoint.getNemCode(), nkydlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, zsdl15, lldl15zsPoint.getNemCode(), kydl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rgzss, rgzssPoint.getNemCode(), rgzssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rgzsl, rgzslPoint.getNemCode(), rgzslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rjxss, rjxssPoint.getNemCode(), rjxssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rjxsl, rjxslPoint.getNemCode(), rjxslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rdjss, rdjssPoint.getNemCode(), rdjssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rsdtj, rsdtjPoint.getNemCode(), rsdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rxnss, rxnssPoint.getNemCode(), rxnssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rfdjcl, rfdjclPoint.getNemCode(), rfdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rxdjcl, rxdjclPoint.getNemCode(), rxdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rxdtj, rxdtjPoint.getNemCode(), rxdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rdwsl, rdwslPoint.getNemCode(), rdwslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rhjsl, rhjslPoint.getNemCode(), rhjslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rqfdl, rqfdlPoint.getNemCode(), rqfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rzfdl, rzfdlPoint.getNemCode(), rzfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, rllfdl, rllfdlPoint.getNemCode(), rllfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ygzss, ygzssPoint.getNemCode(), ygzssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ygzsl, ygzslPoint.getNemCode(), ygzslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yjxss, yjxssPoint.getNemCode(), yjxssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yjxsl, yjxslPoint.getNemCode(), yjxslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ydjss, ydjssPoint.getNemCode(), ydjssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ysdtj, ysdtjPoint.getNemCode(), ysdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yxnss, yxnssPoint.getNemCode(), yxnssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yfdjcl, yfdjclPoint.getNemCode(), yfdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yxdjcl, yxdjclPoint.getNemCode(), yxdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yxdtj, yxdtjPoint.getNemCode(), yxdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ydwsl, ydwslPoint.getNemCode(), ydwslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yhjsl, yhjslPoint.getNemCode(), yhjslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yqfdl, yqfdlPoint.getNemCode(), yqfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yzfdl, yzfdlPoint.getNemCode(), yzfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, yllfdl, yllfdlPoint.getNemCode(), yllfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ngzss, ngzssPoint.getNemCode(), ngzssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ngzsl, ngzslPoint.getNemCode(), ngzslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, njxss, njxssPoint.getNemCode(), njxssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, njxsl, njxslPoint.getNemCode(), njxslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ndjss, ndjssPoint.getNemCode(), ndjssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nsdtj, nsdtjPoint.getNemCode(), nsdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nxnss, nxnssPoint.getNemCode(), nxnssPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nfdjcl, nfdjclPoint.getNemCode(), nfdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nxdjcl, nxdjclPoint.getNemCode(), nxdjclPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nxdtj, nxdtjPoint.getNemCode(), nxdtjPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, ndwsl, ndwslPoint.getNemCode(), ndwslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nhjsl, nhjslPoint.getNemCode(), nhjslPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nqfdl, nqfdlPoint.getNemCode(), nqfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nzfdl, nzfdlPoint.getNemCode(), nzfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, nllfdl, nllfdlPoint.getNemCode(), nllfdlPoint.getName()));
                    wtResultList.add(PointUtil.createPointData(date, gzss15, gzss15Point.getNemCode(), gzss15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, gzsl15, gzsl15Point.getNemCode(), gzsl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, jxss15, jxss15Point.getNemCode(), jxss15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, jxsl15, jxsl15Point.getNemCode(), jxsl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, djss15, djss15Point.getNemCode(), djss15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, sdtj15, sdtj15Point.getNemCode(), sdtj15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, xnss15, xnss15Point.getNemCode(), xnss15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, fdjcl15, fdjcl15Point.getNemCode(), fdjcl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, xdjcl15, xdjcl15Point.getNemCode(), xdjcl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, xdtj15, xdtj15Point.getNemCode(), xdtj15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, dwsl15, dwsl15Point.getNemCode(), dwsl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, hjsl15, hjsl15Point.getNemCode(), hjsl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, qfdl15, qfdl15Point.getNemCode(), qfdl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, zfdl15, zfdl15Point.getNemCode(), zfdl15Point.getName()));
                    wtResultList.add(PointUtil.createPointData(date, llfdl15, llfdl15Point.getNemCode(), llfdl15Point.getName()));

                }


            } catch (Exception e) {
                e.printStackTrace();
            }
            //        });
        }
        edosUtil.sendMultiPoint(wtResultList);


        List<PointData> lineResultList = new ArrayList<>();
        lnls.stream().forEach(line -> {
            List<ProBasicEquipment> proBasicWindturbines = lnwtmap.get(line.getId());
            Map<String, ProBasicPowerstationPoint> proBasicWppointMap = linepointmap.get(line.getId());
            ProBasicPowerstationPoint wprpjfsPoint = null;
            ProBasicPowerstationPoint wpypjfsPoint = null;
            ProBasicPowerstationPoint wpnpjfsPoint = null;
            ProBasicPowerstationPoint wppjfs15Point = null;
            if (line.getSpare4().equals("1")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
            } else if (line.getSpare4().equals("2")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
            }
            ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
            ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
            ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
            ProBasicPowerstationPoint wprfdlPoint = proBasicWppointMap.get(ContantXk.RFDL);
            ProBasicPowerstationPoint wpyfdlPoint = proBasicWppointMap.get(ContantXk.YFDL);
            ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
            ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
            ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
            ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
            ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
            ProBasicPowerstationPoint wpnkydlPoint = proBasicWppointMap.get(ContantXk.NKYDL);
            ProBasicPowerstationPoint wpkydl15Point = proBasicWppointMap.get(ContantXk.KYDL15);
            ProBasicPowerstationPoint wprlldlzsPoint = proBasicWppointMap.get(ContantXk.RLLFDLZS);
            ProBasicPowerstationPoint wpylldlzsPoint = proBasicWppointMap.get(ContantXk.YLLFDLZS);
            ProBasicPowerstationPoint wpnlldlzsPoint = proBasicWppointMap.get(ContantXk.NLLFDLZS);
            ProBasicPowerstationPoint wplldl15zsPoint = proBasicWppointMap.get(ContantXk.LLFDL15ZS);
            ProBasicPowerstationPoint wprzhdPoint = proBasicWppointMap.get(ContantXk.RZHD);
            ProBasicPowerstationPoint wpyzhdPoint = proBasicWppointMap.get(ContantXk.YZHD);
            ProBasicPowerstationPoint wpnzhdPoint = proBasicWppointMap.get(ContantXk.NZHD);
            ProBasicPowerstationPoint wpzhd15Point = proBasicWppointMap.get(ContantXk.ZHD15);
            ProBasicPowerstationPoint wprgzssPoint = proBasicWppointMap.get(ContantXk.RGZSSDL);
            ProBasicPowerstationPoint wprgzslPoint = proBasicWppointMap.get(ContantXk.RCNSLGZSSDL);
            ProBasicPowerstationPoint wprjxssPoint = proBasicWppointMap.get(ContantXk.RJXSSDL);
            ProBasicPowerstationPoint wprjxslPoint = proBasicWppointMap.get(ContantXk.RCNSLJXSSDL);
            ProBasicPowerstationPoint wprdjssPoint = proBasicWppointMap.get(ContantXk.RDJSSDL);
            ProBasicPowerstationPoint wprsdtjPoint = proBasicWppointMap.get(ContantXk.RSDTJSSDL);
            ProBasicPowerstationPoint wprxnssPoint = proBasicWppointMap.get(ContantXk.RXNSSDL);
            ProBasicPowerstationPoint wprfdjclPoint = proBasicWppointMap.get(ContantXk.RQXJCLSSDL);
            ProBasicPowerstationPoint wprxdjclPoint = proBasicWppointMap.get(ContantXk.RXDJCLSSDL);
            ProBasicPowerstationPoint wprxdtjPoint = proBasicWppointMap.get(ContantXk.RXDTJSSDL);
            ProBasicPowerstationPoint wprdwslPoint = proBasicWppointMap.get(ContantXk.RCWSLDWSSDL);
            ProBasicPowerstationPoint wprhjslPoint = proBasicWppointMap.get(ContantXk.RCWSLTQSSDL);
            ProBasicPowerstationPoint wprqfdlPoint = proBasicWppointMap.get(ContantXk.RQFDL);
            ProBasicPowerstationPoint wprzfdlPoint = proBasicWppointMap.get(ContantXk.RZFDL);
            ProBasicPowerstationPoint wprllfdlPoint = proBasicWppointMap.get(ContantXk.RLLFDL);
            ProBasicPowerstationPoint wpygzssPoint = proBasicWppointMap.get(ContantXk.YGZSSDL);
            ProBasicPowerstationPoint wpygzslPoint = proBasicWppointMap.get(ContantXk.YCNSLGZSSDL);
            ProBasicPowerstationPoint wpyjxssPoint = proBasicWppointMap.get(ContantXk.YJXSSDL);
            ProBasicPowerstationPoint wpyjxslPoint = proBasicWppointMap.get(ContantXk.YCNSLJXSSDL);
            ProBasicPowerstationPoint wpydjssPoint = proBasicWppointMap.get(ContantXk.YDJSSDL);
            ProBasicPowerstationPoint wpysdtjPoint = proBasicWppointMap.get(ContantXk.YSDTJSSDL);
            ProBasicPowerstationPoint wpyxnssPoint = proBasicWppointMap.get(ContantXk.YXNSSDL);
            ProBasicPowerstationPoint wpyfdjclPoint = proBasicWppointMap.get(ContantXk.YQXJCLSSDL);
            ProBasicPowerstationPoint wpyxdjclPoint = proBasicWppointMap.get(ContantXk.YXDJCLSSDL);
            ProBasicPowerstationPoint wpyxdtjPoint = proBasicWppointMap.get(ContantXk.YXDTJSSDL);
            ProBasicPowerstationPoint wpydwslPoint = proBasicWppointMap.get(ContantXk.YCWSLDWSSDL);
            ProBasicPowerstationPoint wpyhjslPoint = proBasicWppointMap.get(ContantXk.YCWSLTQSSDL);
            ProBasicPowerstationPoint wpyqfdlPoint = proBasicWppointMap.get(ContantXk.YQFDL);
            ProBasicPowerstationPoint wpyzfdlPoint = proBasicWppointMap.get(ContantXk.YZFDL);
            ProBasicPowerstationPoint wpyllfdlPoint = proBasicWppointMap.get(ContantXk.YLLFDL);
            ProBasicPowerstationPoint wpngzssPoint = proBasicWppointMap.get(ContantXk.NGZSSDL);
            ProBasicPowerstationPoint wpngzslPoint = proBasicWppointMap.get(ContantXk.NCNSLGZSSDL);
            ProBasicPowerstationPoint wpnjxssPoint = proBasicWppointMap.get(ContantXk.NJXSSDL);
            ProBasicPowerstationPoint wpnjxslPoint = proBasicWppointMap.get(ContantXk.NCNSLJXSSDL);
            ProBasicPowerstationPoint wpndjssPoint = proBasicWppointMap.get(ContantXk.NDJSSDL);
            ProBasicPowerstationPoint wpnsdtjPoint = proBasicWppointMap.get(ContantXk.NSDTJSSDL);
            ProBasicPowerstationPoint wpnxnssPoint = proBasicWppointMap.get(ContantXk.NXNSSDL);
            ProBasicPowerstationPoint wpnfdjclPoint = proBasicWppointMap.get(ContantXk.NQXJCLSSDL);
            ProBasicPowerstationPoint wpnxdjclPoint = proBasicWppointMap.get(ContantXk.NXDJCLSSDL);
            ProBasicPowerstationPoint wpnxdtjPoint = proBasicWppointMap.get(ContantXk.NXDTJSSDL);
            ProBasicPowerstationPoint wpndwslPoint = proBasicWppointMap.get(ContantXk.NCWSLDWSSDL);
            ProBasicPowerstationPoint wpnhjslPoint = proBasicWppointMap.get(ContantXk.NCWSLTQSSDL);
            ProBasicPowerstationPoint wpnqfdlPoint = proBasicWppointMap.get(ContantXk.NQFDL);
            ProBasicPowerstationPoint wpnzfdlPoint = proBasicWppointMap.get(ContantXk.NZFDL);
            ProBasicPowerstationPoint wpnllfdlPoint = proBasicWppointMap.get(ContantXk.NLLFDL);
            ProBasicPowerstationPoint wpgzss15Point = proBasicWppointMap.get(ContantXk.GZSSDL15);
            ProBasicPowerstationPoint wpgzsl15Point = proBasicWppointMap.get(ContantXk.CNSLGZSSDL15);
            ProBasicPowerstationPoint wpjxss15Point = proBasicWppointMap.get(ContantXk.JXSSDL15);
            ProBasicPowerstationPoint wpjxsl15Point = proBasicWppointMap.get(ContantXk.CNSLJXSSDL15);
            ProBasicPowerstationPoint wpdjss15Point = proBasicWppointMap.get(ContantXk.DJSSDL15);
            ProBasicPowerstationPoint wpsdtj15Point = proBasicWppointMap.get(ContantXk.SDTJSSDL15);
            ProBasicPowerstationPoint wpxnss15Point = proBasicWppointMap.get(ContantXk.XNSSDL15);
            ProBasicPowerstationPoint wpfdjcl15Point = proBasicWppointMap.get(ContantXk.QXJCLSSDL15);
            ProBasicPowerstationPoint wpxdjcl15Point = proBasicWppointMap.get(ContantXk.XDJCLSSDL15);
            ProBasicPowerstationPoint wpxdtj15Point = proBasicWppointMap.get(ContantXk.XDTJSSDL15);
            ProBasicPowerstationPoint wpdwsl15Point = proBasicWppointMap.get(ContantXk.CWSLDWSSDL15);
            ProBasicPowerstationPoint wphjsl15Point = proBasicWppointMap.get(ContantXk.CWSLTQSSDL15);
            ProBasicPowerstationPoint wpqfdl15Point = proBasicWppointMap.get(ContantXk.QFDL15);
            ProBasicPowerstationPoint wpzfdl15Point = proBasicWppointMap.get(ContantXk.ZFDL15);
            ProBasicPowerstationPoint wpllfdl15Point = proBasicWppointMap.get(ContantXk.LLFDL15);

            AtomicReference<Double> rpjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjfs15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rpjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjgl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ykydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> kydl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15zs = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> zhd15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> djss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> ysdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> sdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> xnss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> dwsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> hjsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> qfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> zfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15 = new AtomicReference<>((double) 0);

            //            proBasicWindturbines.stream().forEach(wt->{
            for (ProBasicEquipment wt : proBasicWindturbines) {
                Map<String, ProBasicEquipmentPoint> equipmentPointMap = wtpAimap.get(wt.getId());
                ProBasicEquipmentPoint rpjfsPoint = equipmentPointMap.get(ContantXk.RPJFS);
                ProBasicEquipmentPoint ypjfsPoint = equipmentPointMap.get(ContantXk.YPJFS);
                ProBasicEquipmentPoint npjfsPoint = equipmentPointMap.get(ContantXk.NPJFS);
                ProBasicEquipmentPoint rpjgzdPoint = equipmentPointMap.get(ContantXk.RPJGZD);
                ProBasicEquipmentPoint ypjgzdPoint = equipmentPointMap.get(ContantXk.YPJGZD);
                ProBasicEquipmentPoint npjgzdPoint = equipmentPointMap.get(ContantXk.NPJGZD);
                ProBasicEquipmentPoint rpjglPoint = equipmentPointMap.get(ContantXk.RPJGL);
                ProBasicEquipmentPoint ypjglPoint = equipmentPointMap.get(ContantXk.YPJGL);
                ProBasicEquipmentPoint npjglPoint = equipmentPointMap.get(ContantXk.NPJGL);
                ProBasicEquipmentPoint rfdlPoint = equipmentPointMap.get(ContantXk.RFDL);
                ProBasicEquipmentPoint yfdlPoint = equipmentPointMap.get(ContantXk.YFDL);
                ProBasicEquipmentPoint nfdlPoint = equipmentPointMap.get(ContantXk.NFDL);
                ProBasicEquipmentPoint fdl15Point = equipmentPointMap.get(ContantXk.FDL15);
                ProBasicEquipmentPoint pjfs15Point = equipmentPointMap.get(ContantXk.PJFS15);
                ProBasicEquipmentPoint pjgzd15Point = equipmentPointMap.get(ContantXk.PJGZD15);
                ProBasicEquipmentPoint pjgl15Point = equipmentPointMap.get(ContantXk.PJGL15);
                ProBasicEquipmentPoint rkydlPoint = equipmentPointMap.get(ContantXk.RKYDL);
                ProBasicEquipmentPoint ykydlPoint = equipmentPointMap.get(ContantXk.YKYDL);
                ProBasicEquipmentPoint nkydlPoint = equipmentPointMap.get(ContantXk.NKYDL);
                ProBasicEquipmentPoint kydl15Point = equipmentPointMap.get(ContantXk.KYDL15);
                ProBasicEquipmentPoint rlldlzsPoint = equipmentPointMap.get(ContantXk.RLLFDLZS);
                ProBasicEquipmentPoint ylldlzsPoint = equipmentPointMap.get(ContantXk.YLLFDLZS);
                ProBasicEquipmentPoint nlldlzsPoint = equipmentPointMap.get(ContantXk.NLLFDLZS);
                ProBasicEquipmentPoint lldl15zsPoint = equipmentPointMap.get(ContantXk.LLFDL15ZS);
                ProBasicEquipmentPoint rzhdPoint = equipmentPointMap.get(ContantXk.RZHD);
                ProBasicEquipmentPoint yzhdPoint = equipmentPointMap.get(ContantXk.YZHD);
                ProBasicEquipmentPoint nzhdPoint = equipmentPointMap.get(ContantXk.NZHD);
                ProBasicEquipmentPoint zhd15Point = equipmentPointMap.get(ContantXk.ZHD15);
                ProBasicEquipmentPoint rgzssPoint = equipmentPointMap.get(ContantXk.RGZSSDL);
                ProBasicEquipmentPoint rgzslPoint = equipmentPointMap.get(ContantXk.RCNSLGZSSDL);
                ProBasicEquipmentPoint rjxssPoint = equipmentPointMap.get(ContantXk.RJXSSDL);
                ProBasicEquipmentPoint rjxslPoint = equipmentPointMap.get(ContantXk.RCNSLJXSSDL);
                ProBasicEquipmentPoint rdjssPoint = equipmentPointMap.get(ContantXk.RDJSSDL);
                ProBasicEquipmentPoint rsdtjPoint = equipmentPointMap.get(ContantXk.RSDTJSSDL);
                ProBasicEquipmentPoint rxnssPoint = equipmentPointMap.get(ContantXk.RXNSSDL);
                ProBasicEquipmentPoint rfdjclPoint = equipmentPointMap.get(ContantXk.RQXJCLSSDL);
                ProBasicEquipmentPoint rxdjclPoint = equipmentPointMap.get(ContantXk.RXDJCLSSDL);
                ProBasicEquipmentPoint rxdtjPoint = equipmentPointMap.get(ContantXk.RXDTJSSDL);
                ProBasicEquipmentPoint rdwslPoint = equipmentPointMap.get(ContantXk.RCWSLDWSSDL);
                ProBasicEquipmentPoint rhjslPoint = equipmentPointMap.get(ContantXk.RCWSLTQSSDL);
                ProBasicEquipmentPoint rqfdlPoint = equipmentPointMap.get(ContantXk.RQFDL);
                ProBasicEquipmentPoint rzfdlPoint = equipmentPointMap.get(ContantXk.RZFDL);
                ProBasicEquipmentPoint rllfdlPoint = equipmentPointMap.get(ContantXk.RLLFDL);
                ProBasicEquipmentPoint ygzssPoint = equipmentPointMap.get(ContantXk.YGZSSDL);
                ProBasicEquipmentPoint ygzslPoint = equipmentPointMap.get(ContantXk.YCNSLGZSSDL);
                ProBasicEquipmentPoint yjxssPoint = equipmentPointMap.get(ContantXk.YJXSSDL);
                ProBasicEquipmentPoint yjxslPoint = equipmentPointMap.get(ContantXk.YCNSLJXSSDL);
                ProBasicEquipmentPoint ydjssPoint = equipmentPointMap.get(ContantXk.YDJSSDL);
                ProBasicEquipmentPoint ysdtjPoint = equipmentPointMap.get(ContantXk.YSDTJSSDL);
                ProBasicEquipmentPoint yxnssPoint = equipmentPointMap.get(ContantXk.YXNSSDL);
                ProBasicEquipmentPoint yfdjclPoint = equipmentPointMap.get(ContantXk.YQXJCLSSDL);
                ProBasicEquipmentPoint yxdjclPoint = equipmentPointMap.get(ContantXk.YXDJCLSSDL);
                ProBasicEquipmentPoint yxdtjPoint = equipmentPointMap.get(ContantXk.YXDTJSSDL);
                ProBasicEquipmentPoint ydwslPoint = equipmentPointMap.get(ContantXk.YCWSLDWSSDL);
                ProBasicEquipmentPoint yhjslPoint = equipmentPointMap.get(ContantXk.YCWSLTQSSDL);
                ProBasicEquipmentPoint yqfdlPoint = equipmentPointMap.get(ContantXk.YQFDL);
                ProBasicEquipmentPoint yzfdlPoint = equipmentPointMap.get(ContantXk.YZFDL);
                ProBasicEquipmentPoint yllfdlPoint = equipmentPointMap.get(ContantXk.YLLFDL);
                ProBasicEquipmentPoint ngzssPoint = equipmentPointMap.get(ContantXk.NGZSSDL);
                ProBasicEquipmentPoint ngzslPoint = equipmentPointMap.get(ContantXk.NCNSLGZSSDL);
                ProBasicEquipmentPoint njxssPoint = equipmentPointMap.get(ContantXk.NJXSSDL);
                ProBasicEquipmentPoint njxslPoint = equipmentPointMap.get(ContantXk.NCNSLJXSSDL);
                ProBasicEquipmentPoint ndjssPoint = equipmentPointMap.get(ContantXk.NDJSSDL);
                ProBasicEquipmentPoint nsdtjPoint = equipmentPointMap.get(ContantXk.NSDTJSSDL);
                ProBasicEquipmentPoint nxnssPoint = equipmentPointMap.get(ContantXk.NXNSSDL);
                ProBasicEquipmentPoint nfdjclPoint = equipmentPointMap.get(ContantXk.NQXJCLSSDL);
                ProBasicEquipmentPoint nxdjclPoint = equipmentPointMap.get(ContantXk.NXDJCLSSDL);
                ProBasicEquipmentPoint nxdtjPoint = equipmentPointMap.get(ContantXk.NXDTJSSDL);
                ProBasicEquipmentPoint ndwslPoint = equipmentPointMap.get(ContantXk.NCWSLDWSSDL);
                ProBasicEquipmentPoint nhjslPoint = equipmentPointMap.get(ContantXk.NCWSLTQSSDL);
                ProBasicEquipmentPoint nqfdlPoint = equipmentPointMap.get(ContantXk.NQFDL);
                ProBasicEquipmentPoint nzfdlPoint = equipmentPointMap.get(ContantXk.NZFDL);
                ProBasicEquipmentPoint nllfdlPoint = equipmentPointMap.get(ContantXk.NLLFDL);
                ProBasicEquipmentPoint gzss15Point = equipmentPointMap.get(ContantXk.GZSSDL15);
                ProBasicEquipmentPoint gzsl15Point = equipmentPointMap.get(ContantXk.CNSLGZSSDL15);
                ProBasicEquipmentPoint jxss15Point = equipmentPointMap.get(ContantXk.JXSSDL15);
                ProBasicEquipmentPoint jxsl15Point = equipmentPointMap.get(ContantXk.CNSLJXSSDL15);
                ProBasicEquipmentPoint djss15Point = equipmentPointMap.get(ContantXk.DJSSDL15);
                ProBasicEquipmentPoint sdtj15Point = equipmentPointMap.get(ContantXk.SDTJSSDL15);
                ProBasicEquipmentPoint xnss15Point = equipmentPointMap.get(ContantXk.XNSSDL15);
                ProBasicEquipmentPoint fdjcl15Point = equipmentPointMap.get(ContantXk.QXJCLSSDL15);
                ProBasicEquipmentPoint xdjcl15Point = equipmentPointMap.get(ContantXk.XDJCLSSDL15);
                ProBasicEquipmentPoint xdtj15Point = equipmentPointMap.get(ContantXk.XDTJSSDL15);
                ProBasicEquipmentPoint dwsl15Point = equipmentPointMap.get(ContantXk.CWSLDWSSDL15);
                ProBasicEquipmentPoint hjsl15Point = equipmentPointMap.get(ContantXk.CWSLTQSSDL15);
                ProBasicEquipmentPoint qfdl15Point = equipmentPointMap.get(ContantXk.QFDL15);
                ProBasicEquipmentPoint zfdl15Point = equipmentPointMap.get(ContantXk.ZFDL15);
                ProBasicEquipmentPoint llfdl15Point = equipmentPointMap.get(ContantXk.LLFDL15);
                ProBasicEquipmentPoint mxztPoint = equipmentPointMap.get(ContantXk.MXZT);

                double ssztmx = 0;
                try {
                    ssztmx = edosUtil.getRealData(mxztPoint).getPointValueInDouble();
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }

                if (ssztmx == 12 || ssztmx == 13) {
                    continue;

                } else {

                    if (CacheContext.pjmap.get(CacheContext.lnmap.get(line.getId()).getProjectId()).getWindpowerstationId().contains("_FDC_")) {
                        rpjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        ypjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        npjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        pjfs15.updateAndGet(v -> {
                            try {
                                return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                    } else {
                        rpjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        ypjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        npjfs.updateAndGet(v -> {
                            try {
                                return new Double((double) (edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                        pjfs15.updateAndGet(v -> {
                            try {
                                return new Double((double) (edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            return v;
                        });
                    }


                    rpjgl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ypjgl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ypjglPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    npjgl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(npjglPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    pjgl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(pjgl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    fdl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(fdl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rkydl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ykydl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ykydlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nkydl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    kydl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(kydl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rllfdlzs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yllfdlzs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ylldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nllfdlzs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    llfdl15zs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(lldl15zsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rzhd.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yzhd.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nzhd.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    zhd15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(zhd15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rgzss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ygzss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ygzssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ngzss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ngzssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    gzss15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(gzss15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rgzsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rgzslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ygzsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ygzslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ngzsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ngzslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    gzsl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(gzsl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rjxss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yjxss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    njxss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(njxssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    jxss15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(jxss15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rjxsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yjxsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    njxsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(njxslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    jxsl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(jxsl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rdjss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rdjssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ydjss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ydjssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ndjss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ndjssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    djss15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(djss15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rsdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ysdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ysdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nsdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    sdtj15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(sdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rxnss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yxnss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nxnss.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });


                    xnss15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(xnss15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rfdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yfdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nfdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    fdjcl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(fdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rxdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yxdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nxdjcl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    xdjcl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(xdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rxdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yxdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nxdtj.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    xdtj15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(xdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rdwsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rdwslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ydwsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ydwslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ndwsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ndwslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    dwsl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(dwsl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rhjsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yhjsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nhjsl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    hjsl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(hjsl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rqfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yqfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nqfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    qfdl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(qfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rzfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yzfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nzfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    zfdl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(zfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    rllfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    yllfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(yllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    nllfdl.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(nllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    llfdl15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(llfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });

                }


                //            });
            }
            if (CacheContext.pjmap.get(CacheContext.lnmap.get(line.getId()).getProjectId()).getWindpowerstationId().contains("_FDC_")) {
                lineResultList.add(PointUtil.createPointData(date, rpjfs.get() / proBasicWindturbines.size(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, ypjfs.get() / proBasicWindturbines.size(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, npjfs.get() / proBasicWindturbines.size(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, pjfs15.get() / proBasicWindturbines.size(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));
            } else {
                lineResultList.add(PointUtil.createPointData(date, rpjfs.get(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, ypjfs.get(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, npjfs.get(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                lineResultList.add(PointUtil.createPointData(date, pjfs15.get(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));
            }
            lineResultList.add(PointUtil.createPointData(date, rpjfs.get() / proBasicWindturbines.size(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ypjfs.get() / proBasicWindturbines.size(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, npjfs.get() / proBasicWindturbines.size(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, pjfs15.get() / proBasicWindturbines.size(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));

            lineResultList.add(PointUtil.createPointData(date, rpjgl.get(), wprpjglPoint.getNemCode(), wprpjglPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ypjgl.get(), wpypjglPoint.getNemCode(), wpypjglPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, npjgl.get(), wpnpjglPoint.getNemCode(), wpnpjglPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, pjgl15.get(), wppjgl15Point.getNemCode(), wppjgl15Point.getName()));

            lineResultList.add(PointUtil.createPointData(date, rkydl.get(), wprkydlPoint.getNemCode(), wprkydlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ykydl.get(), wpykydlPoint.getNemCode(), wpykydlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nkydl.get(), wpnkydlPoint.getNemCode(), wpnkydlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, kydl15.get(), wpkydl15Point.getNemCode(), wpkydl15Point.getName()));


            if (rllfdlzs.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, rllfdlzs.get(), wprlldlzsPoint.getNemCode(), wprkydlPoint.getName()));

            }
            if (yllfdlzs.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, yllfdlzs.get(), wpylldlzsPoint.getNemCode(), wpykydlPoint.getName()));

            }
            if (nllfdlzs.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, nllfdlzs.get(), wpnlldlzsPoint.getNemCode(), wpnkydlPoint.getName()));

            }
            if (llfdl15zs.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, llfdl15zs.get(), wplldl15zsPoint.getNemCode(), wpkydl15Point.getName()));

            }

            if (rfdl.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, rfdl.get(), wprfdlPoint.getNemCode(), wprfdlPoint.getName()));

            }

            if (yfdl.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, yfdl.get(), wpyfdlPoint.getNemCode(), wpyfdlPoint.getName()));

            }
            if (nfdl.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, nfdl.get(), wpnfdlPoint.getNemCode(), wpnfdlPoint.getName()));

            }
            if (fdl15.get() != 0) {
                lineResultList.add(PointUtil.createPointData(date, fdl15.get(), wpfdl15Point.getNemCode(), wpfdl15Point.getName()));

            }


            lineResultList.add(PointUtil.createPointData(date, rzhd.get(), wprzhdPoint.getNemCode(), wprzhdPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yzhd.get(), wpyzhdPoint.getNemCode(), wpyzhdPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nzhd.get(), wpnzhdPoint.getNemCode(), wpnzhdPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, zhd15.get(), wpzhd15Point.getNemCode(), wpzhd15Point.getName()));

            lineResultList.add(PointUtil.createPointData(date, rgzss.get(), wprgzssPoint.getNemCode(), wprgzssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rgzsl.get(), wprgzslPoint.getNemCode(), wprgzslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rjxss.get(), wprjxssPoint.getNemCode(), wprjxssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rjxsl.get(), wprjxslPoint.getNemCode(), wprjxslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rdjss.get(), wprdjssPoint.getNemCode(), wprdjssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rsdtj.get(), wprsdtjPoint.getNemCode(), wprsdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rxnss.get(), wprxnssPoint.getNemCode(), wprxnssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rfdjcl.get(), wprfdjclPoint.getNemCode(), wprfdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rxdjcl.get(), wprxdjclPoint.getNemCode(), wprxdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rxdtj.get(), wprxdtjPoint.getNemCode(), wprxdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rdwsl.get(), wprdwslPoint.getNemCode(), wprdwslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rhjsl.get(), wprhjslPoint.getNemCode(), wprhjslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rqfdl.get(), wprqfdlPoint.getNemCode(), wprqfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rzfdl.get(), wprzfdlPoint.getNemCode(), wprzfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, rllfdl.get(), wprllfdlPoint.getNemCode(), wprllfdlPoint.getName()));

            lineResultList.add(PointUtil.createPointData(date, ygzss.get(), wpygzssPoint.getNemCode(), wpygzssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ygzsl.get(), wpygzslPoint.getNemCode(), wpygzslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yjxss.get(), wpyjxssPoint.getNemCode(), wpyjxssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yjxsl.get(), wpyjxslPoint.getNemCode(), wpyjxslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ydjss.get(), wpydjssPoint.getNemCode(), wpydjssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ysdtj.get(), wpysdtjPoint.getNemCode(), wpysdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yxnss.get(), wpyxnssPoint.getNemCode(), wpyxnssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yfdjcl.get(), wpyfdjclPoint.getNemCode(), wpyfdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yxdjcl.get(), wpyxdjclPoint.getNemCode(), wpyxdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yxdtj.get(), wpyxdtjPoint.getNemCode(), wpyxdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ydwsl.get(), wpydwslPoint.getNemCode(), wpydwslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yhjsl.get(), wpyhjslPoint.getNemCode(), wpyhjslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yqfdl.get(), wpyqfdlPoint.getNemCode(), wpyqfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yzfdl.get(), wpyzfdlPoint.getNemCode(), wpyzfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, yllfdl.get(), wpyllfdlPoint.getNemCode(), wpyllfdlPoint.getName()));

            lineResultList.add(PointUtil.createPointData(date, ngzss.get(), wpngzssPoint.getNemCode(), wpngzssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ngzsl.get(), wpngzslPoint.getNemCode(), wpngzslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, njxss.get(), wpnjxssPoint.getNemCode(), wpnjxssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, njxsl.get(), wpnjxslPoint.getNemCode(), wpnjxslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ndjss.get(), wpndjssPoint.getNemCode(), wpndjssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nsdtj.get(), wpnsdtjPoint.getNemCode(), wpnsdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nxnss.get(), wpnxnssPoint.getNemCode(), wpnxnssPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nfdjcl.get(), wpnfdjclPoint.getNemCode(), wpnfdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nxdjcl.get(), wpnxdjclPoint.getNemCode(), wpnxdjclPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nxdtj.get(), wpnxdtjPoint.getNemCode(), wpnxdtjPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, ndwsl.get(), wpndwslPoint.getNemCode(), wpndwslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nhjsl.get(), wpnhjslPoint.getNemCode(), wpnhjslPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nqfdl.get(), wpnqfdlPoint.getNemCode(), wpnqfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nzfdl.get(), wpnzfdlPoint.getNemCode(), wpnzfdlPoint.getName()));
            lineResultList.add(PointUtil.createPointData(date, nllfdl.get(), wpnllfdlPoint.getNemCode(), wpnllfdlPoint.getName()));

            lineResultList.add(PointUtil.createPointData(date, gzss15.get(), wpgzss15Point.getNemCode(), wpgzss15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, gzsl15.get(), wpgzsl15Point.getNemCode(), wpgzsl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, jxss15.get(), wpjxss15Point.getNemCode(), wpjxss15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, jxsl15.get(), wpjxsl15Point.getNemCode(), wpjxsl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, djss15.get(), wpdjss15Point.getNemCode(), wpdjss15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, sdtj15.get(), wpsdtj15Point.getNemCode(), wpsdtj15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, xnss15.get(), wpxnss15Point.getNemCode(), wpxnss15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, fdjcl15.get(), wpfdjcl15Point.getNemCode(), wpfdjcl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, xdjcl15.get(), wpxdjcl15Point.getNemCode(), wpxdjcl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, xdtj15.get(), wpxdtj15Point.getNemCode(), wpxdtj15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, dwsl15.get(), wpdwsl15Point.getNemCode(), wpdwsl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, hjsl15.get(), wphjsl15Point.getNemCode(), wphjsl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, qfdl15.get(), wpqfdl15Point.getNemCode(), wpqfdl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, zfdl15.get(), wpzfdl15Point.getNemCode(), wpzfdl15Point.getName()));
            lineResultList.add(PointUtil.createPointData(date, llfdl15.get(), wpllfdl15Point.getNemCode(), wpllfdl15Point.getName()));
        });
        edosUtil.sendMultiPoint(lineResultList);

        List<PointData> projectResultList = new ArrayList<>();
        pjls.stream().forEach(project -> {
            List<ProBasicLine> proBasicLines = prolinemap.get(project.getId());
            Map<String, ProBasicPowerstationPoint> proBasicWppointMap = propointmap.get(project.getId());
            ProBasicPowerstationPoint wprpjfsPoint = null;
            ProBasicPowerstationPoint wpypjfsPoint = null;
            ProBasicPowerstationPoint wpnpjfsPoint = null;
            ProBasicPowerstationPoint wppjfs15Point = null;
            if (project.getSpare4().equals("1")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
            } else if (project.getSpare4().equals("2")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
            }
            ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
            ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
            ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
            ProBasicPowerstationPoint wprfdlPoint = proBasicWppointMap.get(ContantXk.RFDL);
            ProBasicPowerstationPoint wpyfdlPoint = proBasicWppointMap.get(ContantXk.YFDL);
            ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
            ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
            //            ProBasicPowerstationPoint wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
            //            ProBasicPowerstationPoint wppjgzd15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
            ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
            ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
            ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
            ProBasicPowerstationPoint wpnkydlPoint = proBasicWppointMap.get(ContantXk.NKYDL);
            ProBasicPowerstationPoint wpkydl15Point = proBasicWppointMap.get(ContantXk.KYDL15);
            ProBasicPowerstationPoint wprlldlzsPoint = proBasicWppointMap.get(ContantXk.RLLFDLZS);
            ProBasicPowerstationPoint wpylldlzsPoint = proBasicWppointMap.get(ContantXk.YLLFDLZS);
            ProBasicPowerstationPoint wpnlldlzsPoint = proBasicWppointMap.get(ContantXk.NLLFDLZS);
            ProBasicPowerstationPoint wplldl15zsPoint = proBasicWppointMap.get(ContantXk.LLFDL15ZS);
            ProBasicPowerstationPoint wprzhdPoint = proBasicWppointMap.get(ContantXk.RZHD);
            ProBasicPowerstationPoint wpyzhdPoint = proBasicWppointMap.get(ContantXk.YZHD);
            ProBasicPowerstationPoint wpnzhdPoint = proBasicWppointMap.get(ContantXk.NZHD);
            ProBasicPowerstationPoint wpzhd15Point = proBasicWppointMap.get(ContantXk.ZHD15);
            ProBasicPowerstationPoint wprgzssPoint = proBasicWppointMap.get(ContantXk.RGZSSDL);
            ProBasicPowerstationPoint wprgzslPoint = proBasicWppointMap.get(ContantXk.RCNSLGZSSDL);
            ProBasicPowerstationPoint wprjxssPoint = proBasicWppointMap.get(ContantXk.RJXSSDL);
            ProBasicPowerstationPoint wprjxslPoint = proBasicWppointMap.get(ContantXk.RCNSLJXSSDL);
            ProBasicPowerstationPoint wprdjssPoint = proBasicWppointMap.get(ContantXk.RDJSSDL);
            ProBasicPowerstationPoint wprsdtjPoint = proBasicWppointMap.get(ContantXk.RSDTJSSDL);
            ProBasicPowerstationPoint wprxnssPoint = proBasicWppointMap.get(ContantXk.RXNSSDL);
            ProBasicPowerstationPoint wprfdjclPoint = proBasicWppointMap.get(ContantXk.RQXJCLSSDL);
            ProBasicPowerstationPoint wprxdjclPoint = proBasicWppointMap.get(ContantXk.RXDJCLSSDL);
            ProBasicPowerstationPoint wprxdtjPoint = proBasicWppointMap.get(ContantXk.RXDTJSSDL);
            ProBasicPowerstationPoint wprdwslPoint = proBasicWppointMap.get(ContantXk.RCWSLDWSSDL);
            ProBasicPowerstationPoint wprhjslPoint = proBasicWppointMap.get(ContantXk.RCWSLTQSSDL);
            ProBasicPowerstationPoint wprqfdlPoint = proBasicWppointMap.get(ContantXk.RQFDL);
            ProBasicPowerstationPoint wprzfdlPoint = proBasicWppointMap.get(ContantXk.RZFDL);
            ProBasicPowerstationPoint wprllfdlPoint = proBasicWppointMap.get(ContantXk.RLLFDL);
            ProBasicPowerstationPoint wpygzssPoint = proBasicWppointMap.get(ContantXk.YGZSSDL);
            ProBasicPowerstationPoint wpygzslPoint = proBasicWppointMap.get(ContantXk.YCNSLGZSSDL);
            ProBasicPowerstationPoint wpyjxssPoint = proBasicWppointMap.get(ContantXk.YJXSSDL);
            ProBasicPowerstationPoint wpyjxslPoint = proBasicWppointMap.get(ContantXk.YCNSLJXSSDL);
            ProBasicPowerstationPoint wpydjssPoint = proBasicWppointMap.get(ContantXk.YDJSSDL);
            ProBasicPowerstationPoint wpysdtjPoint = proBasicWppointMap.get(ContantXk.YSDTJSSDL);
            ProBasicPowerstationPoint wpyxnssPoint = proBasicWppointMap.get(ContantXk.YXNSSDL);
            ProBasicPowerstationPoint wpyfdjclPoint = proBasicWppointMap.get(ContantXk.YQXJCLSSDL);
            ProBasicPowerstationPoint wpyxdjclPoint = proBasicWppointMap.get(ContantXk.YXDJCLSSDL);
            ProBasicPowerstationPoint wpyxdtjPoint = proBasicWppointMap.get(ContantXk.YXDTJSSDL);
            ProBasicPowerstationPoint wpydwslPoint = proBasicWppointMap.get(ContantXk.YCWSLDWSSDL);
            ProBasicPowerstationPoint wpyhjslPoint = proBasicWppointMap.get(ContantXk.YCWSLTQSSDL);
            ProBasicPowerstationPoint wpyqfdlPoint = proBasicWppointMap.get(ContantXk.YQFDL);
            ProBasicPowerstationPoint wpyzfdlPoint = proBasicWppointMap.get(ContantXk.YZFDL);
            ProBasicPowerstationPoint wpyllfdlPoint = proBasicWppointMap.get(ContantXk.YLLFDL);
            ProBasicPowerstationPoint wpngzssPoint = proBasicWppointMap.get(ContantXk.NGZSSDL);
            ProBasicPowerstationPoint wpngzslPoint = proBasicWppointMap.get(ContantXk.NCNSLGZSSDL);
            ProBasicPowerstationPoint wpnjxssPoint = proBasicWppointMap.get(ContantXk.NJXSSDL);
            ProBasicPowerstationPoint wpnjxslPoint = proBasicWppointMap.get(ContantXk.NCNSLJXSSDL);
            ProBasicPowerstationPoint wpndjssPoint = proBasicWppointMap.get(ContantXk.NDJSSDL);
            ProBasicPowerstationPoint wpnsdtjPoint = proBasicWppointMap.get(ContantXk.NSDTJSSDL);
            ProBasicPowerstationPoint wpnxnssPoint = proBasicWppointMap.get(ContantXk.NXNSSDL);
            ProBasicPowerstationPoint wpnfdjclPoint = proBasicWppointMap.get(ContantXk.NQXJCLSSDL);
            ProBasicPowerstationPoint wpnxdjclPoint = proBasicWppointMap.get(ContantXk.NXDJCLSSDL);
            ProBasicPowerstationPoint wpnxdtjPoint = proBasicWppointMap.get(ContantXk.NXDTJSSDL);
            ProBasicPowerstationPoint wpndwslPoint = proBasicWppointMap.get(ContantXk.NCWSLDWSSDL);
            ProBasicPowerstationPoint wpnhjslPoint = proBasicWppointMap.get(ContantXk.NCWSLTQSSDL);
            ProBasicPowerstationPoint wpnqfdlPoint = proBasicWppointMap.get(ContantXk.NQFDL);
            ProBasicPowerstationPoint wpnzfdlPoint = proBasicWppointMap.get(ContantXk.NZFDL);
            ProBasicPowerstationPoint wpnllfdlPoint = proBasicWppointMap.get(ContantXk.NLLFDL);
            ProBasicPowerstationPoint wpgzss15Point = proBasicWppointMap.get(ContantXk.GZSSDL15);
            ProBasicPowerstationPoint wpgzsl15Point = proBasicWppointMap.get(ContantXk.CNSLGZSSDL15);
            ProBasicPowerstationPoint wpjxss15Point = proBasicWppointMap.get(ContantXk.JXSSDL15);
            ProBasicPowerstationPoint wpjxsl15Point = proBasicWppointMap.get(ContantXk.CNSLJXSSDL15);
            ProBasicPowerstationPoint wpdjss15Point = proBasicWppointMap.get(ContantXk.DJSSDL15);
            ProBasicPowerstationPoint wpsdtj15Point = proBasicWppointMap.get(ContantXk.SDTJSSDL15);
            ProBasicPowerstationPoint wpxnss15Point = proBasicWppointMap.get(ContantXk.XNSSDL15);
            ProBasicPowerstationPoint wpfdjcl15Point = proBasicWppointMap.get(ContantXk.QXJCLSSDL15);
            ProBasicPowerstationPoint wpxdjcl15Point = proBasicWppointMap.get(ContantXk.XDJCLSSDL15);
            ProBasicPowerstationPoint wpxdtj15Point = proBasicWppointMap.get(ContantXk.XDTJSSDL15);
            ProBasicPowerstationPoint wpdwsl15Point = proBasicWppointMap.get(ContantXk.CWSLDWSSDL15);
            ProBasicPowerstationPoint wphjsl15Point = proBasicWppointMap.get(ContantXk.CWSLTQSSDL15);
            ProBasicPowerstationPoint wpqfdl15Point = proBasicWppointMap.get(ContantXk.QFDL15);
            ProBasicPowerstationPoint wpzfdl15Point = proBasicWppointMap.get(ContantXk.ZFDL15);
            ProBasicPowerstationPoint wpllfdl15Point = proBasicWppointMap.get(ContantXk.LLFDL15);

            AtomicReference<Double> rpjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjfs15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rpjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjgl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ykydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> kydl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15zs = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> zhd15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> djss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> ysdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> sdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> xnss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> dwsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> hjsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> qfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> zfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15 = new AtomicReference<>((double) 0);

            proBasicLines.stream().forEach(ln -> {
                Map<String, ProBasicPowerstationPoint> basicWppointMap = linepointmap.get(ln.getId());
                ProBasicPowerstationPoint rpjfsPoint = basicWppointMap.get(ContantXk.RPJFS);
                ProBasicPowerstationPoint ypjfsPoint = basicWppointMap.get(ContantXk.YPJFS);
                ProBasicPowerstationPoint npjfsPoint = basicWppointMap.get(ContantXk.NPJFS);
                ProBasicPowerstationPoint rpjgzdPoint = basicWppointMap.get(ContantXk.RPJGZD);
                ProBasicPowerstationPoint ypjgzdPoint = basicWppointMap.get(ContantXk.YPJGZD);
                ProBasicPowerstationPoint npjgzdPoint = basicWppointMap.get(ContantXk.NPJGZD);
                ProBasicPowerstationPoint rpjglPoint = basicWppointMap.get(ContantXk.RPJGL);
                ProBasicPowerstationPoint ypjglPoint = basicWppointMap.get(ContantXk.YPJGL);
                ProBasicPowerstationPoint npjglPoint = basicWppointMap.get(ContantXk.NPJGL);
                ProBasicPowerstationPoint rfdlPoint = basicWppointMap.get(ContantXk.RFDL);
                ProBasicPowerstationPoint yfdlPoint = basicWppointMap.get(ContantXk.YFDL);
                ProBasicPowerstationPoint nfdlPoint = basicWppointMap.get(ContantXk.NFDL);
                ProBasicPowerstationPoint fdl15Point = basicWppointMap.get(ContantXk.FDL15);
                ProBasicPowerstationPoint pjfs15Point = basicWppointMap.get(ContantXk.PJFS15);
                ProBasicPowerstationPoint pjgzd15Point = basicWppointMap.get(ContantXk.PJGZD15);
                ProBasicPowerstationPoint pjgl15Point = basicWppointMap.get(ContantXk.PJGL15);
                ProBasicPowerstationPoint rkydlPoint = basicWppointMap.get(ContantXk.RKYDL);
                ProBasicPowerstationPoint ykydlPoint = basicWppointMap.get(ContantXk.YKYDL);
                ProBasicPowerstationPoint nkydlPoint = basicWppointMap.get(ContantXk.NKYDL);
                ProBasicPowerstationPoint kydl15Point = basicWppointMap.get(ContantXk.KYDL15);
                ProBasicPowerstationPoint rlldlzsPoint = basicWppointMap.get(ContantXk.RLLFDLZS);
                ProBasicPowerstationPoint ylldlzsPoint = basicWppointMap.get(ContantXk.YLLFDLZS);
                ProBasicPowerstationPoint nlldlzsPoint = basicWppointMap.get(ContantXk.NLLFDLZS);
                ProBasicPowerstationPoint lldl15zsPoint = basicWppointMap.get(ContantXk.LLFDL15ZS);
                ProBasicPowerstationPoint rzhdPoint = basicWppointMap.get(ContantXk.RZHD);
                ProBasicPowerstationPoint yzhdPoint = basicWppointMap.get(ContantXk.YZHD);
                ProBasicPowerstationPoint nzhdPoint = basicWppointMap.get(ContantXk.NZHD);
                ProBasicPowerstationPoint zhd15Point = basicWppointMap.get(ContantXk.ZHD15);

                ProBasicPowerstationPoint rgzssPoint = basicWppointMap.get(ContantXk.RGZSSDL);
                ProBasicPowerstationPoint rgzslPoint = basicWppointMap.get(ContantXk.RCNSLGZSSDL);
                ProBasicPowerstationPoint rjxssPoint = basicWppointMap.get(ContantXk.RJXSSDL);
                ProBasicPowerstationPoint rjxslPoint = basicWppointMap.get(ContantXk.RCNSLJXSSDL);
                ProBasicPowerstationPoint rdjssPoint = basicWppointMap.get(ContantXk.RDJSSDL);
                ProBasicPowerstationPoint rsdtjPoint = basicWppointMap.get(ContantXk.RSDTJSSDL);
                ProBasicPowerstationPoint rxnssPoint = basicWppointMap.get(ContantXk.RXNSSDL);
                ProBasicPowerstationPoint rfdjclPoint = basicWppointMap.get(ContantXk.RQXJCLSSDL);
                ProBasicPowerstationPoint rxdjclPoint = basicWppointMap.get(ContantXk.RXDJCLSSDL);
                ProBasicPowerstationPoint rxdtjPoint = basicWppointMap.get(ContantXk.RXDTJSSDL);
                ProBasicPowerstationPoint rdwslPoint = basicWppointMap.get(ContantXk.RCWSLDWSSDL);
                ProBasicPowerstationPoint rhjslPoint = basicWppointMap.get(ContantXk.RCWSLTQSSDL);
                ProBasicPowerstationPoint rqfdlPoint = basicWppointMap.get(ContantXk.RQFDL);
                ProBasicPowerstationPoint rzfdlPoint = basicWppointMap.get(ContantXk.RZFDL);
                ProBasicPowerstationPoint rllfdlPoint = basicWppointMap.get(ContantXk.RLLFDL);

                ProBasicPowerstationPoint ygzssPoint = basicWppointMap.get(ContantXk.YGZSSDL);
                ProBasicPowerstationPoint ygzslPoint = basicWppointMap.get(ContantXk.YCNSLGZSSDL);
                ProBasicPowerstationPoint yjxssPoint = basicWppointMap.get(ContantXk.YJXSSDL);
                ProBasicPowerstationPoint yjxslPoint = basicWppointMap.get(ContantXk.YCNSLJXSSDL);
                ProBasicPowerstationPoint ydjssPoint = basicWppointMap.get(ContantXk.YDJSSDL);
                ProBasicPowerstationPoint ysdtjPoint = basicWppointMap.get(ContantXk.YSDTJSSDL);
                ProBasicPowerstationPoint yxnssPoint = basicWppointMap.get(ContantXk.YXNSSDL);
                ProBasicPowerstationPoint yfdjclPoint = basicWppointMap.get(ContantXk.YQXJCLSSDL);
                ProBasicPowerstationPoint yxdjclPoint = basicWppointMap.get(ContantXk.YXDJCLSSDL);
                ProBasicPowerstationPoint yxdtjPoint = basicWppointMap.get(ContantXk.YXDTJSSDL);
                ProBasicPowerstationPoint ydwslPoint = basicWppointMap.get(ContantXk.YCWSLDWSSDL);
                ProBasicPowerstationPoint yhjslPoint = basicWppointMap.get(ContantXk.YCWSLTQSSDL);
                ProBasicPowerstationPoint yqfdlPoint = basicWppointMap.get(ContantXk.YQFDL);
                ProBasicPowerstationPoint yzfdlPoint = basicWppointMap.get(ContantXk.YZFDL);
                ProBasicPowerstationPoint yllfdlPoint = basicWppointMap.get(ContantXk.YLLFDL);

                ProBasicPowerstationPoint ngzssPoint = basicWppointMap.get(ContantXk.NGZSSDL);
                ProBasicPowerstationPoint ngzslPoint = basicWppointMap.get(ContantXk.NCNSLGZSSDL);
                ProBasicPowerstationPoint njxssPoint = basicWppointMap.get(ContantXk.NJXSSDL);
                ProBasicPowerstationPoint njxslPoint = basicWppointMap.get(ContantXk.NCNSLJXSSDL);
                ProBasicPowerstationPoint ndjssPoint = basicWppointMap.get(ContantXk.NDJSSDL);
                ProBasicPowerstationPoint nsdtjPoint = basicWppointMap.get(ContantXk.NSDTJSSDL);
                ProBasicPowerstationPoint nxnssPoint = basicWppointMap.get(ContantXk.NXNSSDL);
                ProBasicPowerstationPoint nfdjclPoint = basicWppointMap.get(ContantXk.NQXJCLSSDL);
                ProBasicPowerstationPoint nxdjclPoint = basicWppointMap.get(ContantXk.NXDJCLSSDL);
                ProBasicPowerstationPoint nxdtjPoint = basicWppointMap.get(ContantXk.NXDTJSSDL);
                ProBasicPowerstationPoint ndwslPoint = basicWppointMap.get(ContantXk.NCWSLDWSSDL);
                ProBasicPowerstationPoint nhjslPoint = basicWppointMap.get(ContantXk.NCWSLTQSSDL);
                ProBasicPowerstationPoint nqfdlPoint = basicWppointMap.get(ContantXk.NQFDL);
                ProBasicPowerstationPoint nzfdlPoint = basicWppointMap.get(ContantXk.NZFDL);
                ProBasicPowerstationPoint nllfdlPoint = basicWppointMap.get(ContantXk.NLLFDL);

                ProBasicPowerstationPoint gzss15Point = basicWppointMap.get(ContantXk.GZSSDL15);
                ProBasicPowerstationPoint gzsl15Point = basicWppointMap.get(ContantXk.CNSLGZSSDL15);
                ProBasicPowerstationPoint jxss15Point = basicWppointMap.get(ContantXk.JXSSDL15);
                ProBasicPowerstationPoint jxsl15Point = basicWppointMap.get(ContantXk.CNSLJXSSDL15);
                ProBasicPowerstationPoint djss15Point = basicWppointMap.get(ContantXk.DJSSDL15);
                ProBasicPowerstationPoint sdtj15Point = basicWppointMap.get(ContantXk.SDTJSSDL15);
                ProBasicPowerstationPoint xnss15Point = basicWppointMap.get(ContantXk.XNSSDL15);
                ProBasicPowerstationPoint fdjcl15Point = basicWppointMap.get(ContantXk.QXJCLSSDL15);
                ProBasicPowerstationPoint xdjcl15Point = basicWppointMap.get(ContantXk.XDJCLSSDL15);
                ProBasicPowerstationPoint xdtj15Point = basicWppointMap.get(ContantXk.XDTJSSDL15);
                ProBasicPowerstationPoint dwsl15Point = basicWppointMap.get(ContantXk.CWSLDWSSDL15);
                ProBasicPowerstationPoint hjsl15Point = basicWppointMap.get(ContantXk.CWSLTQSSDL15);
                ProBasicPowerstationPoint qfdl15Point = basicWppointMap.get(ContantXk.QFDL15);
                ProBasicPowerstationPoint zfdl15Point = basicWppointMap.get(ContantXk.ZFDL15);
                ProBasicPowerstationPoint llfdl15Point = basicWppointMap.get(ContantXk.LLFDL15);

                if (project.getWindpowerstationId().contains("_FDC_")) {
                    rpjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ypjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    npjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    pjfs15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                } else {
                    rpjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ypjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    npjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    pjfs15.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                }


                rpjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ypjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ypjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                npjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(npjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                pjgl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(pjgl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                fdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(fdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rkydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ykydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ykydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nkydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                kydl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(kydl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ylldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                llfdl15zs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(lldl15zsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                zhd15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(zhd15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rgzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ygzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ygzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ngzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ngzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                gzss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(gzss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rgzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rgzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ygzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ygzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ngzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ngzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                gzsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(gzsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rjxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yjxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                njxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(njxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                jxss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(jxss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rjxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yjxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                njxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(njxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                jxsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(jxsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rdjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rdjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ydjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ydjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ndjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ndjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                djss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(djss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rsdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ysdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ysdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nsdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                sdtj15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(sdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xnss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xnss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                fdjcl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(fdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xdjcl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xdtj15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rdwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rdwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ydwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ydwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ndwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ndwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                dwsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(dwsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                hjsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(hjsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                qfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(qfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                zfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(zfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                llfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(llfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
            });

            if (project.getWindpowerstationId().contains("_FDC_")) {
                projectResultList.add(PointUtil.createPointData(date, rpjfs.get() / proBasicLines.size(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, ypjfs.get() / proBasicLines.size(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, npjfs.get() / proBasicLines.size(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, pjfs15.get() / proBasicLines.size(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));
            } else {
                projectResultList.add(PointUtil.createPointData(date, rpjfs.get(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, ypjfs.get(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, npjfs.get(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                projectResultList.add(PointUtil.createPointData(date, pjfs15.get(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));

            }

            projectResultList.add(PointUtil.createPointData(date, rpjgl.get(), wprpjglPoint.getNemCode(), wprpjglPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ypjgl.get(), wpypjglPoint.getNemCode(), wpypjglPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, npjgl.get(), wpnpjglPoint.getNemCode(), wpnpjglPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, pjgl15.get(), wppjgl15Point.getNemCode(), wppjgl15Point.getName()));

            projectResultList.add(PointUtil.createPointData(date, rkydl.get(), wprkydlPoint.getNemCode(), wprkydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ykydl.get(), wpykydlPoint.getNemCode(), wpykydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nkydl.get(), wpnkydlPoint.getNemCode(), wpnkydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, kydl15.get(), wpkydl15Point.getNemCode(), wpkydl15Point.getName()));

            projectResultList.add(PointUtil.createPointData(date, rllfdlzs.get(), wprlldlzsPoint.getNemCode(), wprkydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yllfdlzs.get(), wpylldlzsPoint.getNemCode(), wpykydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nllfdlzs.get(), wpnlldlzsPoint.getNemCode(), wpnkydlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, llfdl15zs.get(), wplldl15zsPoint.getNemCode(), wpkydl15Point.getName()));

            projectResultList.add(PointUtil.createPointData(date, rfdl.get(), wprfdlPoint.getNemCode(), wprfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yfdl.get(), wpyfdlPoint.getNemCode(), wpyfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nfdl.get(), wpnfdlPoint.getNemCode(), wpnfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, fdl15.get(), wpfdl15Point.getNemCode(), wpfdl15Point.getName()));

            projectResultList.add(PointUtil.createPointData(date, rzhd.get(), wprzhdPoint.getNemCode(), wprzhdPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yzhd.get(), wpyzhdPoint.getNemCode(), wpyzhdPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nzhd.get(), wpnzhdPoint.getNemCode(), wpnzhdPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, zhd15.get(), wpzhd15Point.getNemCode(), wpzhd15Point.getName()));

            projectResultList.add(PointUtil.createPointData(date, rgzss.get(), wprgzssPoint.getNemCode(), wprgzssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rgzsl.get(), wprgzslPoint.getNemCode(), wprgzslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rjxss.get(), wprjxssPoint.getNemCode(), wprjxssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rjxsl.get(), wprjxslPoint.getNemCode(), wprjxslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rdjss.get(), wprdjssPoint.getNemCode(), wprdjssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rsdtj.get(), wprsdtjPoint.getNemCode(), wprsdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rxnss.get(), wprxnssPoint.getNemCode(), wprxnssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rfdjcl.get(), wprfdjclPoint.getNemCode(), wprfdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rxdjcl.get(), wprxdjclPoint.getNemCode(), wprxdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rxdtj.get(), wprxdtjPoint.getNemCode(), wprxdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rdwsl.get(), wprdwslPoint.getNemCode(), wprdwslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rhjsl.get(), wprhjslPoint.getNemCode(), wprhjslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rqfdl.get(), wprqfdlPoint.getNemCode(), wprqfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rzfdl.get(), wprzfdlPoint.getNemCode(), wprzfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, rllfdl.get(), wprllfdlPoint.getNemCode(), wprllfdlPoint.getName()));

            projectResultList.add(PointUtil.createPointData(date, ygzss.get(), wpygzssPoint.getNemCode(), wpygzssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ygzsl.get(), wpygzslPoint.getNemCode(), wpygzslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yjxss.get(), wpyjxssPoint.getNemCode(), wpyjxssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yjxsl.get(), wpyjxslPoint.getNemCode(), wpyjxslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ydjss.get(), wpydjssPoint.getNemCode(), wpydjssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ysdtj.get(), wpysdtjPoint.getNemCode(), wpysdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yxnss.get(), wpyxnssPoint.getNemCode(), wpyxnssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yfdjcl.get(), wpyfdjclPoint.getNemCode(), wpyfdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yxdjcl.get(), wpyxdjclPoint.getNemCode(), wpyxdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yxdtj.get(), wpyxdtjPoint.getNemCode(), wpyxdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ydwsl.get(), wpydwslPoint.getNemCode(), wpydwslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yhjsl.get(), wpyhjslPoint.getNemCode(), wpyhjslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yqfdl.get(), wpyqfdlPoint.getNemCode(), wpyqfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yzfdl.get(), wpyzfdlPoint.getNemCode(), wpyzfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, yllfdl.get(), wpyllfdlPoint.getNemCode(), wpyllfdlPoint.getName()));

            projectResultList.add(PointUtil.createPointData(date, ngzss.get(), wpngzssPoint.getNemCode(), wpngzssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ngzsl.get(), wpngzslPoint.getNemCode(), wpngzslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, njxss.get(), wpnjxssPoint.getNemCode(), wpnjxssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, njxsl.get(), wpnjxslPoint.getNemCode(), wpnjxslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ndjss.get(), wpndjssPoint.getNemCode(), wpndjssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nsdtj.get(), wpnsdtjPoint.getNemCode(), wpnsdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nxnss.get(), wpnxnssPoint.getNemCode(), wpnxnssPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nfdjcl.get(), wpnfdjclPoint.getNemCode(), wpnfdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nxdjcl.get(), wpnxdjclPoint.getNemCode(), wpnxdjclPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nxdtj.get(), wpnxdtjPoint.getNemCode(), wpnxdtjPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, ndwsl.get(), wpndwslPoint.getNemCode(), wpndwslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nhjsl.get(), wpnhjslPoint.getNemCode(), wpnhjslPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nqfdl.get(), wpnqfdlPoint.getNemCode(), wpnqfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nzfdl.get(), wpnzfdlPoint.getNemCode(), wpnzfdlPoint.getName()));
            projectResultList.add(PointUtil.createPointData(date, nllfdl.get(), wpnllfdlPoint.getNemCode(), wpnllfdlPoint.getName()));

            projectResultList.add(PointUtil.createPointData(date, gzss15.get(), wpgzss15Point.getNemCode(), wpgzss15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, gzsl15.get(), wpgzsl15Point.getNemCode(), wpgzsl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, jxss15.get(), wpjxss15Point.getNemCode(), wpjxss15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, jxsl15.get(), wpjxsl15Point.getNemCode(), wpjxsl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, djss15.get(), wpdjss15Point.getNemCode(), wpdjss15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, sdtj15.get(), wpsdtj15Point.getNemCode(), wpsdtj15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, xnss15.get(), wpxnss15Point.getNemCode(), wpxnss15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, fdjcl15.get(), wpfdjcl15Point.getNemCode(), wpfdjcl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, xdjcl15.get(), wpxdjcl15Point.getNemCode(), wpxdjcl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, xdtj15.get(), wpxdtj15Point.getNemCode(), wpxdtj15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, dwsl15.get(), wpdwsl15Point.getNemCode(), wpdwsl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, hjsl15.get(), wphjsl15Point.getNemCode(), wphjsl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, qfdl15.get(), wpqfdl15Point.getNemCode(), wpqfdl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, zfdl15.get(), wpzfdl15Point.getNemCode(), wpzfdl15Point.getName()));
            projectResultList.add(PointUtil.createPointData(date, llfdl15.get(), wpllfdl15Point.getNemCode(), wpllfdl15Point.getName()));
        });
        edosUtil.sendMultiPoint(projectResultList);

        List<PointData> windpowerResultList = new ArrayList<>();
        wpls.stream().forEach(wp -> {
            List<ProBasicProject> proBasicProjects = wppromap.get(wp.getId());
            Map<String, ProBasicPowerstationPoint> proBasicWppointMap = wppointmap.get(wp.getId());
            ProBasicPowerstationPoint wprpjfsPoint = null;
            ProBasicPowerstationPoint wpypjfsPoint = null;
            ProBasicPowerstationPoint wpnpjfsPoint = null;
            ProBasicPowerstationPoint wppjfs15Point = null;
            if (wp.getWindType().equals("-1")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
            } else if (wp.getWindType().equals("-2")) {
                wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
                wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
                wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
                wppjfs15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
            }
            ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
            ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
            ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
            ProBasicPowerstationPoint wprfdlPoint = proBasicWppointMap.get(ContantXk.RFDL);
            ProBasicPowerstationPoint wpyfdlPoint = proBasicWppointMap.get(ContantXk.YFDL);
            ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
            ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
            //            ProBasicPowerstationPoint wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
            //            ProBasicPowerstationPoint wppjgzd15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
            ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
            ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
            ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
            ProBasicPowerstationPoint wpnkydlPoint = proBasicWppointMap.get(ContantXk.NKYDL);
            ProBasicPowerstationPoint wpkydl15Point = proBasicWppointMap.get(ContantXk.KYDL15);
            ProBasicPowerstationPoint wprlldlzsPoint = proBasicWppointMap.get(ContantXk.RLLFDLZS);
            ProBasicPowerstationPoint wpylldlzsPoint = proBasicWppointMap.get(ContantXk.YLLFDLZS);
            ProBasicPowerstationPoint wpnlldlzsPoint = proBasicWppointMap.get(ContantXk.NLLFDLZS);
            ProBasicPowerstationPoint wplldl15zsPoint = proBasicWppointMap.get(ContantXk.LLFDL15ZS);
            ProBasicPowerstationPoint wprzhdPoint = proBasicWppointMap.get(ContantXk.RZHD);
            ProBasicPowerstationPoint wpyzhdPoint = proBasicWppointMap.get(ContantXk.YZHD);
            ProBasicPowerstationPoint wpnzhdPoint = proBasicWppointMap.get(ContantXk.NZHD);
            ProBasicPowerstationPoint wpzhd15Point = proBasicWppointMap.get(ContantXk.ZHD15);
            ProBasicPowerstationPoint wprgzssPoint = proBasicWppointMap.get(ContantXk.RGZSSDL);
            ProBasicPowerstationPoint wprgzslPoint = proBasicWppointMap.get(ContantXk.RCNSLGZSSDL);
            ProBasicPowerstationPoint wprjxssPoint = proBasicWppointMap.get(ContantXk.RJXSSDL);
            ProBasicPowerstationPoint wprjxslPoint = proBasicWppointMap.get(ContantXk.RCNSLJXSSDL);
            ProBasicPowerstationPoint wprdjssPoint = proBasicWppointMap.get(ContantXk.RDJSSDL);
            ProBasicPowerstationPoint wprsdtjPoint = proBasicWppointMap.get(ContantXk.RSDTJSSDL);
            ProBasicPowerstationPoint wprxnssPoint = proBasicWppointMap.get(ContantXk.RXNSSDL);
            ProBasicPowerstationPoint wprfdjclPoint = proBasicWppointMap.get(ContantXk.RQXJCLSSDL);
            ProBasicPowerstationPoint wprxdjclPoint = proBasicWppointMap.get(ContantXk.RXDJCLSSDL);
            ProBasicPowerstationPoint wprxdtjPoint = proBasicWppointMap.get(ContantXk.RXDTJSSDL);
            ProBasicPowerstationPoint wprdwslPoint = proBasicWppointMap.get(ContantXk.RCWSLDWSSDL);
            ProBasicPowerstationPoint wprhjslPoint = proBasicWppointMap.get(ContantXk.RCWSLTQSSDL);
            ProBasicPowerstationPoint wprqfdlPoint = proBasicWppointMap.get(ContantXk.RQFDL);
            ProBasicPowerstationPoint wprzfdlPoint = proBasicWppointMap.get(ContantXk.RZFDL);
            ProBasicPowerstationPoint wprllfdlPoint = proBasicWppointMap.get(ContantXk.RLLFDL);
            ProBasicPowerstationPoint wpygzssPoint = proBasicWppointMap.get(ContantXk.YGZSSDL);
            ProBasicPowerstationPoint wpygzslPoint = proBasicWppointMap.get(ContantXk.YCNSLGZSSDL);
            ProBasicPowerstationPoint wpyjxssPoint = proBasicWppointMap.get(ContantXk.YJXSSDL);
            ProBasicPowerstationPoint wpyjxslPoint = proBasicWppointMap.get(ContantXk.YCNSLJXSSDL);
            ProBasicPowerstationPoint wpydjssPoint = proBasicWppointMap.get(ContantXk.YDJSSDL);
            ProBasicPowerstationPoint wpysdtjPoint = proBasicWppointMap.get(ContantXk.YSDTJSSDL);
            ProBasicPowerstationPoint wpyxnssPoint = proBasicWppointMap.get(ContantXk.YXNSSDL);
            ProBasicPowerstationPoint wpyfdjclPoint = proBasicWppointMap.get(ContantXk.YQXJCLSSDL);
            ProBasicPowerstationPoint wpyxdjclPoint = proBasicWppointMap.get(ContantXk.YXDJCLSSDL);
            ProBasicPowerstationPoint wpyxdtjPoint = proBasicWppointMap.get(ContantXk.YXDTJSSDL);
            ProBasicPowerstationPoint wpydwslPoint = proBasicWppointMap.get(ContantXk.YCWSLDWSSDL);
            ProBasicPowerstationPoint wpyhjslPoint = proBasicWppointMap.get(ContantXk.YCWSLTQSSDL);
            ProBasicPowerstationPoint wpyqfdlPoint = proBasicWppointMap.get(ContantXk.YQFDL);
            ProBasicPowerstationPoint wpyzfdlPoint = proBasicWppointMap.get(ContantXk.YZFDL);
            ProBasicPowerstationPoint wpyllfdlPoint = proBasicWppointMap.get(ContantXk.YLLFDL);
            ProBasicPowerstationPoint wpngzssPoint = proBasicWppointMap.get(ContantXk.NGZSSDL);
            ProBasicPowerstationPoint wpngzslPoint = proBasicWppointMap.get(ContantXk.NCNSLGZSSDL);
            ProBasicPowerstationPoint wpnjxssPoint = proBasicWppointMap.get(ContantXk.NJXSSDL);
            ProBasicPowerstationPoint wpnjxslPoint = proBasicWppointMap.get(ContantXk.NCNSLJXSSDL);
            ProBasicPowerstationPoint wpndjssPoint = proBasicWppointMap.get(ContantXk.NDJSSDL);
            ProBasicPowerstationPoint wpnsdtjPoint = proBasicWppointMap.get(ContantXk.NSDTJSSDL);
            ProBasicPowerstationPoint wpnxnssPoint = proBasicWppointMap.get(ContantXk.NXNSSDL);
            ProBasicPowerstationPoint wpnfdjclPoint = proBasicWppointMap.get(ContantXk.NQXJCLSSDL);
            ProBasicPowerstationPoint wpnxdjclPoint = proBasicWppointMap.get(ContantXk.NXDJCLSSDL);
            ProBasicPowerstationPoint wpnxdtjPoint = proBasicWppointMap.get(ContantXk.NXDTJSSDL);
            ProBasicPowerstationPoint wpndwslPoint = proBasicWppointMap.get(ContantXk.NCWSLDWSSDL);
            ProBasicPowerstationPoint wpnhjslPoint = proBasicWppointMap.get(ContantXk.NCWSLTQSSDL);
            ProBasicPowerstationPoint wpnqfdlPoint = proBasicWppointMap.get(ContantXk.NQFDL);
            ProBasicPowerstationPoint wpnzfdlPoint = proBasicWppointMap.get(ContantXk.NZFDL);
            ProBasicPowerstationPoint wpnllfdlPoint = proBasicWppointMap.get(ContantXk.NLLFDL);
            ProBasicPowerstationPoint wpgzss15Point = proBasicWppointMap.get(ContantXk.GZSSDL15);
            ProBasicPowerstationPoint wpgzsl15Point = proBasicWppointMap.get(ContantXk.CNSLGZSSDL15);
            ProBasicPowerstationPoint wpjxss15Point = proBasicWppointMap.get(ContantXk.JXSSDL15);
            ProBasicPowerstationPoint wpjxsl15Point = proBasicWppointMap.get(ContantXk.CNSLJXSSDL15);
            ProBasicPowerstationPoint wpdjss15Point = proBasicWppointMap.get(ContantXk.DJSSDL15);
            ProBasicPowerstationPoint wpsdtj15Point = proBasicWppointMap.get(ContantXk.SDTJSSDL15);
            ProBasicPowerstationPoint wpxnss15Point = proBasicWppointMap.get(ContantXk.XNSSDL15);
            ProBasicPowerstationPoint wpfdjcl15Point = proBasicWppointMap.get(ContantXk.QXJCLSSDL15);
            ProBasicPowerstationPoint wpxdjcl15Point = proBasicWppointMap.get(ContantXk.XDJCLSSDL15);
            ProBasicPowerstationPoint wpxdtj15Point = proBasicWppointMap.get(ContantXk.XDTJSSDL15);
            ProBasicPowerstationPoint wpdwsl15Point = proBasicWppointMap.get(ContantXk.CWSLDWSSDL15);
            ProBasicPowerstationPoint wphjsl15Point = proBasicWppointMap.get(ContantXk.CWSLTQSSDL15);
            ProBasicPowerstationPoint wpqfdl15Point = proBasicWppointMap.get(ContantXk.QFDL15);
            ProBasicPowerstationPoint wpzfdl15Point = proBasicWppointMap.get(ContantXk.ZFDL15);
            ProBasicPowerstationPoint wpllfdl15Point = proBasicWppointMap.get(ContantXk.LLFDL15);

            AtomicReference<Double> rpjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjfs = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjfs15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rpjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ypjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> npjgl = new AtomicReference<>((double) 0);
            AtomicReference<Double> pjgl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ykydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nkydl = new AtomicReference<>((double) 0);
            AtomicReference<Double> kydl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdlzs = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15zs = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzhd = new AtomicReference<>((double) 0);
            AtomicReference<Double> zhd15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzss = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rgzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ygzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ngzsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> gzsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxss = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yjxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> njxsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> jxsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndjss = new AtomicReference<>((double) 0);
            AtomicReference<Double> djss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> ysdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nsdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> sdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxnss = new AtomicReference<>((double) 0);
            AtomicReference<Double> xnss15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nfdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> fdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdjcl = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdjcl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> yxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> nxdtj = new AtomicReference<>((double) 0);
            AtomicReference<Double> xdtj15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rdwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ydwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> ndwsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> dwsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nhjsl = new AtomicReference<>((double) 0);
            AtomicReference<Double> hjsl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nqfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> qfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nzfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> zfdl15 = new AtomicReference<>((double) 0);

            AtomicReference<Double> rllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> yllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> nllfdl = new AtomicReference<>((double) 0);
            AtomicReference<Double> llfdl15 = new AtomicReference<>((double) 0);

            proBasicProjects.stream().forEach(pro -> {
                Map<String, ProBasicPowerstationPoint> basicWppointMap = propointmap.get(pro.getId());
                ProBasicPowerstationPoint rpjfsPoint = basicWppointMap.get(ContantXk.RPJFS);
                ProBasicPowerstationPoint ypjfsPoint = basicWppointMap.get(ContantXk.YPJFS);
                ProBasicPowerstationPoint npjfsPoint = basicWppointMap.get(ContantXk.NPJFS);
                ProBasicPowerstationPoint rpjgzdPoint = basicWppointMap.get(ContantXk.RPJGZD);
                ProBasicPowerstationPoint ypjgzdPoint = basicWppointMap.get(ContantXk.YPJGZD);
                ProBasicPowerstationPoint npjgzdPoint = basicWppointMap.get(ContantXk.NPJGZD);
                ProBasicPowerstationPoint rpjglPoint = basicWppointMap.get(ContantXk.RPJGL);
                ProBasicPowerstationPoint ypjglPoint = basicWppointMap.get(ContantXk.YPJGL);
                ProBasicPowerstationPoint npjglPoint = basicWppointMap.get(ContantXk.NPJGL);
                ProBasicPowerstationPoint rfdlPoint = basicWppointMap.get(ContantXk.RFDL);
                ProBasicPowerstationPoint yfdlPoint = basicWppointMap.get(ContantXk.YFDL);
                ProBasicPowerstationPoint nfdlPoint = basicWppointMap.get(ContantXk.NFDL);
                ProBasicPowerstationPoint fdl15Point = basicWppointMap.get(ContantXk.FDL15);
                ProBasicPowerstationPoint pjfs15Point = basicWppointMap.get(ContantXk.PJFS15);
                ProBasicPowerstationPoint pjgzd15Point = basicWppointMap.get(ContantXk.PJGZD15);
                ProBasicPowerstationPoint pjgl15Point = basicWppointMap.get(ContantXk.PJGL15);
                ProBasicPowerstationPoint rkydlPoint = basicWppointMap.get(ContantXk.RKYDL);
                ProBasicPowerstationPoint ykydlPoint = basicWppointMap.get(ContantXk.YKYDL);
                ProBasicPowerstationPoint nkydlPoint = basicWppointMap.get(ContantXk.NKYDL);
                ProBasicPowerstationPoint kydl15Point = basicWppointMap.get(ContantXk.KYDL15);
                ProBasicPowerstationPoint rlldlzsPoint = basicWppointMap.get(ContantXk.RLLFDLZS);
                ProBasicPowerstationPoint ylldlzsPoint = basicWppointMap.get(ContantXk.YLLFDLZS);
                ProBasicPowerstationPoint nlldlzsPoint = basicWppointMap.get(ContantXk.NLLFDLZS);
                ProBasicPowerstationPoint lldl15zsPoint = basicWppointMap.get(ContantXk.LLFDL15ZS);
                ProBasicPowerstationPoint rzhdPoint = basicWppointMap.get(ContantXk.RZHD);
                ProBasicPowerstationPoint yzhdPoint = basicWppointMap.get(ContantXk.YZHD);
                ProBasicPowerstationPoint nzhdPoint = basicWppointMap.get(ContantXk.NZHD);
                ProBasicPowerstationPoint zhd15Point = basicWppointMap.get(ContantXk.ZHD15);

                ProBasicPowerstationPoint rgzssPoint = basicWppointMap.get(ContantXk.RGZSSDL);
                ProBasicPowerstationPoint rgzslPoint = basicWppointMap.get(ContantXk.RCNSLGZSSDL);
                ProBasicPowerstationPoint rjxssPoint = basicWppointMap.get(ContantXk.RJXSSDL);
                ProBasicPowerstationPoint rjxslPoint = basicWppointMap.get(ContantXk.RCNSLJXSSDL);
                ProBasicPowerstationPoint rdjssPoint = basicWppointMap.get(ContantXk.RDJSSDL);
                ProBasicPowerstationPoint rsdtjPoint = basicWppointMap.get(ContantXk.RSDTJSSDL);
                ProBasicPowerstationPoint rxnssPoint = basicWppointMap.get(ContantXk.RXNSSDL);
                ProBasicPowerstationPoint rfdjclPoint = basicWppointMap.get(ContantXk.RQXJCLSSDL);
                ProBasicPowerstationPoint rxdjclPoint = basicWppointMap.get(ContantXk.RXDJCLSSDL);
                ProBasicPowerstationPoint rxdtjPoint = basicWppointMap.get(ContantXk.RXDTJSSDL);
                ProBasicPowerstationPoint rdwslPoint = basicWppointMap.get(ContantXk.RCWSLDWSSDL);
                ProBasicPowerstationPoint rhjslPoint = basicWppointMap.get(ContantXk.RCWSLTQSSDL);
                ProBasicPowerstationPoint rqfdlPoint = basicWppointMap.get(ContantXk.RQFDL);
                ProBasicPowerstationPoint rzfdlPoint = basicWppointMap.get(ContantXk.RZFDL);
                ProBasicPowerstationPoint rllfdlPoint = basicWppointMap.get(ContantXk.RLLFDL);

                ProBasicPowerstationPoint ygzssPoint = basicWppointMap.get(ContantXk.YGZSSDL);
                ProBasicPowerstationPoint ygzslPoint = basicWppointMap.get(ContantXk.YCNSLGZSSDL);
                ProBasicPowerstationPoint yjxssPoint = basicWppointMap.get(ContantXk.YJXSSDL);
                ProBasicPowerstationPoint yjxslPoint = basicWppointMap.get(ContantXk.YCNSLJXSSDL);
                ProBasicPowerstationPoint ydjssPoint = basicWppointMap.get(ContantXk.YDJSSDL);
                ProBasicPowerstationPoint ysdtjPoint = basicWppointMap.get(ContantXk.YSDTJSSDL);
                ProBasicPowerstationPoint yxnssPoint = basicWppointMap.get(ContantXk.YXNSSDL);
                ProBasicPowerstationPoint yfdjclPoint = basicWppointMap.get(ContantXk.YQXJCLSSDL);
                ProBasicPowerstationPoint yxdjclPoint = basicWppointMap.get(ContantXk.YXDJCLSSDL);
                ProBasicPowerstationPoint yxdtjPoint = basicWppointMap.get(ContantXk.YXDTJSSDL);
                ProBasicPowerstationPoint ydwslPoint = basicWppointMap.get(ContantXk.YCWSLDWSSDL);
                ProBasicPowerstationPoint yhjslPoint = basicWppointMap.get(ContantXk.YCWSLTQSSDL);
                ProBasicPowerstationPoint yqfdlPoint = basicWppointMap.get(ContantXk.YQFDL);
                ProBasicPowerstationPoint yzfdlPoint = basicWppointMap.get(ContantXk.YZFDL);
                ProBasicPowerstationPoint yllfdlPoint = basicWppointMap.get(ContantXk.YLLFDL);

                ProBasicPowerstationPoint ngzssPoint = basicWppointMap.get(ContantXk.NGZSSDL);
                ProBasicPowerstationPoint ngzslPoint = basicWppointMap.get(ContantXk.NCNSLGZSSDL);
                ProBasicPowerstationPoint njxssPoint = basicWppointMap.get(ContantXk.NJXSSDL);
                ProBasicPowerstationPoint njxslPoint = basicWppointMap.get(ContantXk.NCNSLJXSSDL);
                ProBasicPowerstationPoint ndjssPoint = basicWppointMap.get(ContantXk.NDJSSDL);
                ProBasicPowerstationPoint nsdtjPoint = basicWppointMap.get(ContantXk.NSDTJSSDL);
                ProBasicPowerstationPoint nxnssPoint = basicWppointMap.get(ContantXk.NXNSSDL);
                ProBasicPowerstationPoint nfdjclPoint = basicWppointMap.get(ContantXk.NQXJCLSSDL);
                ProBasicPowerstationPoint nxdjclPoint = basicWppointMap.get(ContantXk.NXDJCLSSDL);
                ProBasicPowerstationPoint nxdtjPoint = basicWppointMap.get(ContantXk.NXDTJSSDL);
                ProBasicPowerstationPoint ndwslPoint = basicWppointMap.get(ContantXk.NCWSLDWSSDL);
                ProBasicPowerstationPoint nhjslPoint = basicWppointMap.get(ContantXk.NCWSLTQSSDL);
                ProBasicPowerstationPoint nqfdlPoint = basicWppointMap.get(ContantXk.NQFDL);
                ProBasicPowerstationPoint nzfdlPoint = basicWppointMap.get(ContantXk.NZFDL);
                ProBasicPowerstationPoint nllfdlPoint = basicWppointMap.get(ContantXk.NLLFDL);

                ProBasicPowerstationPoint gzss15Point = basicWppointMap.get(ContantXk.GZSSDL15);
                ProBasicPowerstationPoint gzsl15Point = basicWppointMap.get(ContantXk.CNSLGZSSDL15);
                ProBasicPowerstationPoint jxss15Point = basicWppointMap.get(ContantXk.JXSSDL15);
                ProBasicPowerstationPoint jxsl15Point = basicWppointMap.get(ContantXk.CNSLJXSSDL15);
                ProBasicPowerstationPoint djss15Point = basicWppointMap.get(ContantXk.DJSSDL15);
                ProBasicPowerstationPoint sdtj15Point = basicWppointMap.get(ContantXk.SDTJSSDL15);
                ProBasicPowerstationPoint xnss15Point = basicWppointMap.get(ContantXk.XNSSDL15);
                ProBasicPowerstationPoint fdjcl15Point = basicWppointMap.get(ContantXk.QXJCLSSDL15);
                ProBasicPowerstationPoint xdjcl15Point = basicWppointMap.get(ContantXk.XDJCLSSDL15);
                ProBasicPowerstationPoint xdtj15Point = basicWppointMap.get(ContantXk.XDTJSSDL15);
                ProBasicPowerstationPoint dwsl15Point = basicWppointMap.get(ContantXk.CWSLDWSSDL15);
                ProBasicPowerstationPoint hjsl15Point = basicWppointMap.get(ContantXk.CWSLTQSSDL15);
                ProBasicPowerstationPoint qfdl15Point = basicWppointMap.get(ContantXk.QFDL15);
                ProBasicPowerstationPoint zfdl15Point = basicWppointMap.get(ContantXk.ZFDL15);
                ProBasicPowerstationPoint llfdl15Point = basicWppointMap.get(ContantXk.LLFDL15);
                if (wp.getId().contains("_FDC_")) {
                    rpjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ypjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    npjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    pjfs15.updateAndGet(v -> {
                        try {
                            return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                } else {
                    rpjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    ypjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    npjfs.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                    pjfs15.updateAndGet(v -> {
                        try {
                            return new Double((double) (edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return v;
                    });
                }


                rpjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ypjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ypjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                npjgl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(npjglPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                pjgl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(pjgl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                fdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(fdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rkydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ykydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ykydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nkydl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nkydlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                kydl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(kydl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ylldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nllfdlzs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nlldlzsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                llfdl15zs.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(lldl15zsPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nzhd.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nzhdPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                zhd15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(zhd15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rgzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rgzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ygzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ygzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ngzss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ngzssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                gzss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(gzss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rgzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rgzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ygzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ygzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ngzsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ngzslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                gzsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(gzsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rjxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yjxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yjxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                njxss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(njxssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                jxss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(jxss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rjxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yjxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yjxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                njxsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(njxslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                jxsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(jxsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rdjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rdjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ydjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ydjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ndjss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ndjssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                djss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(djss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rsdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ysdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ysdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nsdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nsdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                sdtj15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(sdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxnss.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxnssPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xnss15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xnss15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nfdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nfdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                fdjcl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(fdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxdjcl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxdjclPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xdjcl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xdjcl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nxdtj.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nxdtjPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                xdtj15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(xdtj15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rdwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rdwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ydwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ydwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                ndwsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(ndwslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                dwsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(dwsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nhjsl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nhjslPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                hjsl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(hjsl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nqfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nqfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                qfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(qfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nzfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nzfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                zfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(zfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                rllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(rllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                yllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(yllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                nllfdl.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(nllfdlPoint, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
                llfdl15.updateAndGet(v -> {
                    try {
                        return new Double((double) (v + edosUtil.getSectionData(llfdl15Point, currentDate.getTime()).getPointValueInDouble()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return v;
                });
            });

            if (wp.getId().contains("_FDC_")) {
                windpowerResultList.add(PointUtil.createPointData(date, rpjfs.get() / proBasicProjects.size(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, ypjfs.get() / proBasicProjects.size(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, npjfs.get() / proBasicProjects.size(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, pjfs15.get() / proBasicProjects.size(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));

            } else {
                windpowerResultList.add(PointUtil.createPointData(date, rpjfs.get(), wprpjfsPoint.getNemCode(), wprpjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, ypjfs.get(), wpypjfsPoint.getNemCode(), wpypjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, npjfs.get(), wpnpjfsPoint.getNemCode(), wpnpjfsPoint.getName()));
                windpowerResultList.add(PointUtil.createPointData(date, pjfs15.get(), wppjfs15Point.getNemCode(), wppjfs15Point.getName()));

            }

            windpowerResultList.add(PointUtil.createPointData(date, rpjgl.get(), wprpjglPoint.getNemCode(), wprpjglPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ypjgl.get(), wpypjglPoint.getNemCode(), wpypjglPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, npjgl.get(), wpnpjglPoint.getNemCode(), wpnpjglPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, pjgl15.get(), wppjgl15Point.getNemCode(), wppjgl15Point.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, rkydl.get(), wprkydlPoint.getNemCode(), wprkydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ykydl.get(), wpykydlPoint.getNemCode(), wpykydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nkydl.get(), wpnkydlPoint.getNemCode(), wpnkydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, kydl15.get(), wpkydl15Point.getNemCode(), wpkydl15Point.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, rllfdlzs.get(), wprlldlzsPoint.getNemCode(), wprkydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yllfdlzs.get(), wpylldlzsPoint.getNemCode(), wpykydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nllfdlzs.get(), wpnlldlzsPoint.getNemCode(), wpnkydlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, llfdl15zs.get(), wplldl15zsPoint.getNemCode(), wpkydl15Point.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, rfdl.get(), wprfdlPoint.getNemCode(), wprfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yfdl.get(), wpyfdlPoint.getNemCode(), wpyfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nfdl.get(), wpnfdlPoint.getNemCode(), wpnfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, fdl15.get(), wpfdl15Point.getNemCode(), wpfdl15Point.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, rzhd.get(), wprzhdPoint.getNemCode(), wprzhdPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yzhd.get(), wpyzhdPoint.getNemCode(), wpyzhdPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nzhd.get(), wpnzhdPoint.getNemCode(), wpnzhdPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, zhd15.get(), wpzhd15Point.getNemCode(), wpzhd15Point.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, rgzss.get(), wprgzssPoint.getNemCode(), wprgzssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rgzsl.get(), wprgzslPoint.getNemCode(), wprgzslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rjxss.get(), wprjxssPoint.getNemCode(), wprjxssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rjxsl.get(), wprjxslPoint.getNemCode(), wprjxslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rdjss.get(), wprdjssPoint.getNemCode(), wprdjssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rsdtj.get(), wprsdtjPoint.getNemCode(), wprsdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rxnss.get(), wprxnssPoint.getNemCode(), wprxnssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rfdjcl.get(), wprfdjclPoint.getNemCode(), wprfdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rxdjcl.get(), wprxdjclPoint.getNemCode(), wprxdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rxdtj.get(), wprxdtjPoint.getNemCode(), wprxdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rdwsl.get(), wprdwslPoint.getNemCode(), wprdwslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rhjsl.get(), wprhjslPoint.getNemCode(), wprhjslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rqfdl.get(), wprqfdlPoint.getNemCode(), wprqfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rzfdl.get(), wprzfdlPoint.getNemCode(), wprzfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, rllfdl.get(), wprllfdlPoint.getNemCode(), wprllfdlPoint.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, ygzss.get(), wpygzssPoint.getNemCode(), wpygzssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ygzsl.get(), wpygzslPoint.getNemCode(), wpygzslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yjxss.get(), wpyjxssPoint.getNemCode(), wpyjxssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yjxsl.get(), wpyjxslPoint.getNemCode(), wpyjxslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ydjss.get(), wpydjssPoint.getNemCode(), wpydjssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ysdtj.get(), wpysdtjPoint.getNemCode(), wpysdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yxnss.get(), wpyxnssPoint.getNemCode(), wpyxnssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yfdjcl.get(), wpyfdjclPoint.getNemCode(), wpyfdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yxdjcl.get(), wpyxdjclPoint.getNemCode(), wpyxdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yxdtj.get(), wpyxdtjPoint.getNemCode(), wpyxdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ydwsl.get(), wpydwslPoint.getNemCode(), wpydwslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yhjsl.get(), wpyhjslPoint.getNemCode(), wpyhjslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yqfdl.get(), wpyqfdlPoint.getNemCode(), wpyqfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yzfdl.get(), wpyzfdlPoint.getNemCode(), wpyzfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, yllfdl.get(), wpyllfdlPoint.getNemCode(), wpyllfdlPoint.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, ngzss.get(), wpngzssPoint.getNemCode(), wpngzssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ngzsl.get(), wpngzslPoint.getNemCode(), wpngzslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, njxss.get(), wpnjxssPoint.getNemCode(), wpnjxssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, njxsl.get(), wpnjxslPoint.getNemCode(), wpnjxslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ndjss.get(), wpndjssPoint.getNemCode(), wpndjssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nsdtj.get(), wpnsdtjPoint.getNemCode(), wpnsdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nxnss.get(), wpnxnssPoint.getNemCode(), wpnxnssPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nfdjcl.get(), wpnfdjclPoint.getNemCode(), wpnfdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nxdjcl.get(), wpnxdjclPoint.getNemCode(), wpnxdjclPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nxdtj.get(), wpnxdtjPoint.getNemCode(), wpnxdtjPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, ndwsl.get(), wpndwslPoint.getNemCode(), wpndwslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nhjsl.get(), wpnhjslPoint.getNemCode(), wpnhjslPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nqfdl.get(), wpnqfdlPoint.getNemCode(), wpnqfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nzfdl.get(), wpnzfdlPoint.getNemCode(), wpnzfdlPoint.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, nllfdl.get(), wpnllfdlPoint.getNemCode(), wpnllfdlPoint.getName()));

            windpowerResultList.add(PointUtil.createPointData(date, gzss15.get(), wpgzss15Point.getNemCode(), wpgzss15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, gzsl15.get(), wpgzsl15Point.getNemCode(), wpgzsl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, jxss15.get(), wpjxss15Point.getNemCode(), wpjxss15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, jxsl15.get(), wpjxsl15Point.getNemCode(), wpjxsl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, djss15.get(), wpdjss15Point.getNemCode(), wpdjss15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, sdtj15.get(), wpsdtj15Point.getNemCode(), wpsdtj15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, xnss15.get(), wpxnss15Point.getNemCode(), wpxnss15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, fdjcl15.get(), wpfdjcl15Point.getNemCode(), wpfdjcl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, xdjcl15.get(), wpxdjcl15Point.getNemCode(), wpxdjcl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, xdtj15.get(), wpxdtj15Point.getNemCode(), wpxdtj15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, dwsl15.get(), wpdwsl15Point.getNemCode(), wpdwsl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, hjsl15.get(), wphjsl15Point.getNemCode(), wphjsl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, qfdl15.get(), wpqfdl15Point.getNemCode(), wpqfdl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, zfdl15.get(), wpzfdl15Point.getNemCode(), wpzfdl15Point.getName()));
            windpowerResultList.add(PointUtil.createPointData(date, llfdl15.get(), wpllfdl15Point.getNemCode(), wpllfdl15Point.getName()));
        });
        edosUtil.sendMultiPoint(windpowerResultList);
    }

    private double generalLoss(List<PointData> ztmxDatasSnap, List<PointData> zsglDatasSnap, List<PointData> powerDatasSnap, double statusValue) {
        List<PointData> pointDataList = ztmxDatasSnap.stream().filter(zt -> zt.getPointValueInDouble() == statusValue).collect(Collectors.toList());
        Double zsss = 0.0;
        if (ztmxDatasSnap.size() == zsglDatasSnap.size() && zsglDatasSnap.size() == powerDatasSnap.size()) {
            if (statusValue == 2.0 || statusValue == 3.0 || statusValue == 8.0) {
                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
                    for (int j = 0; j < pointDataList.size(); j++) {
                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {
                            double zsgl = zsglDatasSnap.get(i).getPointValueInDouble();
                            double power = powerDatasSnap.get(i).getPointValueInDouble();

                            if (power > 0) {
                                double temp1 = zsgl - power;
                                if (temp1 > 0) {
                                    zsss += temp1;
                                }
                            }
                        }
                    }
                }
            } else {
                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
                    for (int j = 0; j < pointDataList.size(); j++) {
                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {
                            double zsgl = zsglDatasSnap.get(i).getPointValueInDouble();
                            zsss += zsgl;
                        }
                    }
                }
            }
            zsss = zsss / pointDataList.size() >= 0 ? zsss / pointDataList.size() : 0;
        }

        return zsss;
    }

    //    private double generalLossBySpeed(List<PointData> ztmxDatasSnap, List<PointData> speedDatasSnap, List<PointData> powerDatasSnap, double statusValue,ProBasicEquipment wt) {
    //        List<PointData> pointDataList = ztmxDatasSnap.stream().filter(zt -> zt.getPointValueInDouble() == statusValue).collect(Collectors.toList());
    //
    //        Double zsss = 0.0;
    //        if (ztmxDatasSnap.size() == speedDatasSnap.size() && speedDatasSnap.size() == powerDatasSnap.size()) {
    //
    //            PowerIntegration powerIntegration=new PowerIntegration();
    //            Map<Integer, Double> powerData=new HashMap<>();
    //            if (statusValue == 2.0 || statusValue == 3.0 || statusValue == 8.0) {
    //
    //                int time=0;
    //                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
    //                    for (int j = 0; j < pointDataList.size(); j++) {
    //                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {
    //                            double pjfs = StringUtils.round(speedDatasSnap.get(i).getPointValueInDouble(),2);
    //                            double power = powerDatasSnap.get(i).getPointValueInDouble();
    //
    //                            if (CacheContext.theoreticalPowerMap.containsKey(wt.getModelId()))
    //                            {
    //                                Map<Double,ProBasicModelPowerRd> valuemap=CacheContext.theoreticalPowerMap.get(wt.getModelId());
    //                                if(valuemap.containsKey(pjfs))
    //                                {
    //                                    double bzgl=  valuemap.get(pjfs).getTheoryPower();
    //
    //                                    if (power > 0) {
    //                                        double temp1 = bzgl - power;
    //                                        if (temp1 > 0) {
    ////                                            zsss += temp1;
    //                                            powerData.put(time,temp1);
    //                                            time++;
    //                                        }
    //                                    }
    //                                }
    //                            }
    //                        }
    //                    }
    //                }
    ////                zsss = zsss / pointDataList.size() >= 0 ? zsss / pointDataList.size() : 0;
    //            } else {
    //                int time=0;
    //                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
    //                    for (int j = 0; j < pointDataList.size(); j++) {
    //                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {
    //
    //
    //                            double pjfs = StringUtils.round(speedDatasSnap.get(i).getPointValueInDouble(),2);
    //                            if (CacheContext.theoreticalPowerMap.containsKey(wt.getModelId()))
    //                            {
    //                                Map<Double,ProBasicModelPowerRd> valuemap=CacheContext.theoreticalPowerMap.get(wt.getModelId());
    //                                if(valuemap.containsKey(pjfs))
    //                                {
    //                                    double bzgl=  valuemap.get(pjfs).getTheoryPower();
    //
    //                                    powerData.put(time,bzgl);
    //                                    time++;
    //
    //                                }
    //                            }
    //
    //
    //
    //
    //                        }
    //                    }
    //                }
    //
    //            }
    ////            zsss = zsss / pointDataList.size() >= 0 ? zsss / pointDataList.size() : 0;
    //            double timeInterval=BigDecimal.valueOf(1).divide(new BigDecimal(120), 2, RoundingMode.HALF_EVEN).doubleValue();
    //            zsss= powerIntegration.calculateEnergy(powerData, timeInterval);
    //        }
    //
    //        return zsss;
    //    }

    private double generalLossBySpeed(List<PointData> ztmxDatasSnap, List<PointData> speedDatasSnap, List<PointData> powerDatasSnap, double statusValue, ProBasicEquipment wt) {
        List<PointData> pointDataList = ztmxDatasSnap.stream().filter(zt -> zt.getPointValueInDouble() == statusValue).collect(Collectors.toList());

        Map<Double, Double> powerMap = new HashMap<>();
        if (redisService.hasKey(CurveType.monthCurve.id + "_" + wt.getId())) {
            String cp0String = redisService.get(CurveType.monthCurve.id + "_" + wt.getId());
            List<ProEconWtCurveFittingMonth> powerList = JSONObject.parseObject(cp0String, new TypeReference<List<ProEconWtCurveFittingMonth>>() {
            });
            if (!powerList.isEmpty()) {
                powerList.stream().forEach(curveFitting -> {

                    powerMap.put(curveFitting.getSpeed(), curveFitting.getActualPower());

                });
            }
        } else {
            if (CacheContext.wpwtmap.containsKey(wt.getWindpowerstationId())) {
                List<ProBasicEquipment> wtls = CacheContext.wpwtmap.get(wt.getWindpowerstationId());
                for (ProBasicEquipment w : wtls) {
                    if (wt.getModelId().equals(w.getModelId()) && redisService.hasKey(CurveType.monthCurve.id + "_" + wt.getId())) {
                        String cp0String = redisService.get(CurveType.monthCurve.id + "_" + wt.getId());
                        List<ProEconWtCurveFittingMonth> powerList = JSONObject.parseObject(cp0String, new TypeReference<List<ProEconWtCurveFittingMonth>>() {
                        });
                        if (!powerList.isEmpty()) {
                            powerList.stream().forEach(curveFitting -> {

                                powerMap.put(curveFitting.getSpeed(), curveFitting.getActualPower());

                            });

                            break;
                        }
                    }

                }
            }
        }
        Double zsss = 0.0;
        if (ztmxDatasSnap.size() == speedDatasSnap.size() && speedDatasSnap.size() == powerDatasSnap.size()) {

            PowerIntegration powerIntegration = new PowerIntegration();
            Map<Integer, Double> powerData = new HashMap<>();
            if (statusValue == 2.0 || statusValue == 3.0 || statusValue == 8.0) {

                int time = 0;
                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
                    for (int j = 0; j < pointDataList.size(); j++) {
                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {
                            double pjfs = StringUtils.round(speedDatasSnap.get(i).getPointValueInDouble(), 2);
                            double power = powerDatasSnap.get(i).getPointValueInDouble();

                            if (powerMap.containsKey(pjfs)) {
                                double bzgl = powerMap.get(pjfs);

                                if (power > 0) {
                                    double temp1 = bzgl - power;
                                    if (temp1 > 0) {
                                        //                                            zsss += temp1;
                                        powerData.put(time, temp1);
                                        time++;
                                    }
                                }

                            } else if (CacheContext.theoreticalPowerMap.containsKey(wt.getModelId())) {
                                Map<Double, ProBasicModelPowerRd> valuemap = CacheContext.theoreticalPowerMap.get(wt.getModelId());
                                if (valuemap.containsKey(pjfs)) {
                                    double bzgl = valuemap.get(pjfs).getTheoryPower();

                                    if (power > 0) {
                                        double temp1 = bzgl - power;
                                        if (temp1 > 0) {
                                            //                                            zsss += temp1;
                                            powerData.put(time, temp1);
                                            time++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                //                zsss = zsss / pointDataList.size() >= 0 ? zsss / pointDataList.size() : 0;
            } else {
                int time = 0;
                for (int i = 0; i < ztmxDatasSnap.size(); i++) {
                    for (int j = 0; j < pointDataList.size(); j++) {
                        if (pointDataList.get(j).getPointTime().equals(ztmxDatasSnap.get(i).getPointTime())) {


                            double pjfs = StringUtils.round(speedDatasSnap.get(i).getPointValueInDouble(), 2);

                            if (powerMap.containsKey(pjfs)) {
                                double bzgl = powerMap.get(pjfs);

                                powerData.put(time, bzgl);
                                time++;

                            } else if (CacheContext.theoreticalPowerMap.containsKey(wt.getModelId())) {
                                Map<Double, ProBasicModelPowerRd> valuemap = CacheContext.theoreticalPowerMap.get(wt.getModelId());
                                if (valuemap.containsKey(pjfs)) {
                                    double bzgl = valuemap.get(pjfs).getTheoryPower();

                                    powerData.put(time, bzgl);
                                    time++;

                                }
                            }
                        }
                    }
                }

            }
            //            zsss = zsss / pointDataList.size() >= 0 ? zsss / pointDataList.size() : 0;
            double timeInterval = BigDecimal.valueOf(1).divide(new BigDecimal(120), 2, RoundingMode.HALF_EVEN).doubleValue();
            zsss = powerIntegration.calculateEnergy(powerData, timeInterval);
        }

        return zsss;
    }
}