From 7b9aadc020db60158c26502207769faa9dbc09b4 Mon Sep 17 00:00:00 2001 From: yang chen Date: Tue, 18 Nov 2025 15:06:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(job):=20=E4=BF=AE=E6=AD=A3=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=BC=95=E7=94=A8=E5=92=8CJSON=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将字段引用从双引号改为无引号以适配数据库语法 - 更新JSON路径表达式以正确提取SOP标签信息 - 修正多处JOIN条件中的字段匹配逻辑 - 调整CASE语句中的工单等级判断值从'P'为'P0' - 优化字符串处理函数去除多余括号和逗号 - 统一处理内容字段的JSON键名引用为processContent --- .../module/biz/job/AlibabaWorkOrderJob.java | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/job/AlibabaWorkOrderJob.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/job/AlibabaWorkOrderJob.java index 88a11f2..453d3d7 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/job/AlibabaWorkOrderJob.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/job/AlibabaWorkOrderJob.java @@ -132,7 +132,7 @@ public class AlibabaWorkOrderJob implements JobHandler { " rwoa.PROCESSOR_ID AS \"correctPersonId\", " + " rwoa.PROCESSOR_NAME AS \"correctPersonName\", " + " mwoe.\"LEVEL\" AS \"workOrderLevel\", " + - " rwoa.RESERVED_TIME3 AS \"correctDeadline\", " + + " rwoa.RESERVED_TIME3 AS \"correctDeadLine\", " + " rwoa.CONFIRM_PERSON_ID AS \"confirmPersonId\", " + " rwoa.CONFIRM_PERSON_NAME AS \"confirmPersonName\", " + " mwoe.GMT_MODIFIED AS \"gmtModified\", " + @@ -161,15 +161,15 @@ public class AlibabaWorkOrderJob implements JobHandler { " wo.GMT_MODIFIED, " + " wo.RESERVED_TIME3, " + " CASE " + - " WHEN wo.\"LEVEL\" = 'P' THEN '重大' " + + " WHEN wo.\"LEVEL\" = 'P0' THEN '重大' " + " ELSE '一般' " + " END AS \"LEVEL\", " + - " wo.\"CONFIRM_PERSON_ID\", " + + " wo.CONFIRM_PERSON_ID, " + " wo.CONFIRM_PERSON_NAME, " + " wo.TENANT, " + " ml.PROCESSOR_ID, " + " ml.PROCESSOR_NAME, " + - " JSON_VALUE(ml.CONTENT, '$.processedContent') AS PROCESS_CONTENT " + + " JSON_VALUE(ml.CONTENT, '$.processContent') AS PROCESS_CONTENT " + " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + " LEFT JOIN ( " + @@ -178,8 +178,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + " WHERE " + - " wol.\"OPERATE_NAME\" = '完成' " + - " ) ml ON wo.\"WORK_ORDER_ID\" = ml.\"WORK_ORDER_ID\" " + + " wol.OPERATE_NAME = '完成' " + + " ) ml ON wo.WORK_ORDER_ID = ml.WORK_ORDER_ID " + " LEFT JOIN \"XCAMPUS_SPACECENTER\".\"CAMPUS\" c ON c.UUID = wo.CAMPUS_ID " + " WHERE " + " wo.PARENT_ID IS NULL " + @@ -191,8 +191,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2 " + " WHERE " + - " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\" " + - " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NULL " + + " wo.WORK_ORDER_ID = wo2.WORK_ORDER_ID " + + " AND wo2.RELATE_WORK_ORDER_ID IS NULL " + " ) " + " ) mwo " + " LEFT JOIN ( " + @@ -203,7 +203,7 @@ public class AlibabaWorkOrderJob implements JobHandler { " REPLACE( " + " JSON_QUERY( " + " wos.SOP_SCHEMA, " + - " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " + + " '$[0].sopSchema.componentsTree[0].children[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " + " ), " + " '[', " + " '' " + @@ -222,7 +222,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " JSON_QUERY(sl.CONTENT, '$.sopInfo.*' WITH CONDITIONAL WRAPPER), " + " '[', " + " '' " + - " ), ']', " + + " ), " + + " ']', " + " '' " + " ), " + " ',' " + @@ -243,9 +244,9 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + " WHERE " + - " wol.\"OPERATE_NAME\" = '处理' " + - " ) sl ON wo.\"WORK_ORDER_ID\" = sl.\"WORK_ORDER_ID\" " + - " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.\"WORK_ORDER_ID\" = wos.\"WORK_ORDER_ID\" " + + " wol.OPERATE_NAME = '处理' " + + " ) sl ON wo.WORK_ORDER_ID = sl.WORK_ORDER_ID " + + " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.WORK_ORDER_ID = wos.WORK_ORDER_ID " + " WHERE " + " wo.PARENT_ID IN ( " + " SELECT " + @@ -263,8 +264,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " ) mwoe " + " LEFT JOIN ( " + " SELECT " + - " rwoe.\"RELATE_WORK_ORDER_ID\", " + - " LISTAGG(rwoe.\"PROCESS_CONTENT\", ',') WITHIN GROUP ( " + + " rwoe.RELATE_WORK_ORDER_ID, " + + " LISTAGG(rwoe.PROCESS_CONTENT, ',') WITHIN GROUP ( " + " ORDER BY " + " rwoe.WORK_ORDER_ID " + " ) AS PROCESS_CONTENT, " + @@ -317,16 +318,16 @@ public class AlibabaWorkOrderJob implements JobHandler { " wo.GMT_MODIFIED, " + " wo.RESERVED_TIME3, " + " CASE " + - " WHEN wo.\"LEVEL\" = 'P' THEN '重大' " + + " WHEN wo.\"LEVEL\" = 'P0' THEN '重大' " + " ELSE '一般' " + " END AS \"LEVEL\", " + - " wo.\"CONFIRM_PERSON_ID\", " + + " wo.CONFIRM_PERSON_ID, " + " wo.CONFIRM_PERSON_NAME, " + " wo.TENANT, " + " wo.RELATE_WORK_ORDER_ID, " + " ml.PROCESSOR_ID, " + " ml.PROCESSOR_NAME, " + - " JSON_VALUE(ml.CONTENT, '$.processedContent') AS PROCESS_CONTENT " + + " JSON_VALUE(ml.CONTENT, '$.processContent') AS PROCESS_CONTENT " + " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + " LEFT JOIN ( " + @@ -335,8 +336,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + " WHERE " + - " wol.\"OPERATE_NAME\" = '完成' " + - " ) ml ON wo.\"WORK_ORDER_ID\" = ml.\"WORK_ORDER_ID\" " + + " wol.OPERATE_NAME = '完成' " + + " ) ml ON wo.WORK_ORDER_ID = ml.WORK_ORDER_ID " + " LEFT JOIN \"XCAMPUS_SPACECENTER\".\"CAMPUS\" c ON c.UUID = wo.CAMPUS_ID " + " WHERE " + " wo.PARENT_ID IS NULL " + @@ -348,8 +349,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2 " + " WHERE " + - " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\" " + - " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NOT NULL " + + " wo.WORK_ORDER_ID = wo2.WORK_ORDER_ID " + + " AND wo2.RELATE_WORK_ORDER_ID IS NOT NULL " + " ) " + " ) rwo " + " LEFT JOIN ( " + @@ -360,7 +361,7 @@ public class AlibabaWorkOrderJob implements JobHandler { " REPLACE( " + " JSON_QUERY( " + " wos.SOP_SCHEMA, " + - " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " + + " '$[0].sopSchema.componentsTree[0].children[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER " + " ), " + " '[', " + " '' " + @@ -379,7 +380,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " JSON_QUERY(sl.CONTENT, '$.sopInfo.*' WITH CONDITIONAL WRAPPER), " + " '[', " + " '' " + - " ), ']', " + + " ), " + + " ']', " + " '' " + " ), " + " ',' " + @@ -400,9 +402,9 @@ public class AlibabaWorkOrderJob implements JobHandler { " FROM " + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + " WHERE " + - " wol.\"OPERATE_NAME\" = '处理' " + - " ) sl ON wo.\"WORK_ORDER_ID\" = sl.\"WORK_ORDER_ID\" " + - " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.\"WORK_ORDER_ID\" = wos.\"WORK_ORDER_ID\" " + + " wol.OPERATE_NAME = '处理' " + + " ) sl ON wo.WORK_ORDER_ID = sl.WORK_ORDER_ID " + + " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.WORK_ORDER_ID = wos.WORK_ORDER_ID " + " WHERE " + " wo.PARENT_ID IN ( " + " SELECT " + @@ -419,9 +421,8 @@ public class AlibabaWorkOrderJob implements JobHandler { " ) swo ON rwo.WORK_ORDER_ID = swo.PARENT_ID " + " ) rwoe " + " GROUP BY " + - " rwoe.\"RELATE_WORK_ORDER_ID\" " + - " ) rwoa ON mwoe.WORK_ORDER_ID = rwoa.RELATE_WORK_ORDER_ID " - ); + " rwoe.RELATE_WORK_ORDER_ID " + + " ) rwoa ON mwoe.WORK_ORDER_ID = rwoa.RELATE_WORK_ORDER_ID "); // 如果时间参数存在并且合法,则添加时间条件 if (StrUtil.equals("1", params) && Objects.nonNull(startTime) && Objects.nonNull(endTime) && startTime.isBefore(endTime)) { String formattedStart = LocalDateTimeUtil.format(startTime, FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);