Kaynağa Gözat

fix: 修改文件名大小写

xushili 2 ay önce
ebeveyn
işleme
e26b0aa4bc

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApp.java

@@ -25,7 +25,7 @@ public class RuoYiApp {
         ConfigurableApplicationContext run = SpringApplication.run(RuoYiApp.class, args);
         System.out.println("(♥◠‿◠)ノ゙  启动成功   ლ(´ڡ`ლ)゙  ");
         JavaFunctionJobHandler bean = run.getBean(JavaFunctionJobHandler.class);
-        DateTime parse = DateUtil.parse("2025-02-12");
+        DateTime parse = DateUtil.parse("2025-02-24");
         //bean.calcTurbine5s2_ha(parse);
         //bean.calcCzRxd(DateUtil.beginOfDay(parse), DateUtil.endOfDay(parse));
     }

+ 607 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/Fq.java

@@ -0,0 +1,607 @@
+//package com.ruoyi.web.controller;
+//
+//import cn.hutool.core.date.DateTime;
+//import cn.hutool.core.date.DateUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+//import com.ruoyi.ucp.entity.*;
+//import com.ruoyi.ucp.feign.AdapterApi;
+//import com.ruoyi.ucp.service.*;
+//import com.ruoyi.ucp.util.DatePart;
+//import com.ruoyi.ucp.util.SqlUtil;
+//import org.springframework.data.redis.core.StringRedisTemplate;
+//
+//import javax.annotation.Resource;
+//import java.util.List;
+//import java.util.Map;
+//import java.util.function.Function;
+//import java.util.stream.Collectors;
+//
+//public class Fq {
+//
+//    @Resource
+//    private AdapterApi adapter;
+//    @Resource
+//    private IPointInfoService pointService;
+//    @Resource
+//    private IStationInfoHourService stationInfoHourService;
+//    @Resource
+//    private IStationInfoDayService stationInfoDayService;
+//    @Resource
+//    private ILineInfoDayService lineInfoDayService;
+//    @Resource
+//    private IStateAiService stateAiService;
+//    @Resource
+//    private StringRedisTemplate stringRedisTemplate;
+//    @Resource
+//    private IEquipmentModelService equipmentModelService;
+//    @Resource
+//    private ITurbineInfoDayService turbineInfoDayService;
+//    @Resource
+//    private IProEconReportIndicatorPoolService reportIndicatorPoolService;
+//    @Resource
+//    private ITurbineInfoMinService turbineInfoMinService;
+//    @Resource
+//    private IStationInfoMinService stationInfoMinService;
+//    @Resource
+//    private IProBasicProjectPlanService proBasicProjectPlanService;
+//    @Resource
+//    private IHistoryPredictService historyPredictService;
+//    @Resource
+//    private IPredictExaminService predictExaminService;
+//    @Resource
+//    private IPredictExamin2Service predictExamin2Service;
+//    @Resource
+//    private IStationInfoMin2Service stationInfoMin2Service;
+//    @Resource
+//    private IProjectInfoMin2Service projectInfoMin2Service;
+//    @Resource
+//    private IRealtimePredictService realtimePredictService;
+//    @Resource
+//    private IMeterInfoDayService meterInfoDayService;
+//    @Resource
+//    private IProEconEquipmentInfoJsService proEconEquipmentInfoJsService;
+//    @Resource
+//    private IProBaseBackfillService proBaseBackfillService;
+//    @Resource
+//    private IStationInfoMonthService stationInfoMonthService;
+//
+//
+//    //计算惠安报表汇总实时
+//    public void calcHaBbHzSs() {
+//        DateTime date = DateUtil.date();
+//        DateTime begin = DateUtil.beginOfDay(date);
+//        //计算指标配置
+//        QueryWrapper<ProBaseBackfill> fillWrapper = new QueryWrapper<>();
+//        fillWrapper.eq("push_time", "12");
+//        List<ProBaseBackfill> fills = proBaseBackfillService.list(fillWrapper);
+//        Map<String, Map<String, Map<String, ProBaseBackfill>>> fillMapMap = fills.stream().collect(Collectors.groupingBy(ProBaseBackfill::getType,
+//                Collectors.groupingBy(ProBaseBackfill::getTaskDescription, Collectors.toMap(ProBaseBackfill::getOperatingMode, Function.identity()))));
+//        //指标保存表
+//        QueryWrapper<ProEconEquipmentInfoJs> eijWrapper = new QueryWrapper<>();
+//        eijWrapper.eq("record_date", begin);
+//        List<ProEconEquipmentInfoJs> eijs = proEconEquipmentInfoJsService.list(eijWrapper);
+//        Map<String, ProEconEquipmentInfoJs> eijMap = eijs.stream().collect(Collectors.toMap(ProEconEquipmentInfoJs::getMeterName, Function.identity(), (k1, k2) -> k1));
+//        Map<String, ProBaseBackfill> fillMapBq01 = fillMapMap.get("SJFDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq02 = fillMapMap.get("SWDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq03 = fillMapMap.get("GWDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq04 = fillMapMap.get("CYDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq05 = fillMapMap.get("CYDLV").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq06 = fillMapMap.get("ZHCYDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq07 = fillMapMap.get("ZHCYDLV").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq08 = fillMapMap.get("PJFS").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq09 = fillMapMap.get("DJWHDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq10 = fillMapMap.get("GZSSDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq11 = fillMapMap.get("JHFDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq12 = fillMapMap.get("LYXSS").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq13 = fillMapMap.get("SBKLYL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq14 = fillMapMap.get("SLSSDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq15 = fillMapMap.get("XDL").get("本期");
+//        Map<String, ProBaseBackfill> fillMapBq16 = fillMapMap.get("XDLV").get("本期");
+//        String select1 = SqlUtil.getSelectSum("swdl,gwdl,cydl,rfdl,hdl");
+//        String select2 = SqlUtil.getSelectAvg("pjfs,klyl,fnlyl,bll") + SqlUtil.getSelectSum("gzss,xdss,xnss,lyxs,gzcs,gz_min,tj_min,dj_min,yx_min,llfdl,yxfss");
+//        List<LineInfoDay> lidsBqQc = lineInfoDayService.getDatasByPartSelects(date, DatePart.CURRENT, select1, "project_id");
+//        List<TurbineInfoDay> tidsBqQc = turbineInfoDayService.getDatasByPartSelects(date, DatePart.CURRENT, select2, "project_id");
+//        List<ProBasicProjectPlan> plantsBqQc = proBasicProjectPlanService.getDatasByPartSelect(date, DatePart.CURRENT, "project_id");
+//        List<LineInfoDay> lidsBqCz = lineInfoDayService.getDatasByPartSelects(date, DatePart.CURRENT, select1, "station_id");
+//        List<TurbineInfoDay> tidsBqCz = turbineInfoDayService.getDatasByPartSelects(date, DatePart.CURRENT, select2, "station_id");
+//        List<ProBasicProjectPlan> plantsBqCz = proBasicProjectPlanService.getDatasByPartSelect(date, DatePart.CURRENT, "windpowerstation_id");
+//
+//        lineCalcHz(lidsBqQc, fillMapBq01, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq02, LineInfoDay::getProjectId, LineInfoDay::getSwdl, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq03, LineInfoDay::getProjectId, LineInfoDay::getGwdl, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq04, LineInfoDay::getProjectId, LineInfoDay::getCydl, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq05, LineInfoDay::getProjectId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq06, LineInfoDay::getProjectId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq07, LineInfoDay::getProjectId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq08, TurbineInfoDay::getProjectId, TurbineInfoDay::getPjfs, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq09, LineInfoDay::getProjectId, lid -> 0d, eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq10, TurbineInfoDay::getProjectId, TurbineInfoDay::getGzss, eijMap, begin);
+//        lineCalcHz(plantsBqQc, fillMapBq11, ProBasicProjectPlan::getProjectId, pbpp -> pbpp.getGeneratingCapacity() / plantsBqQc.size(), eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq12, TurbineInfoDay::getProjectId, TurbineInfoDay::getLyxs, eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq13, TurbineInfoDay::getProjectId, TurbineInfoDay::getKlyl, eijMap, begin);
+//        lineCalcHz(lidsBqQc, fillMapBq14, LineInfoDay::getProjectId, lid -> 0d, eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq15, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, begin);
+//        lineCalcHz(tidsBqQc, fillMapBq16, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, begin);
+//        lineCalcHz2(lidsBqQc, fillMapBq16, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, begin);
+//
+//        lineCalcHz(lidsBqCz, fillMapBq01, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq02, LineInfoDay::getStationId, LineInfoDay::getSwdl, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq03, LineInfoDay::getStationId, LineInfoDay::getGwdl, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq04, LineInfoDay::getStationId, LineInfoDay::getCydl, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq05, LineInfoDay::getStationId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq06, LineInfoDay::getStationId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq07, LineInfoDay::getStationId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq08, TurbineInfoDay::getStationId, TurbineInfoDay::getPjfs, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq09, LineInfoDay::getStationId, lid -> 0d, eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq10, TurbineInfoDay::getStationId, TurbineInfoDay::getGzss, eijMap, begin);
+//        lineCalcHz(plantsBqCz, fillMapBq11, ProBasicProjectPlan::getWindpowerstationId, pbpp -> pbpp.getGeneratingCapacity() / plantsBqCz.size(), eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq12, TurbineInfoDay::getStationId, TurbineInfoDay::getLyxs, eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq13, TurbineInfoDay::getStationId, TurbineInfoDay::getKlyl, eijMap, begin);
+//        lineCalcHz(lidsBqCz, fillMapBq14, LineInfoDay::getStationId, lid -> 0d, eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq15, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, begin);
+//        lineCalcHz(tidsBqCz, fillMapBq16, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, begin);
+//        lineCalcHz2(lidsBqCz, fillMapBq16, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, begin);
+//        proEconEquipmentInfoJsService.saveOrUpdateBatch(eijMap.values());
+//    }
+//
+//    //计算惠安报表汇总实时
+//    /*public void calcHaBbHz2(Date date) {
+//        DateTime begin = DateUtil.beginOfDay(date);
+//        DateTime yesterday = DateUtil.offsetDay(begin, -1);
+//        //计算指标配置
+//        QueryWrapper<ProBaseBackfill> fillWrapper = new QueryWrapper<>();
+//        fillWrapper.eq("push_time", "12");
+//        List<ProBaseBackfill> fills = proBaseBackfillService.list(fillWrapper);
+//        Map<String, Map<String, Map<String, ProBaseBackfill>>> fillMapMap = fills.stream().collect(Collectors.groupingBy(ProBaseBackfill::getType,
+//                Collectors.groupingBy(ProBaseBackfill::getTaskDescription, Collectors.toMap(ProBaseBackfill::getOperatingMode, Function.identity()))));
+//        //指标保存表
+//        QueryWrapper<ProEconEquipmentInfoJs> eijWrapper = new QueryWrapper<>();
+//        eijWrapper.eq("record_date", yesterday);
+//        List<ProEconEquipmentInfoJs> eijs = proEconEquipmentInfoJsService.list(eijWrapper);
+//        Map<String, ProEconEquipmentInfoJs> eijMap = eijs.stream().collect(Collectors.toMap(ProEconEquipmentInfoJs::getMeterName, Function.identity(), (k1, k2) -> k1));
+//        //风机日月发电量
+//        Map<String, ProBaseBackfill> fillMapFdlR = fillMapMap.get("FDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapFdlY = fillMapMap.get("FDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapFdlN = fillMapMap.get("FDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapFdlR2 = fillMapMap.get("FDLFJ").get("日");
+//        Map<String, ProBaseBackfill> fillMapFdlY2 = fillMapMap.get("FDLFJ").get("月");
+//        Map<String, ProBaseBackfill> fillMapFdlN2 = fillMapMap.get("FDLFJ").get("年");
+//
+//        List<TurbineInfoDay> tidsR = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, SqlUtil.getSelectSum("rfdl"), "turbine_id");
+//        List<TurbineInfoDay> tidsY = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, SqlUtil.getSelectSum("rfdl"), "turbine_id");
+//        lineCalcHz(tidsR, fillMapFdlR, TurbineInfoDay::getTurbineId, tid -> Double.valueOf(tid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(tidsY, fillMapFdlY, TurbineInfoDay::getTurbineId, tid -> Double.valueOf(tid.getRfdl()), eijMap, yesterday);
+//        //实际发电量	SJFDL,上网电量	SWDL,购网电量	GWDL,场用电量	CYDL,场用电率	CYDL,综合场用电量	ZHCYDL
+//        //综合场用电率	ZHCYDL,平均风速	PJFS,定检维护电量	DJWHDL,故障损失电量	GZSSDL,计划发电量	JHFDL
+//        //利用小时数	LYXSS,设备可利用率	SBKLYL,受累损失电量	SLSSDL,限电量	XDL,限电率	XDL
+//        Map<String, ProBaseBackfill> fillMapR02 = fillMapMap.get("SWDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapR03 = fillMapMap.get("GWDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapR17 = fillMapMap.get("HDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapR18 = fillMapMap.get("FNLYL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY01 = fillMapMap.get("SJFDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY02 = fillMapMap.get("SWDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY03 = fillMapMap.get("GWDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY04 = fillMapMap.get("CYDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY05 = fillMapMap.get("CYDLV").get("月");
+//        Map<String, ProBaseBackfill> fillMapY06 = fillMapMap.get("ZHCYDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY07 = fillMapMap.get("ZHCYDLV").get("月");
+//        Map<String, ProBaseBackfill> fillMapY08 = fillMapMap.get("PJFS").get("月");
+//        Map<String, ProBaseBackfill> fillMapY09 = fillMapMap.get("DJWHDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY10 = fillMapMap.get("GZSSDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY11 = fillMapMap.get("JHFDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY12 = fillMapMap.get("LYXSS").get("月");
+//        Map<String, ProBaseBackfill> fillMapY13 = fillMapMap.get("SBKLYL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY14 = fillMapMap.get("SLSSDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY15 = fillMapMap.get("XDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY16 = fillMapMap.get("XDLV").get("月");
+//        Map<String, ProBaseBackfill> fillMapY17 = fillMapMap.get("HDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapY18 = fillMapMap.get("FNLYL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN01 = fillMapMap.get("SJFDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN02 = fillMapMap.get("SWDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN03 = fillMapMap.get("GWDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN04 = fillMapMap.get("CYDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN05 = fillMapMap.get("CYDLV").get("年");
+//        Map<String, ProBaseBackfill> fillMapN06 = fillMapMap.get("ZHCYDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN07 = fillMapMap.get("ZHCYDLV").get("年");
+//        Map<String, ProBaseBackfill> fillMapN08 = fillMapMap.get("PJFS").get("年");
+//        Map<String, ProBaseBackfill> fillMapN09 = fillMapMap.get("DJWHDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN10 = fillMapMap.get("GZSSDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN11 = fillMapMap.get("JHFDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN12 = fillMapMap.get("LYXSS").get("年");
+//        Map<String, ProBaseBackfill> fillMapN13 = fillMapMap.get("SBKLYL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN14 = fillMapMap.get("SLSSDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN15 = fillMapMap.get("XDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapN16 = fillMapMap.get("XDLV").get("年");
+//        Map<String, ProBaseBackfill> fillMapN18 = fillMapMap.get("FNLYL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR19 = fillMapMap.get("GZCS").get("日");
+//        Map<String, ProBaseBackfill> fillMapY19 = fillMapMap.get("GZCS").get("月");
+//        Map<String, ProBaseBackfill> fillMapN19 = fillMapMap.get("GZCS").get("年");
+//        Map<String, ProBaseBackfill> fillMapR20 = fillMapMap.get("GZSC").get("日");
+//        Map<String, ProBaseBackfill> fillMapY20 = fillMapMap.get("GZSC").get("月");
+//        Map<String, ProBaseBackfill> fillMapN20 = fillMapMap.get("GZSC").get("年");
+//        Map<String, ProBaseBackfill> fillMapR21 = fillMapMap.get("JHTJSC").get("日");
+//        Map<String, ProBaseBackfill> fillMapY21 = fillMapMap.get("JHTJSC").get("月");
+//        Map<String, ProBaseBackfill> fillMapN21 = fillMapMap.get("JHTJSC").get("年");
+//        Map<String, ProBaseBackfill> fillMapR22 = fillMapMap.get("JSDJSC").get("日");
+//        Map<String, ProBaseBackfill> fillMapY22 = fillMapMap.get("JSDJSC").get("月");
+//        Map<String, ProBaseBackfill> fillMapN22 = fillMapMap.get("JSDJSC").get("年");
+//        Map<String, ProBaseBackfill> fillMapR23 = fillMapMap.get("KQMD").get("日");
+//        Map<String, ProBaseBackfill> fillMapY23 = fillMapMap.get("KQMD").get("月");
+//        Map<String, ProBaseBackfill> fillMapN23 = fillMapMap.get("KQMD").get("年");
+//        Map<String, ProBaseBackfill> fillMapR24 = fillMapMap.get("KYDLZQL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY24 = fillMapMap.get("KYDLZQL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN24 = fillMapMap.get("KYDLZQL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR25 = fillMapMap.get("LLFDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY25 = fillMapMap.get("LLFDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN25 = fillMapMap.get("LLFDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR26 = fillMapMap.get("PJQW").get("日");
+//        Map<String, ProBaseBackfill> fillMapY26 = fillMapMap.get("PJQW").get("月");
+//        Map<String, ProBaseBackfill> fillMapN26 = fillMapMap.get("PJQW").get("年");
+//        Map<String, ProBaseBackfill> fillMapR27 = fillMapMap.get("PJTJSC").get("日");
+//        Map<String, ProBaseBackfill> fillMapY27 = fillMapMap.get("PJTJSC").get("月");
+//        Map<String, ProBaseBackfill> fillMapN27 = fillMapMap.get("PJTJSC").get("年");
+//        Map<String, ProBaseBackfill> fillMapR28 = fillMapMap.get("QFXDLV").get("日");
+//        Map<String, ProBaseBackfill> fillMapY28 = fillMapMap.get("QFXDLV").get("月");
+//        Map<String, ProBaseBackfill> fillMapN28 = fillMapMap.get("QFXDLV").get("年");
+//        Map<String, ProBaseBackfill> fillMapR29 = fillMapMap.get("XNSSDL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY29 = fillMapMap.get("XNSSDL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN29 = fillMapMap.get("XNSSDL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR30 = fillMapMap.get("XNSSL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY30 = fillMapMap.get("XNSSL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN30 = fillMapMap.get("XNSSL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR31 = fillMapMap.get("YXBLL").get("日");
+//        Map<String, ProBaseBackfill> fillMapY31 = fillMapMap.get("YXBLL").get("月");
+//        Map<String, ProBaseBackfill> fillMapN31 = fillMapMap.get("YXBLL").get("年");
+//        Map<String, ProBaseBackfill> fillMapR32 = fillMapMap.get("YXFSS").get("日");
+//        Map<String, ProBaseBackfill> fillMapY32 = fillMapMap.get("YXFSS").get("月");
+//        Map<String, ProBaseBackfill> fillMapN32 = fillMapMap.get("YXFSS").get("年");
+//        Map<String, ProBaseBackfill> fillMapR33 = fillMapMap.get("YXXS").get("日");
+//        Map<String, ProBaseBackfill> fillMapY33 = fillMapMap.get("YXXS").get("月");
+//        Map<String, ProBaseBackfill> fillMapN33 = fillMapMap.get("YXXS").get("年");
+//        Map<String, ProBaseBackfill> fillMapR34 = fillMapMap.get("ZRYSTJSC").get("日");
+//        Map<String, ProBaseBackfill> fillMapY34 = fillMapMap.get("ZRYSTJSC").get("月");
+//        Map<String, ProBaseBackfill> fillMapN34 = fillMapMap.get("ZRYSTJSC").get("年");
+//        String select1 = SqlUtil.getSelectSum("swdl,gwdl,cydl,rfdl,hdl");
+//        String select2 = SqlUtil.getSelectAvg("pjfs,klyl,fnlyl,bll") + SqlUtil.getSelectSum("gzss,xdss,xnss,lyxs,gzcs,gz_min,tj_min,dj_min,yx_min,rfdl,llfdl,yxfss");
+//        String select3 = SqlUtil.getSelectSum("fdl,hdl");
+//        String select4 = SqlUtil.getSelectAvg("qfxdl") + SqlUtil.getSelectSum("rfdl,rfdl_fj,kqmd,hjwd");
+//        //线路
+//        List<LineInfoDay> lidsRXl = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select1, "line_id");
+//        List<LineInfoDay> lidsYXl = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select1, "line_id");
+//        List<LineInfoDay> lidsYQc = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select1, "project_id");
+//        List<LineInfoDay> lidsRCz = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select1, "station_id");
+//        List<LineInfoDay> lidsYCz = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select1, "station_id");
+//        List<LineInfoDay> lidsNQc = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.YEAR, select1, "project_id");
+//        List<LineInfoDay> lidsNCz = lineInfoDayService.getDatasByPartSelects(yesterday, DatePart.YEAR, select1, "station_id");
+//        //风机
+//        List<TurbineInfoDay> tidsRXl = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select2, "line_id");
+//        List<TurbineInfoDay> tidsRCz = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select2, "station_id");
+//        List<TurbineInfoDay> tidsYXl = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select2, "line_id");
+//        List<TurbineInfoDay> tidsYQc = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select2, "project_id");
+//        List<TurbineInfoDay> tidsYCz = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select2, "station_id");
+//        List<TurbineInfoDay> tidsNQc = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.YEAR, select2, "project_id");
+//        List<TurbineInfoDay> tidsNCz = turbineInfoDayService.getDatasByPartSelects(yesterday, DatePart.YEAR, select2, "station_id");
+//        //场站
+//        List<StationInfoDay> sidR = stationInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select4, "station_id");
+//        List<StationInfoDay> sidY = stationInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select4, "station_id");
+//        List<StationInfoDay> sidN = stationInfoDayService.getDatasByPartSelects(yesterday, DatePart.YEAR, select4, "station_id");
+//        //电计量
+//        List<MeterInfoDay> midsRMt = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select3, "meter_id");
+//        List<MeterInfoDay> midsYMt = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select3, "meter_id");
+//        List<MeterInfoDay> midsRPrt = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select3, "parent_id");
+//        List<MeterInfoDay> midsYPrt = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select3, "parent_id");
+//        List<MeterInfoDay> midsRBst = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.DAY, select3, "booster_id");
+//        List<MeterInfoDay> midsYBst = meterInfoDayService.getDatasByPartSelects(yesterday, DatePart.MONTH, select3, "booster_id");
+//        //计划电量
+//        List<ProBasicProjectPlan> plantsYQc = proBasicProjectPlanService.getDatasByPartSelect(yesterday, DatePart.MONTH, "project_id");
+//        List<ProBasicProjectPlan> plantsYCz = proBasicProjectPlanService.getDatasByPartSelect(yesterday, DatePart.MONTH, "windpowerstation_id");
+//        List<ProBasicProjectPlan> plantsNQc = proBasicProjectPlanService.getDatasByPartSelect(yesterday, DatePart.YEAR, "project_id");
+//        List<ProBasicProjectPlan> plantsNCz = proBasicProjectPlanService.getDatasByPartSelect(yesterday, DatePart.YEAR, "windpowerstation_id");
+//
+//        //故障次数、时长。。。
+//        lineCalcHz(tidsRCz, fillMapR19, TurbineInfoDay::getStationId, tid -> Double.valueOf(tid.getGzcs()), eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY19, TurbineInfoDay::getStationId, tid -> Double.valueOf(tid.getGzcs()), eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN19, TurbineInfoDay::getStationId, tid -> Double.valueOf(tid.getGzcs()), eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR20, TurbineInfoDay::getStationId, tid -> tid.getGzMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY20, TurbineInfoDay::getStationId, tid -> tid.getGzMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN20, TurbineInfoDay::getStationId, tid -> tid.getGzMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR21, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY21, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN21, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR22, TurbineInfoDay::getStationId, tid -> tid.getDjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY22, TurbineInfoDay::getStationId, tid -> tid.getDjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN22, TurbineInfoDay::getStationId, tid -> tid.getDjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapR23, StationInfoDay::getStationId, StationInfoDay::getKqmd, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapY23, StationInfoDay::getStationId, StationInfoDay::getKqmd, eijMap, yesterday);
+//        lineCalcHz(sidN, fillMapN23, StationInfoDay::getStationId, StationInfoDay::getKqmd, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapR24, StationInfoDay::getStationId, StationInfoDay::getKydlzql, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapY24, StationInfoDay::getStationId, StationInfoDay::getKydlzql, eijMap, yesterday);
+//        lineCalcHz(sidN, fillMapN24, StationInfoDay::getStationId, StationInfoDay::getKydlzql, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR25, TurbineInfoDay::getStationId, tid -> tid.getLlfdl() / 1000, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY25, TurbineInfoDay::getStationId, tid -> tid.getLlfdl() / 1000, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN25, TurbineInfoDay::getStationId, tid -> tid.getLlfdl() / 1000, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapR26, StationInfoDay::getStationId, StationInfoDay::getHjwd, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapY26, StationInfoDay::getStationId, StationInfoDay::getHjwd, eijMap, yesterday);
+//        lineCalcHz(sidN, fillMapN26, StationInfoDay::getStationId, StationInfoDay::getHjwd, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR27, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY27, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN27, TurbineInfoDay::getStationId, tid -> tid.getTjMin() / 60, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapR28, StationInfoDay::getStationId, StationInfoDay::getQfxdl, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapY28, StationInfoDay::getStationId, StationInfoDay::getQfxdl, eijMap, yesterday);
+//        lineCalcHz(sidN, fillMapN28, StationInfoDay::getStationId, StationInfoDay::getQfxdl, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR29, TurbineInfoDay::getStationId, tid -> tid.getXnss() / 1000, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY29, TurbineInfoDay::getStationId, tid -> tid.getXnss() / 1000, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN29, TurbineInfoDay::getStationId, tid -> tid.getXnss() / 1000, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR30, TurbineInfoDay::getStationId, TurbineInfoDay::getXnss, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY30, TurbineInfoDay::getStationId, TurbineInfoDay::getXnss, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN30, TurbineInfoDay::getStationId, TurbineInfoDay::getXnss, eijMap, yesterday);
+//        lineCalcHz2(sidR, fillMapR30, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz2(sidY, fillMapY30, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz2(sidN, fillMapN30, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR31, TurbineInfoDay::getStationId, TurbineInfoDay::getBll, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY31, TurbineInfoDay::getStationId, TurbineInfoDay::getBll, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN31, TurbineInfoDay::getStationId, TurbineInfoDay::getBll, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR32, TurbineInfoDay::getStationId, TurbineInfoDay::getYxfss, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY32, TurbineInfoDay::getStationId, TurbineInfoDay::getYxfss, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN32, TurbineInfoDay::getStationId, TurbineInfoDay::getYxfss, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR33, TurbineInfoDay::getStationId, tid -> tid.getYxMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY33, TurbineInfoDay::getStationId, tid -> tid.getYxMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN33, TurbineInfoDay::getStationId, tid -> tid.getYxMin() / 60, eijMap, yesterday);
+//        lineCalcHz(tidsRCz, fillMapR34, TurbineInfoDay::getStationId, tid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY34, TurbineInfoDay::getStationId, tid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN34, TurbineInfoDay::getStationId, tid -> 0d, eijMap, yesterday);
+//        //风能利用率
+//        lineCalcHz(tidsRCz, fillMapR18, TurbineInfoDay::getStationId, TurbineInfoDay::getFnlyl, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY18, TurbineInfoDay::getStationId, TurbineInfoDay::getFnlyl, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN18, TurbineInfoDay::getStationId, TurbineInfoDay::getFnlyl, eijMap, yesterday);
+//        //发电量日
+//        lineCalcHz(midsRMt, fillMapFdlR, MeterInfoDay::getMeterId, MeterInfoDay::getFdl, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapFdlR2, StationInfoDay::getStationId, StationInfoDay::getRfdlFj, eijMap, yesterday);
+//        lineCalcHz(sidR, fillMapFdlR, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsRXl, fillMapFdlR, LineInfoDay::getLineId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(tidsRXl, fillMapFdlR2, TurbineInfoDay::getLineId, TurbineInfoDay::getRfdl, eijMap, yesterday);
+//        lineCalcHz(lidsRCz, fillMapR03, LineInfoDay::getStationId, LineInfoDay::getGwdl, eijMap, yesterday);
+//        lineCalcHz(lidsRCz, fillMapR02, LineInfoDay::getStationId, LineInfoDay::getSwdl, eijMap, yesterday);
+//        //发电量月
+//        lineCalcHz(midsYMt, fillMapFdlY, MeterInfoDay::getMeterId, MeterInfoDay::getFdl, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapFdlY2, StationInfoDay::getStationId, StationInfoDay::getRfdlFj, eijMap, yesterday);
+//        lineCalcHz(sidY, fillMapFdlY, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsYXl, fillMapFdlY, LineInfoDay::getLineId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(tidsYXl, fillMapFdlY2, TurbineInfoDay::getLineId, TurbineInfoDay::getRfdl, eijMap, yesterday);
+//        //发电量年
+//        lineCalcHz(sidN, fillMapFdlN2, StationInfoDay::getStationId, StationInfoDay::getRfdlFj, eijMap, yesterday);
+//        lineCalcHz(sidN, fillMapFdlN, StationInfoDay::getStationId, sid -> Double.valueOf(sid.getRfdl()), eijMap, yesterday);
+//        //耗电量日
+//        lineCalcHz(midsRMt, fillMapR17, MeterInfoDay::getMeterId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(midsRPrt, fillMapR17, MeterInfoDay::getParentId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(midsRBst, fillMapR17, MeterInfoDay::getBoosterId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(lidsRXl, fillMapR17, LineInfoDay::getLineId, LineInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(lidsRCz, fillMapR17, LineInfoDay::getStationId, LineInfoDay::getHdl, eijMap, yesterday);
+//        //耗电量月
+//        lineCalcHz(midsYMt, fillMapY17, MeterInfoDay::getMeterId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(midsYPrt, fillMapY17, MeterInfoDay::getParentId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(midsYBst, fillMapY17, MeterInfoDay::getBoosterId, MeterInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(lidsYXl, fillMapY17, LineInfoDay::getLineId, LineInfoDay::getHdl, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY17, LineInfoDay::getStationId, LineInfoDay::getHdl, eijMap, yesterday);
+//        //期次月
+//        lineCalcHz(lidsYQc, fillMapY01, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY02, LineInfoDay::getProjectId, LineInfoDay::getSwdl, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY03, LineInfoDay::getProjectId, LineInfoDay::getGwdl, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY04, LineInfoDay::getProjectId, LineInfoDay::getCydl, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY05, LineInfoDay::getProjectId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY06, LineInfoDay::getProjectId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY07, LineInfoDay::getProjectId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY08, TurbineInfoDay::getProjectId, TurbineInfoDay::getPjfs, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY09, LineInfoDay::getProjectId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY10, TurbineInfoDay::getProjectId, TurbineInfoDay::getGzss, eijMap, yesterday);
+//        lineCalcHz(plantsYQc, fillMapY11, ProBasicProjectPlan::getProjectId, pbpp -> pbpp.getGeneratingCapacity() / plantsYQc.size(), eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY12, TurbineInfoDay::getProjectId, TurbineInfoDay::getLyxs, eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY13, TurbineInfoDay::getProjectId, TurbineInfoDay::getKlyl, eijMap, yesterday);
+//        lineCalcHz(lidsYQc, fillMapY14, LineInfoDay::getProjectId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY15, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz(tidsYQc, fillMapY16, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz2(lidsYQc, fillMapY16, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        //期次年
+//        lineCalcHz(lidsNQc, fillMapN01, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN02, LineInfoDay::getProjectId, LineInfoDay::getSwdl, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN03, LineInfoDay::getProjectId, LineInfoDay::getGwdl, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN04, LineInfoDay::getProjectId, LineInfoDay::getCydl, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN05, LineInfoDay::getProjectId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN06, LineInfoDay::getProjectId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN07, LineInfoDay::getProjectId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN08, TurbineInfoDay::getProjectId, TurbineInfoDay::getPjfs, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN09, LineInfoDay::getProjectId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN10, TurbineInfoDay::getProjectId, TurbineInfoDay::getGzss, eijMap, yesterday);
+//        lineCalcHz(plantsNQc, fillMapN11, ProBasicProjectPlan::getProjectId, pbpp -> pbpp.getGeneratingCapacity() / plantsNQc.size(), eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN12, TurbineInfoDay::getProjectId, TurbineInfoDay::getLyxs, eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN13, TurbineInfoDay::getProjectId, TurbineInfoDay::getKlyl, eijMap, yesterday);
+//        lineCalcHz(lidsNQc, fillMapN14, LineInfoDay::getProjectId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN15, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz(tidsNQc, fillMapN16, TurbineInfoDay::getProjectId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz2(lidsNQc, fillMapN16, LineInfoDay::getProjectId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        //场站月
+//        lineCalcHz(lidsYCz, fillMapY01, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY02, LineInfoDay::getStationId, LineInfoDay::getSwdl, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY03, LineInfoDay::getStationId, LineInfoDay::getGwdl, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY04, LineInfoDay::getStationId, LineInfoDay::getCydl, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY05, LineInfoDay::getStationId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY06, LineInfoDay::getStationId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY07, LineInfoDay::getStationId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY08, TurbineInfoDay::getStationId, TurbineInfoDay::getPjfs, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY09, LineInfoDay::getStationId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY10, TurbineInfoDay::getStationId, TurbineInfoDay::getGzss, eijMap, yesterday);
+//        lineCalcHz(plantsYCz, fillMapY11, ProBasicProjectPlan::getWindpowerstationId, pbpp -> pbpp.getGeneratingCapacity() / plantsYCz.size(), eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY12, TurbineInfoDay::getStationId, TurbineInfoDay::getLyxs, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY13, TurbineInfoDay::getStationId, TurbineInfoDay::getKlyl, eijMap, yesterday);
+//        lineCalcHz(lidsYCz, fillMapY14, LineInfoDay::getStationId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY15, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz(tidsYCz, fillMapY16, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz2(lidsYCz, fillMapY16, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        //场站年
+//        lineCalcHz(lidsNCz, fillMapN01, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN02, LineInfoDay::getStationId, LineInfoDay::getSwdl, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN03, LineInfoDay::getStationId, LineInfoDay::getGwdl, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN04, LineInfoDay::getStationId, LineInfoDay::getCydl, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN05, LineInfoDay::getStationId, lid -> lid.getCydl() / lid.getRfdl() * 100, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN06, LineInfoDay::getStationId, lid -> lid.getRfdl() - lid.getSwdl() + lid.getGwdl(), eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN07, LineInfoDay::getStationId, lid -> (lid.getRfdl() - lid.getSwdl() + lid.getGwdl()) / lid.getRfdl(), eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN08, TurbineInfoDay::getStationId, TurbineInfoDay::getPjfs, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN09, LineInfoDay::getStationId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN10, TurbineInfoDay::getStationId, TurbineInfoDay::getGzss, eijMap, yesterday);
+//        lineCalcHz(plantsNCz, fillMapN11, ProBasicProjectPlan::getWindpowerstationId, pbpp -> pbpp.getGeneratingCapacity() / plantsNCz.size(), eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN12, TurbineInfoDay::getStationId, TurbineInfoDay::getLyxs, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN13, TurbineInfoDay::getStationId, TurbineInfoDay::getKlyl, eijMap, yesterday);
+//        lineCalcHz(lidsNCz, fillMapN14, LineInfoDay::getStationId, lid -> 0d, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN15, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz(tidsNCz, fillMapN16, TurbineInfoDay::getStationId, TurbineInfoDay::getXdss, eijMap, yesterday);
+//        lineCalcHz2(lidsNCz, fillMapN16, LineInfoDay::getStationId, lid -> Double.valueOf(lid.getRfdl()), eijMap, yesterday);
+//        proEconEquipmentInfoJsService.saveOrUpdateBatch(eijMap.values());
+//    }*/
+//
+//    //    public void lineCalcHz(List<LineInfoDay> lids, Map<String, ProBaseBackfill> fillMap, Function<LineInfoDay, String> type, Function<LineInfoDay, Double> algorithm, Map<String, ProEconEquipmentInfoJs> eijMap, DateTime yesterday) {
+//    //        for (LineInfoDay day : lids) {
+//    //            String id = type.apply(day);
+//    //            ProBaseBackfill fill = fillMap.get(id);
+//    //            ProEconEquipmentInfoJs js = getPeeijs(fill, eijMap, yesterday);
+//    //            js.setStopCode(algorithm.apply(day));
+//    //        }
+//    //    }
+//
+//    //    public void calcTurbineJfplPjfxGlyzxxs(Date date) {
+//    //        //静风频率,平均风向、功率一致性系数
+//    //        //date当天零点
+//    //        DateTime time = DateUtil.beginOfDay(date);
+//    //        //date昨天零点
+//    //        DateTime time0 = DateUtil.offsetDay(time, -1);
+//    //
+//    //        List<PointInfo> entityFx = getEntity("AI066", "turbine");
+//    //        getStatDataByEntity();
+//    //        getZeroNextData(entity, time0, time);
+//    //        Map<String, PointInfo> turMap = entity.stream().collect(Collectors.toMap(PointInfo::getTurbineId, Function.identity()));
+//    //        Map<String, String> fsMap = getEntityMap("AI066", "turbine");
+//    //
+//    //        Map<String, TurbineInfoDay> byDate = getTurbineinfoMap(time0, entity);
+//    //
+//    //        TurbineInfoDay infoDay;
+//    //        PointInfo rfdlPi;
+//    //        String turbineId;
+//    //        List<TurbineInfoDay> infoDays = new ArrayList<>();
+//    //        DoubleStatData stat;
+//    //        for (PointInfo info : entity) {
+//    //            turbineId = info.getTurbineId();
+//    //            infoDay = byDate.get(turbineId);
+//    //
+//    //            rfdlPi = turMap.get(turbineId);
+//    //            double v = (rfdlPi.getPointDatas().get(1).getValue() - rfdlPi.getPointDatas().get(0).getValue()) * rfdlPi.getCoef();
+//    //            if (v < 0 || v > 1000000) {
+//    //                v = 0;
+//    //            } else if (v > 30000) {
+//    //                v = v / (v % 30000 + 3);
+//    //            }
+//    //            infoDay.setRfdl(v);
+//    //            stat = adapter.getHistoryStat(goldenUri(), fsMap.get(turbineId), time0.getTime(), time.getTime());
+//    //            if (stat == null) {
+//    //                infoDay.setPjfs(0.0);
+//    //            } else {
+//    //                infoDay.setPjfs(stat.getAvg().getValue());
+//    //            }
+//    //
+//    //            infoDays.add(infoDay);
+//    //        }
+//    //        turbineInfoDayService.saveOrUpdateBatch(infoDays);
+//    //    }
+//
+//    public <T> void lineCalcHz(List<T> items, Map<String, ProBaseBackfill> fillMap, Function<T, String> type, Function<T, Double> algorithm, Map<String, ProEconEquipmentInfoJs> eijMap, DateTime yesterday) {
+//        for (T item : items) {
+//            String id = type.apply(item);
+//            ProBaseBackfill fill = fillMap.get(id);
+//            if (fill == null) continue;
+//            ProEconEquipmentInfoJs js = getPeeijs(fill, eijMap, yesterday);
+//            js.setStopCode(algorithm.apply(item));
+//        }
+//    }
+//
+//    public <T> void lineCalcHz3(List<T> items, Map<String, ProBaseBackfill> fillMap, Function<T, String> type, Function<List<T>, Double> algorithm, Map<String, ProEconEquipmentInfoJs> eijMap, DateTime yesterday) {
+//        Map<String, List<T>> mslt = items.stream().collect(Collectors.groupingBy(type));
+//        mslt.forEach((id, lt) -> {
+//            ProBaseBackfill fill = fillMap.get(id);
+//            if (fill == null) return;
+//            ProEconEquipmentInfoJs js = getPeeijs(fill, eijMap, yesterday);
+//            js.setStopCode(algorithm.apply(lt));
+//        });
+//    }
+//
+//    private ProEconEquipmentInfoJs getPeeijs(ProBaseBackfill fill, Map<String, ProEconEquipmentInfoJs> eijMap, DateTime yesterday) {
+//        return null;
+//    }
+//
+//    public <T> void lineCalcHz2(List<T> items, Map<String, ProBaseBackfill> fillMap, Function<T, String> type, Function<T, Double> algorithm, Map<String, ProEconEquipmentInfoJs> eijMap, DateTime yesterday) {
+//        for (T item : items) {
+//            String id = type.apply(item);
+//            ProBaseBackfill fill = fillMap.get(id);
+//            if (fill == null) continue;
+//            ProEconEquipmentInfoJs js = getPeeijs(fill, eijMap, yesterday);
+//            double apply = algorithm.apply(item);
+//            double v;
+//            if (apply == 0) {
+//                v = 0d;
+//            } else {
+//                v = js.getStopCode() / apply * 100;
+//                if (v > 100) v = 100d;
+//            }
+//            js.setStopCode(v);
+//        }
+//    }
+//}
+//public void calcStationRealtimeLLgl() {
+//    DateTime end = DateUtil.date();
+//    DateTime date = DateUtil.offsetMinute(end, -5);
+//    Map<String, String> llglMap = getEntityMap("SSZLLGL", "station");
+//    Map<String, String> bzglMap = getEntityMap("SSZBZGL", "station");
+//    //出线
+//    List<PointInfo> entityCx = getEntity("AGC020", "booster");
+//    getLatestByEntity(entityCx);
+//    //风速
+//    List<PointInfo> entityFs = getEntity("AI066", "turbine");
+//    getRawDataByEntity(entityFs, goldenUri(), date, end);
+//    int k = 0;
+//    for (PointInfo fsPi : entityFs) {
+//        List<PointData> pds = fsPi.getPointDatas();
+//        if (pds.size() == 0) k++;
+//        Double pd = pds.stream().mapToDouble(PointData::getValue).average().orElse(0);
+//        double fs = pd > 25 ? 24.99 : pd < 0 ? 0 : NumberUtil.round(pd, 2).doubleValue();
+//        double llgl = fs < 3 ? 0d : CalcCache.fitcoef.get(fsPi.getTurbineId()).get(fs);
+//        double bzgl = fs < 3 ? 0d : CalcCache.llgl.get(fsPi.getTurbineId()).get(fs);
+//        fsPi.setSpare2(llgl);
+//        fsPi.setCoef(bzgl);
+//    }
+//    Map<String, List<PointInfo>> stPisMap = entityFs.stream().collect(Collectors.groupingBy(PointInfo::getStationId));
+//    List<PointData> pds = new ArrayList<>();
+//    for (PointInfo cx : entityCx) {
+//        PointData pdCx = cx.getPointDatas().get(0);
+//        double sjgl = pdCx.getValue() * cx.getCoef();
+//        List<PointInfo> piInfos = stPisMap.get(cx.getStationId());
+//        if(k>piInfos.size()*0.4) continue;
+//
+//        double llgl = piInfos.stream().mapToDouble(pi -> pi.getSpare2()).sum();
+//        double bzgl = piInfos.stream().mapToDouble(pi -> pi.getCoef()).sum();
+//        if (pdCx.getTs() + 10 * 60 * 1000 > end.getTime()) {
+//            if (llgl < sjgl) llgl = sjgl * 1.0005;
+//            if (llgl > sjgl * 1.5 && sjgl > 0) llgl = sjgl * 1.5;
+//        } else {
+//            System.out.println("实际功率测点离线");
+//        }
+//        long l = end.getTime();
+//        PointData data = new PointData();
+//        data.setTs(l);
+//        data.setTagName(llglMap.get(cx.getStationId()));
+//        data.setDoubleValue(llgl);
+//        PointData data2 = new PointData();
+//        data2.setTs(l);
+//        data2.setTagName(bzglMap.get(cx.getStationId()));
+//        data2.setDoubleValue(bzgl);
+//        pds.add(data);
+//        pds.add(data2);
+//    }
+//    adapter.writeHistoryBatch(taosUri(), pds);
+//}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 110 - 61
ruoyi-admin/src/main/java/com/ruoyi/web/controller/JavaFunctionJobHandler.java


