SYUPB
本文主要讲述 SYUPB 相关的乱七八糟的配置选项
坐标导入配置
坐标导入作为一个单独页面使用, 在后台配置中为相应的案件配置对应的坐标导入按钮, 然后进行如下配置即可。
导入图层配置
坐标导入的图层参数配置位于 12/13 图形库,执行如下语句:
select 参数 from A00GIS_图形模块运行参数表 where 参数ID = '60201'
其中参数为 blob 类型的 xml 数据,在其中添加对应事项和图层的配置即可,如下:
<hbyd>划拨用地</hbyd>
表示 hbyd
事项坐标导入对应的图层为 划拨用地
导入属性配置
坐标导入的图形属性,在导入时一同导入,
具体的配置文件为 D:\syupb\BPObject\Resource\CoorImportAttr.xml
,
文件中用于配置导入时获取图形属性所用的 SQL 语句,
每一个 query 节点对应一个事项的 SQL 语句,属性如下:
属性名称 | 说明 |
---|---|
ProcAb | 案件编码,如:hbyd ;可以使用正则表达式匹配,如 .* 表示匹配所有 |
CaseType | 案件事项,如:划拨用地 ;可以使用这则表达式匹配 |
ParentPage | 调用坐标导入页面的父页面名称,现可取: GeoTransactCase.aspx (业务审批)和 ResultCase.aspx (数据汇交) |
注: 这里会自上而下的遍历配置,并且取匹配到的第一个 query 配置, 故在配置的时候,通配的配置
.*
应该放在同类配置的最后面。
如,要在业务审批中划拨用地事项的页面上配置坐标导入功能,做如下配置:
<query ProcAb="hbyd" CaseType="划拨用地" ParentPage="GeoTransactCase.aspx">
SELECT '{0}' 案件编号, 'HBYD' AS CaseCode, '划拨用地' AS CaseName, '{1}' AS UserID
</query>
上述中配置的 SQL 语句,获取的结果对应的列名为导入图层对应的字段名,
并且在执行查询时会注入两个变量, {0} -> InstanceID
,{1} -> UserOID
图形定位配置
在进行坐标导入,图形入库之后,需要在业务审批案件中进行图形定位, 进行如下配置:
图形服务配置
业务审批对应的图形配置文件在 D:\syupb\BPObject\NJGIS\flex\appCfg_Case.xml
(其实,图形端对应的配置文件都可以通过 fiddler 抓包来查看)
在
configuration/mapServiceConfig/systemTree
下添加Service
节点, 配置对应的地图服务地址<Service ServiceID="划拨用地" Type="Dynamic" URL="http://192.168.0.1/arcgis/rest/services/DGHY/HBYD/MapServer"> <Layer IndexNo="0" LayerName="划拨用地" /> </Service>
ServiceID
服务唯一标识,在文件中不能重复Type
服务类型,这里配置Dynamic
表示矢量图层URL
服务地址Layer/IndexNo|LayerName
为服务下图层的索引和名称,需与服务中的一致
在
configuration/mapServiceConfig/serviceTree
下添加Service
节点, 配置对应的服务树,其中ServiceID
对应systemTree
中的服务 ID<Service ServiceKey="划拨用地" Name="划拨用地"> <ServiceInfo Scale="Default" ServiceID="划拨用地"/> </Service>
在
configuration/mapServiceConfig/libTree
下添加对应的目录结构, 用于在图形端图层控制界面显示<DataDIR NodeText="划拨用地" NodeKey="7C3A9A8C-D7E0-47B1-9455-B9554B37F325" Expand="0" isLib="true" Load="0" ServiceKey="划拨用地"> <Layer NodeKey="BEB4D8B1-6A4A-4EBA-954C-005DB2689D4D" NodeText="划拨用地" Load="0" Expand="0" LayerName="划拨用地" LayerDefinition=""> </Layer> </DataDIR>
NodeText
图层控制中显示的文本名称NodeKey
对应的节点唯一标识,在配置文件中唯一,一般为 GUIDLoad
是否默认加载, 0 表示不加载ServiceKey
对应serviceTree
下的服务标识ServiceKey
LayerName
对应systemTree
下的LayerName
至此,便可以在图形端中的图层控制中显示出刚刚配置的图层了
图形定位配置
在 configuration/configs/OpenMaps
下添加 OpenMap
节点,
用于开图配置
<OpenMap>
<MapService serviceKey="划拨用地">
<MapLayer layername="划拨用地">
<item content="案件编号='%val%'"/>
</MapLayer>
</MapService>
<ShowMap NodeKey="BEB4D8B1-6A4A-4EBA-954C-005DB2689D4D"/>
<Step name="划拨用地"/>
<Menu name="划拨用地"/>
</OpenMap>
serviceKey/layername
为之前图形配置中的服务标识和图层名称item[content]
为查询时使用的 where 条件,一般按照案件编号查询, 传入的 val 为案件的 InstanceIDShowMap[NodeKey]
为之前配置的Layer[NodeKey]
, 用于配置定位时要显示的图层Step[name]/Menu[name]
配置事项名称
用户岗位关系图
XmlPorterConfig.xml配置说明
基本配置结构如下:
<root>
<export key="">
<table name=""
exportname=""
condition="">
<field name="" type="date|byte" />
</table>
</export>
<import key="">
<table name="">
<field name="" type="date|byte" />
</table>
</import>
</root>
<export>
节点配置
<export>
节点下配置需要导出的数据表 <table>
,属性说明如下:
属性名称 | 说明 |
---|---|
name | 导出数据表的名称,用于拼接查询SQL语句 |
exportname | 导出 xml 文件中 <table> 节点的 name 属性值,如果没有则取 name 属性值 |
condition | 用于拼接SQL语句后的 where 子句,会使用 projectguid 进行格式化 |
<table>
节点下配置表格中需要导出的字段 <field>
,属性说明如下:
属性名称 | 说明 |
---|---|
name | 属性表示字段名称,用于拼接SQL语句,也作为导出 xml 文件中的 <table> 节点下字段的标签名 |
type | 属性用于标识字段类型,可取值有 date 和 byte ,date 表示时间字段,导出值会被格式化为 yyyy-MM-dd hh:mm:ss 样式, byte 表示二进制字段(Image 类型等),导出值会被格式化为 Base64 编码的字符串。如果没有 type 属性,则按照字符串处理。 |
<import>
节点配置
<import>
节点下同样配置 <table>
节点表示数据表,数据表下配置字段 <field>
, 但是因为 <import>
配置仅仅是为了标识导入数据中的那些字段需要特殊处理,所以 <table>
节点中并没有那么多属性,仅有 name 属性用于标识导入数据表格名称,也用于拼接 SQL 语句。
<table>
下并不需要将所有字段 <field>
列出来,只需列出需要处理的日期和二进制字段即可。属性同 <export>
下 <field>
节点。