style(biz): 格式化SQL字符串拼接方式- 将多行字符串拼接改为单行拼接以提高可读性

- 统一SQL语句中的空格使用规范
- 优化时间条件拼接逻辑的格式化展示
This commit is contained in:
2025-11-13 19:21:38 +08:00
parent 1c514db51a
commit bf467729a3

View File

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