From b5c2100daccac9271c66db0a458e9fd69928369e Mon Sep 17 00:00:00 2001 From: yang chen Date: Mon, 15 Dec 2025 11:18:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(report):=20=E6=9B=B4=E6=96=B0=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8SQL=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在SQL查询中增加cycle字段以区分日、月、年报表周期 - 更新INSERT语句中的UPDATE_TIME和UPDATE_USER字段值 - 新增cycle字段的报表字段定义及国际化配置 - 优化查询条件以支持不同时间范围的数据统计 - 保持原有统计逻辑不变,增强数据展示维度 - 确保报表数据源配置与新SQL结构一致 --- SQL/202512/20251215/report_work_order_statistics.sql | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SQL/202512/20251215/report_work_order_statistics.sql b/SQL/202512/20251215/report_work_order_statistics.sql index 0aaec3f..8eb2fd3 100644 --- a/SQL/202512/20251215/report_work_order_statistics.sql +++ b/SQL/202512/20251215/report_work_order_statistics.sql @@ -1,5 +1,5 @@ delete from "LOWCODE_FRAME"."LOWCODE_REPORT" where "REPORT_CODE" = 'report_work_order_statistics'; -insert into "LOWCODE_FRAME"."LOWCODE_REPORT"("ID", "TENANT_ID", "CREATE_USER", "CREATE_TIME", "CREATE_DEPT", "UPDATE_USER", "UPDATE_TIME", "IS_DELETED", "REPORT_NAME", "REPORT_CODE", "GROUP_REPORT_ID", "JAVA_CONFIG", "DATA_CONFIG", "TABLE_CONFIG", "DATA_SOURCES_CONFIG", "DATA_SOURCES_CODE") values(2000399466478268417, 1, 1, '2025-12-15 10:56:13', 100, null, '2025-12-15 10:56:13', 0, '工单统计报表', 'report_work_order_statistics', 1960535736475779074, '', 'page,authFalse', 'height,header,menu,index,border', '{"dataOrigin":"1998318491426455554","executeSql":"select\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE)\r\n and \"GMT_CREATE\" < TRUNC(SYSDATE) + 1\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''mm'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''mm''), 1)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''yyyy'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''yyyy''), 12)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}","optionData":{"optionObj":{"select":[],"from":[],"where":[],"groupBy":"","having":"","orderBy":[]},"customSql":"select\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE)\r\n and \"GMT_CREATE\" < TRUNC(SYSDATE) + 1\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''mm'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''mm''), 1)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''yyyy'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''yyyy''), 12)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}","aliasObj":{"lc_power_env_alert_message":"tbl_lpeam"},"typeKey":"custom"}}', 'master'); +insert into "LOWCODE_FRAME"."LOWCODE_REPORT"("ID", "TENANT_ID", "CREATE_USER", "CREATE_TIME", "CREATE_DEPT", "UPDATE_USER", "UPDATE_TIME", "IS_DELETED", "REPORT_NAME", "REPORT_CODE", "GROUP_REPORT_ID", "JAVA_CONFIG", "DATA_CONFIG", "TABLE_CONFIG", "DATA_SOURCES_CONFIG", "DATA_SOURCES_CODE") values(2000399466478268417, 1, 1, '2025-12-15 10:56:13', 100, 1, '2025-12-15 11:16:28', 0, '工单统计报表', 'report_work_order_statistics', 1960535736475779074, '', 'page,authFalse', 'height,header,menu,index,border', '{"dataOrigin":"1998318491426455554","executeSql":"select\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''day'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE)\r\n and \"GMT_CREATE\" < TRUNC(SYSDATE) + 1\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''month'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''mm'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''mm''), 1)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''year'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''yyyy'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''yyyy''), 12)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}","optionData":{"optionObj":{"select":[],"from":[],"where":[],"groupBy":"","having":"","orderBy":[]},"customSql":"select\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''day'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE)\r\n and \"GMT_CREATE\" < TRUNC(SYSDATE) + 1\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''month'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''mm'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''mm''), 1)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}\r\nunion all\r\nselect\r\n count(\r\n case\r\n when \"STATUS\" = ''未处理'' then 1\r\n else null\r\n end\r\n ) as pending,\r\n count(\r\n case\r\n when \"STATUS\" = ''已处理'' then 1\r\n else null\r\n end\r\n ) as processed,\r\n count(\r\n case\r\n when \"STATUS\" = ''已关闭'' then 1\r\n else null\r\n end\r\n ) as closed,\r\n count(\r\n case\r\n when \"STATUS\" not in (''未处理'', ''已处理'', ''已关闭'') then 1\r\n else null\r\n end\r\n ) as processing,\r\n count(*) as total,\r\n ''year'' as cycle\r\nfrom\r\n \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\r\nwhere\r\n \"GMT_CREATE\" >= TRUNC(SYSDATE, ''yyyy'')\r\n and \"GMT_CREATE\" < ADD_MONTHS(TRUNC(SYSDATE, ''yyyy''), 12)\r\n and \"ORDER_TYPE_PATH_NAME\" = #{workOrderType}\r\n and \"TASK_TYPE\" = #{taskType}","aliasObj":{"lc_power_env_alert_message":"tbl_lpeam"},"typeKey":"custom"}}', 'master'); delete from "LOWCODE_FRAME"."LOWCODE_REPORT_FIELD" where "REPORT_ID" in (select "ID" from "LOWCODE_FRAME"."LOWCODE_REPORT" where "REPORT_CODE" = 'report_work_order_statistics'); insert into "LOWCODE_FRAME"."LOWCODE_REPORT_FIELD"("ID", "TENANT_ID", "CREATE_USER", "CREATE_TIME", "CREATE_DEPT", "UPDATE_USER", "UPDATE_TIME", "IS_DELETED", "REPORT_ID", "FIELD_CODE", "FIELD_NAME", "FIELD_TYPE", "SORT_NUM", "QUERY_IS_DB", "QUERY_IS_WEB", "QUERY_MODE", "DICT_CODE", "IS_EXPORT", "IS_SHOW_SORT", "LABEL_I18N") values(2000399466578931713, 1, 1, '2025-12-15 10:56:13', 100, null, null, 0, 2000399466478268417, 'pending', '未开始', 'Integer', 1, 'Y', 'Y', 'RANGE', '', 'Y', 'Y', 'return { //简体中文 @@ -31,3 +31,9 @@ insert into "LOWCODE_FRAME"."LOWCODE_REPORT_FIELD"("ID", "TENANT_ID", "CREATE_US //English ''en'': '''', }'); +insert into "LOWCODE_FRAME"."LOWCODE_REPORT_FIELD"("ID", "TENANT_ID", "CREATE_USER", "CREATE_TIME", "CREATE_DEPT", "UPDATE_USER", "UPDATE_TIME", "IS_DELETED", "REPORT_ID", "FIELD_CODE", "FIELD_NAME", "FIELD_TYPE", "SORT_NUM", "QUERY_IS_DB", "QUERY_IS_WEB", "QUERY_MODE", "DICT_CODE", "IS_EXPORT", "IS_SHOW_SORT", "LABEL_I18N") values(2000404560376573953, 1, 1, '2025-12-15 11:16:28', 100, null, null, 0, 2000399466478268417, 'cycle', '统计周期', 'Integer', 6, 'Y', 'Y', 'EQ', '', 'Y', 'N', 'return { + //简体中文 + ''zh-CN'': ''统计周期'', + //English + ''en'': '''', +}'); \ No newline at end of file