Browse Source

数据查询页面添加

malijun 1 năm trước cách đây
mục cha
commit
261bfa3995

+ 58 - 7
electricity/meter/src/main/java/com/gyee/gaia/meter/controller/GetTypeController.java

@@ -24,18 +24,69 @@ public class GetTypeController {
 
 
     /**
+     * 获取总场站分类
+     * @folder 数据查询/下拉框选择类型
+     * @return 总场电量,风场电量,光伏电量
+     */
+    @GetMapping("/allStation")
+    public Result<Object> getAllStation(){
+        ArrayList<MeterInfoVo> meterInfoVos = new ArrayList<>();
+
+        MeterInfoVo meterInfoVo1 = new MeterInfoVo();
+        meterInfoVo1.setName("总电场");
+        meterInfoVo1.setNemCode("0");
+        MeterInfoVo meterInfoVo2 = new MeterInfoVo();
+        meterInfoVo2.setName("风场");
+        meterInfoVo2.setNemCode("-1");
+        MeterInfoVo meterInfoVo3 = new MeterInfoVo();
+        meterInfoVo3.setName("光伏");
+        meterInfoVo3.setNemCode("-2");
+
+        meterInfoVos.add(meterInfoVo1);
+        meterInfoVos.add(meterInfoVo2);
+        meterInfoVos.add(meterInfoVo3);
+
+        return new Result<>(200,"成功",meterInfoVos );
+    }
+
+    /**
      * 获取所有场站分类
      * @folder 数据查询/下拉框选择类型
+     * @param stationId -1:风场, -2:光伏, 0:所有场站
      * @return 所有场站的name和nem_code, 已经排序
      */
     @GetMapping("/infoall")
-    public Result<Object> getPowerstation() {
-        //查询返回所有风场的name和nem_code,已经排序
-        ArrayList<MeterInfoVo> powerStationsVo = getPowerstationTypeClassName.getPowerstationAll();
-        //构建响应map
-        Map<String, Object> response = new HashMap<>();
-        response.put("fdc", powerStationsVo);
-        return new Result<>(200, "成功", response);
+    public Result<Object> getPowerstation(
+            @RequestParam(required = true) String stationId
+    ) {
+        switch (stationId) {
+            case "-1": {
+                //查询返回所有风场的name和nem_code,已经排序
+                ArrayList<MeterInfoVo> powerStationsVo = getPowerstationTypeClassName.getPowerstationFC();
+                //构建响应map
+                Map<String, Object> response = new HashMap<>();
+                response.put("fdc", powerStationsVo);
+                return new Result<>(200, "成功", response);
+            }
+            case "-2": {
+                //查询返回所有光伏场的name和nem_code,已经排序
+                ArrayList<MeterInfoVo> powerStationsVo = getPowerstationTypeClassName.getPowerstationGF();
+                //构建响应map
+                Map<String, Object> response = new HashMap<>();
+                response.put("fdc", powerStationsVo);
+                return new Result<>(200, "成功", response);
+            }
+            case "0":
+            default: {
+                //查询返回所有风场的name和nem_code,已经排序
+                ArrayList<MeterInfoVo> powerStationsVo = getPowerstationTypeClassName.getPowerstationAll();
+                //构建响应map
+                Map<String, Object> response = new HashMap<>();
+                response.put("fdc", powerStationsVo);
+                return new Result<>(200, "成功", response);
+            }
+        }
+
     }
 
 

+ 211 - 23
electricity/meter/src/main/java/com/gyee/gaia/meter/controller/MeterInfoController.java

@@ -1,5 +1,6 @@
 package com.gyee.gaia.meter.controller;
 
+import com.gyee.gaia.common.utils.StringUtil;
 import com.gyee.gaia.meter.entity.vo.MeterInfoVo;
 import com.gyee.gaia.meter.entity.vo.Result;
 import com.gyee.gaia.meter.service.meterInfo.GetMeterInfo;
@@ -11,9 +12,12 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.util.*;
 
+import static cn.hutool.core.date.DateUtil.now;
+
 /**
  * 数据查询
  * 数据查询页,日月年的底码表数据场站指标等
+ *
  * @module 数据查询
  **/
 @RestController
@@ -22,9 +26,9 @@ public class MeterInfoController {
 
     @Resource
     GetMeterInfo getMeterInfo;
+
     /**
      * 集电线路每小时发电量
-     * @folder 数据查询/日
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -35,6 +39,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每日底码数据
+     * @folder 数据查询/日
      */
     @GetMapping("/meterinfo/linefdl")
     public Result<Object> getLineFDL_15Min(
@@ -49,7 +54,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getLineFDL_hour(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -66,8 +71,87 @@ public class MeterInfoController {
     }
 
     /**
-     * 每日底码信息
+     * 场站发电量
+     *
+     * @param stationId 场站编码
+     * @param startTime 开始时间(时间戳)
+     * @param endTime   截止时间(时间戳)
+     * @param page      第几页
+     * @param perPage   每页几条
+     * @return 时间段内的场站电量
      * @folder 数据查询/日
+     */
+    @GetMapping("/meterinfo/stationFDL")
+    public Result<Object> getStationFDL(
+            @RequestParam(required = false) String stationId,
+            @RequestParam(required = true) long startTime,
+            @RequestParam(required = true) long endTime,
+            @RequestParam(defaultValue = "1") int page,
+            @RequestParam(defaultValue = "25") int perPage
+    ) {
+        switch (stationId) {
+            case "0": {
+                //场站电量
+                ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getStationFDL_day(startTime, endTime);
+                // 进行排序
+                stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                // 进行分页处理
+                int totalItems = stationFDLDay.size();
+                int startIndex = (page - 1) * perPage;
+                int endIndex = Math.min(startIndex + perPage, totalItems);
+                List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                // 构建响应
+                Map<String, Object> response = new HashMap<>();
+                response.put("lineFDL", paginatedList);
+                response.put("totalItems", totalItems);
+                response.put("page", page);
+                response.put("perPage", perPage);
+                return new Result<>(200, "成功", response);
+            }
+            case "-1": {
+                //场站电量
+                ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getFCFDL_day(startTime, endTime);
+                // 进行排序
+                stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                // 进行分页处理
+                int totalItems = stationFDLDay.size();
+                int startIndex = (page - 1) * perPage;
+                int endIndex = Math.min(startIndex + perPage, totalItems);
+                List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                // 构建响应
+                Map<String, Object> response = new HashMap<>();
+                response.put("lineFDL", paginatedList);
+                response.put("totalItems", totalItems);
+                response.put("page", page);
+                response.put("perPage", perPage);
+                return new Result<>(200, "成功", response);
+            }
+            case "-2": {
+                //场站电量
+                ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getGFFDL_day(startTime, endTime);
+                // 进行排序
+                stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                // 进行分页处理
+                int totalItems = stationFDLDay.size();
+                int startIndex = (page - 1) * perPage;
+                int endIndex = Math.min(startIndex + perPage, totalItems);
+                List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                // 构建响应
+                Map<String, Object> response = new HashMap<>();
+                response.put("lineFDL", paginatedList);
+                response.put("totalItems", totalItems);
+                response.put("page", page);
+                response.put("perPage", perPage);
+                return new Result<>(200, "成功", response);
+            }
+        }
+
+        return new Result<>(200, "失败", null);
+    }
+
+
+    /**
+     * 每日底码信息
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -78,6 +162,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每日底码数据
+     * @folder 数据查询/日
      */
     @GetMapping("/meterinfo/bottom")
     public Result<Object> getBottomInfo(
@@ -92,7 +177,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -111,7 +196,6 @@ public class MeterInfoController {
 
     /**
      * 每日风机发电量
-     * @folder 数据查询/日
      *
      * @param windId    风场ID
      * @param id        风机ID
@@ -120,6 +204,7 @@ public class MeterInfoController {
      * @param page      第几页
      * @param perPage   每页几条数
      * @return 时间段内的风机发电量
+     * @folder 数据查询/日
      */
     @GetMapping("/meterinfo/equipment")
     public Result<Object> getEquipmentInfo(
@@ -132,7 +217,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoById(windId, id, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -150,7 +235,6 @@ public class MeterInfoController {
 
     /**
      * 每日场站指标
-     * @folder 数据查询/日
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -161,9 +245,10 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每日场站指标数据(计算点)
+     * @folder 数据查询/日
      */
-    @GetMapping("/meterinfo/calculating")
-    public Result<Object> getCalculatingInfo(
+    @GetMapping("/meterinfo/calculating1")
+    public Result<Object> getCalculatingInfo1(
             @RequestParam(required = false) String windId,
             @RequestParam(required = false) String meterType,
             @RequestParam(required = false) String meterClass,
@@ -175,7 +260,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -191,8 +276,111 @@ public class MeterInfoController {
     }
 
     /**
+     * 每日场站指标
+     *
+     * @param windId     风场ID
+     * @param meterType  测点一级类型
+     * @param meterClass 测点二级分类
+     * @param name       测点名称
+     * @param startTime  开始时间(时间戳)
+     * @param endTime    结束时间(时间戳)
+     * @param page       第几页
+     * @param perPage    每页几条数据
+     * @return 时间段内的每日场站指标数据(计算点)
+     * @folder 数据查询/日
+     */
+    @GetMapping("/meterinfo/calculating")
+    public Result<Object> getCalculatingInfo(
+            @RequestParam(required = false) String stationId,
+            @RequestParam(required = false) String windId,
+            @RequestParam(required = false) String meterType,
+            @RequestParam(required = false) String meterClass,
+            @RequestParam(required = false) String name,
+            @RequestParam(required = true) long startTime,
+            @RequestParam(required = true) long endTime,
+            @RequestParam(defaultValue = "1") int page,
+            @RequestParam(defaultValue = "25") int perPage
+    ) {
+        if (StringUtil.isNotBlank(stationId) && StringUtil.isNotBlank(windId)) {
+            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
+            // 进行排序
+            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+            // 进行分页处理
+            int totalItems = meterInfoByWindIdList.size();
+            int startIndex = (page - 1) * perPage;
+            int endIndex = Math.min(startIndex + perPage, totalItems);
+            List<MeterInfoVo> paginatedList = meterInfoByWindIdList.subList(startIndex, endIndex);
+            // 构建响应
+            Map<String, Object> response = new HashMap<>();
+            response.put("calculating", paginatedList);
+            response.put("totalItems", totalItems);
+            response.put("page", page);
+            response.put("perPage", perPage);
+            return new Result<>(200, "成功", response);
+        } else if (StringUtil.isNotBlank(stationId) && StringUtil.isBlank(windId)) {
+            switch (stationId) {
+                case "0": {
+                    //场站电量
+                    ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getStationFDL_day(startTime, endTime);
+                    // 进行排序
+                    stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                    // 进行分页处理
+                    int totalItems = stationFDLDay.size();
+                    int startIndex = (page - 1) * perPage;
+                    int endIndex = Math.min(startIndex + perPage, totalItems);
+                    List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                    // 构建响应
+                    Map<String, Object> response = new HashMap<>();
+                    response.put("calculating", paginatedList);
+                    response.put("totalItems", totalItems);
+                    response.put("page", page);
+                    response.put("perPage", perPage);
+                    return new Result<>(200, "成功", response);
+                }
+                case "-1": {
+                    //场站电量
+                    ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getFCFDL_day(startTime, endTime);
+                    // 进行排序
+                    stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                    // 进行分页处理
+                    int totalItems = stationFDLDay.size();
+                    int startIndex = (page - 1) * perPage;
+                    int endIndex = Math.min(startIndex + perPage, totalItems);
+                    List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                    // 构建响应
+                    Map<String, Object> response = new HashMap<>();
+                    response.put("calculating", paginatedList);
+                    response.put("totalItems", totalItems);
+                    response.put("page", page);
+                    response.put("perPage", perPage);
+                    return new Result<>(200, "成功", response);
+                }
+                case "-2": {
+                    //场站电量
+                    ArrayList<MeterInfoVo> stationFDLDay = getMeterInfo.getGFFDL_day(startTime, endTime);
+                    // 进行排序
+                    stationFDLDay.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
+                    // 进行分页处理
+                    int totalItems = stationFDLDay.size();
+                    int startIndex = (page - 1) * perPage;
+                    int endIndex = Math.min(startIndex + perPage, totalItems);
+                    List<MeterInfoVo> paginatedList = stationFDLDay.subList(startIndex, endIndex);
+                    // 构建响应
+                    Map<String, Object> response = new HashMap<>();
+                    response.put("calculating", paginatedList);
+                    response.put("totalItems", totalItems);
+                    response.put("page", page);
+                    response.put("perPage", perPage);
+                    return new Result<>(200, "成功", response);
+                }
+            }
+        }
+        return null;
+    }
+
+
+    /**
      * 每月场站指标
-     * @folder 数据查询/月
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -203,6 +391,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每月场站指标数据(计算点)
+     * @folder 数据查询/月
      */
     @GetMapping("/meterinfo/calculatingMonth")
     public Result<Object> getCalculatingInfoMonth(
@@ -217,7 +406,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -234,7 +423,6 @@ public class MeterInfoController {
 
     /**
      * 每月风机发电量
-     * @folder 数据查询/月
      *
      * @param windId    风场ID
      * @param id        风机ID
@@ -243,6 +431,7 @@ public class MeterInfoController {
      * @param page      第几页
      * @param perPage   每页几条数
      * @return 时间段内的月风机发电量
+     * @folder 数据查询/月
      */
     @GetMapping("/meterinfo/equipmentMonth")
     public Result<Object> getEquipmentInfoMonth(
@@ -255,7 +444,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoMonthByWindId(windId, id, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -273,7 +462,6 @@ public class MeterInfoController {
 
     /**
      * 每月底码信息
-     * @folder 数据查询/月
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -284,6 +472,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每月底码数据
+     * @folder 数据查询/月
      */
     @GetMapping("/meterinfo/bottomMonth")
     public Result<Object> getBottomInfoMonth(
@@ -298,7 +487,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -316,7 +505,6 @@ public class MeterInfoController {
 
     /**
      * 每年风机发电量
-     * @folder 数据查询/年
      *
      * @param windId    风场ID
      * @param id        风机ID
@@ -325,6 +513,7 @@ public class MeterInfoController {
      * @param page      第几页
      * @param perPage   每页几条数
      * @return 时间段内的年风机发电量
+     * @folder 数据查询/年
      */
     @GetMapping("/meterinfo/equipmentYear")
     public Result<Object> getEquipmentInfoYear(
@@ -337,7 +526,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoYearByWindId(windId, id, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -355,7 +544,6 @@ public class MeterInfoController {
 
     /**
      * 每年底码信息
-     * @folder 数据查询/年
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -366,6 +554,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每年底码数据
+     * @folder 数据查询/年
      */
     @GetMapping("/meterinfo/bottomYear")
     public Result<Object> getBottomInfoYear(
@@ -380,7 +569,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoYearByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;
@@ -396,10 +585,8 @@ public class MeterInfoController {
     }
 
 
-
     /**
      * 每年场站指标
-     * @folder 数据查询/年
      *
      * @param windId     风场ID
      * @param meterType  测点一级类型
@@ -410,6 +597,7 @@ public class MeterInfoController {
      * @param page       第几页
      * @param perPage    每页几条数据
      * @return 时间段内的每年场站指标数据(计算点)
+     * @folder 数据查询/年
      */
     @GetMapping("/meterinfo/calculatingYear")
     public Result<Object> getCalculatingInfoYear(
@@ -424,7 +612,7 @@ public class MeterInfoController {
     ) {
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoYearByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行排序
-        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName).thenComparing(MeterInfoVo::getDate));
         // 进行分页处理
         int totalItems = meterInfoByWindIdList.size();
         int startIndex = (page - 1) * perPage;

+ 186 - 13
electricity/meter/src/main/java/com/gyee/gaia/meter/service/meterInfo/GetMeterInfo.java

@@ -151,6 +151,7 @@ public class GetMeterInfo {
                 meterInfoVo.setStartCode(meterInfoBottomcode.getStartValue());
                 meterInfoVo.setEndCode(meterInfoBottomcode.getEndValue());
                 meterInfoVo.setRdl(meterInfoBottomcode.getDayValue());
+                meterInfoVo.setNemCode(meterInfoBottomcode.getCode());
                 meterInfoVos.add(meterInfoVo);
             }
         }
@@ -179,12 +180,12 @@ public class GetMeterInfo {
 
         //条件构造器查询
         List<MeterPoint> meterPoints = meterPointService.list(new QueryWrapper<MeterPoint>()
-                        .eq("windpowerstation_id", windId)
-//                .eq("property", "JSD")
-                        .in("property", "JSD", "JSD_GF", "JSD_NBQFDL")
-                        .eq(StringUtil.isNotBlank(meterType), "meter_type", meterType)
-                        .eq(StringUtil.isNotBlank(meterClass), "meter_class", meterClass)
-                        .eq(StringUtil.isNotBlank(name), "name", name)
+                .eq(StringUtil.isNotBlank(windId), "windpowerstation_id", windId)
+                .in(StringUtil.isNotBlank(windId), "property", "JSD", "JSD_GF", "JSD_NBQFDL")
+                .in(StringUtil.isBlank(windId), "property", "JSD_GFFDL_DAY", "JSD_FCFDL_DAY")
+                .eq(StringUtil.isNotBlank(meterType), "meter_type", meterType)
+                .eq(StringUtil.isNotBlank(meterClass), "meter_class", meterClass)
+                .eq(StringUtil.isNotBlank(name), "name", name)
         );
 
         //code集合,以便批量查询
@@ -199,6 +200,10 @@ public class GetMeterInfo {
             dateTimes.add(dateTime4);
         }
 
+        //合计数据
+        MeterInfoVo meterInfoVoHJ = new MeterInfoVo();
+        BigDecimal hjdl = new BigDecimal(0);
+
         //条件构造器批量查询
         List<MeterInfoCalculating> meterInfoCalculatings = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
                 .in("date", dateTimes)
@@ -207,12 +212,17 @@ public class GetMeterInfo {
 
         //遍历集合数据赋值VO对象,添加入VO对象集合并返回
         for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatings) {
+            hjdl = hjdl.add(meterInfoCalculating.getValue());
             MeterInfoVo meterInfoVo = new MeterInfoVo();
             meterInfoVo.setDate(new DateTime(meterInfoCalculating.getDate()));
             meterInfoVo.setName(meterInfoCalculating.getName());
             meterInfoVo.setRdl(meterInfoCalculating.getValue());
             meterInfoVos.add(meterInfoVo);
         }
+        meterInfoVoHJ.setRdl(hjdl);
+        meterInfoVoHJ.setName("总合计");
+        meterInfoVoHJ.setDate(endDateTime);
+        meterInfoVos.add(meterInfoVoHJ);
         return meterInfoVos;
     }
 
@@ -856,8 +866,7 @@ public class GetMeterInfo {
     }
 
 
-
-    //获取底码数据,每月
+    //获取线路发电量_每小时
     public ArrayList<MeterInfoVo> getLineFDL_hour(String windId, String meterType, String meterClass, String name, long startTime, long endTime) {
         //时间戳转为字符串
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -874,7 +883,7 @@ public class GetMeterInfo {
         LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
 
         long betweenMin = ChronoUnit.MINUTES.between(day1, day2);
-        int between= (int) (betweenMin/15);
+        int between = (int) (betweenMin / 15);
 
         long betweenHour = ChronoUnit.HOURS.between(day1, day2);
 
@@ -885,7 +894,7 @@ public class GetMeterInfo {
                 .eq("windpowerstation_id", windId)
                 .like("property", "CD")
                 .eq(StringUtil.isBlank(meterType), "meter_type", "线路")
-                .like(StringUtil.isBlank(meterClass),"meter_class", "集电线路")
+                .like(StringUtil.isBlank(meterClass), "meter_class", "集电线路")
                 .eq(StringUtil.isNotBlank(meterType), "meter_type", meterType)
                 .eq(StringUtil.isNotBlank(meterClass), "meter_class", meterClass)
                 .eq(StringUtil.isNotBlank(name), "description", name)
@@ -894,7 +903,7 @@ public class GetMeterInfo {
         //时间集合,以便后面批量查询
         List<DateTime> dateTimes = new ArrayList<>();
         for (int i = 0; i < between; i++) {
-            DateTime dateTime4 = DateUtil.offsetMinute(startDateTime, (i+1)*15);
+            DateTime dateTime4 = DateUtil.offsetMinute(startDateTime, (i + 1) * 15);
             dateTimes.add(dateTime4);
         }
         //条件构造器批量查询
@@ -906,7 +915,7 @@ public class GetMeterInfo {
             //每小时开始和结束
             DateTime dateTime0 = DateUtil.offsetHour(startDateTime, i);
             DateTime dateTime1 = DateUtil.beginOfHour(dateTime0);
-            DateTime dateTime2 = DateUtil.offsetHour(dateTime1,1);
+            DateTime dateTime2 = DateUtil.offsetHour(dateTime1, 1);
 
             //遍历测点,累加每15分钟到每小时
             for (MeterPoint meterPoint : meterPoints) {
@@ -922,7 +931,7 @@ public class GetMeterInfo {
                 BigDecimal ydl = BigDecimal.valueOf(0);
                 //循环遍历每15分钟
                 for (int j = 1; j <= 4; j++) {
-                    DateTime dateTime3 = DateUtil.offsetMinute(dateTime1, j*15);
+                    DateTime dateTime3 = DateUtil.offsetMinute(dateTime1, j * 15);
                     ProMeterLineFDL15Min meterInfoBottomcode = findObjectByCodeAndDateLine(meterInfoBottomcodes, meterPoint.getNemCode(), dateTime3.toLocalDateTime(), ProMeterLineFDL15Min::getCode, ProMeterLineFDL15Min::getEndTime);
                     if (meterInfoBottomcode != null) {
                         //当月第一天底码,起码
@@ -944,4 +953,168 @@ public class GetMeterInfo {
         return meterInfoVos;
     }
 
+    //获取总场站电量_每天
+    public ArrayList<MeterInfoVo> getStationFDL_day(long startTime, long endTime) {
+        //时间戳转为字符串
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format1 = simpleDateFormat.format(new Date(startTime));
+        String format2 = simpleDateFormat.format(new Date(endTime));
+        //字符串转为DateTime类型
+        DateTime startDateTime1 = DateUtil.parse(format1);
+        DateTime endDateTime1 = DateUtil.parse(format2);
+        //设置查询开始时间,结束时间
+        DateTime startDateTime = DateUtil.beginOfDay(startDateTime1);
+        DateTime endDateTime = DateUtil.beginOfDay(endDateTime1);
+        // 指定开始日期到结束日期的天数
+        LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
+        LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
+        long betweenDays = ChronoUnit.DAYS.between(day1, day2);
+
+        //VO对象集合
+        ArrayList<MeterInfoVo> meterInfoVos = new ArrayList<>();
+
+        //条件构造器查询
+        List<MeterPoint> meterPoints = meterPointService.list(new QueryWrapper<MeterPoint>()
+                .in("property", "JSD_GFFDL_DAY", "JSD_FCFDL_DAY")
+
+
+        );
+
+        //code集合,以便批量查询
+        List<String> meterPointNemCodes = new ArrayList<>();
+        for (MeterPoint meterPoint : meterPoints) {
+            meterPointNemCodes.add(meterPoint.getNemCode());
+        }
+        //时间集合,以便批量查询
+        for (int i = 0; i <= betweenDays; i++) {
+            DateTime dateTime4 = DateUtil.offsetDay(startDateTime, i);
+            //条件构造器批量查询
+            List<MeterInfoCalculating> meterInfoCalculatings = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                    .eq("date", dateTime4)
+                    .in("code", meterPointNemCodes)
+            );
+
+            MeterInfoVo meterInfoVo1 = new MeterInfoVo();
+            BigDecimal hjdl = new BigDecimal(0);
+            //遍历集合数据赋值VO对象,添加入VO对象集合并返回
+            for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatings) {
+                hjdl=hjdl.add(meterInfoCalculating.getValue());
+            }
+            meterInfoVo1.setName("合计");
+            meterInfoVo1.setDate(dateTime4);
+            meterInfoVo1.setRdl(hjdl);
+            meterInfoVos.add(meterInfoVo1);
+        }
+        return meterInfoVos;
+    }
+
+    //获取风场场电量_每天
+    public ArrayList<MeterInfoVo> getFCFDL_day(long startTime, long endTime) {
+        //时间戳转为字符串
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format1 = simpleDateFormat.format(new Date(startTime));
+        String format2 = simpleDateFormat.format(new Date(endTime));
+        //字符串转为DateTime类型
+        DateTime startDateTime1 = DateUtil.parse(format1);
+        DateTime endDateTime1 = DateUtil.parse(format2);
+        //设置查询开始时间,结束时间
+        DateTime startDateTime = DateUtil.beginOfDay(startDateTime1);
+        DateTime endDateTime = DateUtil.beginOfDay(endDateTime1);
+        // 指定开始日期到结束日期的天数
+        LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
+        LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
+        long betweenDays = ChronoUnit.DAYS.between(day1, day2);
+
+        //VO对象集合
+        ArrayList<MeterInfoVo> meterInfoVos = new ArrayList<>();
+
+        //条件构造器查询
+        List<MeterPoint> meterPoints = meterPointService.list(new QueryWrapper<MeterPoint>()
+                .in("property", "JSD_FCFDL_DAY")
+
+        );
+
+        //code集合,以便批量查询
+        List<String> meterPointNemCodes = new ArrayList<>();
+        for (MeterPoint meterPoint : meterPoints) {
+            meterPointNemCodes.add(meterPoint.getNemCode());
+        }
+        //时间集合,以便批量查询
+        List<DateTime> dateTimes = new ArrayList<>();
+        for (int i = 0; i <= betweenDays; i++) {
+            DateTime dateTime4 = DateUtil.offsetDay(startDateTime, i);
+            dateTimes.add(dateTime4);
+        }
+
+        //条件构造器批量查询
+        List<MeterInfoCalculating> meterInfoCalculatings = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                .in("date", dateTimes)
+                .in("code", meterPointNemCodes)
+        );
+
+        //遍历集合数据赋值VO对象,添加入VO对象集合并返回
+        for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatings) {
+            MeterInfoVo meterInfoVo = new MeterInfoVo();
+            meterInfoVo.setDate(new DateTime(meterInfoCalculating.getDate()));
+            meterInfoVo.setName(meterInfoCalculating.getName());
+            meterInfoVo.setRdl(meterInfoCalculating.getValue());
+            meterInfoVos.add(meterInfoVo);
+        }
+        return meterInfoVos;
+    }
+
+    //获取光伏站电量_每天
+    public ArrayList<MeterInfoVo> getGFFDL_day(long startTime, long endTime) {
+        //时间戳转为字符串
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format1 = simpleDateFormat.format(new Date(startTime));
+        String format2 = simpleDateFormat.format(new Date(endTime));
+        //字符串转为DateTime类型
+        DateTime startDateTime1 = DateUtil.parse(format1);
+        DateTime endDateTime1 = DateUtil.parse(format2);
+        //设置查询开始时间,结束时间
+        DateTime startDateTime = DateUtil.beginOfDay(startDateTime1);
+        DateTime endDateTime = DateUtil.beginOfDay(endDateTime1);
+        // 指定开始日期到结束日期的天数
+        LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
+        LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
+        long betweenDays = ChronoUnit.DAYS.between(day1, day2);
+
+        //VO对象集合
+        ArrayList<MeterInfoVo> meterInfoVos = new ArrayList<>();
+
+        //条件构造器查询
+        List<MeterPoint> meterPoints = meterPointService.list(new QueryWrapper<MeterPoint>()
+                .in("property", "JSD_GFFDL_DAY")
+
+        );
+
+        //code集合,以便批量查询
+        List<String> meterPointNemCodes = new ArrayList<>();
+        for (MeterPoint meterPoint : meterPoints) {
+            meterPointNemCodes.add(meterPoint.getNemCode());
+        }
+        //时间集合,以便批量查询
+        List<DateTime> dateTimes = new ArrayList<>();
+        for (int i = 0; i <= betweenDays; i++) {
+            DateTime dateTime4 = DateUtil.offsetDay(startDateTime, i);
+            dateTimes.add(dateTime4);
+        }
+
+        //条件构造器批量查询
+        List<MeterInfoCalculating> meterInfoCalculatings = meterInfoCalculatingService.list(new QueryWrapper<MeterInfoCalculating>()
+                .in("date", dateTimes)
+                .in("code", meterPointNemCodes)
+        );
+
+        //遍历集合数据赋值VO对象,添加入VO对象集合并返回
+        for (MeterInfoCalculating meterInfoCalculating : meterInfoCalculatings) {
+            MeterInfoVo meterInfoVo = new MeterInfoVo();
+            meterInfoVo.setDate(new DateTime(meterInfoCalculating.getDate()));
+            meterInfoVo.setName(meterInfoCalculating.getName());
+            meterInfoVo.setRdl(meterInfoCalculating.getValue());
+            meterInfoVos.add(meterInfoVo);
+        }
+        return meterInfoVos;
+    }
 }

+ 33 - 1
electricity/meter/src/main/java/com/gyee/gaia/meter/service/meterInfo/GetPowerstation_Type_Class_Name.java

@@ -49,7 +49,7 @@ public class GetPowerstation_Type_Class_Name {
         return powerStationsVo;
     }
 
-    /*获取所有场排序后的VO对象*/
+    /*获取所有场排序后的VO对象*/
     public ArrayList<MeterInfoVo> getPowerstationAll() {
         //获取所有风场,并排序
         List<PowerStation> powerStations = powerStationService.list(new QueryWrapper<PowerStation>()
@@ -65,6 +65,38 @@ public class GetPowerstation_Type_Class_Name {
         }
         return powerStationsVo;
     }
+    /*获取所有风场排序后的VO对象*/
+    public ArrayList<MeterInfoVo> getPowerstationFC() {
+        //获取所有风场,并排序
+        List<PowerStation> powerStations = powerStationService.list(new QueryWrapper<PowerStation>()
+                .eq("wind_type", "-1")
+                .orderBy(true, true, "order_num"));
+        //创建VO对象,遍历每个风场,赋值name和nem_code,并返回
+        ArrayList<MeterInfoVo> powerStationsVo = new ArrayList<>();
+        for (PowerStation powerStation : powerStations) {
+            MeterInfoVo meterInfoVo = new MeterInfoVo();
+            meterInfoVo.setName(powerStation.getName());
+            meterInfoVo.setNemCode(powerStation.getNemCode());
+            powerStationsVo.add(meterInfoVo);
+        }
+        return powerStationsVo;
+    }
+    /*获取所有光伏排序后的VO对象*/
+    public ArrayList<MeterInfoVo> getPowerstationGF() {
+        //获取所有风场,并排序
+        List<PowerStation> powerStations = powerStationService.list(new QueryWrapper<PowerStation>()
+                .eq("wind_type", "-2")
+                .orderBy(true, true, "order_num"));
+        //创建VO对象,遍历每个风场,赋值name和nem_code,并返回
+        ArrayList<MeterInfoVo> powerStationsVo = new ArrayList<>();
+        for (PowerStation powerStation : powerStations) {
+            MeterInfoVo meterInfoVo = new MeterInfoVo();
+            meterInfoVo.setName(powerStation.getName());
+            meterInfoVo.setNemCode(powerStation.getNemCode());
+            powerStationsVo.add(meterInfoVo);
+        }
+        return powerStationsVo;
+    }
 
 
     /*获取计算点的的一级类型,二级分类,具体名称*/

+ 13 - 0
electricity/meter/src/main/java/com/gyee/gaia/meter/service/saveTDengine/TDLLFDLTest.java

@@ -305,6 +305,9 @@ class TDLLFDLTest {
     @Resource
     private TestingPointServiceImpl testingPointService;
 
+    @Resource
+    MeterInfoCalculatingServiceImpl meterInfoCalculatingService;
+
 
     @Test
     public void llfdl_1Min_0() {
@@ -501,6 +504,16 @@ class TDLLFDLTest {
             }
         }
     }
+
+    @Test
+    public void test(){
+        MeterInfoCalculating oneFCRFDL = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>()
+                .eq("date", LocalDateTime.now())
+                .eq("code", "DL.NX_GD_WINDSTATIONFDL_DAY")
+        );
+        System.out.println(oneFCRFDL);
+
+    }
 }