+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/PredictController.java

@@ -21,7 +21,7 @@ import java.util.stream.Collectors;
 
 //@RestController
 //@RestController
-@RequestMapping("/predict")
+//@RequestMapping("/predict")
 public class PredictController {
 
     @Resource

+ 13 - 5
ruoyi-admin/src/test/java/com/ruoyi/NewTests.java

@@ -352,8 +352,8 @@ public class NewTests {
     public void test10() {
         //        DateTime date = DateUtil.date();
         // 创建日期范围生成器
-        DateTime start = DateUtil.parse("2025-01-13");
-        DateTime end = DateUtil.parse("2025-01-13");
+        DateTime start = DateUtil.parse("2025-02-02");
+        DateTime end = DateUtil.parse("2025-02-24");
         DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
         for (DateTime date : range) {
             //System.out.println(DateUtil.date() + ":" + date);
@@ -362,7 +362,7 @@ public class NewTests {
             //task.calcLineRfdl_ha(date);
             //
             ////上网购网厂用电量
-            task.calcStationSwGwCyRdl_ha(date);
+            //task.calcStationSwGwCyRdl_ha(date);
             ////计算综合厂用电量
             //task.calcStationZhcyRfDl(date);
             ////风机日环境温度
@@ -372,7 +372,7 @@ public class NewTests {
             //
             //task.calcLineSwGWCyDl(date);
             //
-            task.calcTurbine5s2_ha(date);
+            //task.calcTurbine5s2_ha(date);
             //task.calcTurbineLyxs(date.toJdkDate());
             ////风机状态时间
             //task.calcTurbineStateMin(date);
@@ -394,8 +394,9 @@ public class NewTests {
             DateTime b1 = DateUtil.offsetDay(date, -1);
             DateTime b2 = DateUtil.endOfDay(b1);
             //task.calcTurbineRFDL(t1, t2);
+            //task.calcStationRfdlFj(b1);
             task.calcHaBbHz(date);
-            task.calcHaBbHzSs(b1, b2);
+            //task.calcHaBbHzSs(b1, b2);
             //task.calcRYNxdl(b, date);
 
             //task.calcTurbineStateMin(date);
@@ -496,4 +497,11 @@ public class NewTests {
         example.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         example.setVisible(true);
     }
+
+    @Test
+    public void test17() {
+        DateTime begin = DateUtil.parse("2025-02-23");
+        DateTime end = DateUtil.endOfDay(begin);
+        task.calcTurbine5s(begin, end, 0.1);
+    }
 }

+ 5 - 0
universal-computing-platform/pom.xml

@@ -107,6 +107,11 @@
             <artifactId>mybatis-plus-boot-starter</artifactId>
             <version>3.5.3.2</version>
         </dependency>
+        <dependency>
+            <groupId>org.jfree</groupId>
+            <artifactId>jfreechart</artifactId>
+            <version>1.5.5</version>
+        </dependency>
     </dependencies>
     <!--<dependencyManagement>
         <dependencies>

+ 35 - 0
universal-computing-platform/src/main/java/com/ruoyi/ucp/entity/PowerLosses.java

@@ -0,0 +1,35 @@
+package com.ruoyi.ucp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author gfhd
+ * @since 2025-02-21
+ */
+@Data
+@TableName("power_losses")
+public class PowerLosses implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Date recordDate;
+
+    private Date startTime;
+
+    private Date endTime;
+
+    private Double xdss;
+}

+ 2 - 0
universal-computing-platform/src/main/java/com/ruoyi/ucp/entity/StationInfoDay.java

@@ -61,6 +61,8 @@ public class StationInfoDay implements Serializable {
 
     private Double kqmd;
 
+    private Double czxdl;
+
     public Double getQfxdl() {
         if (qfxdl == null || Double.isNaN(qfxdl)) qfxdl = 0d;
         return qfxdl;

+ 16 - 0
universal-computing-platform/src/main/java/com/ruoyi/ucp/mapper/PowerLossesMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ucp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ucp.entity.PowerLosses;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author gfhd
+ * @since 2025-02-21
+ */
+public interface PowerLossesMapper extends BaseMapper<PowerLosses> {
+
+}

+ 16 - 0
universal-computing-platform/src/main/java/com/ruoyi/ucp/service/IPowerLossesService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ucp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.ucp.entity.PowerLosses;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author gfhd
+ * @since 2025-02-21
+ */
+public interface IPowerLossesService extends IService<PowerLosses> {
+
+}

+ 20 - 0
universal-computing-platform/src/main/java/com/ruoyi/ucp/service/impl/PowerLossesServiceImpl.java

@@ -0,0 +1,20 @@
+package com.ruoyi.ucp.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.ucp.entity.PowerLosses;
+import com.ruoyi.ucp.mapper.PowerLossesMapper;
+import com.ruoyi.ucp.service.IPowerLossesService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author gfhd
+ * @since 2025-02-21
+ */
+@Service
+public class PowerLossesServiceImpl extends ServiceImpl<PowerLossesMapper, PowerLosses> implements IPowerLossesService {
+
+}