097.concur.mql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. -- 第一组:
  2. SELECT
  3. building.id AS "id",
  4. building.name AS "name",
  5. building.unique_number AS "unique_number",
  6. building.level_directory AS "level_directory",
  7. building.superior_space AS "superior_space",
  8. building.usable_area AS "usable_area",
  9. building.construction_area AS "construction_area",
  10. building.above_ground_floors AS "above_ground_floors",
  11. building.underground_floors AS "underground_floors",
  12. building.business_remark AS "business_remark",
  13. building.address AS "address",
  14. building.coordinates AS "coordinates",
  15. building.fireproof_rating AS "fireproof_rating",
  16. building.earthquake_resistance_rating AS "earthquake_resistance_rating",
  17. building.pinyin_abbreviation AS "pinyin_abbreviation",
  18. building.affiliated_hospital AS "affiliated_hospital",
  19. building.affiliated_campus AS "affiliated_campus",
  20. building.superior_space_address AS "superior_space_address",
  21. building.superior_space_number AS "superior_space_number",
  22. building.total_rooms AS "total_rooms",
  23. building.owner AS "owner",
  24. building.creator AS "creator",
  25. building.creation_time AS "creation_time",
  26. building.last_modification_time AS "last_modification_time",
  27. building.last_modifier AS "last_modifier"
  28. FROM /hxyy/building building
  29. LIMIT 0, 20000
  30. WITH TIMEOUT = 6m
  31. /**
  32. fork(a)
  33. **/
  34. ;
  35. MATCH (building:/hxyy/building)
  36. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  37. (building_partition:/hxyy/building_partition)
  38. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  39. (floor:/hxyy/floor)
  40. RETURN floor.floor_number AS "floor_num"
  41. INTO /temp_floor_count_bec7ff96-36a5-45d0-b0f2-e444e1032e3d-0
  42. WITH TIMEOUT = 6m
  43. ;
  44. {"sql":"SELECT count(DISTINCT temp.floor_num) AS \"floor_count\" FROM /temp_floor_count_bec7ff96-36a5-45d0-b0f2-e444e1032e3d-0 temp LIMIT 0, 20000"}
  45. ;
  46. MATCH (building:/hxyy/building)
  47. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  48. (building_partition:/hxyy/building_partition)
  49. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  50. (floor:/hxyy/floor)
  51. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  52. (floor_partition:/hxyy/floor_partition)
  53. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  54. (room:/hxyy/room)
  55. RETURN room.usable_area AS "usable_area"
  56. INTO /temp_room_area_3a2b1c
  57. WITH TIMEOUT = 6m
  58. ;
  59. {"sql":"SELECT sum(temp.usable_area) AS \"total_usable_area\" FROM /temp_room_area_3a2b1c temp LIMIT 0, 20000"}
  60. ;
  61. MATCH (building:/hxyy/building)
  62. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  63. (building_partition:/hxyy/building_partition)
  64. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  65. (floor:/hxyy/floor)
  66. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  67. (floor_partition:/hxyy/floor_partition)
  68. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  69. (room:/hxyy/room)
  70. RETURN room.excess_area AS "excess_area"
  71. INTO /temp_room_excess_area
  72. WITH TIMEOUT = 6m
  73. ;
  74. {"sql":"SELECT sum(temp.excess_area) AS \"total_excess_area\" FROM /temp_room_excess_area temp LIMIT 0, 20000"}
  75. ;
  76. MATCH (building:/hxyy/building)
  77. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  78. (building_partition:/hxyy/building_partition)
  79. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  80. (floor:/hxyy/floor)
  81. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  82. (floor_partition:/hxyy/floor_partition)
  83. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  84. (room:/hxyy/room)
  85. -[:room_personnel_info_to_person_job_number|room_safety_responsible_person_to_person_job_number*1..1]->
  86. (person:/hxyy/person)
  87. RETURN person.id AS "person_id"
  88. INTO /temp_person_count_12345
  89. WITH TIMEOUT = 6m
  90. ;
  91. {"sql":"SELECT count(temp.person_id) AS \"person_count\" FROM /temp_person_count_12345 temp LIMIT 0, 20000"}
  92. ;
  93. MATCH (building:/hxyy/building)
  94. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  95. (building_partition:/hxyy/building_partition)
  96. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  97. (floor:/hxyy/floor)
  98. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  99. (floor_partition:/hxyy/floor_partition)
  100. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  101. (room:/hxyy/room)
  102. RETURN room.using_department AS "department"
  103. INTO /temp_room_departments
  104. WITH TIMEOUT = 6m
  105. ;
  106. {"sql":"SELECT DISTINCT temp.department AS \"department\" FROM /temp_room_departments temp GROUP BY temp.\"department\" LIMIT 0, 20000"}
  107. ;
  108. MATCH (building:/hxyy/building)
  109. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  110. (building_partition:/hxyy/building_partition)
  111. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  112. (floor:/hxyy/floor)
  113. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  114. (floor_partition:/hxyy/floor_partition)
  115. -[:floor_partition_unique_number_to_function_partition_superior_space_number*1..1]->
  116. (function_partition:/hxyy/function_partition)
  117. RETURN function_partition.id AS "id",
  118. function_partition.name AS "name",
  119. function_partition.unique_number AS "unique_number",
  120. function_partition.usable_area AS "usable_area"
  121. WITH TIMEOUT = 6m
  122. ;
  123. -- 第二组:
  124. MATCH (building:/hxyy/building)
  125. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  126. (building_partition:/hxyy/building_partition)
  127. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  128. (floor:/hxyy/floor)
  129. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  130. (floor_partition:/hxyy/floor_partition)
  131. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  132. (room:/hxyy/room)
  133. -[:room_personnel_info_to_person_job_number*1..1]->
  134. (person:/hxyy/person)
  135. RETURN person.job_number AS "job_number", person.name AS "name", person.work_department AS "work_department"
  136. WITH TIMEOUT = 6m
  137. /**
  138. fork(a)
  139. **/
  140. ;
  141. -- 第三组:
  142. MATCH (building:/hxyy/building)
  143. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  144. (building_partition:/hxyy/building_partition)
  145. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  146. (floor:/hxyy/floor)
  147. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  148. (floor_partition:/hxyy/floor_partition)
  149. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  150. (room:/hxyy/room WHERE excess_area > 0)
  151. RETURN room.room_number AS "room_number", room.name AS "_hxyy_room_name_0"
  152. WITH TIMEOUT = 6m
  153. /**
  154. fork(a)
  155. **/
  156. ;
  157. -- 第四组:
  158. MATCH (building:/hxyy/building)
  159. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  160. (building_partition:/hxyy/building_partition)
  161. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  162. (floor:/hxyy/floor)
  163. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  164. (floor_partition:/hxyy/floor_partition)
  165. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  166. (room:/hxyy/room WHERE excess_area > 0)
  167. -[:room_personnel_info_to_person_job_number|room_safety_responsible_person_to_person_job_number*1..1]->
  168. (person:/hxyy/person)
  169. RETURN room.room_number AS "room_number",
  170. person.name AS "person_name",
  171. person.party_and_government_post AS "person_position",
  172. room.name AS "_hxyy_room_name_0"
  173. WITH TIMEOUT = 6m
  174. /**
  175. fork(a)
  176. **/
  177. ;
  178. -- 第五组:
  179. MATCH (building:/hxyy/building)
  180. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  181. (building_partition:/hxyy/building_partition)
  182. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  183. (floor:/hxyy/floor)
  184. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  185. (floor_partition:/hxyy/floor_partition)
  186. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  187. (room:/hxyy/room WHERE office_staff_count > 0)
  188. RETURN room.usable_area AS "usable_area", room.office_staff_count AS "office_staff_count"
  189. INTO /temp_room_data_a0fcf6ac-ba4a-470e-9416-33cc4b6653ce-0
  190. WITH TIMEOUT = 6m
  191. /**
  192. fork(a)
  193. **/
  194. ;
  195. {"sql":"SELECT sum(temp.usable_area) AS \"total_usable_area\", sum(temp.office_staff_count) AS \"total_office_staff\", sum(temp.usable_area) / sum(temp.office_staff_count) AS \"per_capita_area\" FROM /temp_room_data_a0fcf6ac-ba4a-470e-9416-33cc4b6653ce-0 temp LIMIT 0, 20000"}
  196. ;
  197. -- 第六组:
  198. MATCH (building:/hxyy/building)
  199. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  200. (building_partition:/hxyy/building_partition)
  201. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  202. (floor:/hxyy/floor)
  203. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  204. (floor_partition:/hxyy/floor_partition)
  205. -[:floor_partition_unique_number_to_function_partition_superior_space_number*1..1]->
  206. (function_partition:/hxyy/function_partition)
  207. RETURN function_partition.id AS "function_partition_id"
  208. INTO /temp_function_partition_count_a6cb412b-f104-4319-9d39-28da7f2e51b5-1
  209. WITH TIMEOUT = 6m
  210. /**
  211. fork(a)
  212. **/
  213. ;
  214. {"sql":"SELECT count(temp.function_partition_id) AS \"function_partition_count\" FROM /temp_function_partition_count_a6cb412b-f104-4319-9d39-28da7f2e51b5-1 temp LIMIT 0, 20000"}
  215. ;
  216. -- 第七组:
  217. MATCH (building:/hxyy/building)
  218. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  219. (building_partition:/hxyy/building_partition)
  220. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  221. (floor:/hxyy/floor)
  222. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  223. (floor_partition:/hxyy/floor_partition)
  224. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  225. (room:/hxyy/room)
  226. RETURN room.using_department AS "department", room.name AS "_hxyy_room_name_0"
  227. INTO /temp_departments_1847a806-643d-4785-a812-f5764c8893ab-0
  228. WITH TIMEOUT = 6m
  229. /**
  230. fork(a)
  231. **/
  232. ;
  233. {"sql":"SELECT DISTINCT temp.department AS \"department\", temp._hxyy_room_name_0 AS \"_hxyy_room_name_0\" FROM /temp_departments_1847a806-643d-4785-a812-f5764c8893ab-0 temp LIMIT 0, 20000"}
  234. ;
  235. -- 第八组:
  236. MATCH (building:/hxyy/building)
  237. -[:building_unique_number_to_building_partition_superior_space_number*1..1]->
  238. (building_partition:/hxyy/building_partition)
  239. -[:building_partition_unique_number_to_floor_superior_space_number*1..1]->
  240. (floor:/hxyy/floor)
  241. -[:floor_unique_number_to_floor_partition_superior_space_number*1..1]->
  242. (floor_partition:/hxyy/floor_partition)
  243. -[:floor_partition_unique_number_to_room_superior_space_number*1..1]->
  244. (room:/hxyy/room WHERE space_purpose like '*卫生间*')
  245. RETURN room.id AS "room_id"
  246. INTO /temp_rooms_8e3d7f2a-4b5a-4e8f-9f2c-1e3b4c5d6e7f_2565c48c-67d7-459f-a2a5-b9f064c6799b-0
  247. WITH TIMEOUT = 6m
  248. /**
  249. fork(a)
  250. **/
  251. ;
  252. {"sql":"SELECT count(temp.room_id) AS \"room_count\" FROM /temp_rooms_8e3d7f2a-4b5a-4e8f-9f2c-1e3b4c5d6e7f_2565c48c-67d7-459f-a2a5-b9f064c6799b-0 temp LIMIT 0, 20000"}
  253. ;
  254. /**
  255. wait(a)
  256. **/
  257. ;