Browse Source

日发电量计算

malijun 1 year ago
parent
commit
f2668259e3

+ 147 - 409
electricity/meter/src/main/java/com/gyee/gaia/meter/controller/MeterInfoController.java

@@ -22,85 +22,19 @@ public class MeterInfoController {
     @Resource
     GetMeterInfo getMeterInfo;
 
-    @GetMapping("/meterinfo/bottom1")
-    public Result<Object> getBottomInfo1(
-            @RequestParam(required = false) String windId,
-            @RequestParam(required = false) String meterType,
-            @RequestParam(required = false) String meterClass,
-            @RequestParam(required = false) String name,
-            @RequestParam(required = false) long startTime,
-            @RequestParam(required = false) long endTime,
-            @RequestParam(defaultValue = "1") int page,
-            @RequestParam(defaultValue = "25") int perPage
-    ) {
-        if (windId != null && meterType != null && meterClass != null && name != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        } else if (windId != null && meterType != null && meterClass != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        } else if (windId != null && meterType != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        } else if (windId != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        }
-        return new Result<>(201, "参数错误", null);
-    }
-
+    /**
+     * 获取根据传入不同参数获取每日底码信息
+     *
+     * @param windId     风场ID
+     * @param meterType  测点一级类型
+     * @param meterClass 测点二级分类
+     * @param name       测点名称
+     * @param startTime  开始时间(时间戳)
+     * @param endTime    结束时间(时间戳)
+     * @param page       第几页
+     * @param perPage    每页几条数据
+     * @return 时间段内的每日底码数据
+     */
     @GetMapping("/meterinfo/bottom")
     public Result<Object> getBottomInfo(
             @RequestParam(required = false) String windId,
@@ -112,15 +46,12 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-
         ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
         // 进行分页处理
         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("bottom", paginatedList);
@@ -128,11 +59,20 @@ public class MeterInfoController {
         response.put("page", page);
         response.put("perPage", perPage);
         return new Result<>(200, "成功", response);
-
-
     }
 
 
+    /**
+     * 获取风机日发电量
+     *
+     * @param windId    风场ID
+     * @param id        风机ID
+     * @param startTime 开始时间(时间戳)
+     * @param endTime   结束时间(时间戳)
+     * @param page      第几页
+     * @param perPage   每页几条数
+     * @return 时间段内的风机发电量
+     */
     @GetMapping("/meterinfo/equipment")
     public Result<Object> getEquipmentInfo(
             @RequestParam(required = false) String windId,
@@ -142,52 +82,37 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-
-        if (windId != null && id != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoByEquipmentId(id, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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("equipment", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-
-        } else if (windId != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoByWindId(windId, startTime, endTime);
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-            // 进行分页处理
-            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("equipment", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        }
-
-        return new Result<>(201, "参数错误", null);
+        ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoById(windId, id, startTime, endTime);
+        // 进行排序
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        // 进行分页处理
+        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("equipment", paginatedList);
+        response.put("totalItems", totalItems);
+        response.put("page", page);
+        response.put("perPage", perPage);
+        return new Result<>(200, "成功", response);
     }
 
 
+    /**
+     * 获取根据传入不同参数获取每日场站指标数据(计算点)
+     *
+     * @param windId     风场ID
+     * @param meterType  测点一级类型
+     * @param meterClass 测点二级分类
+     * @param name       测点名称
+     * @param startTime  开始时间(时间戳)
+     * @param endTime    结束时间(时间戳)
+     * @param page       第几页
+     * @param perPage    每页几条数据
+     * @return 时间段内的每日场站指标数据(计算点)
+     */
     @GetMapping("/meterinfo/calculating")
     public Result<Object> getCalculatingInfo(
             @RequestParam(required = false) String windId,
@@ -199,90 +124,36 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-        if (windId != null && meterType != null && meterClass != null && name != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null && meterType != null && meterClass != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, startTime, endTime);
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null && meterType != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, startTime, endTime);
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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);
-        }
-        return new Result<>(201, "参数错误", null);
+        ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
+        // 进行排序
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        // 进行分页处理
+        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);
     }
 
-
+    /**
+     * 获取根据传入不同参数获取每月场站指标数据(计算点)
+     *
+     * @param windId     风场ID
+     * @param meterType  测点一级类型
+     * @param meterClass 测点二级分类
+     * @param name       测点名称
+     * @param startTime  开始时间(时间戳)
+     * @param endTime    结束时间(时间戳)
+     * @param page       第几页
+     * @param perPage    每页几条数据
+     * @return 时间段内的每月场站指标数据(计算点)
+     */
     @GetMapping("/meterinfo/calculatingMonth")
     public Result<Object> getCalculatingInfoMonth(
             @RequestParam(required = false) String windId,
@@ -294,93 +165,34 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-        if (windId != null && meterType != null && meterClass != null && name != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null && meterType != null && meterClass != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, meterType, meterClass, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null && meterType != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, meterType, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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);
-
-        }
-
-        return new Result<>(201, "参数错误", null);
+        ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
+        // 进行排序
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        // 进行分页处理
+        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);
     }
 
