zhaoyuankai 4 rokov pred
commit
09ecbe02f5
62 zmenil súbory, kde vykonal 10995 pridanie a 0 odobranie
  1. 2 0
      .gitignore
  2. 600 0
      bogda/CLMT/bak/sys_pipe.clmt
  3. 12 0
      bogda/CLMT/clmt_modules/Ext/index.clmm
  4. BIN
      bogda/CLMT/clmt_modules/Ext/java/classes/adm/poc/TreeFilter.class
  5. 62 0
      bogda/CLMT/dict/adm_rels.clmt
  6. 82 0
      bogda/CLMT/dict/major_sys.clmt
  7. 266 0
      bogda/CLMT/dict/mr.clmt
  8. 461 0
      bogda/CLMT/dict/pipe.clmt
  9. 1137 0
      bogda/CLMT/dict/rels.clmt
  10. 3846 0
      bogda/CLMT/dict/space_fun.clmt
  11. 86 0
      bogda/CLMT/dict/sys_eq.clmt
  12. 170 0
      bogda/CLMT/dict/sys_eq_list.clmt
  13. 45 0
      bogda/CLMT/dict/types.clmt
  14. 47 0
      bogda/CLMT/dict/zone.clmt
  15. 125 0
      bogda/CLMT/job/add_eq.clmt
  16. 115 0
      bogda/CLMT/job/add_pipe.clmt
  17. 129 0
      bogda/CLMT/job/add_problem.clmt
  18. 96 0
      bogda/CLMT/job/add_rel.clmt
  19. 100 0
      bogda/CLMT/job/bind_qrcode.clmt
  20. 97 0
      bogda/CLMT/job/close_problem.clmt
  21. 52 0
      bogda/CLMT/job/del_rel.clmt
  22. 37 0
      bogda/CLMT/job/job_count.clmt
  23. 99 0
      bogda/CLMT/job/set_eq.clmt
  24. 114 0
      bogda/CLMT/job/set_job.clmt
  25. 108 0
      bogda/CLMT/job/set_pipe.clmt
  26. 82 0
      bogda/CLMT/job/set_problem.clmt
  27. 66 0
      bogda/CLMT/job/set_qrcode_state.clmt
  28. 134 0
      bogda/CLMT/job/space_job.clmt
  29. 13 0
      bogda/CLMT/lib/resource/headers.clmc
  30. 45 0
      bogda/CLMT/lib/resource/params.clmc
  31. 262 0
      bogda/CLMT/query/building_floor.clmt
  32. 92 0
      bogda/CLMT/query/floor_map_info.clmt
  33. 98 0
      bogda/CLMT/query/floor_outline.clmt
  34. 81 0
      bogda/CLMT/query/floor_space.clmt
  35. 46 0
      bogda/CLMT/query/item_rel.clmt
  36. 100 0
      bogda/CLMT/query/problems.clmt
  37. 95 0
      bogda/CLMT/query/qrcode.clmt
  38. 235 0
      bogda/CLMT/query/space_eq.clmt
  39. 235 0
      bogda/CLMT/query/space_pipe.clmt
  40. 101 0
      bogda/CLMT/query/space_rel.clmt
  41. 54 0
      bogda/CLMT/scope/get_mr.clmt
  42. 88 0
      bogda/CLMT/scope/get_scope.clmt
  43. 54 0
      bogda/CLMT/scope/get_sys_diagram.clmt
  44. 57 0
      bogda/CLMT/scope/set_major_sys_scope.clmt
  45. 74 0
      bogda/CLMT/scope/set_mr.clmt
  46. 81 0
      bogda/CLMT/scope/set_pipe.clmt
  47. 77 0
      bogda/CLMT/scope/set_scope.clmt
  48. 70 0
      bogda/CLMT/scope/set_sys_diagram.clmt
  49. 72 0
      bogda/CLMT/scope/sys_eq_for_scope.clmt
  50. 29 0
      bogda/CLMT/test/test.clmt
  51. 52 0
      bogda/bogda.xml
  52. 60 0
      bogda/doc_list
  53. BIN
      lib/bogda.product.jar
  54. BIN
      lib/license.jar
  55. 119 0
      pom.xml
  56. 42 0
      src/main/java/adm/poc/Entry.java
  57. 16 0
      src/main/java/adm/poc/SpringBootApp.java
  58. 60 0
      src/main/java/adm/poc/TreeFilter.java
  59. 28 0
      src/main/resources/application.yml
  60. 123 0
      src/test/java/tool/Pipe.java
  61. 137 0
      src/test/java/tool/Rel.java
  62. 129 0
      src/test/java/tool/Space.java

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+/.idea/
+/target/

+ 600 - 0
bogda/CLMT/bak/sys_pipe.clmt

@@ -0,0 +1,600 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<tables_query>
+				<name>query</name>
+				<description>查询管线范围</description>
+				<dataSource>poc</dataSource>
+				<customFields></customFields>
+				<tables>
+					<mtq_table>
+						<table>main_scope</table>
+						<fieldsWhere>
+							<type>='pipe_sys'</type>
+						</fieldsWhere>
+					</mtq_table>
+					<mtq_table>
+						<table>pipe_scope</table>
+						<fields>
+							<bogda_item>
+								<bogda_item>sys</bogda_item>
+								<bogda_null/>
+							</bogda_item>
+							<bogda_item>
+								<bogda_item>code</bogda_item>
+								<bogda_item>pipeCode</bogda_item>
+							</bogda_item>
+							<bogda_item>
+								<bogda_item>main</bogda_item>
+								<bogda_null/>
+							</bogda_item>
+							<bogda_item>
+								<bogda_item>branch</bogda_item>
+								<bogda_null/>
+							</bogda_item>
+							<bogda_item>
+								<bogda_item>other</bogda_item>
+								<bogda_null/>
+							</bogda_item>
+						</fields>
+					</mtq_table>
+				</tables>
+				<relations>
+					<table_relation>
+						<table1>main_scope</table1>
+						<field1>code</field1>
+						<table2>pipe_scope</table2>
+						<field2>sys</field2>
+					</table_relation>
+				</relations>
+			</tables_query>
+			<json_query>
+				<name>pipeQuery</name>
+				<json>clmt('dict/types', null, 'pipe')</json>
+			</json_query>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>sysData</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/dict/category</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>type</key>
+							<value>majorSystem</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<variable>
+				<name>add</name>
+				<assignment>query.addCol({
+	sysName: get(treeNode(sysData.content, 'code', query.sys, false), 'name'),
+	pipeName: pipeQuery.get(pipeQuery.name, pipeQuery.code==query.pipeCode)
+})</assignment>
+			</variable>
+			<logic_grid>
+				<name>grid</name>
+				<l_grid name="grid">
+					<rowCount>10</rowCount>
+					<colCount>9</colCount>
+					<rows>
+						<l_row>
+							<index>0</index>
+						</l_row>
+						<l_row>
+							<index>1</index>
+						</l_row>
+						<l_row>
+							<index>2</index>
+						</l_row>
+						<l_row>
+							<index>3</index>
+						</l_row>
+						<l_row>
+							<index>4</index>
+						</l_row>
+						<l_row>
+							<index>5</index>
+						</l_row>
+						<l_row>
+							<index>6</index>
+						</l_row>
+						<l_row>
+							<index>7</index>
+						</l_row>
+						<l_row>
+							<index>8</index>
+						</l_row>
+						<l_row>
+							<index>9</index>
+						</l_row>
+					</rows>
+					<columns>
+						<l_col>
+							<index>0</index>
+						</l_col>
+						<l_col>
+							<index>1</index>
+						</l_col>
+						<l_col>
+							<index>2</index>
+						</l_col>
+						<l_col>
+							<index>3</index>
+						</l_col>
+						<l_col>
+							<index>4</index>
+						</l_col>
+						<l_col>
+							<index>5</index>
+						</l_col>
+						<l_col>
+							<index>6</index>
+						</l_col>
+						<l_col>
+							<index>7</index>
+						</l_col>
+						<l_col>
+							<index>8</index>
+						</l_col>
+					</columns>
+					<cells>
+						<bogda_item>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.group(sys)</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>0</colIndex>
+								<props>
+									<data>=query.sys</data>
+									<data_id>sys</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>1</colIndex>
+								<props>
+									<data>=query.sysName</data>
+									<data_id>sysName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.list()</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>2</colIndex>
+								<props>
+									<data_id>children</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data>=query.pipeCode</data>
+									<data_id>pipe_code</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data>=query.pipeName</data>
+									<data_id>pipeName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>5</colIndex>
+								<props>
+									<data>=query.main</data>
+									<data_id>main</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>6</colIndex>
+								<props>
+									<data>=query.branch</data>
+									<data_id>branch</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>7</colIndex>
+								<props>
+									<data>=query.other</data>
+									<data_id>other</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>5</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>6</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>7</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>8</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>5</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>6</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>9</rowIndex>
+								<colIndex>8</colIndex>
+							</l_cell>
+						</bogda_item>
+					</cells>
+				</l_grid>
+				<output>
+					<grid_out>
+						<name>rtn</name>
+						<content>region(A1,H1)</content>
+					</grid_out>
+				</output>
+			</logic_grid>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>交付范围内的系统-管线树</description>
+				<assignment>grid.rtn</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询交付范围内的系统-管线</content>
+						<update_time>2021-6-8 16:13</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 12 - 0
bogda/CLMT/clmt_modules/Ext/index.clmm

@@ -0,0 +1,12 @@
+<module>
+	<name>Ext</name>
+	<description>基础扩展组件</description>
+	<alias>Ext</alias>
+	<functions>
+		<function_def>
+			<name>treeFilter</name>
+			<description>树筛选函数</description>
+			<class>adm.poc.TreeFilter</class>
+		</function_def>
+	</functions>
+</module>

BIN
bogda/CLMT/clmt_modules/Ext/java/classes/adm/poc/TreeFilter.class


+ 62 - 0
bogda/CLMT/dict/adm_rels.clmt

@@ -0,0 +1,62 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>type</name>
+				<description>关系类型,eq_sp:设备-空间,eq_eq:设备-设备,eq_pipe:设备-管道,不传递时查询全部</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>adm_relation</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>name</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type_description</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>=nvl(type, $disabled)</type>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>关系定义列表</description>
+				<assignment>query</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询adm中需要的关系</content>
+						<update_time>2021-6-10 14:1</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 82 - 0
bogda/CLMT/dict/major_sys.clmt

@@ -0,0 +1,82 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>scopeFilter</name>
+				<ref>resource/params.scopeFilter</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/dict/category</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>type</key>
+							<value>majorSystem</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<table_query>
+				<name>scope</name>
+				<condition>scopeFilter</condition>
+				<dataSource>poc</dataSource>
+				<table>main_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>=['major', 'sys']</type>
+				</fieldsWhere>
+			</table_query>
+			<variable>
+				<name>filterData</name>
+				<assignment>if(
+	scopeFilter,
+	Ext.treeFilter(data.content, 'children', scope.get(id, scope.code==this.code)!=null)
+)</assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>if(scopeFilter, filterData, data.content)</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询专业-系统树</content>
+						<update_time>2021-6-4 11:21</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 266 - 0
bogda/CLMT/dict/mr.clmt

