Browse Source

[0917] 超短期预测报表

taosj 1 week ago
parent
commit
7782245930

+ 4 - 4
forecast-backend-server/src/main/java/com/ufo/project/data/service/impl/UltraShortTermPowerForecastReportServiceImpl.java

@@ -37,7 +37,7 @@ import com.ufo.project.model.service.IDataElectricityLocalService;
 @Service
 public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShortTermPowerForecastReportService
 {
-    private static final int SCALE = 4;
+    private static final int SCALE = 3;
     private static final long SECONDS_PER_DAY = 86400L;
     private static final long SECONDS_PER_HOUR = 3600L;
     private static final long SECONDS_PER_4H = SECONDS_PER_HOUR * 4L;
@@ -241,7 +241,7 @@ public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShort
                 }
             }
         }
-        return BigDecimal.valueOf(maxPower / 1000.0);
+        return BigDecimal.valueOf(maxPower / 1000.0).setScale(SCALE, RoundingMode.HALF_UP);
     }
 
     private BigDecimal computeActualPower(List<DataElectricityLocal> records)
@@ -261,7 +261,7 @@ public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShort
             }
         }
         if (count == 0) return BigDecimal.ZERO;
-        return BigDecimal.valueOf(sum / count / 1000.0);
+        return BigDecimal.valueOf(sum / count / 1000.0).setScale(SCALE, RoundingMode.HALF_UP);
     }
 
     private BigDecimal computeForecastPower(List<DataSuperShortTermForecastIssued> records)
@@ -285,7 +285,7 @@ public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShort
             }
         }
         if (count == 0) return BigDecimal.ZERO;
-        return BigDecimal.valueOf(sum / count / 1000.0);
+        return BigDecimal.valueOf(sum / count / 1000.0).setScale(SCALE, RoundingMode.HALF_UP);
     }
 
     private BigDecimal computeRmse(List<DataElectricityLocal> actualRecords,

+ 1 - 1
forecast-backend-vue/src/views/ufo/electricity/datareport/ultraShortTermForecastMonthlyReport.vue

@@ -96,7 +96,7 @@ const buildParams = () => ({
   type: query.type,
   entityId: query.stationId,
   startTime: dayjs(query.startTime).format('YYYY-MM') + '-01',
-  endTime: dayjs(query.endTime).endOf('month').format('YYYY-MM-DD HH:mm:ss')
+  endTime: dayjs(query.endTime).endOf('month').format('YYYY-MM-DD')
 })
 
 const handleQuery = async () => {

+ 6 - 4
forecast-backend-vue/src/views/ufo/electricity/datareport/ultraShortTermForecastYearlyReport.vue

@@ -6,16 +6,18 @@
           <StationSelector v-model:value="query.stationId" :options="stationOptions" :multiple="false" />
         </a-col>
         <a-col :xs="24" :md="5">
-          <a-year-picker
+          <a-date-picker
             v-model:value="query.startTime"
+            picker="year"
             format="YYYY"
             placeholder="起始时间"
             class="full-control"
           />
         </a-col>
         <a-col :xs="24" :md="5">
-          <a-year-picker
+          <a-date-picker
             v-model:value="query.endTime"
+            picker="year"
             format="YYYY"
             placeholder="截止时间"
             class="full-control"
@@ -95,8 +97,8 @@ const loadStationOptions = async () => {
 const buildParams = () => ({
   type: query.type,
   entityId: query.stationId,
-  startTime: dayjs(query.startTime).startOf('year').format('YYYY-MM-DD HH:mm:ss'),
-  endTime: dayjs(query.endTime).endOf('year').format('YYYY-MM-DD HH:mm:ss')
+  startTime: dayjs(query.startTime).startOf('year').format('YYYY-MM-DD'),
+  endTime: dayjs(query.endTime).endOf('year').format('YYYY-MM-DD')
 })
 
 const handleQuery = async () => {

+ 11 - 12
release_note/2026.09.17/20260917_dp.sql

@@ -9,9 +9,9 @@ COMMENT ON COLUMN "public"."data_weather_local"."irradiance" IS '总辐照度,
 -- 任务编号 2026090805  增加"短期预测报表"功能
 -- =============================================================================
 
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2071, '短期预测日报', 2016, 3, 'short-term-forecast-daily', 'ufo/electricity/datareport/shorTermForecastDailyReport', '', 'ShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测日报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2072, '短期预测月报', 2016, 4, 'short-term-forecast-monthly', 'ufo/electricity/datareport/shorTermForecastMonthlyReport', '', 'ShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测月报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2073, '短期预测年报', 2016, 5, 'short-term-forecast-yearly', 'ufo/electricity/datareport/shorTermForecastYearlyReport', '', 'ShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测年报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2071, '短期预测日报', 2087, 3, 'short-term-forecast-daily', 'ufo/electricity/datareport/shorTermForecastDailyReport', '', 'ShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测日报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2072, '短期预测月报', 2087, 4, 'short-term-forecast-monthly', 'ufo/electricity/datareport/shorTermForecastMonthlyReport', '', 'ShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测月报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2073, '短期预测年报', 2087, 5, 'short-term-forecast-yearly', 'ufo/electricity/datareport/shorTermForecastYearlyReport', '', 'ShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '短期预测年报页面');
 
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2087);
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2088);
@@ -22,9 +22,9 @@ INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2090);
 -- 任务编号 2026090806  增加"超短期预测报表"功能
 -- =============================================================================
 
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2091, '超短期预测日报', 2016, 6, 'ultra-short-term-forecast-daily', 'ufo/datareport/ultraShortTermForecastDailyReport', '', 'UltraShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测日报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2092, '超短期预测月报', 2016, 7, 'ultra-short-term-forecast-monthly', 'ufo/datareport/ultraShortTermForecastMonthlyReport', '', 'UltraShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测月报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2093, '超短期预测年报', 2016, 8, 'ultra-short-term-forecast-yearly', 'ufo/datareport/ultraShortTermForecastYearlyReport', '', 'UltraShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测年报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2091, '超短期预测日报', 2087, 6, 'ultra-short-term-forecast-daily', 'ufo/electricity/datareport/ultraShortTermForecastDailyReport', '', 'UltraShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测日报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2092, '超短期预测月报', 2087, 7, 'ultra-short-term-forecast-monthly', 'ufo/electricity/datareport/ultraShortTermForecastMonthlyReport', '', 'UltraShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测月报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2093, '超短期预测年报', 2087, 8, 'ultra-short-term-forecast-yearly', 'ufo/electricity/datareport/ultraShortTermForecastYearlyReport', '', 'UltraShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:ultraShortTermForecastReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '超短期预测年报页面');
 
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2091);
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2092);
@@ -34,9 +34,9 @@ INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2093);
 -- 任务编号 2026091401  增加"光伏电场累计报表"功能
 -- =============================================================================
 
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2101, '光伏电场累计日报', 2016, 9, 'pv-plant-cumulative-daily', 'ufo/datareport/pvPlantCumulativeDailyReport', '', 'PvPlantCumulativeDailyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:daily', 'file-text', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计日报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2102, '光伏电场累计月报', 2016, 10, 'pv-plant-cumulative-monthly', 'ufo/datareport/pvPlantCumulativeMonthlyReport', '', 'PvPlantCumulativeMonthlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:monthly', 'file-text', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计月报页面');
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2103, '光伏电场累计年报', 2016, 11, 'pv-plant-cumulative-yearly', 'ufo/datareport/pvPlantCumulativeYearlyReport', '', 'PvPlantCumulativeYearlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:yearly', 'file-text', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计年报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2101, '光伏电场累计日报', 2087, 9, 'pv-plant-cumulative-daily', 'ufo/electricity/datareport/pvPlantCumulativeDailyReport', '', 'PvPlantCumulativeDailyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:daily', 'StockOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计日报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2102, '光伏电场累计月报', 2087, 10, 'pv-plant-cumulative-monthly', 'ufo/electricity/datareport/pvPlantCumulativeMonthlyReport', '', 'PvPlantCumulativeMonthlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:monthly', 'LineChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计月报页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2103, '光伏电场累计年报', 2087, 11, 'pv-plant-cumulative-yearly', 'ufo/electricity/datareport/pvPlantCumulativeYearlyReport', '', 'PvPlantCumulativeYearlyReport', 1, 0, 'C', '0', '0', 'data:pvPlantCumulativeReport:yearly', 'AreaChartOutlined', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏电场累计年报页面');
 
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2101);
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2102);
@@ -46,7 +46,7 @@ INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2103);
 -- 任务编号 2026091402  增加"光伏气象资源数据报表"功能
 -- =============================================================================
 
-INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2111, '光伏气象资源数据报表', 2016, 12, 'pv-meteorological-resource-data', 'ufo/datareport/pvMeteorologicalResourceDataReport', '', 'PvMeteorologicalResourceDataReport', 1, 0, 'C', '0', '0', 'data:pvMeteorologicalResourceData:list', 'file-text', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏气象资源数据报表页面');
+INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "route_name", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2111, '光伏气象资源数据报表', 2087, 12, 'pv-meteorological-resource-data', 'ufo/datareport/pvMeteorologicalResourceDataReport', '', 'PvMeteorologicalResourceDataReport', 1, 0, 'C', '0', '0', 'data:pvMeteorologicalResourceData:list', 'file-text', 'admin', '2026-09-14 00:00:00', '', NULL, '光伏气象资源数据报表页面');
 
 INSERT INTO sys_role_menu (role_id, menu_id) VALUES (1, 2111);
 
@@ -61,5 +61,4 @@ update "public"."sys_menu" set status =  1 where menu_name = '短期预测功率
 update "public"."sys_menu" set status =  1 where menu_name = '超短期预测功率' and menu_id = 2084;
 update "public"."sys_menu" set menu_name = '短期功率预测修正' where menu_name = '短期预测功率修正' and menu_id = 2085;
 update "public"."sys_menu" set menu_name = '超短期功率预测修正' where menu_name = '超短期预测功率修正' and menu_id = 2086;
-update "public"."sys_menu" set parent_id =  2007 where parent_id = 2004 and menu_id = 2080;
-update "public"."sys_menu" set parent_id =  2007 where parent_id = 2004 and menu_id = 2076;
+update "public"."sys_menu" set parent_id =  2007 where parent_id = 2004 and menu_id = 2080;