-
+    /**
+     * 获取风机月发电量
+     *
+     * @param windId    风场ID
+     * @param id        风机ID
+     * @param startTime 开始时间(时间戳)
+     * @param endTime   结束时间(时间戳)
+     * @param page      第几页
+     * @param perPage   每页几条数
+     * @return 时间段内的月风机发电量
+     */
     @GetMapping("/meterinfo/equipmentMonth")
     public Result<Object> getEquipmentInfoMonth(
             @RequestParam(required = false) String windId,
@@ -390,55 +202,37 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-
-        if (windId != null && id != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoMonthByWindId(windId, id, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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 (windId != null) {
-
-
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoMonthByWindId(windId, startTime, endTime);
-
-            // 进行排序
-            meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
-
-            // 进行分页处理
-            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);
-        }
-        return new Result<>(201, "参数错误", null);
-
+        ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getEquipmentInfoMonthByWindId(windId, id, startTime, endTime);
+        // 进行排序
+        meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
+        // 进行分页处理
+        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);
     }
 
 
+    /**
+     * 获取根据传入不同参数获取每月底码信息
+     *
+     * @param windId     风场ID
+     * @param meterType  测点一级类型
+     * @param meterClass 测点二级分类
+     * @param name       测点名称
+     * @param startTime  开始时间(时间戳)
+     * @param endTime    结束时间(时间戳)
+     * @param page       第几页
+     * @param perPage    每页几条数据
+     * @return 时间段内的每月底码数据
+     */
     @GetMapping("/meterinfo/bottomMonth")
     public Result<Object> getBottomInfoMonth(
             @RequestParam(required = false) String windId,
@@ -450,75 +244,19 @@ public class MeterInfoController {
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "25") int perPage
     ) {
-        if (windId != null && meterType != null && meterClass != null && name != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-        } else if (windId != null && meterType != null && meterClass != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, meterType, meterClass, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-
-        } else if (windId != null && meterType != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, meterType, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-
-        } else if (windId != null) {
-            ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, startTime, endTime);
-            // 进行分页处理
-            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("bottom", paginatedList);
-            response.put("totalItems", totalItems);
-            response.put("page", page);
-            response.put("perPage", perPage);
-            return new Result<>(200, "成功", response);
-
-        }
-        return new Result<>(201, "参数错误", null);
+        ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoMonthByWindId(windId, meterType, meterClass, name, startTime, endTime);
+        // 进行分页处理
+        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("bottom", paginatedList);
+        response.put("totalItems", totalItems);
+        response.put("page", page);
+        response.put("perPage", perPage);
+        return new Result<>(200, "成功", response);
     }
 
 

+ 1 - 1
electricity/meter/src/main/java/com/gyee/gaia/meter/job/MeterJob.java

@@ -1,6 +1,6 @@
 package com.gyee.gaia.meter.job;
 
-import com.gyee.gaia.meter.service.SaveMeterInfoYesterday;
+import com.gyee.gaia.meter.service.meter.SaveMeterInfoYesterday;
 import com.gyee.gaia.meter.service.meter.*;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import org.springframework.stereotype.Component;

+ 0 - 94
electricity/meter/src/main/java/com/gyee/gaia/meter/service/OneTest.java