@@ -0,0 +1,266 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<json_do>
+				<name>data</name>
+				<json>[
+  {
+    "name": "电梯机房",
+    "code": "03140"
+  },
+  {
+    "name": "水暖机房",
+    "code": "03G00",
+    "children": [
+      {
+        "name": "制冷机房",
+        "code": "03G10"
+      },
+      {
+        "name": "锅炉房",
+        "code": "03G20"
+      },
+      {
+        "name": "燃料储存室",
+        "code": "03G30"
+      },
+      {
+        "name": "换热站",
+        "code": "03G40"
+      },
+      {
+        "name": "市热站",
+        "code": "03G50"
+      },
+      {
+        "name": "膨胀水箱间",
+        "code": "03G60"
+      },
+      {
+        "name": "空调机房",
+        "code": "03G70"
+      },
+      {
+        "name": "新风机房",
+        "code": "03G80"
+      },
+      {
+        "name": "送风机房",
+        "code": "03G90"
+      },
+      {
+        "name": "排风机房",
+        "code": "03GA0"
+      },
+      {
+        "name": "空气压缩机房",
+        "code": "03GB0"
+      },
+      {
+        "name": "除尘室",
+        "code": "03GC0"
+      },
+      {
+        "name": "滤毒室",
+        "code": "03GD0"
+      },
+      {
+        "name": "扩散室",
+        "code": "03GE0"
+      },
+      {
+        "name": "生活水泵房",
+        "code": "03GF0"
+      },
+      {
+        "name": "生活水箱间",
+        "code": "03GG0"
+      },
+      {
+        "name": "高位水箱间",
+        "code": "03GH0"
+      },
+      {
+        "name": "太阳能热水机房",
+        "code": "03GI0"
+      },
+      {
+        "name": "中水处理机房",
+        "code": "03GJ0"
+      },
+      {
+        "name": "污集水坑",
+        "code": "03GK0"
+      },
+      {
+        "name": "隔油池",
+        "code": "03GL0"
+      },
+      {
+        "name": "污水处理间",
+        "code": "03GM0"
+      },
+      {
+        "name": "泳池设备机房",
+        "code": "03GN0"
+      },
+      {
+        "name": "综合水泵房",
+        "code": "03GO0"
+      },
+      {
+        "name": "消防水泵房",
+        "code": "03GP0"
+      },
+      {
+        "name": "消防水箱间",
+        "code": "03GQ0"
+      },
+      {
+        "name": "消防水池",
+        "code": "03GR0"
+      },
+      {
+        "name": "钢瓶间",
+        "code": "03GS0"
+      },
+      {
+        "name": "报警阀室",
+        "code": "03GT0"
+      },
+      {
+        "name": "燃气表间",
+        "code": "03GU0"
+      },
+      {
+        "name": "焚烧炉室",
+        "code": "03GV0"
+      },
+      {
+        "name": "水暖机房设备控制室",
+        "code": "03GW0"
+      }
+    ]
+  },
+  {
+    "name": "强弱电机房",
+    "code": "03H00",
+    "children": [
+      {
+        "name": "发电机房",
+        "code": "03H10"
+      },
+      {
+        "name": "储油间",
+        "code": "03H20"
+      },
+      {
+        "name": "开闭站",
+        "code": "03H30"
+      },
+      {
+        "name": "分界室",
+        "code": "03H40"
+      },
+      {
+        "name": "变电室",
+        "code": "03H50"
+      },
+      {
+        "name": "配电间",
+        "code": "03H60",
+        "children": [
+          {
+            "name": "高压配电室",
+            "code": "03H61"
+          },
+          {
+            "name": "中压配电室",
+            "code": "03H62"
+          },
+          {
+            "name": "低压配电室",
+            "code": "03H63"
+          }
+        ]
+      },
+      {
+        "name": "智能化系统机房",
+        "code": "03H70",
+        "children": [
+          {
+            "name": "网络机房",
+            "code": "03H71"
+          },
+          {
+            "name": "电话机房",
+            "code": "03H72"
+          },
+          {
+            "name": "电视机房",
+            "code": "03H73"
+          },
+          {
+            "name": "建筑设备监控机房",
+            "code": "03H74"
+          },
+          {
+            "name": "广播机房",
+            "code": "03H75"
+          }
+        ]
+      },
+      {
+        "name": "电池间",
+        "code": "03H80"
+      },
+      {
+        "name": "信息数据机房",
+        "code": "03H90"
+      },
+      {
+        "name": "消防控制中心",
+        "code": "03HA0"
+      },
+      {
+        "name": "中控室",
+        "code": "03HB0"
+      },
+      {
+        "name": "机房控制室",
+        "code": "03HC0"
+      }
+    ]
+  },
+  {
+    "name": "加速器机房",
+    "code": "D1960"
+  }
+]</json>
+			</json_do>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>所有机房类型(树形结构)</description>
+				<assignment>data</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询机房类型(机房精细化)</content>
+						<update_time>2021-6-7 15:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 461 - 0
bogda/CLMT/dict/pipe.clmt

@@ -0,0 +1,461 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>scopeFilter</name>
+				<ref>resource/params.scopeFilter</ref>
+			</ref_parameter>
+			<parameter>
+				<name>sys</name>
+				<description>选择的系统类型,不传递时过滤条件不生效</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<json_do>
+				<name>data_bak</name>
+				<description>不使用</description>
+				<condition>false</condition>
+				<json>[
+  {
+    "name": "液体管道",
+    "code": "liquid",
+    "type": "liquid",
+    "children": [
+      {
+        "name": "给排水系统",
+        "code": "water",
+        "type": "liquid",
+        "children": [
+          {
+            "name": "生活给水",
+            "code": "water_1",
+            "type": "liquid"
+          },
+          {
+            "name": "生活热水给水",
+            "code": "water_2",
+            "type": "liquid"
+          },
+          {
+            "name": "直饮水给水",
+            "code": "water_3",
+            "type": "liquid"
+          },
+          {
+            "name": "中水给水",
+            "code": "water_4",
+            "type": "liquid"
+          },
+          {
+            "name": "其他公共给水(水景、喷灌、泳池等)",
+            "code": "water_5",
+            "type": "liquid"
+          },
+          {
+            "name": "污水排水",
+            "code": "water_6",
+            "type": "liquid"
+          },
+          {
+            "name": "雨水收集",
+            "code": "water_7",
+            "type": "liquid"
+          }
+        ]
+      },
+      {
+        "name": "空调系统",
+        "code": "ac",
+        "type": "liquid",
+        "children": [
+          {
+            "name": "冷冻水",
+            "code": "ac_1",
+            "type": "liquid"
+          },
+          {
+            "name": "冷却水",
+            "code": "ac_2",
+            "type": "liquid"
+          },
+          {
+            "name": "采暖热水",
+            "code": "ac_3",
+            "type": "liquid"
+          },
+          {
+            "name": "采暖蒸汽",
+            "code": "ac_4",
+            "type": "liquid"
+          },
+          {
+            "name": "制冷剂",
+            "code": "ac_5",
+            "type": "liquid"
+          },
+          {
+            "name": "吸收剂",
+            "code": "ac_6",
+            "type": "liquid"
+          },
+          {
+            "name": "乙二醇",
+            "code": "ac_7",
+            "type": "liquid"
+          }
+        ]
+      },
+      {
+        "name": "消防系统",
+        "code": "fire",
+        "type": "liquid",
+        "children": [
+          {
+            "name": "消防给水",
+            "code": "fire_1",
+            "type": "liquid"
+          },
+          {
+            "name": "液体灭火剂",
+            "code": "fire_2",
+            "type": "liquid"
+          }
+        ]
+      },
+      {
+        "name": "特殊",
+        "code": "sp",
+        "type": "liquid",
+        "children": [
+          {
+            "name": "燃油",
+            "code": "sp_1",
+            "type": "liquid"
+          },
+          {
+            "name": "液化天然气",
+            "code": "sp_2",
+            "type": "liquid"
+          }
+        ]
+      },
+      {
+        "name": "其他液体管道",
+        "code": "liquid_other",
+        "type": "liquid"
+      }
+    ]
+  },
+  {
+    "name": "气体管道",
+    "code": "air",
+    "type": "air",
+    "children": [
+      {
+        "name": "普通空调系统用风管",
+        "code": "pk",
+        "type": "air",
+        "children": [
+          {
+            "name": "送风",
+            "code": "pk_1",
+            "type": "air"
+          },
+          {
+            "name": "回风",
+            "code": "pk_2",
+            "type": "air"
+          },
+          {
+            "name": "排风",
+            "code": "pk_3",
+            "type": "air"
+          },
+          {
+            "name": "新风",
+            "code": "pk_4",
+            "type": "air"
+          },
+          {
+            "name": "加压送风",
+            "code": "pk_5",
+            "type": "air"
+          },
+          {
+            "name": "厨房排油烟",
+            "code": "pk_6",
+            "type": "air"
+          }
+        ]
+      },
+      {
+        "name": "防排烟系统用风管",
+        "code": "py",
+        "type": "air",
+        "children": [
+          {
+            "name": "消防补风",
+            "code": "py_1",
+            "type": "air"
+          },
+          {
+            "name": "排烟",
+            "code": "py_2",
+            "type": "air"
+          }
+        ]
+      },
+      {
+        "name": "含酸碱排风系统用风管",
+        "code": "pf",
+        "type": "air"
+      },
+      {
+        "name": "燃气系统送燃气",
+        "code": "gas",
+        "type": "air"
+      },
+      {
+        "name": "气体灭火剂管",
+        "code": "gea",
+        "type": "air"
+      },
+      {
+        "name": "人防风管",
+        "code": "ad",
+        "type": "air"
+      },
+      {
+        "name": "其他气体管道",
+        "code": "air_other",
+        "type": "air"
+      }
+    ]
+  }
+]</json>
+			</json_do>
+			<json_do>
+				<name>data</name>
+				<json>[
+  {
+    "name": "中央供冷系统",
+    "code": "ACCC",
+    "type": "sys",
+    "children": [
+      {
+        "name": "冷冻水供水管",
+        "code": "accc_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "冷冻水回水管",
+        "code": "accc_pipe_02",
+        "type": "pipe"
+      },
+       {
+        "name": "补水管",
+        "code": "accc_pipe_03",
+        "type": "pipe"
+      },
+       {
+        "name": "软化水管",
+        "code": "accc_pipe_04",
+        "type": "pipe"
+      }
+    ]
+  },
+  {
+    "name": "空调末端系统",
+    "code": "ACAT",
+    "type": "sys",
+    "children": [
+      {
+        "name": "冷冻水供水管",
+        "code": "acat_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "冷冻水回水管",
+        "code": "acat_pipe_02",
+        "type": "pipe"
+      },
+       {
+        "name": "冷凝水管",
+        "code": "acat_pipe_03",
+        "type": "pipe"
+      }
+    ]
+  },
+  {
+    "name": "消防系统",
+    "code": "FFFS",
+    "type": "sys",
+    "children": [
+      {
+        "name": "消火栓管",
+        "code": "fffs_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "喷淋管",
+        "code": "fffs_pipe_02",
+        "type": "pipe"
+      },
+       {
+        "name": "气体灭火管",
+        "code": "fffs_pipe_03",
+        "type": "pipe"
+      }
+    ]
+  },
+  {
+    "name": "生活给水系统",
+    "code": "WSDW",
+    "type": "sys",
+    "children": [
+      {
+        "name": "给水管",
+        "code": "wsdw_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "废水管",
+        "code": "wsdw_pipe_02",
+        "type": "pipe"
+      }
+    ]
+  },
+  {
+    "name": "强电系统",
+    "code": "SE",
+    "type": "sys",
+    "children": [
+      {
+        "name": "强电桥架",
+        "code": "se_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "强电线槽",
+        "code": "se_pipe_02",
+        "type": "pipe"
+      }
+    ]
+  },
+  {
+    "name": "弱电系统",
+    "code": "WE",
+    "type": "sys",
+    "children": [
+      {
+        "name": "弱电桥架",
+        "code": "we_pipe_01",
+        "type": "pipe"
+      },
+       {
+        "name": "弱电线槽",
+        "code": "we_pipe_02",
+        "type": "pipe"
+      }
+    ]
+  }
+]</json>
+			</json_do>
+			<table_query>
+				<name>pipe</name>
+				<description>管线范围</description>
+				<condition>scopeFilter</condition>
+				<dataSource>poc</dataSource>
+				<table>pipe_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>sys</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+			</table_query>
+			<variable>
+				<name>filterData</name>
+				<assignment>if(
+	scopeFilter,
+	Ext.treeFilter(data, 'children', pipe.get(id, pipe.code==this.code || pipe.sys==this.code)!=null)
+)</assignment>
+			</variable>
+			<json_query>
+				<name>list</name>
+				<json>if(scopeFilter, filterData, data)</json>
+			</json_query>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<assignment>list.list(Str.isBlank(sys) ? true : list.code==sys)</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询管道类型树</content>
+						<update_time>2021-6-8 19:1</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>返回数据示例:
+[
+  {
+    "name": "中央供热系统",
+    "code": "ACCH",
+    "children": [
+      {
+        "name": "热水管",
+        "code": "acch_water01"
+      },
+      {
+        "name": "供热补水管",
+        "code": "acch_water02"
+      }
+    ]
+  },
+  {
+    "name": "中央供冷系统",
+    "code": "ACCC",
+    "children": [
+      {
+        "name": "冷冻水管",
+        "code": "accc_water01"
+      },
+      {
+        "name": "空调补水管",
+        "code": "accc_water02"
+      }
+    ]
+  }
+]</content>
+						<update_time>2021-6-9 10:45</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1137 - 0
bogda/CLMT/dict/rels.clmt


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 3846 - 0
bogda/CLMT/dict/space_fun.clmt


