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 c752ef2..3353616 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 @@ -112,400 +112,400 @@ public class AlibabaWorkOrderJob implements JobHandler { */ public static String buildSql(LocalDateTime startTime, LocalDateTime endTime) { StringBuilder sqlBuilder = new StringBuilder(); - sqlBuilder.append("SELECT\n" + - " mwoe.ID AS \"id\",\n" + - " mwoe.WORK_ORDER_ID AS \"workOrderId\",\n" + - " mwoe.CAMPUS_ID AS \"campusId\",\n" + - " mwoe.CAMPUS_NAME AS \"campusName\",\n" + - " mwoe.REMARK AS \"checkArea\",\n" + - " mwoe.OBJ_NAME AS \"checkItem\",\n" + - " mwoe.SUB_SOP_SCHEMA AS \"checkContent\",\n" + - " mwoe.CREATOR_ID AS \"checkPersonId\",\n" + - " mwoe.CREATOR_NAME AS \"checkPersonName\",\n" + - " mwoe.GMT_CREATE AS \"checkTime\",\n" + - " mwoe.PROCESS_CONTENT AS \"checkQuestion\",\n" + - " CONCAT_WS(',', rwoa.PROCESS_CONTENT, rwoa.SUB_SOP_SCHEMA) AS \"correctAction\",\n" + - " rwoa.PROCESSOR_ID AS \"correctPersonId\",\n" + - " rwoa.PROCESSOR_NAME AS \"correctPersonName\",\n" + - " mwoe.\"LEVEL\" AS \"workOrderLevel\",\n" + - " rwoa.RESERVED_TIME3 AS \"correctDeadline\",\n" + - " rwoa.CONFIRM_PERSON_ID AS \"confirmPersonId\",\n" + - " rwoa.CONFIRM_PERSON_NAME AS \"confirmPersonName\",\n" + - " mwoe.GMT_MODIFIED AS \"gmtModified\",\n" + - " mwoe.SUB_GMT_MODIFIED AS \"gmtSubModified\",\n" + - " rwoa.GMT_MODIFIED AS \"gmtRelateModified\",\n" + - " rwoa.SUB_GMT_MODIFIED AS \"gmtRelateSubModified\"\n" + - "FROM\n" + - " (\n" + - " SELECT\n" + - " mwo.*,\n" + - " swo.SOP_SCHEMA AS SUB_SOP_SCHEMA,\n" + - " swo.PROCESS_CONTENT AS SUB_PROCESS_CONTENT,\n" + - " swo.GMT_MODIFIED AS SUB_GMT_MODIFIED,\n" + - " swo.OBJ_NAME AS OBJ_NAME\n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " wo.ID,\n" + - " wo.WORK_ORDER_ID,\n" + - " wo.CAMPUS_ID,\n" + - " c.NAME AS CAMPUS_NAME,\n" + - " wo.REMARK,\n" + - " wo.CREATOR_ID,\n" + - " wo.CREATOR_NAME,\n" + - " wo.GMT_CREATE,\n" + - " wo.GMT_MODIFIED,\n" + - " wo.RESERVED_TIME3,\n" + - " CASE\n" + - " WHEN wo.\"LEVEL\" = 'P' THEN '重大'\n" + - " ELSE '一般'\n" + - " END AS \"LEVEL\",\n" + - " wo.\"CONFIRM_PERSON_ID\",\n" + - " wo.CONFIRM_PERSON_NAME,\n" + - " wo.TENANT,\n" + - " ml.PROCESSOR_ID,\n" + - " ml.PROCESSOR_NAME,\n" + - " JSON_VALUE(ml.CONTENT, '$.processedContent') AS PROCESS_CONTENT\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " *\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol\n" + - " WHERE\n" + - " wol.\"OPERATE_NAME\" = '完成'\n" + - " ) ml ON wo.\"WORK_ORDER_ID\" = ml.\"WORK_ORDER_ID\"\n" + - " LEFT JOIN \"XCAMPUS_SPACECENTER\".\"CAMPUS\" c ON c.UUID = wo.CAMPUS_ID\n" + - " WHERE\n" + - " wo.PARENT_ID IS NULL\n" + - " AND wo.ORDER_TYPE_PATH_NAME = '风险隐患'\n" + - " AND wo.TENANT = '1821414781587267584'\n" + - " AND EXISTS (\n" + - " SELECT\n" + - " 1\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2\n" + - " WHERE\n" + - " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\"\n" + - " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NULL\n" + - " )\n" + - " ) mwo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " wo.PARENT_ID,\n" + - " LISTAGG(\n" + - " REPLACE(\n" + - " REPLACE(\n" + - " JSON_QUERY(\n" + - " wos.SOP_SCHEMA,\n" + - " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER,\n" + - " '[',\n" + - " ']',\n" + - " ','\n" + - " ),\n" + - " ']',\n" + - " ''\n" + - " ),\n" + - " '[',\n" + - " ''\n" + - " ),\n" + - " ','\n" + - " ) WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS SOP_SCHEMA,\n" + - " LISTAGG(\n" + - " REPLACE(\n" + - " REPLACE(\n" + - " JSON_QUERY(\n" + - " sl.CONTENT,\n" + - " '$.sopInfo.*' WITH CONDITIONAL WRAPPER,\n" + - " '[',\n" + - " ']',\n" + - " ','\n" + - " ),\n" + - " ']',\n" + - " ''\n" + - " ),\n" + - " '[',\n" + - " ''\n" + - " ),\n" + - " ','\n" + - " ) WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS PROCESS_CONTENT,\n" + - " LISTAGG(OBJ_NAME, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS OBJ_NAME,\n" + - " MAX(wo.GMT_MODIFIED) AS GMT_MODIFIED\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " *\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol\n" + - " WHERE\n" + - " wol.\"OPERATE_NAME\" = '处理'\n" + - " ) sl ON wo.\"WORK_ORDER_ID\" = sl.\"WORK_ORDER_ID\"\n" + - " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.\"WORK_ORDER_ID\" = wos.\"WORK_ORDER_ID\"\n" + - " WHERE\n" + - " wo.PARENT_ID IN (\n" + - " SELECT\n" + - " WORK_ORDER_ID\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\n" + - " WHERE\n" + - " ORDER_TYPE_PATH_NAME = '风险隐患'\n" + - " )\n" + - " AND wo.ORDER_TYPE_PATH_NAME = '系统默认子单类型'\n" + - " AND wo.TENANT = '1821414781587267584'\n" + - " GROUP BY\n" + - " wo.PARENT_ID\n" + - " ) swo ON mwo.WORK_ORDER_ID = swo.PARENT_ID\n" + - " ) mwoe\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " rwoe.\"RELATE_WORK_ORDER_ID\",\n" + - " LISTAGG(rwoe.\"PROCESS_CONTENT\", ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS PROCESS_CONTENT,\n" + - " LISTAGG(rwoe.SUB_PROCESS_CONTENT, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS SUB_PROCESS_CONTENT,\n" + - " LISTAGG(rwoe.SUB_SOP_SCHEMA, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS SUB_SOP_SCHEMA,\n" + - " LISTAGG(rwoe.PROCESSOR_ID, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS PROCESSOR_ID,\n" + - " LISTAGG(rwoe.PROCESSOR_NAME, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS PROCESSOR_NAME,\n" + - " LISTAGG(rwoe.CONFIRM_PERSON_ID, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS CONFIRM_PERSON_ID,\n" + - " LISTAGG(rwoe.CONFIRM_PERSON_NAME, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " rwoe.WORK_ORDER_ID\n" + - " ) AS CONFIRM_PERSON_NAME,\n" + - " MAX(rwoe.RESERVED_TIME3) AS RESERVED_TIME3,\n" + - " MAX(rwoe.GMT_MODIFIED) AS GMT_MODIFIED,\n" + - " MAX(rwoe.SUB_GMT_MODIFIED) AS SUB_GMT_MODIFIED\n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " rwo.*,\n" + - " swo.SOP_SCHEMA AS SUB_SOP_SCHEMA,\n" + - " swo.PROCESS_CONTENT AS SUB_PROCESS_CONTENT,\n" + - " swo.GMT_MODIFIED AS SUB_GMT_MODIFIED,\n" + - " swo.OBJ_NAME AS OBJ_NAME\n" + - " FROM\n" + - " (\n" + - " SELECT\n" + - " wo.ID,\n" + - " wo.WORK_ORDER_ID,\n" + - " wo.CAMPUS_ID,\n" + - " c.NAME AS CAMPUS_NAME,\n" + - " wo.REMARK,\n" + - " wo.CREATOR_ID,\n" + - " wo.CREATOR_NAME,\n" + - " wo.GMT_CREATE,\n" + - " wo.GMT_MODIFIED,\n" + - " wo.RESERVED_TIME3,\n" + - " CASE\n" + - " WHEN wo.\"LEVEL\" = 'P' THEN '重大'\n" + - " ELSE '一般'\n" + - " END AS \"LEVEL\",\n" + - " wo.\"CONFIRM_PERSON_ID\",\n" + - " wo.CONFIRM_PERSON_NAME,\n" + - " wo.TENANT,\n" + - " wo.RELATE_WORK_ORDER_ID,\n" + - " ml.PROCESSOR_ID,\n" + - " ml.PROCESSOR_NAME,\n" + - " JSON_VALUE(ml.CONTENT, '$.processedContent') AS PROCESS_CONTENT\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " *\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol\n" + - " WHERE\n" + - " wol.\"OPERATE_NAME\" = '完成'\n" + - " ) ml ON wo.\"WORK_ORDER_ID\" = ml.\"WORK_ORDER_ID\"\n" + - " LEFT JOIN \"XCAMPUS_SPACECENTER\".\"CAMPUS\" c ON c.UUID = wo.CAMPUS_ID\n" + - " WHERE\n" + - " wo.PARENT_ID IS NULL\n" + - " AND wo.ORDER_TYPE_PATH_NAME = '风险隐患'\n" + - " AND wo.TENANT = '1821414781587267584'\n" + - " AND EXISTS (\n" + - " SELECT\n" + - " 1\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2\n" + - " WHERE\n" + - " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\"\n" + - " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NOT NULL\n" + - " )\n" + - " ) rwo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " wo.PARENT_ID,\n" + - " LISTAGG(\n" + - " REPLACE(\n" + - " REPLACE(\n" + - " JSON_QUERY(\n" + - " wos.SOP_SCHEMA,\n" + - " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER,\n" + - " '[',\n" + - " ']',\n" + - " ','\n" + - " ),\n" + - " ']',\n" + - " ''\n" + - " ),\n" + - " '[',\n" + - " ''\n" + - " ),\n" + - " ','\n" + - " ) WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS SOP_SCHEMA,\n" + - " LISTAGG(\n" + - " REPLACE(\n" + - " REPLACE(\n" + - " JSON_QUERY(\n" + - " sl.CONTENT,\n" + - " '$.sopInfo.*' WITH CONDITIONAL WRAPPER,\n" + - " '[',\n" + - " ']',\n" + - " ','\n" + - " ),\n" + - " ']',\n" + - " ''\n" + - " ),\n" + - " '[',\n" + - " ''\n" + - " ),\n" + - " ','\n" + - " ) WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS PROCESS_CONTENT,\n" + - " LISTAGG(OBJ_NAME, ',') WITHIN GROUP (\n" + - " ORDER BY\n" + - " wo.WORK_ORDER_ID\n" + - " ) AS OBJ_NAME,\n" + - " MAX(wo.GMT_MODIFIED) AS GMT_MODIFIED\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo\n" + - " LEFT JOIN (\n" + - " SELECT\n" + - " *\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol\n" + - " WHERE\n" + - " wol.\"OPERATE_NAME\" = '处理'\n" + - " ) sl ON wo.\"WORK_ORDER_ID\" = sl.\"WORK_ORDER_ID\"\n" + - " LEFT JOIN \"XCAMPUS_WORKORDER\".\"WORK_ORDER_SCHEMA\" wos ON wo.\"WORK_ORDER_ID\" = wos.\"WORK_ORDER_ID\"\n" + - " WHERE\n" + - " wo.PARENT_ID IN (\n" + - " SELECT\n" + - " WORK_ORDER_ID\n" + - " FROM\n" + - " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\"\n" + - " WHERE\n" + - " ORDER_TYPE_PATH_NAME = '风险隐患'\n" + - " )\n" + - " AND wo.ORDER_TYPE_PATH_NAME = '系统默认子单类型'\n" + - " AND wo.TENANT = '1821414781587267584'\n" + - " GROUP BY\n" + - " wo.PARENT_ID\n" + - " ) swo ON rwo.WORK_ORDER_ID = swo.PARENT_ID\n" + - " ) rwoe\n" + - " GROUP BY\n" + - " rwoe.\"RELATE_WORK_ORDER_ID\"\n" + - " ) rwoa ON mwoe.WORK_ORDER_ID = rwoa.RELATE_WORK_ORDER_ID\n"); + sqlBuilder.append("SELECT " + + " mwoe.ID AS \"id\", " + + " mwoe.WORK_ORDER_ID AS \"workOrderId\", " + + " mwoe.CAMPUS_ID AS \"campusId\", " + + " mwoe.CAMPUS_NAME AS \"campusName\", " + + " mwoe.REMARK AS \"checkArea\", " + + " mwoe.OBJ_NAME AS \"checkItem\", " + + " mwoe.SUB_SOP_SCHEMA AS \"checkContent\", " + + " mwoe.CREATOR_ID AS \"checkPersonId\", " + + " mwoe.CREATOR_NAME AS \"checkPersonName\", " + + " mwoe.GMT_CREATE AS \"checkTime\", " + + " mwoe.PROCESS_CONTENT AS \"checkQuestion\", " + + " CONCAT_WS(',', rwoa.PROCESS_CONTENT, rwoa.SUB_SOP_SCHEMA) AS \"correctAction\", " + + " rwoa.PROCESSOR_ID AS \"correctPersonId\", " + + " rwoa.PROCESSOR_NAME AS \"correctPersonName\", " + + " mwoe.\"LEVEL\" AS \"workOrderLevel\", " + + " rwoa.RESERVED_TIME3 AS \"correctDeadline\", " + + " rwoa.CONFIRM_PERSON_ID AS \"confirmPersonId\", " + + " rwoa.CONFIRM_PERSON_NAME AS \"confirmPersonName\", " + + " mwoe.GMT_MODIFIED AS \"gmtModified\", " + + " mwoe.SUB_GMT_MODIFIED AS \"gmtSubModified\", " + + " rwoa.GMT_MODIFIED AS \"gmtRelateModified\", " + + " rwoa.SUB_GMT_MODIFIED AS \"gmtRelateSubModified\" " + + "FROM " + + " ( " + + " SELECT " + + " mwo.*, " + + " swo.SOP_SCHEMA AS SUB_SOP_SCHEMA, " + + " swo.PROCESS_CONTENT AS SUB_PROCESS_CONTENT, " + + " swo.GMT_MODIFIED AS SUB_GMT_MODIFIED, " + + " swo.OBJ_NAME AS OBJ_NAME " + + " FROM " + + " ( " + + " SELECT " + + " wo.ID, " + + " wo.WORK_ORDER_ID, " + + " wo.CAMPUS_ID, " + + " c.NAME AS CAMPUS_NAME, " + + " wo.REMARK, " + + " wo.CREATOR_ID, " + + " wo.CREATOR_NAME, " + + " wo.GMT_CREATE, " + + " wo.GMT_MODIFIED, " + + " wo.RESERVED_TIME3, " + + " CASE " + + " WHEN wo.\"LEVEL\" = 'P' THEN '重大' " + + " ELSE '一般' " + + " END AS \"LEVEL\", " + + " wo.\"CONFIRM_PERSON_ID\", " + + " wo.CONFIRM_PERSON_NAME, " + + " wo.TENANT, " + + " ml.PROCESSOR_ID, " + + " ml.PROCESSOR_NAME, " + + " JSON_VALUE(ml.CONTENT, '$.processedContent') AS PROCESS_CONTENT " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + + " LEFT JOIN ( " + + " SELECT " + + " * " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + + " WHERE " + + " 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 " + + " AND wo.ORDER_TYPE_PATH_NAME = '风险隐患' " + + " AND wo.TENANT = '1821414781587267584' " + + " AND EXISTS ( " + + " SELECT " + + " 1 " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2 " + + " WHERE " + + " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\" " + + " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NULL " + + " ) " + + " ) mwo " + + " LEFT JOIN ( " + + " SELECT " + + " wo.PARENT_ID, " + + " LISTAGG( " + + " REPLACE( " + + " REPLACE( " + + " JSON_QUERY( " + + " wos.SOP_SCHEMA, " + + " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER, " + + " '[', " + + " ']', " + + " ',' " + + " ), " + + " ']', " + + " '' " + + " ), " + + " '[', " + + " '' " + + " ), " + + " ',' " + + " ) WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS SOP_SCHEMA, " + + " LISTAGG( " + + " REPLACE( " + + " REPLACE( " + + " JSON_QUERY( " + + " sl.CONTENT, " + + " '$.sopInfo.*' WITH CONDITIONAL WRAPPER, " + + " '[', " + + " ']', " + + " ',' " + + " ), " + + " ']', " + + " '' " + + " ), " + + " '[', " + + " '' " + + " ), " + + " ',' " + + " ) WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS PROCESS_CONTENT, " + + " LISTAGG(OBJ_NAME, ',') WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS OBJ_NAME, " + + " MAX(wo.GMT_MODIFIED) AS GMT_MODIFIED " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + + " LEFT JOIN ( " + + " SELECT " + + " * " + + " 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\" " + + " WHERE " + + " wo.PARENT_ID IN ( " + + " SELECT " + + " WORK_ORDER_ID " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" " + + " WHERE " + + " ORDER_TYPE_PATH_NAME = '风险隐患' " + + " ) " + + " AND wo.ORDER_TYPE_PATH_NAME = '系统默认子单类型' " + + " AND wo.TENANT = '1821414781587267584' " + + " GROUP BY " + + " wo.PARENT_ID " + + " ) swo ON mwo.WORK_ORDER_ID = swo.PARENT_ID " + + " ) mwoe " + + " LEFT JOIN ( " + + " SELECT " + + " rwoe.\"RELATE_WORK_ORDER_ID\", " + + " LISTAGG(rwoe.\"PROCESS_CONTENT\", ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS PROCESS_CONTENT, " + + " LISTAGG(rwoe.SUB_PROCESS_CONTENT, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS SUB_PROCESS_CONTENT, " + + " LISTAGG(rwoe.SUB_SOP_SCHEMA, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS SUB_SOP_SCHEMA, " + + " LISTAGG(rwoe.PROCESSOR_ID, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS PROCESSOR_ID, " + + " LISTAGG(rwoe.PROCESSOR_NAME, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS PROCESSOR_NAME, " + + " LISTAGG(rwoe.CONFIRM_PERSON_ID, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS CONFIRM_PERSON_ID, " + + " LISTAGG(rwoe.CONFIRM_PERSON_NAME, ',') WITHIN GROUP ( " + + " ORDER BY " + + " rwoe.WORK_ORDER_ID " + + " ) AS CONFIRM_PERSON_NAME, " + + " MAX(rwoe.RESERVED_TIME3) AS RESERVED_TIME3, " + + " MAX(rwoe.GMT_MODIFIED) AS GMT_MODIFIED, " + + " MAX(rwoe.SUB_GMT_MODIFIED) AS SUB_GMT_MODIFIED " + + " FROM " + + " ( " + + " SELECT " + + " rwo.*, " + + " swo.SOP_SCHEMA AS SUB_SOP_SCHEMA, " + + " swo.PROCESS_CONTENT AS SUB_PROCESS_CONTENT, " + + " swo.GMT_MODIFIED AS SUB_GMT_MODIFIED, " + + " swo.OBJ_NAME AS OBJ_NAME " + + " FROM " + + " ( " + + " SELECT " + + " wo.ID, " + + " wo.WORK_ORDER_ID, " + + " wo.CAMPUS_ID, " + + " c.NAME AS CAMPUS_NAME, " + + " wo.REMARK, " + + " wo.CREATOR_ID, " + + " wo.CREATOR_NAME, " + + " wo.GMT_CREATE, " + + " wo.GMT_MODIFIED, " + + " wo.RESERVED_TIME3, " + + " CASE " + + " WHEN wo.\"LEVEL\" = 'P' THEN '重大' " + + " ELSE '一般' " + + " END AS \"LEVEL\", " + + " 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 " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + + " LEFT JOIN ( " + + " SELECT " + + " * " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER_LOG\" wol " + + " WHERE " + + " 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 " + + " AND wo.ORDER_TYPE_PATH_NAME = '风险隐患' " + + " AND wo.TENANT = '1821414781587267584' " + + " AND EXISTS ( " + + " SELECT " + + " 1 " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo2 " + + " WHERE " + + " wo.\"WORK_ORDER_ID\" = wo2.\"WORK_ORDER_ID\" " + + " AND wo2.\"RELATE_WORK_ORDER_ID\" IS NOT NULL " + + " ) " + + " ) rwo " + + " LEFT JOIN ( " + + " SELECT " + + " wo.PARENT_ID, " + + " LISTAGG( " + + " REPLACE( " + + " REPLACE( " + + " JSON_QUERY( " + + " wos.SOP_SCHEMA, " + + " '$[0].sopSchema.componentsTree[0].children[0].children[*].props.label' WITH CONDITIONAL WRAPPER, " + + " '[', " + + " ']', " + + " ',' " + + " ), " + + " ']', " + + " '' " + + " ), " + + " '[', " + + " '' " + + " ), " + + " ',' " + + " ) WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS SOP_SCHEMA, " + + " LISTAGG( " + + " REPLACE( " + + " REPLACE( " + + " JSON_QUERY( " + + " sl.CONTENT, " + + " '$.sopInfo.*' WITH CONDITIONAL WRAPPER, " + + " '[', " + + " ']', " + + " ',' " + + " ), " + + " ']', " + + " '' " + + " ), " + + " '[', " + + " '' " + + " ), " + + " ',' " + + " ) WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS PROCESS_CONTENT, " + + " LISTAGG(OBJ_NAME, ',') WITHIN GROUP ( " + + " ORDER BY " + + " wo.WORK_ORDER_ID " + + " ) AS OBJ_NAME, " + + " MAX(wo.GMT_MODIFIED) AS GMT_MODIFIED " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" wo " + + " LEFT JOIN ( " + + " SELECT " + + " * " + + " 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\" " + + " WHERE " + + " wo.PARENT_ID IN ( " + + " SELECT " + + " WORK_ORDER_ID " + + " FROM " + + " \"XCAMPUS_WORKORDER\".\"WORK_ORDER\" " + + " WHERE " + + " ORDER_TYPE_PATH_NAME = '风险隐患' " + + " ) " + + " AND wo.ORDER_TYPE_PATH_NAME = '系统默认子单类型' " + + " AND wo.TENANT = '1821414781587267584' " + + " GROUP BY " + + " wo.PARENT_ID " + + " ) 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 "); // 如果时间参数存在并且合法,则添加时间条件 if (Objects.nonNull(startTime) && Objects.nonNull(endTime) && startTime.isBefore(endTime)) { String formattedStart = LocalDateTimeUtil.format(startTime, FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); String formattedEnd = LocalDateTimeUtil.format(endTime, FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); - sqlBuilder.append("WHERE\n" + - " (\n" + - " mwoe.GMT_MODIFIED BETWEEN TO_DATE(\n" + - " NVL(\n" + - " '" + formattedStart + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " AND TO_DATE(\n" + - " NVL(\n" + - " '" + formattedEnd + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " )\n" + - " OR (\n" + - " mwoe.SUB_GMT_MODIFIED BETWEEN TO_DATE(\n" + - " NVL(\n" + - " '" + formattedStart + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " AND TO_DATE(\n" + - " NVL(\n" + - " '" + formattedEnd + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " )\n" + - " OR (\n" + - " rwoa.GMT_MODIFIED BETWEEN TO_DATE(\n" + - " NVL(\n" + - " '" + formattedStart + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " AND TO_DATE(\n" + - " NVL(\n" + - " '" + formattedEnd + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " )\n" + - " OR (\n" + - " rwoa.SUB_GMT_MODIFIED BETWEEN TO_DATE(\n" + - " NVL(\n" + - " '" + formattedStart + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + - " AND TO_DATE(\n" + - " NVL(\n" + - " '" + formattedEnd + "',\n" + - " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59'\n" + - " ),\n" + - " 'YYYY-MM-DD HH24:MI:SS'\n" + - " )\n" + + sqlBuilder.append("WHERE " + + " ( " + + " mwoe.GMT_MODIFIED BETWEEN TO_DATE( " + + " NVL( " + + " '" + formattedStart + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " AND TO_DATE( " + + " NVL( " + + " '" + formattedEnd + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " ) " + + " OR ( " + + " mwoe.SUB_GMT_MODIFIED BETWEEN TO_DATE( " + + " NVL( " + + " '" + formattedStart + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " AND TO_DATE( " + + " NVL( " + + " '" + formattedEnd + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " ) " + + " OR ( " + + " rwoa.GMT_MODIFIED BETWEEN TO_DATE( " + + " NVL( " + + " '" + formattedStart + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " AND TO_DATE( " + + " NVL( " + + " '" + formattedEnd + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " ) " + + " OR ( " + + " rwoa.SUB_GMT_MODIFIED BETWEEN TO_DATE( " + + " NVL( " + + " '" + formattedStart + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 00:00:00' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + + " AND TO_DATE( " + + " NVL( " + + " '" + formattedEnd + "', " + + " TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 23:59:59' " + + " ), " + + " 'YYYY-MM-DD HH24:MI:SS' " + + " ) " + " )"); } return sqlBuilder.toString();