@@ -1,94 +0,0 @@
-package com.gyee.gaia.meter.service;
-
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.gyee.gaia.meter.adapter.Adapter;
-import com.gyee.gaia.meter.entity.PointData;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.test.context.SpringBootTest;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Author: malijun
- * Data  : 2023: 05: 23
- **/
-@SpringBootTest
-public class OneTest {
-
-
-    @Value("${start.time}")
-    private String startTimeString;
-    @Value("${end.time}")
-    private String endTimeString;
-    @Resource
-    Adapter adapter;
-
-
-    @org.junit.jupiter.api.Test
-    void test() {
-        //设置取值开始时间
-        String startString = startTimeString;
-        DateTime startDateTime = DateUtil.parse(startString);
-
-        //设置取值结束时间
-        String endDateString = endTimeString;
-        DateTime endDateTime = DateUtil.parse(endDateString);
-
-        //指定开始日期到结束日期的天数
-        LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
-        LocalDateTime day2 = LocalDateTimeUtil.of(endDateTime);
-        long between = ChronoUnit.DAYS.between(day1, day2);
-
-        for (int i = 0; i <= between; i++) {
-
-            DateTime dateTime1 = DateUtil.offsetDay(startDateTime, i);
-            DateTime dateTime2 = DateUtil.offsetDay(startDateTime, i + 1);
-
-            //8,结束点发电量减去开始点发电量得到日发电量(单位Kwh)
-            List<PointData> historyRaw = adapter.getHistoryRaw("SBQFJ.NX_GD_SBQF_FJ_P2_L4_043_AI0064", dateTime1.getTime(), dateTime2.getTime());
-
-            BigDecimal rfdl = new BigDecimal(0);
-
-            if (historyRaw.size() > 0) {
-                BigDecimal bigDecimal1 = new BigDecimal(Double.toString(historyRaw.get(0).getValue()));
-                BigDecimal bigDecimal2 = new BigDecimal(Double.toString(historyRaw.get(historyRaw.size() - 1).getValue()));
-                rfdl = bigDecimal2.subtract(bigDecimal1);
-
-                if (rfdl.doubleValue() > 50000 || rfdl.doubleValue() < 0) {
-
-                    ArrayList<Double> arrayList = new ArrayList<>();
-                    for (PointData pointData : historyRaw) {
-                        arrayList.add(pointData.getValue());
-                    }
-
-                    int index = -1;
-                    for (int j = 1; j < arrayList.size(); j++) {
-                        double current = arrayList.get(j);
-                        double previous = arrayList.get(j - 1);
-                        double difference = current - previous;
-                        if (difference > 50000 || difference < -1) {
-                            index = j;
-                            break;
-                        }
-                    }
-                    if (index != -1) {
-                        double valueGrow2 = arrayList.get(index);
-                        BigDecimal bigDecimalGrow2 = new BigDecimal(Double.toString(valueGrow2));
-                        double valueGrow1 = arrayList.get(index - 1);
-                        BigDecimal bigDecimalGrow1 = new BigDecimal(Double.toString(valueGrow1));
-                        rfdl = (bigDecimal2.subtract(bigDecimalGrow2)).add(bigDecimalGrow1.subtract(bigDecimal1));
-                        System.out.println("重新赋值后:"+rfdl);
-                    }
-                }
-
-            }
-        }
-    }
-}

+ 57 - 63
electricity/meter/src/main/java/com/gyee/gaia/meter/service/SaveMeterInfoYesterday.java

