Bladeren bron

[0917] 短期预测日报、月报、年报测试

taosj 1 dag geleden
bovenliggende
commit
be79cecf9b

+ 0 - 12
forecast-backend-vue/components.d.ts

@@ -42,9 +42,7 @@ declare module 'vue' {
     ALayoutSider: typeof import('ant-design-vue/es')['LayoutSider']
     AList: typeof import('ant-design-vue/es')['List']
     AListItem: typeof import('ant-design-vue/es')['ListItem']
-    AListItemMeta: typeof import('ant-design-vue/es')['ListItemMeta']
     AMenu: typeof import('ant-design-vue/es')['Menu']
-    AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
     AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
     AModal: typeof import('ant-design-vue/es')['Modal']
     AMonthPicker: typeof import('ant-design-vue/es')['MonthPicker']
@@ -63,7 +61,6 @@ declare module 'vue' {
     ASlider: typeof import('ant-design-vue/es')['Slider']
     ASpace: typeof import('ant-design-vue/es')['Space']
     ASpin: typeof import('ant-design-vue/es')['Spin']
-    AStatistic: typeof import('ant-design-vue/es')['Statistic']
     ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
     ASwitch: typeof import('ant-design-vue/es')['Switch']
     ATable: typeof import('ant-design-vue/es')['Table']
@@ -71,11 +68,8 @@ declare module 'vue' {
     ATabs: typeof import('ant-design-vue/es')['Tabs']
     ATag: typeof import('ant-design-vue/es')['Tag']
     ATextarea: typeof import('ant-design-vue/es')['Textarea']
-    ATimeline: typeof import('ant-design-vue/es')['Timeline']
-    ATimelineItem: typeof import('ant-design-vue/es')['TimelineItem']
     ATooltip: typeof import('ant-design-vue/es')['Tooltip']
     ATree: typeof import('ant-design-vue/es')['Tree']
-    ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect']
     ATypographyText: typeof import('ant-design-vue/es')['TypographyText']
     ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle']
     AUpload: typeof import('ant-design-vue/es')['Upload']
@@ -142,9 +136,7 @@ declare global {
   const ALayoutSider: typeof import('ant-design-vue/es')['LayoutSider']
   const AList: typeof import('ant-design-vue/es')['List']
   const AListItem: typeof import('ant-design-vue/es')['ListItem']
-  const AListItemMeta: typeof import('ant-design-vue/es')['ListItemMeta']
   const AMenu: typeof import('ant-design-vue/es')['Menu']
-  const AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
   const AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
   const AModal: typeof import('ant-design-vue/es')['Modal']
   const AMonthPicker: typeof import('ant-design-vue/es')['MonthPicker']
@@ -163,7 +155,6 @@ declare global {
   const ASlider: typeof import('ant-design-vue/es')['Slider']
   const ASpace: typeof import('ant-design-vue/es')['Space']
   const ASpin: typeof import('ant-design-vue/es')['Spin']
-  const AStatistic: typeof import('ant-design-vue/es')['Statistic']
   const ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
   const ASwitch: typeof import('ant-design-vue/es')['Switch']
   const ATable: typeof import('ant-design-vue/es')['Table']
@@ -171,11 +162,8 @@ declare global {
   const ATabs: typeof import('ant-design-vue/es')['Tabs']
   const ATag: typeof import('ant-design-vue/es')['Tag']
   const ATextarea: typeof import('ant-design-vue/es')['Textarea']
-  const ATimeline: typeof import('ant-design-vue/es')['Timeline']
-  const ATimelineItem: typeof import('ant-design-vue/es')['TimelineItem']
   const ATooltip: typeof import('ant-design-vue/es')['Tooltip']
   const ATree: typeof import('ant-design-vue/es')['Tree']
-  const ATreeSelect: typeof import('ant-design-vue/es')['TreeSelect']
   const ATypographyText: typeof import('ant-design-vue/es')['TypographyText']
   const ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle']
   const AUpload: typeof import('ant-design-vue/es')['Upload']

+ 2 - 2
forecast-backend-vue/src/views/ufo/electricity/datareport/pvMeteorologicalResourceDataReport.vue

@@ -51,8 +51,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryPvMeteorologicalResourceData, exportPvMeteorologicalResourceData } from '@/api/data/pvMeteorologicalResourceData';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

+ 2 - 2
forecast-backend-vue/src/views/ufo/electricity/datareport/pvPlantCumulativeDailyReport.vue

@@ -51,8 +51,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryPvPlantCumulativeReport, exportPvPlantCumulativeReport } from '@/api/data/pvPlantCumulativeReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

+ 2 - 2
forecast-backend-vue/src/views/ufo/electricity/datareport/pvPlantCumulativeMonthlyReport.vue

@@ -49,8 +49,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryPvPlantCumulativeReport, exportPvPlantCumulativeReport } from '@/api/data/pvPlantCumulativeReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

+ 2 - 2
forecast-backend-vue/src/views/ufo/electricity/datareport/pvPlantCumulativeYearlyReport.vue

@@ -49,8 +49,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryPvPlantCumulativeReport, exportPvPlantCumulativeReport } from '@/api/data/pvPlantCumulativeReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

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

@@ -51,8 +51,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryShortTermForecastReport, exportShortTermForecastReport } from '@/api/power/shortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);
@@ -67,12 +67,12 @@ const query = reactive({
   type: 'daily'
 })
 
-const columns = [
+const tableColumns = [
   { title: '时间', dataIndex: 'time', width: 120 },
   { title: '开机容量(MW)', dataIndex: 'operatingCapacity', width: 130 },
   { title: '实发功率(MW)', dataIndex: 'actualPower', width: 130 },
   { title: '预测功率(MW)', dataIndex: 'forecastPower', width: 130 },
-  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
+  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
   { title: '平均绝对误差', dataIndex: 'meanAbsoluteError', width: 130 },
   { title: '相关性系数', dataIndex: 'correlationCoefficientR', width: 130 },
   { title: '最大误差合格率(%)', dataIndex: 'maximumErrorPassRate', width: 150 }

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

@@ -49,9 +49,9 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryShortTermForecastReport, exportShortTermForecastReport } from '@/api/power/shortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
-import { normalizeRows } from '../components/dataAdapter.js';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
+import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);
 const exporting = ref(false);
@@ -65,12 +65,12 @@ const query = reactive({
   type: 'monthly'
 })
 
-const columns = [
+const tableColumns = [
   { title: '时间', dataIndex: 'time', width: 120 },
   { title: '开机容量(MW)', dataIndex: 'operatingCapacity', width: 130 },
   { title: '实发功率(MW)', dataIndex: 'actualPower', width: 130 },
   { title: '预测功率(MW)', dataIndex: 'forecastPower', width: 130 },
-  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
+  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
   { title: '平均绝对误差', dataIndex: 'meanAbsoluteError', width: 130 },
   { title: '相关性系数', dataIndex: 'correlationCoefficientR', width: 130 },
   { title: '最大误差合格率(%)', dataIndex: 'maximumErrorPassRate', width: 150 }
@@ -108,7 +108,7 @@ const handleQuery = async () => {
 
   loading.value = true
   try {
-    const res = await listShortTermForecastReport(buildParams())
+    const res = await queryShortTermForecastReport(buildParams())
     tableRows.value = normalizeRows(res)
   } finally {
     loading.value = false

+ 20 - 18
forecast-backend-vue/src/views/ufo/electricity/datareport/shorTermForecastYearlyReport.vue

@@ -6,20 +6,22 @@
           <StationSelector v-model:value="query.stationId" :options="stationOptions" :multiple="false" />
         </a-col>
         <a-col :xs="24" :md="5">
-          <a-year-picker
-            v-model:value="query.startTime"
-            format="YYYY"
-            placeholder="起始时间"
-            class="full-control"
-          />
+            <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
-            v-model:value="query.endTime"
-            format="YYYY"
-            placeholder="截止时间"
-            class="full-control"
-          />
+            <a-date-picker
+              v-model:value="query.endTime"
+              picker="year"
+              format="YYYY"
+              placeholder="截止时间"
+              class="full-control"
+            />
         </a-col>
         <a-col :xs="24" :md="8">
           <a-space>
@@ -49,9 +51,9 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryShortTermForecastReport, exportShortTermForecastReport } from '@/api/power/shortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
-import { normalizeRows } from '../components/dataAdapter.js';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
+import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);
 const exporting = ref(false);
@@ -65,12 +67,12 @@ const query = reactive({
   type: 'yearly'
 })
 
-const columns = [
+const tableColumns = [
   { title: '时间', dataIndex: 'time', width: 120 },
   { title: '开机容量(MW)', dataIndex: 'operatingCapacity', width: 130 },
   { title: '实发功率(MW)', dataIndex: 'actualPower', width: 130 },
   { title: '预测功率(MW)', dataIndex: 'forecastPower', width: 130 },
-  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
+  { title: '均方根差', dataIndex: 'rootMeanSquareError', width: 120 },
   { title: '平均绝对误差', dataIndex: 'meanAbsoluteError', width: 130 },
   { title: '相关性系数', dataIndex: 'correlationCoefficientR', width: 130 },
   { title: '最大误差合格率(%)', dataIndex: 'maximumErrorPassRate', width: 150 }
@@ -108,7 +110,7 @@ const handleQuery = async () => {
 
   loading.value = true
   try {
-    const res = await listShortTermForecastReport(buildParams())
+    const res = await queryShortTermForecastReport(buildParams())
     tableRows.value = normalizeRows(res)
   } finally {
     loading.value = false

+ 2 - 2
forecast-backend-vue/src/views/ufo/electricity/datareport/ultraShortTermForecastDailyReport.vue

@@ -51,8 +51,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryUltraShortTermForecastReport, exportUltraShortTermForecastReport } from '@/api/power/ultraShortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

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

@@ -49,8 +49,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryUltraShortTermForecastReport, exportUltraShortTermForecastReport } from '@/api/power/ultraShortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

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

@@ -49,8 +49,8 @@ import { saveAs } from 'file-saver';
 import { blobValidate } from '@/utils/bearjia';
 import { listStation } from '@/api/config/station';
 import { queryUltraShortTermForecastReport, exportUltraShortTermForecastReport } from '@/api/power/ultraShortTermForecastReport';
-import BusinessDataTable from './components/BusinessDataTable.vue';
-import StationSelector from './components/StationSelector.vue';
+import BusinessDataTable from '../components/BusinessDataTable.vue';
+import StationSelector from '../components/StationSelector.vue';
 import { normalizeRows, toStationOptions } from '../components/dataAdapter.js';
 
 const loading = ref(false);

+ 3 - 3
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, 'shor-term-forecast-daily', 'ufo/datareport/shorTermForecastDailyReport', '', 'ShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport: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 (2072, '短期预测月报', 2016, 4, 'shor-term-forecast-monthly', 'ufo/datareport/shorTermForecastMonthlyReport', '', 'ShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport: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 (2073, '短期预测年报', 2016, 5, 'shor-term-forecast-yearly', 'ufo/datareport/shorTermForecastYearlyReport', '', 'ShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport: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 (2071, '短期预测日报', 2016, 3, 'shor-term-forecast-daily', 'ufo/electricity/datareport/shorTermForecastDailyReport', '', 'ShorTermForecastDailyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport: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 (2072, '短期预测月报', 2016, 4, 'shor-term-forecast-monthly', 'ufo/electricity/datareport/shorTermForecastMonthlyReport', '', 'ShorTermForecastMonthlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport: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 (2073, '短期预测年报', 2016, 5, 'shor-term-forecast-yearly', 'ufo/electricity/datareport/shorTermForecastYearlyReport', '', 'ShorTermForecastYearlyReport', 1, 0, 'C', '0', '0', 'data:shortTermForecastReport:yearly', 'file-text', '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);