+ 86 - 0
bogda/CLMT/dict/sys_eq.clmt

@@ -0,0 +1,86 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>scopeFilter</name>
+				<ref>resource/params.scopeFilter</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/dict/category</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>type</key>
+							<value>majorSystemEquip</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<table_query>
+				<name>scope</name>
+				<condition>scopeFilter</condition>
+				<dataSource>poc</dataSource>
+				<table>main_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>=['major','sys','device']</type>
+				</fieldsWhere>
+			</table_query>
+			<variable>
+				<name>filterData</name>
+				<assignment>if(
+	scopeFilter,
+	Ext.treeFilter(data.content, 'children', scope.get(id, scope.code==this.code)!=null)
+)</assignment>
+			</variable>
+			<variable>
+				<name>result</name>
+				<assignment>if(scopeFilter, filterData, data.content)</assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>result</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询专业-系统-设备树</content>
+						<update_time>2021-6-4 13:48</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 170 - 0
bogda/CLMT/dict/sys_eq_list.clmt

@@ -0,0 +1,170 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>scopeFilter</name>
+				<ref>resource/params.scopeFilter</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<variable>
+				<name>result</name>
+				<assignment>clmt('dict/sys_eq', {scopeFilter: scopeFilter}, 'rtn')</assignment>
+			</variable>
+			<logic_grid>
+				<name>grid</name>
+				<description>处理设备列表</description>
+				<l_grid name="grid">
+					<rowCount>1</rowCount>
+					<colCount>10</colCount>
+					<rows>
+						<l_row>
+							<index>0</index>
+						</l_row>
+					</rows>
+					<columns>
+						<l_col>
+							<index>0</index>
+						</l_col>
+						<l_col>
+							<index>1</index>
+						</l_col>
+						<l_col>
+							<index>2</index>
+						</l_col>
+						<l_col>
+							<index>3</index>
+						</l_col>
+						<l_col>
+							<index>4</index>
+						</l_col>
+						<l_col>
+							<index>5</index>
+						</l_col>
+						<l_col>
+							<index>6</index>
+						</l_col>
+						<l_col>
+							<index>7</index>
+						</l_col>
+						<l_col>
+							<index>8</index>
+						</l_col>
+						<l_col>
+							<index>9</index>
+						</l_col>
+					</columns>
+					<cells>
+						<bogda_item>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=result</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=if(a1 != null, a1.children, [])</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=if(b1 != null, b1.children, [])</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data>=get(a1, 'code')</data>
+									<data_id>major</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data>=get(a1, 'name')</data>
+									<data_id>majorName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>5</colIndex>
+								<props>
+									<data>=get(b1, 'code')</data>
+									<data_id>sys</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>6</colIndex>
+								<props>
+									<data>=get(b1, 'name')</data>
+									<data_id>sysName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>7</colIndex>
+								<props>
+									<data>=get(c1, 'code')</data>
+									<data_id>code</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>8</colIndex>
+								<props>
+									<data>=get(c1, 'name')</data>
+									<data_id>name</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>9</colIndex>
+							</l_cell>
+						</bogda_item>
+					</cells>
+				</l_grid>
+				<output>
+					<grid_out>
+						<name>rtn</name>
+						<content>region(D1,I1)</content>
+					</grid_out>
+				</output>
+			</logic_grid>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>设备列表</description>
+				<assignment>if(grid != null, grid.rtn, null)</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询专业-系统-设备列表</content>
+						<update_time>2021-6-4 13:48</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 45 - 0
bogda/CLMT/dict/types.clmt

@@ -0,0 +1,45 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<output>
+			<variable>
+				<name>job</name>
+				<description>空间任务类型</description>
+				<assignment>[
+	{name:'全部', code:'all'},
+	{name:'新空间未核查', code:'00'},
+	{name:'有结构核查任务', code:'01'},
+	{name:'有结构问题', code:'02'},
+	{name:'结构核查完毕', code:'03'},
+	{name:'有现场勘测任务', code:'04'},
+	{name:'已完成勘测任务', code:'05'}
+]</assignment>
+			</variable>
+			<variable>
+				<name>zRegion</name>
+				<description>z轴位置可选区域</description>
+				<assignment>[
+	{code:'roof',name:'房顶'},
+	{code:'floor',name:'地面'},
+	{code:'wall',name:'墙面(贴墙)'},
+	{code:'air',name:'半空'}
+]</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>类型字典查询</content>
+						<update_time>2021-6-7 11:17</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 47 - 0
bogda/CLMT/dict/zone.clmt

@@ -0,0 +1,47 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/dict/category</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>type</key>
+							<value>space</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+		</elements>
+		<output>
+			<json_query>
+				<name>rtn</name>
+				<description>分区类型列表</description>
+				<json>data.content</json>
+			</json_query>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询空间分区类型</content>
+						<update_time>2021-6-4 11:20</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 125 - 0
bogda/CLMT/job/add_eq.clmt

@@ -0,0 +1,125 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+			<parameter>
+				<name>type</name>
+				<description>设备类型代码</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>设备位置坐标   {x:123,y:234,z:{region:'wall',offset:1.5}}</description>
+				<type>31</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>remark</name>
+				<description>描述</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>name</name>
+				<description>设备实例名称</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<variable>
+				<name>deviceId</name>
+				<description>设备id</description>
+				<assignment>uuid(false)</assignment>
+			</variable>
+		</elements>
+		<actions>
+			<operation_set>
+				<comment_id>1</comment_id>
+				<name>action</name>
+				<description>添加操作</description>
+				<operations>
+					<table_operation>
+						<name>device</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>device</table>
+						<fields>
+							<field_data>
+								<field>deviceId</field>
+								<data>=deviceId</data>
+							</field_data>
+							<field_data>
+								<field>spaceId</field>
+								<data>=spaceId</data>
+							</field_data>
+							<field_data>
+								<field>type</field>
+								<data>=type</data>
+							</field_data>
+							<field_data>
+								<field>name</field>
+								<data>=name</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=JSON.stringify(position)</data>
+							</field_data>
+							<field_data>
+								<field>remark</field>
+								<data>=remark</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>='1'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+				<rtnData>{deviceId:deviceId}</rtnData>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>添加设备</content>
+						<update_time>2021-6-8 15:50</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>调用操作返回的数据示例:
+{
+  "code": 1, //成功为1,失败-1
+  "datas": {
+    "action": { //action为提交操作名称,即target指定的操作名
+      "deviceId": "3ef304f70b4f422285235af029fbff4a" //新增的设备id
+    }
+  }
+}</content>
+						<update_time>2021-6-9 9:56</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 115 - 0
bogda/CLMT/job/add_pipe.clmt

@@ -0,0 +1,115 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+			<parameter>
+				<name>sys</name>
+				<description>管线所属系统</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>type</name>
+				<description>管线类型代码,见dict/pipe</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>位置坐标  [{x:123,y:234},{x:34,y:45},...]</description>
+				<type>32</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>remark</name>
+				<description>描述</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>name</name>
+				<description>实例名称</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<variable>
+				<name>pipeId</name>
+				<description>管线id</description>
+				<assignment>uuid(false)</assignment>
+			</variable>
+		</elements>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>添加操作</description>
+				<operations>
+					<table_operation>
+						<name>pipe</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>pipe</table>
+						<fields>
+							<field_data>
+								<field>pipeId</field>
+								<data>=pipeId</data>
+							</field_data>
+							<field_data>
+								<field>spaceId</field>
+								<data>=spaceId</data>
+							</field_data>
+							<field_data>
+								<field>sys</field>
+								<data>=sys</data>
+							</field_data>
+							<field_data>
+								<field>type</field>
+								<data>=type</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=JSON.stringify(position)</data>
+							</field_data>
+							<field_data>
+								<field>name</field>
+								<data>=name</data>
+							</field_data>
+							<field_data>
+								<field>remark</field>
+								<data>=remark</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>='1'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>添加管线</content>
+						<update_time>2021-6-8 15:50</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 129 - 0
bogda/CLMT/job/add_problem.clmt

@@ -0,0 +1,129 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+			<parameter>
+				<name>floorId</name>
+				<description>空间所属楼层id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>问题位置点 {x:123,y:234,z:{region:'wall',offset:1.5}}, z.region见dict/types?target=zRegion</description>
+				<type>31</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>content</name>
+				<description>问题内容</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<comment_id>1</comment_id>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>problem</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>space_problem</table>
+						<fields>
+							<field_data>
+								<field>spaceId</field>
+								<data>=spaceId</data>
+							</field_data>
+							<field_data>
+								<field>floorId</field>
+								<data>=floorId</data>
+							</field_data>
+							<field_data>
+								<field>content</field>
+								<data>=content</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=JSON.stringify(position)</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>='1'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+					<table_operation>
+						<name>job</name>
+						<description>修改空间任务状态</description>
+						<dataSource>poc</dataSource>
+						<mode>2</mode>
+						<table>job</table>
+						<fields>
+							<field_data>
+								<field>space_id</field>
+								<data>=spaceId</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>status</field>
+								<data>='02'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+				<rtnData>{problemId:problem.generatedKey}</rtnData>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>添加空间核查问题</content>
+						<update_time>2021-6-8 15:0</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>调用返回示例
+成功:
+{
+  "code": 1,
+  "datas": {
+    "action": {
+      "problemId": 5 //新创建的problemId,数值类型
+    }
+  }
+}
+失败:
+{
+  "code": -1,
+  "returnTip": "参数position不能为空"
+}</content>
+						<update_time>2021-6-9 9:59</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 96 - 0
bogda/CLMT/job/add_rel.clmt

@@ -0,0 +1,96 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>eq_id</name>
+				<description>设备id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>target_id</name>
+				<description>目标对象id,空间 | 设备 | 管道</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>rel</name>
+				<description>关系code,见 dict/adm_rels</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<comment_id>1</comment_id>
+				<name>action</name>
+				<description>添加操作</description>
+				<operations>
+					<table_operation>
+						<name>rel</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>relation</table>
+						<fields>
+							<field_data>
+								<field>left_node</field>
+								<data>=eq_id</data>
+							</field_data>
+							<field_data>
+								<field>right_node</field>
+								<data>=target_id</data>
+							</field_data>
+							<field_data>
+								<field>relation</field>
+								<data>=rel</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+				<rtnData>{relId: rel.generatedKey}</rtnData>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>创建关系</content>
+						<update_time>2021-6-10 14:38</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>调用返回:
+{
+  "code": 1, //执行成功
+  "datas": {
+    "action": {
+      "relId": 1 //新建的关系id
+    }
+  }
+}</content>
+						<update_time>2021-6-10 15:10</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 100 - 0
bogda/CLMT/job/bind_qrcode.clmt