@@ -1,4 +1,4 @@
-package com.gyee.gaia.meter.service;
+package com.gyee.gaia.meter.service.meter;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -65,9 +65,11 @@ class SaveMeterInfoYesterday {
 
             //设置取值开始时间
             DateTime now = DateTime.now();
-            DateTime startDateTime =DateUtil.offsetDay(now,-1);
+            DateTime startDay = DateUtil.offsetDay(now, -1);
+            DateTime startDateTime = DateUtil.beginOfDay(startDay);
             //设置取值结束时间
-            DateTime endDateTime = DateUtil.offsetDay(now,-1);
+            DateTime endDay = DateUtil.offsetDay(now, -1);
+            DateTime endDateTime = DateUtil.endOfDay(endDay);
 
             //指定开始日期到结束日期的天数
             LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
@@ -146,9 +148,11 @@ class SaveMeterInfoYesterday {
 
         //设置取值开始时间
         DateTime now = DateTime.now();
-        DateTime startDateTime =DateUtil.offsetDay(now,-1);
+        DateTime startDay = DateUtil.offsetDay(now, -1);
+        DateTime startDateTime = DateUtil.beginOfDay(startDay);
         //设置取值结束时间
-        DateTime endDateTime = DateUtil.offsetDay(now,-1);
+        DateTime endDay = DateUtil.offsetDay(now, -1);
+        DateTime endDateTime = DateUtil.endOfDay(endDay);
 
         //指定开始日期到结束日期的天数
         LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
@@ -211,9 +215,11 @@ class SaveMeterInfoYesterday {
 
                 //设置取值开始时间
                 DateTime now = DateTime.now();
-                DateTime startDateTime =DateUtil.offsetDay(now,-1);
+                DateTime startDay = DateUtil.offsetDay(now, -1);
+                DateTime startDateTime = DateUtil.beginOfDay(startDay);
                 //设置取值结束时间
-                DateTime endDateTime = DateUtil.offsetDay(now,-1);
+                DateTime endDay = DateUtil.offsetDay(now, -1);
+                DateTime endDateTime = DateUtil.endOfDay(endDay);
 
                 //指定开始日期到结束日期的天数
                 LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
@@ -298,9 +304,11 @@ class SaveMeterInfoYesterday {
 
         //设置取值开始时间
         DateTime now = DateTime.now();
-        DateTime startDateTime =DateUtil.offsetDay(now,-1);
+        DateTime startDay = DateUtil.offsetDay(now, -1);
+        DateTime startDateTime = DateUtil.beginOfDay(startDay);
         //设置取值结束时间
-        DateTime endDateTime = DateUtil.offsetDay(now,-1);
+        DateTime endDay = DateUtil.offsetDay(now, -1);
+        DateTime endDateTime = DateUtil.endOfDay(endDay);
 
         //指定开始日期到结束日期的天数
         LocalDateTime day1 = LocalDateTimeUtil.of(startDateTime);
@@ -311,18 +319,12 @@ class SaveMeterInfoYesterday {
 
         for (MeterPoint meterPoint : meterPointJSDList) {
             String formula1 = meterPoint.getFormula();
-            System.out.println("转换前的公式:" + formula1);
             String formula2 = formula1.replaceAll("DL.NX", "DL_NX").replaceAll("DJL.", "DJL_");
-            System.out.println("转换后的公式字符串:" + formula2);
 
-            //分割公式字符串,得到每一的个code
-//            String[] meterPointCodes = StringUtils.split(formula1, "[+\\-*/()]");
             String[] meterPointCodes = StringUtils.split(formula1, "[+-*/()]");
             meterPointCodes = Arrays.stream(meterPointCodes)
                     .filter(meterPointCode -> !(meterPointCode.length() < 8))
                     .toArray(String[]::new);
-            System.out.println("过滤后公式中的测点数:" + meterPointCodes.length);
-            System.out.println(Arrays.toString(meterPointCodes));
 
 
             for (int i = 0; i <= between; i++) {
@@ -332,21 +334,14 @@ class SaveMeterInfoYesterday {
 //                DateTime dateTime2 = DateUtil.offsetDay(startDateTime, i + 1);
                 //遍历code数据,拿到每一个code,用code和时间,在meter_info_bottom中拿到dayValue
                 for (String meterPointCode : meterPointCodes) {
-//                    String meterPointCode_ = meterPointCode.replaceAll("\\.", "_");
                     String meterPointCode_ = meterPointCode.replaceAll("DL.", "DL_").replaceAll("DJL.", "DJL_");
-                    System.out.println("要查询的点code:" + meterPointCode);
-                    System.out.println("替换后的点code:" + meterPointCode_);
 //
                     try {
                         if (meterPointCode.startsWith("DL")) {
-                            System.out.println("计算测点DL:" + meterPointCode);
                             MeterInfoCalculating meterInfoCalculating = meterInfoCalculatingService.getOne(new QueryWrapper<MeterInfoCalculating>().eq("code", meterPointCode).eq("date", dateTime1));
-                            System.out.println("DL点数据:" + meterInfoCalculating.getValue());
                             map.put(meterPointCode_, meterInfoCalculating.getValue());
                         } else {
-                            System.out.println("计算测点Bottom:" + meterPointCode);
                             MeterInfoBottomcode meterInfoBottomcode = meterInfoBottomcodeService.getOne(new QueryWrapper<MeterInfoBottomcode>().eq("code", meterPointCode).eq("start_time", dateTime1));
-                            System.out.println("Bottom点数据日电量:" + meterInfoBottomcode.getDayValue());
                             map.put(meterPointCode_, meterInfoBottomcode.getDayValue());
                         }
 
@@ -355,52 +350,51 @@ class SaveMeterInfoYesterday {
 
                     }
                 }
-                    System.out.println("map集合:"+map);
-                    try {
-                        BigDecimal bigDecimal1 = (BigDecimal) ScriptShell.parseExpr(formula2, map);
-                        System.out.println("公式计算后数据:"+bigDecimal1);
-                        MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
-                        meterInfoCalculating.setName(meterPoint.getName());
-                        meterInfoCalculating.setCode(meterPoint.getNemCode());
-                        meterInfoCalculating.setDate(dateTime1.toLocalDateTime());
-                        meterInfoCalculating.setValue(bigDecimal1);
-                        meterInfoCalculating.setUpdateTime(LocalDateTime.now());
-                        meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
-
-                        QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
-                        queryWrapper.eq("date", dateTime1.toLocalDateTime()).eq("code", meterPoint.getNemCode());
-                        List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
-                        if (list.size() > 0) {
-                            meterInfoCalculating.update(queryWrapper);
-                        } else {
-                            meterInfoCalculating.insert();
-                        }
-
-                    }catch (ArithmeticException e) {
-
-                        MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
-                        meterInfoCalculating.setName(meterPoint.getName());
-                        meterInfoCalculating.setCode(meterPoint.getNemCode());
-                        meterInfoCalculating.setDate(dateTime1.toLocalDateTime());
-                        meterInfoCalculating.setValue(BigDecimal.valueOf(0));
-                        meterInfoCalculating.setUpdateTime(LocalDateTime.now());
-                        meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
-
-                        QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
-                        queryWrapper.eq("date", dateTime1.toLocalDateTime()).eq("code", meterPoint.getNemCode());
-                        List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
-                        if (list.size() > 0) {
-                            meterInfoCalculating.update(queryWrapper);
-                        } else {
-                            meterInfoCalculating.insert();
-                        }
+                System.out.println("map集合:" + map);
+                try {
+                    BigDecimal bigDecimal1 = (BigDecimal) ScriptShell.parseExpr(formula2, map);
+                    MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
+                    meterInfoCalculating.setName(meterPoint.getName());
+                    meterInfoCalculating.setCode(meterPoint.getNemCode());
+                    meterInfoCalculating.setDate(dateTime1.toLocalDateTime());
+                    meterInfoCalculating.setValue(bigDecimal1);
+                    meterInfoCalculating.setUpdateTime(LocalDateTime.now());
+                    meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
+
+                    QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("date", dateTime1.toLocalDateTime()).eq("code", meterPoint.getNemCode());
+                    List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
+                    if (list.size() > 0) {
+                        meterInfoCalculating.update(queryWrapper);
+                    } else {
+                        meterInfoCalculating.insert();
+                    }
 
-                    } catch (Exception e) {
-                        System.out.println("存入异常  :" + e.getMessage());
+                } catch (ArithmeticException e) {
 
+                    MeterInfoCalculating meterInfoCalculating = new MeterInfoCalculating();
+                    meterInfoCalculating.setName(meterPoint.getName());
+                    meterInfoCalculating.setCode(meterPoint.getNemCode());
+                    meterInfoCalculating.setDate(dateTime1.toLocalDateTime());
+                    meterInfoCalculating.setValue(BigDecimal.valueOf(0));
+                    meterInfoCalculating.setUpdateTime(LocalDateTime.now());
+                    meterInfoCalculating.setWindpowerstationId(meterPoint.getWindpowerstationId());
 
+                    QueryWrapper<MeterInfoCalculating> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("date", dateTime1.toLocalDateTime()).eq("code", meterPoint.getNemCode());
+                    List<MeterInfoCalculating> list = meterInfoCalculatingService.list(queryWrapper);
+                    if (list.size() > 0) {
+                        meterInfoCalculating.update(queryWrapper);
+                    } else {
+                        meterInfoCalculating.insert();
                     }
 
+                } catch (Exception e) {
+                    System.out.println("存入异常  :" + e.getMessage());
+
+
+                }
+
             }
         }
     }

File diff suppressed because it is too large
+ 181 - 1222
electricity/meter/src/main/java/com/gyee/gaia/meter/service/meterInfo/GetMeterInfo.java


+ 3 - 3
electricity/meter/src/main/resources/bootstrap.yaml

@@ -3,7 +3,7 @@ spring:
     name: meter
   profiles:
     # 环境配置
-    active: dev
+    active: prod
   cloud:
     nacos:
       discovery:
@@ -16,9 +16,9 @@ spring:
         # 配置文件格式
         file-extension: yml
         #开发环境配置命名空间
-        namespace: fe339fbd-7113-405f-8d2a-70659c5d53e4
+#        namespace: fe339fbd-7113-405f-8d2a-70659c5d53e4
         #生产环境配置命名空间
-#        namespace: d148acca-95e7-4e07-a566-9a69012bcf01
+        namespace: d148acca-95e7-4e07-a566-9a69012bcf01
         group: meter
         refresh-enabled: true
         # 共享配置