@@ -0,0 +1,100 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>objId</name>
+				<description>对象id,可以是空间、设备、管线id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>objType</name>
+				<description>对象类型,space:空间,device:设备,pipe:管线</description>
+				<format></format>
+				<validate>
+					<v_exp _name="v3">
+						<failTip>对象类型不合法</failTip>
+						<formula><![CDATA[Str.isBlank(objType) || ['space', 'device', 'pipe'].indexOf(objType) >= 0]]></formula>
+					</v_exp>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>uuid</name>
+				<description>二维码uuid</description>
+				<format></format>
+				<defaultVal></defaultVal>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>二维码粘贴位置,空间绑定时使用 {x:123,y:234,z:{region:'wall',offset:1.5}}</description>
+				<type>31</type>
+				<format></format>
+				<validate>
+					<v_exp _name="v3">
+						<failTip>不能为空,空间二维码需要设置位置坐标</failTip>
+						<formula>if(objType=='space', this != null, true)</formula>
+					</v_exp>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>绑定操作</description>
+				<operations>
+					<table_operation>
+						<name>qrcode</name>
+						<dataSource>poc</dataSource>
+						<table>qr_code</table>
+						<fields>
+							<field_data>
+								<field>obj_id</field>
+								<data>=objId</data>
+							</field_data>
+							<field_data>
+								<field>obj_type</field>
+								<data>=objType</data>
+							</field_data>
+							<field_data>
+								<field>qr_code</field>
+								<data>=uuid</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=if(position != null, JSON.stringify(position), $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>=1</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>绑定二维码</content>
+						<update_time>2021-6-8 15:23</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 97 - 0
bogda/CLMT/job/close_problem.clmt

@@ -0,0 +1,97 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>problemId</name>
+				<description>问题id</description>
+				<type>5</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<table_operation>
+				<name>problem</name>
+				<description>关闭问题</description>
+				<dataSource>poc</dataSource>
+				<mode>2</mode>
+				<table>space_problem</table>
+				<fields>
+					<field_data>
+						<field>id</field>
+						<data>=problemId</data>
+						<restrict>0</restrict>
+					</field_data>
+					<field_data>
+						<field>state</field>
+						<data>='0'</data>
+					</field_data>
+				</fields>
+			</table_operation>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<customFields>count(1) p_count</customFields>
+				<table>space_problem</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>spaceId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<spaceId>=spaceId</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+			<table_operation>
+				<name>job</name>
+				<description>修改空间状态</description>
+				<condition>query.p_count==0</condition>
+				<dataSource>poc</dataSource>
+				<mode>2</mode>
+				<table>job</table>
+				<fields>
+					<field_data>
+						<field>space_id</field>
+						<data>=spaceId</data>
+						<restrict>0</restrict>
+					</field_data>
+					<field_data>
+						<field>status</field>
+						<data>='02'</data>
+					</field_data>
+				</fields>
+			</table_operation>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>{code:1}</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>关闭空间核查问题</content>
+						<update_time>2021-6-10 18:29</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 52 - 0
bogda/CLMT/job/del_rel.clmt

@@ -0,0 +1,52 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>relId</name>
+				<description>关系id</description>
+				<type>5</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>删除操作</description>
+				<operations>
+					<table_operation>
+						<name>del_rel</name>
+						<dataSource>poc</dataSource>
+						<mode>3</mode>
+						<table>relation</table>
+						<fields>
+							<field_data>
+								<field>id</field>
+								<data>=relId</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>删除关系</content>
+						<update_time>2021-6-10 15:13</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 37 - 0
bogda/CLMT/job/job_count.clmt

@@ -0,0 +1,37 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<table_query>
+				<name>job</name>
+				<dataSource>poc</dataSource>
+				<table>job</table>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>{space:空间核查任务数,device:勘测任务数}</description>
+				<assignment><![CDATA[{
+	space: job.count(status>='00' && status<='02'),
+	device: job.count(status=='04')
+}]]></assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询项目任务数量</content>
+						<update_time>2021-6-7 17:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 99 - 0
bogda/CLMT/job/set_eq.clmt

@@ -0,0 +1,99 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>deviceId</name>
+				<description>设备id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>type</name>
+				<description>设备类型代码</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>设备位置坐标 {x:123,y:234,z:{region:'roof',offset:1.5}}</description>
+				<type>31</type>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>name</name>
+				<description>设备实例名称</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>remark</name>
+				<description>描述</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>state</name>
+				<description>设备状态,true可用,false不可用</description>
+				<type>9</type>
+				<format></format>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>修改操作</description>
+				<operations>
+					<table_operation>
+						<name>device</name>
+						<dataSource>poc</dataSource>
+						<mode>2</mode>
+						<table>device</table>
+						<fields>
+							<field_data>
+								<field>deviceId</field>
+								<data>=deviceId</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>type</field>
+								<data>=nvl(type, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>name</field>
+								<data>=nvl(name, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=if(position != null, JSON.stringify(position), $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>remark</field>
+								<data>=nvl(remark, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>=if(state != null, state ? '1' : '0', $disabled)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>修改设备信息和状态</content>
+						<update_time>2021-6-8 15:50</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 114 - 0
bogda/CLMT/job/set_job.clmt

@@ -0,0 +1,114 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>spaceId</name>
+				<description>空间id列表,json数组格式</description>
+				<type>32</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<ref_parameter>
+				<name>buildingId</name>
+				<ref>resource/params.buildingId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>jobStatus</name>
+				<ref>resource/params.jobStatus</ref>
+			</ref_parameter>
+			<parameter>
+				<name>spaceCode</name>
+				<description>空间的数字话交付编码,设置任务状态为"03 结构核查完毕"时使用</description>
+				<format></format>
+				<validate>
+					<v_exp _name="v3">
+						<failTip>不能为空</failTip>
+						<formula>if(jobStatus=='03',!Str.isBlank(spaceCode),true)</formula>
+					</v_exp>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<comment_id>1</comment_id>
+				<name>action</name>
+				<description>设置空间的任务状态</description>
+				<operations>
+					<table_operation>
+						<name>job</name>
+						<dataSource>poc</dataSource>
+						<table>job</table>
+						<fields>
+							<field_data>
+								<field>space_id</field>
+								<data>=bind(spaceId)</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>floor_id</field>
+								<data>=floorId</data>
+							</field_data>
+							<field_data>
+								<field>building_id</field>
+								<data>=buildingId</data>
+							</field_data>
+							<field_data>
+								<field>status</field>
+								<data>=jobStatus</data>
+							</field_data>
+							<field_data>
+								<field>space_code</field>
+								<data><![CDATA[=if(
+	jobStatus=='03' && !Str.isBlank(spaceCode),
+	jobStatus,
+	$disabled
+)]]></data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置空间的任务状态(新建和修改)</content>
+						<update_time>2021-6-7 16:48</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>调用返回示例
+成功:
+{
+  "code": 1,
+}
+失败:
+{
+  "code": -1,
+  "returnTip": "异常信息...."
+}</content>
+						<update_time>2021-6-9 11:5</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 108 - 0
bogda/CLMT/job/set_pipe.clmt

@@ -0,0 +1,108 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>pipeId</name>
+				<description>管线id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>sys</name>
+				<description>管线所属系统</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>type</name>
+				<description>管线类型代码,见dict/pipe</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>位置坐标  [{x:123,y:234},{x:34,y:45},...]</description>
+				<type>32</type>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>name</name>
+				<description>实例名称</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>remark</name>
+				<description>描述</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>state</name>
+				<description>状态,true可用,false不可用</description>
+				<type>9</type>
+				<format></format>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>pipe</name>
+						<dataSource>poc</dataSource>
+						<mode>2</mode>
+						<table>pipe</table>
+						<fields>
+							<field_data>
+								<field>pipeId</field>
+								<data>=pipeId</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>sys</field>
+								<data>=nvl(sys, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>type</field>
+								<data>=nvl(type, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=if(position != null, JSON.stringify(position), $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>name</field>
+								<data>=nvl(name, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>remark</field>
+								<data>=nvl(remark, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>=if(state != null, state ? '1' : '0', $disabled)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置管线信息和状态</content>
+						<update_time>2021-6-8 15:50</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 82 - 0
bogda/CLMT/job/set_problem.clmt

@@ -0,0 +1,82 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>problemId</name>
+				<description>问题id</description>
+				<type>5</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>position</name>
+				<description>问题位置点 {x:123,y:234,z:{region:'',offset:1.5}}, z.region见dict/types?target=zRegion</description>
+				<type>31</type>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>content</name>
+				<description>问题内容</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>state</name>
+				<description>问题状态,true为正常,false为关闭</description>
+				<type>9</type>
+				<format></format>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>problem</name>
+						<dataSource>poc</dataSource>
+						<mode>2</mode>
+						<table>space_problem</table>
+						<fields>
+							<field_data>
+								<field>id</field>
+								<data>=problemId</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>content</field>
+								<data>=nvl(content, $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>position</field>
+								<data>=if(position != null, JSON.stringify(position), $disabled)</data>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>=if(state != null, state ? '1' : '0', $disabled)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置空间核查问题的信息和状态</content>
+						<update_time>2021-6-8 15:10</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 66 - 0
bogda/CLMT/job/set_qrcode_state.clmt

@@ -0,0 +1,66 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>uuid</name>
+				<description>二维码uuid</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>state</name>
+				<description>二维码状态,true为可用,false为不可用</description>
+				<type>9</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>qrcode</name>
+						<dataSource>poc</dataSource>
+						<mode>2</mode>
+						<table>qr_code</table>
+						<fields>
+							<field_data>
+								<field>qr_code</field>
+								<data>=uuid</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>state</field>
+								<data>=state ? '1' : '0'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置二维码的状态,可用或不可用</content>
+						<update_time>2021-6-8 15:43</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 134 - 0
bogda/CLMT/job/space_job.clmt

@@ -0,0 +1,134 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>buildingId</name>
+				<ref>resource/params.buildingId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>zoneType</name>
+				<ref>resource/params.zoneType</ref>
+			</ref_parameter>
+			<parameter>
+				<name>jobStatus</name>
+				<description>任务状态(多种状态 00到05 筛选: ['00','01',...],为空时表示全部)</description>
+				<type>32</type>
+				<format></format>
+				<defaultVal>[]</defaultVal>
+			</parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<description>查询空间数据</description>
+				<http_req name="req">
+					<url>http://47.93.22.124/api/datacenter/object/zone/query</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>zoneType</key>
+							<value>=zoneType</value>
+						</property>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>floorId</key>
+							<value>=floorId</value>
+						</property>
+						<property>
+							<key>buildingId</key>
+							<value>=buildingId</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<json_query>
+				<name>space</name>
+				<json>data.content</json>
+			</json_query>
+			<table_query>
+				<name>job</name>
+				<dataSource>poc</dataSource>
+				<table>job</table>
+			</table_query>
+			<http_do>
+				<name>bf</name>
+				<description>建筑和楼层数据,用来获取名称</description>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/object/building/query</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>cascade</key>
+							<value>=[{name:'floor',orders: "floorSequenceID asc"}]</value>
+						</property>
+					</params>
+				</http_req>
+				<path>content</path>
+			</http_do>
+			<variable>
+				<name>addJob</name>
+				<assignment>space.addCol(
+	{
+		job: nvl(job.get(status, job.space_id==space.id), '00'),
+		spaceCode: job.space_code,
+		buildingName: get(treeNode(bf, 'id', space.buildingId, false, 'floor'), 'name'),
+		floorName: get(treeNode(bf, 'id', space.floorId, false, 'floor'), 'name')
+	}
+)</assignment>
+			</variable>
+			<variable>
+				<name>result</name>
+				<description>查询结果</description>
+				<assignment><![CDATA[space.list(jobStatus.length == 0 || jobStatus.indexOf(space.job) >= 0)]]></assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>楼层下的空间列表,job字段为任务状态(00-05,没有null)</description>
+				<assignment>result</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询空间和任务</content>
+						<update_time>2021-6-7 15:53</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 13 - 0
bogda/CLMT/lib/resource/headers.clmc

@@ -0,0 +1,13 @@
+<component>
+	<variable _name="element">
+		<name>headers</name>
+		<description>http请求头</description>
+		<assignment>{
+	'content-type': 'application/json;charset=UTF-8',
+	appId: 'adm',
+	projectId: 'Pj0002220011',//Pj0002220002
+	groupCode: 'BR',
+	userId: 'yanruolan'
+}</assignment>
+	</variable>
+</component>

+ 45 - 0
bogda/CLMT/lib/resource/params.clmc

@@ -0,0 +1,45 @@
+<component>
+	<procedure _name="group">
+		<description>常用参数</description>
+		<parameters>
+			<parameter>
+				<name>buildingId</name>
+				<description>建筑id</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>floorId</name>
+				<description>楼层id</description>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>zoneType</name>
+				<description>分区类型,缺省为物业分区</description>
+				<format></format>
+				<defaultVal>GeneralZone</defaultVal>
+			</parameter>
+			<parameter>
+				<name>jobStatus</name>
+				<description>任务状态(全部: all, 6种状态: 00到05)</description>
+				<format></format>
+				<defaultVal>00</defaultVal>
+			</parameter>
+			<parameter>
+				<name>scopeFilter</name>
+				<description>是否按交付范围进行筛选,缺省为false</description>
+				<type>9</type>
+				<format></format>
+				<defaultVal>false</defaultVal>
+			</parameter>
+			<parameter>
+				<name>spaceId</name>
+				<description>所在空间id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+	</procedure>
+</component>

+ 262 - 0
bogda/CLMT/query/building_floor.clmt

@@ -0,0 +1,262 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/object/building/query</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>cascade</key>
+							<value>=[{name:'floor',orders: "floorSequenceID asc"}]</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<table_query>
+				<name>job</name>
+				<dataSource>poc</dataSource>
+				<table>job</table>
+			</table_query>
+			<logic_grid>
+				<name>grid</name>
+				<l_grid name="grid">
+					<rowCount>5</rowCount>
+					<colCount>5</colCount>
+					<rows>
+						<l_row>
+							<index>0</index>
+						</l_row>
+						<l_row>
+							<index>1</index>
+						</l_row>
+						<l_row>
+							<index>2</index>
+						</l_row>
+						<l_row>
+							<index>3</index>
+						</l_row>
+						<l_row>
+							<index>4</index>
+						</l_row>
+					</rows>
+					<columns>
+						<l_col>
+							<index>0</index>
+						</l_col>
+						<l_col>
+							<index>1</index>
+						</l_col>
+						<l_col>
+							<index>2</index>
+						</l_col>
+						<l_col>
+							<index>3</index>
+							<props>
+								<width>179</width>
+							</props>
+						</l_col>
+						<l_col>
+							<index>4</index>
+						</l_col>
+					</columns>
+					<cells>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>0</colIndex>
+								<props>
+									<data>建筑</data>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>1</colIndex>
+								<props>
+									<data>楼层</data>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>2</colIndex>
+								<props>
+									<data>楼层id</data>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data>空间任务</data>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data>设备勘测任务</data>
+								</props>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=data.content</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>1</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=A2.floor</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>1</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>2</colIndex>
+								<props>
+									<data>=B2.id</data>
+									<data_id>floorId</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data><![CDATA[=job.count(job.floor_id==C2 && ['00','01','02'].indexOf(job.status) >= 0)]]></data>
+									<data_id>space</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>1</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data><![CDATA[=job.count(job.floor_id==C2 && job.status=='04')]]></data>
+									<data_id>device</data_id>
+								</props>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>2</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>3</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+						</bogda_item>
+						<bogda_item>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>0</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>1</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>2</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>3</colIndex>
+							</l_cell>
+							<l_cell>
+								<rowIndex>4</rowIndex>
+								<colIndex>4</colIndex>
+							</l_cell>
+						</bogda_item>
+					</cells>
+				</l_grid>
+				<output>
+					<grid_out>
+						<name>rtn</name>
+						<content>region(C2,E2)</content>
+					</grid_out>
+				</output>
+			</logic_grid>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>建筑-楼层树</description>
+				<assignment>data.content</assignment>
+			</variable>
+			<variable>
+				<name>job_count</name>
+				<description>各楼层的空间核查及设备勘测任务数量列表</description>
+				<assignment>grid.rtn</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询建筑-楼层树</content>
+						<update_time>2021-6-7 12:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 92 - 0
bogda/CLMT/query/floor_map_info.clmt

@@ -0,0 +1,92 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>buildingId</name>
+				<ref>resource/params.buildingId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/object/building/query</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>cascade</key>
+							<value>=[{name:'floor',orders: "floorSequenceID asc"}]</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<json_query>
+				<name>bds</name>
+				<json>data.content</json>
+			</json_query>
+			<json_query>
+				<name>fls</name>
+				<json>bds.get(floor, id==buildingId)</json>
+			</json_query>
+			<variable>
+				<name>map</name>
+				<assignment>fls.get(infos, floorId==id)</assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<description>楼层的地图信息</description>
+				<assignment>map</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>获取楼层地图数据信息</content>
+						<update_time>2021-6-9 17:1</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>{
+  "rtn": {
+    "floorMap": "base/088e8863c8fa11eb84371dfd862a543e.jsonz",
+    "floorElevation": "0.0"
+  }
+}</content>
+						<update_time>2021-6-9 17:2</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 98 - 0
bogda/CLMT/query/floor_outline.clmt

@@ -0,0 +1,98 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>buildingId</name>
+				<ref>resource/params.buildingId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>zoneType</name>
+				<ref>resource/params.zoneType</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/api/datacenter/object/zone/query-outline</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>zoneType</key>
+							<value>=zoneType</value>
+						</property>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>floorId</key>
+							<value>=floorId</value>
+						</property>
+						<property>
+							<key>buildingId</key>
+							<value>=buildingId</value>
+						</property>
+						<property>
+							<key>filters</key>
+							<value>not id isNull</value>
+						</property>
+						<property>
+							<key>orders</key>
+							<value>createTime desc, id asc</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<variable>
+				<name>list</name>
+				<assignment>selectFrom('id,outline,localName,name', data.content)</assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<assignment>list</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询楼层平面图数据</content>
+						<update_time>2021-6-4 18:11</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>平面图数据列表</content>
+						<update_time>2021-6-9 15:0</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 81 - 0
bogda/CLMT/query/floor_space.clmt

@@ -0,0 +1,81 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>buildingId</name>
+				<ref>resource/params.buildingId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+			<ref_parameter>
+				<name>zoneType</name>
+				<ref>resource/params.zoneType</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/api/datacenter/object/zone/query</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>zoneType</key>
+							<value>=zoneType</value>
+						</property>
+						<property>
+							<key>pageNumber</key>
+							<value>1</value>
+						</property>
+						<property>
+							<key>pageSize</key>
+							<value>1000</value>
+						</property>
+						<property>
+							<key>floorId</key>
+							<value>=floorId</value>
+						</property>
+						<property>
+							<key>buildingId</key>
+							<value>=buildingId</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<json_query>
+				<name>query</name>
+				<json>data.content</json>
+			</json_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>楼层下的空间列表</description>
+				<assignment>query</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询楼层-空间列表</content>
+						<update_time>2021-6-4 18:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 46 - 0
bogda/CLMT/query/item_rel.clmt

@@ -0,0 +1,46 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>itemId</name>
+				<description>设备或管道id</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<customFields>left_node=@itemId or right_node=@itemId</customFields>
+				<table>relation</table>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<description>关系列表</description>
+				<assignment>query.list()</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询某个设备或管道上绑定的所有关系</content>
+						<update_time>2021-6-10 15:53</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 100 - 0
bogda/CLMT/query/problems.clmt

@@ -0,0 +1,100 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<comment_id>2</comment_id>
+				<name>floorId</name>
+				<ref>resource/params.floorId</ref>
+			</ref_parameter>
+			<parameter>
+				<comment_id>3</comment_id>
+				<name>spaceId</name>
+				<description>空间id</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>space_problem</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>spaceId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>content</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>position</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>floorId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<floorId>=nvl(floorId, $disabled)</floorId>
+					<spaceId>=nvl(spaceId, $disabled)</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>query</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>4</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询空间核查问题</content>
+						<update_time>2021-6-9 12:52</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>不传递的话不生效</content>
+						<update_time>2021-6-9 12:53</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>2</id>
+				<items>
+					<comment_item>
+						<content>为空时过滤条件不生效</content>
+						<update_time>2021-6-9 12:53</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>3</id>
+				<items>
+					<comment_item>
+						<content>为空时过滤条件不生效</content>
+						<update_time>2021-6-9 12:53</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 95 - 0
bogda/CLMT/query/qrcode.clmt

@@ -0,0 +1,95 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>objId</name>
+				<description>对象id(空间|设备|管线)</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>qr_code</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>obj_id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>obj_type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>qr_code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>position</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>remark</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<obj_id>=objId</obj_id>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<description>对象绑定的二维码数据列表</description>
+				<assignment>query.list()</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询对象绑定的二维码</content>
+						<update_time>2021-6-9 11:2</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>示例:
+{
+  "rtn": [
+    {
+      "obj_id": "Sp0002220002160b7b78f8104d758030405d63ca5023",
+      "obj_type": "space",
+      "qr_code": "27835ed0-b3ad-4898-a9f5-ce9f98ebcb92"
+    },
+    {
+      "obj_id": "Sp0002220002160b7b78f8104d758030405d63ca5023",
+      "obj_type": "space",
+      "qr_code": "1757df52-6505-4452-9c71-d90b2a788959"
+    }
+  ]
+}</content>
+						<update_time>2021-6-9 11:4</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 235 - 0
bogda/CLMT/query/space_eq.clmt

@@ -0,0 +1,235 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+			<parameter>
+				<name>group</name>
+				<description>设备是否按类型分组,缺省false不分组</description>
+				<type>9</type>
+				<format></format>
+				<defaultVal>false</defaultVal>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>device</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>name</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>position</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>remark</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>spaceId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>deviceId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<spaceId>=nvl(spaceId, $disabled)</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+			<variable>
+				<name>eqData</name>
+				<description>设备类型树</description>
+				<assignment>clmt('dict/sys_eq', {scopeFilter: false}, 'rtn')</assignment>
+			</variable>
+			<logic_grid>
+				<name>grid</name>
+				<description>设备分组</description>
+				<l_grid name="grid">
+					<rowCount>1</rowCount>
+					<colCount>8</colCount>
+					<rows>
+						<l_row>
+							<index>0</index>
+						</l_row>
+					</rows>
+					<columns>
+						<l_col>
+							<index>0</index>
+						</l_col>
+						<l_col>
+							<index>1</index>
+						</l_col>
+						<l_col>
+							<index>2</index>
+						</l_col>
+						<l_col>
+							<index>3</index>
+						</l_col>
+						<l_col>
+							<index>4</index>
+						</l_col>
+						<l_col>
+							<index>5</index>
+						</l_col>
+						<l_col>
+							<index>6</index>
+						</l_col>
+						<l_col>
+							<index>7</index>
+						</l_col>
+					</columns>
+					<cells>
+						<bogda_item>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.group(type)</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>0</colIndex>
+								<props>
+									<data>=query.type</data>
+									<data_id>type</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>1</colIndex>
+								<props>
+									<data>=treeNode(eqData, 'code', a1).name</data>
+									<data_id>typeName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.list()</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>2</colIndex>
+								<props>
+									<data_id>children</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data>=query.deviceId</data>
+									<data_id>deviceId</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data>=query.name</data>
+									<data_id>name</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>5</colIndex>
+								<props>
+									<data>=query.position</data>
+									<data_id>position</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>6</colIndex>
+								<props>
+									<data>=query.remark</data>
+									<data_id>remark</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+						</bogda_item>
+					</cells>
+				</l_grid>
+				<output>
+					<grid_out>
+						<name>data</name>
+						<content>region(A1,G1)</content>
+					</grid_out>
+				</output>
+			</logic_grid>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<assignment>group ? grid.data : query.list()</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询空间下的设备(所在关系)</content>
+						<update_time>2021-6-4 18:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>返回示例
+分组:
+{
+  "rtn": [
+    {
+      "type": "SETDHS",
+      "typeName": "高压开关柜",
+      "children": [
+        {
+          "deviceId": "6dcbd6a1f7904f50bd6d73fe132a5ac3",
+          "name": "高压开关柜01_1",
+          "position": "{\"x\":12,\"y\":23}"
+        }
+      ]
+    }
+  ]
+}
+不分租:
+{
+  "rtn": [
+    {
+      "type": "SETDHS",
+      "name": "高压开关柜01_1",
+      "position": "{\"x\":12,\"y\":23}",
+      "spaceId": "Sp0002220011f170a7c74f8347589ea9863cfec65fab",
+      "deviceId": "6dcbd6a1f7904f50bd6d73fe132a5ac3"
+    }
+  ]
+}</content>
+						<update_time>2021-6-9 11:55</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 235 - 0
bogda/CLMT/query/space_pipe.clmt

@@ -0,0 +1,235 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+			<parameter>
+				<name>group</name>
+				<description>管道是否按类型分组,缺省false不分组</description>
+				<type>9</type>
+				<format></format>
+				<defaultVal>false</defaultVal>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>pipe</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>pipeId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>spaceId</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>position</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>name</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>remark</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<spaceId>=spaceId</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+			<variable>
+				<name>pipeData</name>
+				<description>管线类型树</description>
+				<assignment>clmt('dict/pipe', null, 'rtn')</assignment>
+			</variable>
+			<logic_grid>
+				<name>grid</name>
+				<description>管道分组</description>
+				<l_grid name="grid">
+					<rowCount>1</rowCount>
+					<colCount>8</colCount>
+					<rows>
+						<l_row>
+							<index>0</index>
+						</l_row>
+					</rows>
+					<columns>
+						<l_col>
+							<index>0</index>
+						</l_col>
+						<l_col>
+							<index>1</index>
+						</l_col>
+						<l_col>
+							<index>2</index>
+						</l_col>
+						<l_col>
+							<index>3</index>
+						</l_col>
+						<l_col>
+							<index>4</index>
+						</l_col>
+						<l_col>
+							<index>5</index>
+						</l_col>
+						<l_col>
+							<index>6</index>
+						</l_col>
+						<l_col>
+							<index>7</index>
+						</l_col>
+					</columns>
+					<cells>
+						<bogda_item>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.group(type)</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>0</colIndex>
+								<props>
+									<data>=query.type</data>
+									<data_id>type</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>1</colIndex>
+								<props>
+									<data>=get(treeNode(pipeData, 'code', a1), 'name')</data>
+									<data_id>typeName</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<l_replication _name="replication">
+									<dataBind>=query.list()</dataBind>
+									<dimension>1</dimension>
+								</l_replication>
+								<rowIndex>0</rowIndex>
+								<colIndex>2</colIndex>
+								<props>
+									<data_id>children</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>3</colIndex>
+								<props>
+									<data>=query.pipeId</data>
+									<data_id>pipeId</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>4</colIndex>
+								<props>
+									<data>=query.name</data>
+									<data_id>name</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>5</colIndex>
+								<props>
+									<data>=query.position</data>
+									<data_id>position</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>6</colIndex>
+								<props>
+									<data>=query.remark</data>
+									<data_id>remark</data_id>
+								</props>
+							</l_cell>
+							<l_cell>
+								<rowIndex>0</rowIndex>
+								<colIndex>7</colIndex>
+							</l_cell>
+						</bogda_item>
+					</cells>
+				</l_grid>
+				<output>
+					<grid_out>
+						<name>data</name>
+						<content>region(A1,G1)</content>
+					</grid_out>
+				</output>
+			</logic_grid>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<assignment>group ? grid.data : query.list()</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询空间下的管道</content>
+						<update_time>2021-6-9 15:28</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>返回数据示例
+分组:
+{
+  "rtn": [
+    {
+      "type": "acch_water01",
+      "typeName": "热水管",
+      "children": [
+        {
+          "pipeId": "5171a317f01c4dd79407e954ff94419f",
+          "name": "水管11",
+          "position": "[{\"x\":12,\"y\":23},{\"x\":34,\"y\":45}]"
+        }
+      ]
+    }
+  ]
+}
+不分组:
+{
+  "rtn": [
+    {
+      "pipeId": "5171a317f01c4dd79407e954ff94419f",
+      "spaceId": "Sp0002220011f170a7c74f8347589ea9863cfec65fab",
+      "type": "acch_water01",
+      "position": "[{\"x\":12,\"y\":23},{\"x\":34,\"y\":45}]",
+      "name": "水管11"
+    }
+  ]
+}</content>
+						<update_time>2021-6-9 15:46</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 101 - 0
bogda/CLMT/query/space_rel.clmt

@@ -0,0 +1,101 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<ref_parameter>
+				<name>spaceId</name>
+				<ref>resource/params.spaceId</ref>
+			</ref_parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>rels</name>
+				<dataSource>poc</dataSource>
+				<table>relation</table>
+			</table_query>
+			<table_query>
+				<name>pipe</name>
+				<dataSource>poc</dataSource>
+				<table>pipe</table>
+				<fieldsWhere>
+					<spaceId>=spaceId</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+			<table_query>
+				<name>eq</name>
+				<dataSource>poc</dataSource>
+				<table>device</table>
+				<fieldsWhere>
+					<spaceId>=spaceId</spaceId>
+					<state>='1'</state>
+				</fieldsWhere>
+			</table_query>
+			<table_query>
+				<name>eq_rels</name>
+				<description>设备间关系代码</description>
+				<dataSource>poc</dataSource>
+				<table>adm_relation</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>='eq_eq'</type>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<description>空间下的关系数据</description>
+				<assignment><![CDATA[{
+	eq_sp_serve: rels.list(rels.right_node==spaceId),
+	eq_eq: rels.list(eq.get(eq.id, eq.deviceId==rels.left_node)!=null && eq_rels.select(eq_rels.code).indexOf(rels.relation)>=0),
+	eq_pipe_cnct: rels.list(eq.get(eq.id, eq.deviceId==rels.left_node)!=null && rels.relation=='eq_pipe_cnct'),
+}]]></assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询某个空间下的全部关系</content>
+						<update_time>2021-6-10 15:21</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>返回数据示例:
+{
+  "rtn": {
+    "eq_sp_serve": [ //设备服务于空间
+      {
+        "id": 4,
+        "left_node": "6dcbd6a1f7904f50bd6d73fe132a5ac3", //设备id
+        "right_node": "Sp0002220011f170a7c74f8347589ea9863cfec65fab", //目标id
+        "relation": "eq_sp_serve"
+      }
+    ],
+    "eq_eq": [], //设备间关系
+    "eq_pipe_cnct": [] //设备连接管道
+  }
+}</content>
+						<update_time>2021-6-10 15:51</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 54 - 0
bogda/CLMT/scope/get_mr.clmt

@@ -0,0 +1,54 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>sys</name>
+				<description>系统代码,不传递时查询所有系统</description>
+				<format></format>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<addition>order by sys</addition>
+				<table>mr_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>sys</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<sys>=nvl(sys, $disabled)</sys>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>query</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询精细化机房范围</content>
+						<update_time>2021-6-10 11:32</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 88 - 0
bogda/CLMT/scope/get_scope.clmt

@@ -0,0 +1,88 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>type</name>
+				<description>范围类型,sp_fun:空间功能类型, zone:分区类型, sys:专业-系统, device:设备</description>
+				<format>sp_fun:空间功能类型, zone:分区类型, sys:专业-系统, device:设备, pipe_sys:管线所属系统, mr:机房</format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+					<v_exp _name="v3">
+						<failTip>type参数值不合法</failTip>
+						<formula><![CDATA[['sp_fun', 'zone', 'sys', 'device', 'pipe_sys', 'mr'].indexOf(type)>=0]]></formula>
+					</v_exp>
+				</validate>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>scope</name>
+				<dataSource>poc</dataSource>
+				<table>main_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>=type</type>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<comment_id>1</comment_id>
+				<name>rtn</name>
+				<description>交付范围数据列表</description>
+				<assignment>scope.list()</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>2</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询交付范围数据</content>
+						<update_time>2021-6-9 10:22</update_time>
+					</comment_item>
+				</items>
+			</comment>
+			<comment>
+				<id>1</id>
+				<items>
+					<comment_item>
+						<content>返回数据示例:
+{
+  "rtn": [
+    {
+      "type": "sys",
+      "code": "SE"
+    },
+    {
+      "type": "sys",
+      "code": "SETD"
+    },
+    {
+      "type": "sys",
+      "code": "SETP"
+    }
+  ]
+}</content>
+						<update_time>2021-6-9 10:24</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 54 - 0
bogda/CLMT/scope/get_sys_diagram.clmt

@@ -0,0 +1,54 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>sys</name>
+				<description>系统代码</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<elements>
+			<table_query>
+				<name>query</name>
+				<dataSource>poc</dataSource>
+				<table>main_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>prop</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<code>=sys</code>
+					<type>='sys'</type>
+				</fieldsWhere>
+			</table_query>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>query.prop == '1'</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>查询某个系统是否需要系统图</content>
+						<update_time>2021-6-10 11:17</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 57 - 0
bogda/CLMT/scope/set_major_sys_scope.clmt

@@ -0,0 +1,57 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>scopes</name>
+				<description>范围列表,[{code:'SE',type:'major'},{code:'SELT',type:'sys'}]</description>
+				<type>32</type>
+				<format></format>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置系统和专业的交付范围</description>
+				<operations>
+					<sql_operation>
+						<name>clear</name>
+						<dataSource>poc</dataSource>
+						<sql>delete from `main_scope` where type='major' or type='sys'</sql>
+					</sql_operation>
+					<table_operation>
+						<name>save</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>main_scope</table>
+						<fields>
+							<field_data>
+								<field>type</field>
+								<data>=bind(scopes)</data>
+							</field_data>
+							<field_data>
+								<field>code</field>
+								<data>=bind(scopes)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置系统和专业的范围</content>
+						<update_time>2021-6-10 18:4</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 74 - 0
bogda/CLMT/scope/set_mr.clmt

@@ -0,0 +1,74 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>mr_codes</name>
+				<description>机房类型代码列表</description>
+				<type>32</type>
+				<format></format>
+				<defaultVal>[]</defaultVal>
+			</parameter>
+			<parameter>
+				<name>sys</name>
+				<description>系统</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>clear</name>
+						<dataSource>poc</dataSource>
+						<mode>3</mode>
+						<table>mr_scope</table>
+						<fields>
+							<field_data>
+								<field>sys</field>
+								<data>=sys</data>
+							</field_data>
+						</fields>
+					</table_operation>
+					<table_operation>
+						<name>save</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>mr_scope</table>
+						<fields>
+							<field_data>
+								<field>sys</field>
+								<data>=sys</data>
+							</field_data>
+							<field_data>
+								<field>code</field>
+								<data>=bind(mr_codes)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置精细化机房范围</content>
+						<update_time>2021-6-8 14:47</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 81 - 0
bogda/CLMT/scope/set_pipe.clmt

@@ -0,0 +1,81 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>pipes</name>
+				<description>管线范围数据列表,[{code:'pipe_water_01',main:1,branch:0},...] 1和0代表是否</description>
+				<type>32</type>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>sys</name>
+				<description>管线所属系统code</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置交付范围</description>
+				<operations>
+					<table_operation>
+						<name>clear</name>
+						<dataSource>poc</dataSource>
+						<mode>3</mode>
+						<table>pipe_scope</table>
+						<fields>
+							<field_data>
+								<field>sys</field>
+								<data>=sys</data>
+							</field_data>
+						</fields>
+					</table_operation>
+					<table_operation>
+						<name>save</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>pipe_scope</table>
+						<fields>
+							<field_data>
+								<field>sys</field>
+								<data>=sys</data>
+							</field_data>
+							<field_data>
+								<field>code</field>
+								<data>=bind(pipes)</data>
+							</field_data>
+							<field_data>
+								<field>main</field>
+								<data>=bind(pipes)</data>
+							</field_data>
+							<field_data>
+								<field>branch</field>
+								<data>=bind(pipes)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置管线的交付范围</content>
+						<update_time>2021-6-8 14:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 77 - 0
bogda/CLMT/scope/set_scope.clmt

@@ -0,0 +1,77 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>codes</name>
+				<description>选择的节点code列表,包括半选中的父节点</description>
+				<type>32</type>
+				<format></format>
+			</parameter>
+			<parameter>
+				<name>type</name>
+				<description>范围类型,sp_fun:空间功能类型, zone:分区类型, major:专业, sys:系统, device:设备, pipe_sys:管线所属系统, mr:机房</description>
+				<format>sp_fun:空间功能类型, zone:分区类型, sys:专业-系统, device:设备, pipe_sys:管线所属系统, mr:机房</format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+					<v_exp _name="v3">
+						<failTip>type参数值不合法</failTip>
+						<formula><![CDATA[['sp_fun', 'zone', 'sys', 'device', 'pipe_sys', 'mr'].indexOf(type)>=0]]></formula>
+					</v_exp>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置交付范围</description>
+				<operations>
+					<table_operation>
+						<name>clear</name>
+						<dataSource>poc</dataSource>
+						<mode>3</mode>
+						<table>main_scope</table>
+						<fields>
+							<field_data>
+								<field>type</field>
+								<data>=type</data>
+							</field_data>
+						</fields>
+					</table_operation>
+					<table_operation>
+						<name>save</name>
+						<dataSource>poc</dataSource>
+						<mode>1</mode>
+						<table>main_scope</table>
+						<fields>
+							<field_data>
+								<field>type</field>
+								<data>=type</data>
+							</field_data>
+							<field_data>
+								<field>code</field>
+								<data>=bind(codes)</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置交付范围</content>
+						<update_time>2021-6-8 14:12</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 70 - 0
bogda/CLMT/scope/set_sys_diagram.clmt

@@ -0,0 +1,70 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<parameters>
+			<parameter>
+				<name>sys</name>
+				<description>系统代码</description>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+			<parameter>
+				<name>diagram</name>
+				<description>是否需要系统图</description>
+				<type>9</type>
+				<format></format>
+				<validate>
+					<v_required _name="v1">
+					</v_required>
+				</validate>
+			</parameter>
+		</parameters>
+		<actions>
+			<operation_set>
+				<name>action</name>
+				<description>设置操作</description>
+				<operations>
+					<table_operation>
+						<name>save</name>
+						<dataSource>poc</dataSource>
+						<table>main_scope</table>
+						<fields>
+							<field_data>
+								<field>type</field>
+								<data>='sys'</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>code</field>
+								<data>=sys</data>
+								<restrict>0</restrict>
+							</field_data>
+							<field_data>
+								<field>prop</field>
+								<data>=diagram ? '1' : '0'</data>
+							</field_data>
+						</fields>
+					</table_operation>
+				</operations>
+			</operation_set>
+		</actions>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>设置某个系统是否需要系统图</content>
+						<update_time>2021-6-8 14:42</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 72 - 0
bogda/CLMT/scope/sys_eq_for_scope.clmt

@@ -0,0 +1,72 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>data</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/datacenter/dict/category</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>type</key>
+							<value>majorSystemEquip</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+			<table_query>
+				<name>scope</name>
+				<dataSource>poc</dataSource>
+				<table>main_scope</table>
+				<fields1>
+					<bogda_item>
+						<bogda_item>id</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>type</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+					<bogda_item>
+						<bogda_item>code</bogda_item>
+						<bogda_null/>
+					</bogda_item>
+				</fields1>
+				<fieldsWhere>
+					<type>=['major','sys']</type>
+				</fieldsWhere>
+			</table_query>
+			<variable>
+				<name>filterData</name>
+				<assignment>Ext.treeFilter(data.content, 'children', scope.get(id, scope.code==this.code)!=null || this.objType=="equipment")</assignment>
+			</variable>
+		</elements>
+		<output>
+			<variable>
+				<name>rtn</name>
+				<assignment>filterData</assignment>
+			</variable>
+		</output>
+	</procedure>
+	<comments>
+		<next_id>1</next_id>
+		<list>
+			<comment>
+				<id>0</id>
+				<items>
+					<comment_item>
+						<content>系统-专业-设备树,用来设置设备范围</content>
+						<update_time>2021-6-10 18:16</update_time>
+					</comment_item>
+				</items>
+			</comment>
+		</list>
+	</comments>
+	<comment_id>0</comment_id>
+</templet>

+ 29 - 0
bogda/CLMT/test/test.clmt

@@ -0,0 +1,29 @@
+<templet>
+	<version>1.0</version>
+	<procedure _name="target">
+		<elements>
+			<ref_res>
+				<name>headers</name>
+				<ref>resource/headers</ref>
+			</ref_res>
+			<http_do>
+				<name>d1</name>
+				<http_req name="req">
+					<url>http://47.93.22.124/api/equip-component/space/unspace-ispace?objectType=GeneralZone</url>
+					<method>POST</method>
+					<headersVar>headers</headersVar>
+					<params>
+						<property>
+							<key>floorId</key>
+							<value>Fl00022200115d43d88abaab46cda43f1596b5e3930b</value>
+						</property>
+						<property>
+							<key>buildingId</key>
+							<value>Bd00022200113a69205aebc34aba87b31a2a03a572ab</value>
+						</property>
+					</params>
+				</http_req>
+			</http_do>
+		</elements>
+	</procedure>
+</templet>

+ 52 - 0
bogda/bogda.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<bogda_config>
+
+	<!-- 运行设置 -->
+	<settings>
+		<!-- 开发模式,不使用缓存,开启控制台输出等,正式上线部署时请删掉或设置为false -->
+		<develop_mode>true</develop_mode>
+	</settings>
+
+	<!-- clmt模板相关配置 -->
+	<clmt enabled="true">
+		<!-- 路径以'@:'开头,表示使用绝对路径,springboot集成时,方便模板热部署 -->
+		<home>@:bogda/CLMT</home>
+
+		<!-- 模板放在java包资源目录下 -->
+		<!-- <home>bogda.test/CLMT</home> -->
+		
+		<!-- 扩展模块加载配置 -->
+		<!--
+		<modules>
+			<module>bogda-ext</module>
+		</modules>
+		-->
+		
+		<!-- 开启模板文档服务 -->
+		<doc>true</doc> 
+	</clmt>
+
+	<!-- 数据源配置,springboot集成时使用框架数据源 -->
+	<data_srouces>
+		<!-- 只需要配置name和db_type,如果有多个数据源,名称与spring配置中一致 -->		
+		<!-- 第一个数据源 -->
+		<data_source name="poc">
+			<db_type>mysql</db_type>
+			<sql_log>true</sql_log>
+		</data_source>
+		
+		<!-- 第二个数据源 -->
+		<!-- <data_source name="bogda">
+			<db_type>mysql</db_type>
+			<sql_log>true</sql_log>
+		</data_source> -->
+	</data_srouces>
+
+	<!-- 日志配置 -->
+	<log>
+		<file>./bogda.log</file>
+		<level>info</level>
+		<console>true</console>
+	</log>
+
+</bogda_config>

+ 60 - 0
bogda/doc_list

@@ -0,0 +1,60 @@
+字典
+dict/space_fun
+dict/zone
+dict/major_sys
+dict/mr
+dict/pipe
+dict/rels
+dict/adm_rels
+dict/sys_eq
+dict/sys_eq_list
+dict/types
+
+查询
+query/building_floor
+query/floor_outline
+query/floor_space
+query/qrcode
+query/problems
+query/space_eq
+query/space_pipe
+query/floor_map_info
+query/space_rel
+query/item_rel
+
+空间任务
+job/space_job
+job/job_count
+job/set_job
+
+空间核查问题
+job/add_problem
+job/set_problem
+job/close_problem
+
+二维码
+job/bind_qrcode
+job/set_qrcode_state
+
+设备
+job/add_eq
+job/set_eq
+
+管线
+job/add_pipe
+job/set_pipe
+
+关系
+job/add_rel
+job/del_rel
+
+交付范围
+scope/set_scope
+scope/set_major_sys_scope
+scope/sys_eq_for_scope
+scope/get_scope
+scope/set_pipe
+scope/set_sys_diagram
+scope/get_sys_diagram
+scope/set_mr
+scope/get_mr

BIN
lib/bogda.product.jar


BIN
lib/license.jar


+ 119 - 0
pom.xml

@@ -0,0 +1,119 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>2.3.1.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+	
+	<groupId>adm.poc</groupId>
+	<artifactId>adm.poc</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<name>adm.poc</name>
+	<url>http://maven.apache.org</url>
+
+	<properties>
+		<java.version>1.8</java.version>
+		<mysql.version>5.1.38</mysql.version>
+		<h2.version>1.4.196</h2.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-devtools</artifactId>
+			<scope>runtime</scope>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.junit.vintage</groupId>
+					<artifactId>junit-vintage-engine</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+
+		<!-- bogda 依赖 -->
+		<dependency>
+			<groupId>com.hiclimb</groupId>
+			<artifactId>bogda-product</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${project.basedir}/lib/bogda.product.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.hiclimb</groupId>
+			<artifactId>bogda-license</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${project.basedir}/lib/license.jar</systemPath>
+		</dependency>
+
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>druid</artifactId>
+			<version>1.1.11</version>
+		</dependency>
+		<dependency>
+			<groupId>joda-time</groupId>
+			<artifactId>joda-time</artifactId>
+			<version>2.10.1</version>
+		</dependency>
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.16</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.httpcomponents.client5</groupId>
+			<artifactId>httpclient5</artifactId>
+			<version>5.1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.mybatis.spring.boot</groupId>
+			<artifactId>mybatis-spring-boot-starter</artifactId>
+			<version>1.3.0</version>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+				<version>2.3.1.RELEASE</version>
+				<configuration>
+					<executable>true</executable>
+					<includeSystemScope>true</includeSystemScope>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>

+ 42 - 0
src/main/java/adm/poc/Entry.java

@@ -0,0 +1,42 @@
+package adm.poc;
+
+import bogda.api.clmt.ClmtPlugin;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.ArrayList;
+
+@RestController
+@CrossOrigin
+public class Entry {
+
+    @RequestMapping("/clmt_doc_list")
+    public String clmt_doc_list(HttpServletRequest req) {
+        String[] arr = null;
+        try (BufferedReader br = new BufferedReader(new FileReader("bogda/doc_list"))) {
+            ArrayList<String> list = new ArrayList<>();
+            String tmp;
+            while ((tmp = br.readLine()) != null){
+                tmp = tmp.trim();
+                if(tmp.length() > 0)
+                    list.add(tmp);
+            }
+            arr = list.toArray(new String[list.size()]);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        if(arr != null) {
+            String url = req.getRequestURL().toString();
+            url = url.substring(0, url.indexOf("/clmt_doc_list"));
+
+            return ClmtPlugin.viewDocList(arr, url, "clmt", "clmt_doc");
+        }
+        return null;
+    }
+
+}

+ 16 - 0
src/main/java/adm/poc/SpringBootApp.java

@@ -0,0 +1,16 @@
+package adm.poc;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ *	在spring配置文件中完成bogda设置后,clmt模板框架将会自动加载
+ */
+@SpringBootApplication
+public class SpringBootApp {
+
+	public static void main(String[] args) {
+		SpringApplication.run(SpringBootApp.class, args);
+	}
+
+}

+ 60 - 0
src/main/java/adm/poc/TreeFilter.java

@@ -0,0 +1,60 @@
+package adm.poc;
+import java.util.*;
+
+import bogda.api.clmt.ClmtFunction;
+import bogda.api.clmt.FunctionArgumens;
+
+public class TreeFilter extends ClmtFunction {
+
+	@Override
+	public Object run(FunctionArgumens args) {
+		Object data = args.getArgument(0);
+
+		Object cId = args.getArgument(1);
+		List<String> childrenId;
+		if(cId instanceof String)
+			childrenId = Arrays.asList((String) cId);
+		else if(cId instanceof List)
+			childrenId = (List<String>) cId;
+		else
+			childrenId = Arrays.asList("children");
+
+		if(data instanceof Map)
+			return filterItem((Map)data, childrenId, args);
+		else if (data instanceof List)
+			return filterList((List)data, childrenId, args);
+			
+		return null;
+	}
+	
+	private Object filterItem(Map<Object, Object> item, List<String> childrenId, FunctionArgumens args) {
+		args.setLocalVar("this", item);
+		if(Boolean.TRUE.equals(args.getArgument(2, true))) {
+			LinkedHashMap newMap = new LinkedHashMap();
+			for(Map.Entry<Object, Object> entry : item.entrySet()) {
+				Object key = entry.getKey();
+				Object val = entry.getValue();
+				if(childrenId.contains(key) && val instanceof List)
+					newMap.put(key, filterList((List)val, childrenId, args));
+				else
+					newMap.put(key, val);
+			}
+			return newMap;
+		}
+		return null;
+	}
+	
+	private List filterList(List list, List<String> childrenId, FunctionArgumens args) {
+		ArrayList newList = new ArrayList();
+		for(Object c : list) {
+			if(c instanceof Map) {
+				Object rtn = filterItem((Map)c, childrenId, args);
+				if(rtn != null)
+					newList.add(rtn);
+			} else
+				newList.add(c);
+		}
+		return newList;
+	}
+
+}

+ 28 - 0
src/main/resources/application.yml

@@ -0,0 +1,28 @@
+server:
+  port: 8082
+ 
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    username: poc
+    password: adm
+    url: jdbc:mysql://192.168.0.11/adm_poc?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
+#多数据源  
+#    bogda:
+#      driver-class-name: com.mysql.jdbc.Driver
+#      username: root
+#      password: 
+#      url: jdbc:mysql://localhost/bogda?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
+#    demo:
+#      driver-class-name: org.h2.Driver
+#      username: sa
+#      password: 
+#      url: jdbc:h2:./h2/bogda
+      
+mybatis:
+  mapper-locations: classpath:mapping/*Mapper.xml
+  type-aliases-package: com.example.entity
+  
+bogda: #bogda框架配置
+  config-file: bogda/bogda.xml #bogda配置文件路径(缺省外部路径资源,以'classpath:'开头表示包路径资源)
+  controller: true #开启clmt模板访问通用controller

+ 123 - 0
src/test/java/tool/Pipe.java

@@ -0,0 +1,123 @@
+package tool;
+
+import bogda.common.IOKit;
+import bogda.common.JsonAdapter;
+import bogda.common.model.Model;
+import bogda.common.model.ModelTrans;
+import bogda.common.model.Prop;
+
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+
+public class Pipe {
+
+    public static void main(String[] args) throws Exception {
+        new Pipe().build();
+    }
+
+    ArrayList<Node> roots = new ArrayList<>();
+
+    void build() throws Exception {
+        roots.add(liquid());
+        roots.add(air());
+        String json = ModelTrans.get().notMarkType().toJson(roots);
+        json = JsonAdapter.formatJson(json);
+        IOKit.writeContent(json, new FileOutputStream("d:/work_area/pipe.json"));
+    }
+
+    Node liquid() throws Exception {
+        String type = "liquid";
+        Node root = new Node("液体管道", type, type);
+
+        buildSys("water", "给排水系统",
+                new String[]{"生活给水", "生活热水给水", "直饮水给水", "中水给水", "其他公共给水(水景、喷灌、泳池等)", "污水排水", "雨水收集"},
+                root);
+
+        buildSys("ac", "空调系统",
+                new String[]{"冷冻水", "冷却水", "采暖热水", "采暖蒸汽", "制冷剂", "吸收剂", "乙二醇"},
+                root);
+
+        buildSys("fire", "消防系统",
+                new String[]{"消防给水", "液体灭火剂"},
+                root);
+
+        buildSys("sp", "特殊",
+                new String[]{"燃油", "液化天然气"},
+                root);
+
+        buildSys("liquid_other", "其他液体管道", new String[]{}, root);
+
+        return root;
+    }
+
+    void buildSys(String sys, String sysName, String[] names, Node root) {
+        Node sysNode = root.addSub(new Node(sysName, sys, root.type));
+        for (int i = 0; i < names.length; i++) {
+            sysNode.addSub(new Node(names[i], sys + "_" + (i + 1), root.type));
+        }
+    }
+
+    Node air() throws Exception {
+        String type = "air";
+        Node root = new Node("气体管道", type, type);
+
+        buildSys("pk", "普通空调系统用风管",
+                new String[]{"送风", "回风", "排风", "新风", "加压送风", "厨房排油烟"},
+                root);
+
+        buildSys("py", "防排烟系统用风管",
+                new String[]{"消防补风", "排烟"},
+                root);
+
+        buildSys("pf", "含酸碱排风系统用风管", new String[]{}, root);
+
+        buildSys("gas", "燃气系统送燃气", new String[]{}, root);
+
+        buildSys("gea", "气体灭火剂管", new String[]{}, root);
+
+        buildSys("ad", "人防风管", new String[]{}, root);
+
+        buildSys("air_other", "其他气体管道", new String[]{}, root);
+
+        return root;
+    }
+
+    @Model(type = "node", ns = "test")
+    class Node {
+
+        @Prop
+        String name;
+
+        @Prop
+        String code;
+
+        @Prop
+        String type;
+
+        @Prop(name = "children")
+        ArrayList<Node> subs;
+
+        public Node() {
+
+        }
+
+        public Node(String name, String code, String type) {
+            this.name = name;
+            this.code = code;
+            this.type = type;
+        }
+
+        public Node addSub(Node sub) {
+            if (subs == null)
+                subs = new ArrayList<Node>();
+            subs.add(sub);
+            return sub;
+        }
+
+        public void toJson(StringBuilder json) {
+
+        }
+
+    }
+
+}

+ 137 - 0
src/test/java/tool/Rel.java

@@ -0,0 +1,137 @@
+package tool;
+
+import bogda.common.IOKit;
+import bogda.common.JsonAdapter;
+import bogda.common.model.Model;
+import bogda.common.model.ModelTrans;
+import bogda.common.model.Prop;
+
+import java.io.BufferedReader;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.regex.Pattern;
+
+public class Rel {
+
+    public static void main(String[] args) throws Exception {
+        new Rel().read();
+    }
+
+    ArrayList<Node> roots = new ArrayList<>();
+    Node root;
+    String type;
+    Node ctg;
+    void read() throws Exception{
+        BufferedReader r = new BufferedReader(new FileReader("d:/work_area/rels.txt"));
+        String tmp;
+        while ((tmp = r.readLine()) != null){
+            readLine(tmp);
+        }
+
+        String json = ModelTrans.get().notMarkType().toJson(roots);
+        json = JsonAdapter.formatJson(json);
+        IOKit.writeContent(json, new FileOutputStream("d:/work_area/rels.json"));
+    }
+
+    private void readLine(String line){
+        int preS = preS(line);
+        String[] arr = line.trim().split("\\s+");
+        readLine(preS, arr);
+    }
+
+    private void readLine(int preS, String[] arr) {
+        int offset = preS;
+        if(preS == 0){
+            root = new Node(arr[0], "");
+            roots.add(root);
+        }
+
+        if(preS <= 1)
+            type = arr[1 - offset];
+
+        if(preS <= 2) {
+            ctg = new Node(arr[3 - offset], arr[2 - offset]);
+            ctg.type = type;
+            root.addSub(ctg);
+        }
+
+        if(preS <= 4) {
+            Node node = new Node(arr[4 - offset], arr[5 - offset]);
+            node.type = type;
+            node.direction = Integer.parseInt(arr[6 - offset]);
+            ctg.addSub(node);
+        }
+    }
+
+    private ArrayList<Node> readNodes(String[] arr){
+        ArrayList<Node> list = new ArrayList<>();
+        Node current = null;
+        for(String s : arr){
+            if(!isCode(s)){
+                current = new Node();
+                current.name = s;
+                list.add(current);
+            } else {
+                current.code = s;
+            }
+        }
+        return list;
+    }
+
+    private boolean isCode(String s){
+        String pattern = "^[A-Za-z0-9]+$";
+        return Pattern.matches(pattern, s);
+    }
+
+    private int preS(String line){
+        int s = 0;
+        while (s < line.length()){
+            if(!Character.isWhitespace(line.charAt(s)))
+                break;
+            s++;
+        }
+        return s;
+    }
+
+    @Model(type="node", ns="test")
+    class Node {
+
+        @Prop
+        String name;
+
+        @Prop
+        String code;
+
+        @Prop
+        String type;
+
+        @Prop(defaultValue="-1")
+        int direction = -1;
+
+        @Prop(name="children")
+        ArrayList<Node> subs;
+
+        public Node() {
+
+        }
+
+        public Node(String name, String code) {
+            this.name = name;
+            this.code = code;
+        }
+
+        public Node addSub(Node sub){
+            if(subs == null)
+                subs = new ArrayList<Node>();
+            subs.add(sub);
+            return sub;
+        }
+
+        public void toJson(StringBuilder json){
+
+        }
+
+    }
+
+}

+ 129 - 0
src/test/java/tool/Space.java

@@ -0,0 +1,129 @@
+package tool;
+
+import bogda.common.IOKit;
+import bogda.common.JsonAdapter;
+import bogda.common.model.Model;
+import bogda.common.model.ModelTrans;
+import bogda.common.model.Prop;
+
+import java.io.BufferedReader;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.regex.Pattern;
+
+public class Space {
+
+    public static void main(String[] args) throws Exception {
+        new Space().read();
+    }
+
+    ArrayList<Node> roots = new ArrayList<>();
+    Node[] current = new Node[5];
+    void read() throws Exception{
+        BufferedReader r = new BufferedReader(new FileReader("d:/work_area/space.txt"));
+        String tmp;
+        while ((tmp = r.readLine()) != null){
+            readLine(tmp);
+        }
+
+        String json = ModelTrans.get().notMarkType().toJson(roots);
+        json = JsonAdapter.formatJson(json);
+        IOKit.writeContent(json, new FileOutputStream("d:/work_area/space.json"));
+    }
+
+    private void readLine(String line){
+        int preS = preS(line);
+        String[] arr = line.trim().split("\\s+");
+        readLine(preS, arr);
+    }
+
+    private void readLine(int preS, String[] arr) {
+        ArrayList<Node> nodes = readNodes(arr);
+        if(nodes.size() > 0){
+            int pos = preS;
+            if(pos > 1)
+                pos = (pos - 1) / 2 + 1;
+            for (int i = pos; i < current.length; i++) {
+                if(i - pos >= nodes.size())
+                    break;
+                Node node = nodes.get(i - pos);;
+                if(i == 0)
+                    roots.add(node);
+                else
+                    current[i - 1].addSub(node);
+
+                current[i] = node;
+            }
+        }
+    }
+
+    private ArrayList<Node> readNodes(String[] arr){
+        ArrayList<Node> list = new ArrayList<>();
+        Node current = null;
+        for(String s : arr){
+            if(!isCode(s)){
+                current = new Node();
+                current.name = s;
+                list.add(current);
+            } else {
+                current.code = s;
+            }
+        }
+        return list;
+    }
+
+    private boolean isCode(String s){
+        String pattern = "^[A-Za-z0-9]+$";
+        return Pattern.matches(pattern, s);
+    }
+
+    private int preS(String line){
+        int s = 0;
+        while (s < line.length()){
+            if(!Character.isWhitespace(line.charAt(s)))
+                break;
+            s++;
+        }
+        return s;
+    }
+
+    @Model(type="node", ns="test")
+    class Node {
+
+        @Prop
+        String name;
+
+        @Prop
+        String code;
+
+        //@Prop
+        int level;
+
+        @Prop(name="children")
+        ArrayList<Node> subs;
+
+        public Node() {
+
+        }
+
+        public Node(String name, String code) {
+            this.name = name;
+            this.code = code;
+        }
+
+        public Node addSub(Node sub){
+            if(subs == null)
+                subs = new ArrayList<Node>();
+            subs.add(sub);
+            sub.level = level + 1;
+            return sub;
+        }
+
+        public void toJson(StringBuilder json){
+
+        }
+
+    }
+
+}