申请免费试用、咨询电话:400-8352-114
第四部分 泛普免费OA获取异构系统数据至流程字段(自定义浏览框)
一. 泛普OA免费版接口说明
泛普
OA系统系统的流程数据由表单组成,表单有字段组成,这些字段的数据可以来自于泛普OA系统系统,也可以通过该接口直接获取异构系统的结构型数据。
获取异构系统人员列表:如图中表单中的“浏览框”直接显示了异构系统的人员数据:
1. 配置接口文件
文件browser.xml(该文件位于泛普OA系统的WEB-INF/service/目录下)
<?xml version="1.0" encoding="GBK"?>
<module id="browser" version="1.0.0">
<dependency module-id="datasource" version="1.0.0"/>
<service-point id="resourceBrowser" interface="泛普OA系统.interfaces.workflow.browser.Browser">
<invoke-factory>
<construct class="泛普OA系统.interfaces.workflow.browser.BaseBrowser">
<set-service property="ds" service-id=“datasource.dt1"/>
<set property="search" value="select id,lastname,email from hrmresource"/>
<set property="searchById" value="select lastname,email from hrmresource where id=?"/>
<set property="searchByName" value="select id,lastname,email from hrmresource where lastname like ?"/>
<set property="nameHeader" value="姓名"/>
<set property="descriptionHeader" value="邮件"/>
</construct>
</invoke-factory>
</service-point>
<service-point id="bd_corp" interface="泛普OA系统.interfaces.workflow.browser.Browser">
<invoke-factory>
<construct class="泛普OA系统.interfaces.workflow.browser.BaseBrowser">
<set-service property="ds" service-id="datasource.dt2"/>
<set property="search" value="select unitcode,unitcode,unitname from bd_corp b where isseal = 'N' order by b.unitcode"/>
<set property="searchById" value="select unitcode,unitname from bd_corp where isseal = 'N' and unitcode=?"/>
<set property="searchByName" value="select unitcode,unitcode,unitname from bd_corp b where isseal = 'N' and unitcode like ? order by b.unitcode"/>
<set property="nameHeader" value="公司编码"/>
<set property="descriptionHeader" value="公司名称"/>
</construct>
</invoke-factory>
</service-point>
</module>
以上配置文件中,实现了两个自定义数据浏览页面,黑体部分对于每个配置<service-poin></service-poin>必须根据需要个性化定义。每个配置文件中可以有多个<service-point></service-pointt>。
注意:
2) 上面示例中非黑色粗体部分,不允许做任何修改。
2. 属性说明
service-point id:每个异构系统浏览数据的标识,在系统界面设置见根据该ID引用数据
service-id:设置前文配置的数据源,通过该数据源获取异构系统的数据
search:这里配置获取数据的SQL语句,注意要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table,该sql的作用指的是点开浏览按钮的时候可选数据的范围,注意该sql第一个返回值必须为唯一标识:一般是id之类,第二个返回值为显示在浏览按钮第一列的数据,第三个返回值为显示在浏览按钮第二列的数据,只要符合上面几个要求的select语句都可以。
searchById: 这里配置获取数据的SQL语句,注意要保证获取两个个字段,如果字段不足则以常量表示如:select name, 2 from table where id=?,该sql的作用指的是,当选中一个值之后,显示什么数据在表单中(包括提交后,后续节点的的显示),注意该sql第一个返回值,就是显示在表单中的内容,第二个返回值暂无具体作用,where 后面的带变量的条件就是第一条一句中的唯一标识。只要符合上面几个要求的select语句都可以。
searchByName:这里定义在浏览按钮选择数据页面可供查询的关键字,注意要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table,该sql的作用指的是点开浏览按钮的时候对浏览按钮中的数据进行查询使用的,注意该sql(where前面的内容需要和search中的sql保持一致),where 后面的变量为第二列。只要符合上面几个要求的select语句都可以。
nameHeader:这里定义选择数据页面数据列的列名称
descriptionHeader:这里定义选择数据页面数据列的列名称
对于6.0以上版本的,search 中的select语句中的条件还可以变量$userid$传入当前登录账号的id,来进一步筛选可选数据,作为控制权限的一种发放,如要实现,每个人只能选择自己创建的流程就可以通过这个sql实现:SELECT a.requestid, a.requestname, b.lastname FROM workflow_requestbase a INNER JOIN HrmResource b ON a.creater = b.id where creater = $userid$ order by requestid desc
3. 在5.0及以上版本可以直接在进行可视化的配置
通过顶部菜单【设置中心】【外部接口设置】【配置自定义浏览按钮】即可进入配置界面
点击右键【新建】即可创建一个新的【自定义浏览按钮】
注意:该配置,不需要重启OA服务即可生效
4. 泛普OA管理系统可视化配置属性说明
自定义浏览按钮标识,即xml配置中的service-point id:每个异构系统浏览数据的标识,在系统界面设置见根据该ID引用数据
数据源,即xml配置中的service-id:设置前文配置的数据源,通过该数据源获取异构系统的数据
无条件查询,即xml配置中的search:这里配置获取数据的SQL语句,注意要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table,该sql的作用指的是点开浏览按钮的时候可选数据的范围,注意该sql第一个返回值必须为唯一标识:一般是id之类,第二个返回值为显示在浏览按钮第一列的数据,第三个返回值为显示在浏览按钮第二列的数据,只要符合上面几个要求的select语句都可以。
条件1查询,即xml配置中的searchById: 这里配置获取数据的SQL语句,注意要保证获取两个个字段,如果字段不足则以常量表示如:select name, 2 from table where id=?,该sql的作用指的是,当选中一个值之后,显示什么数据在表单中(包括提交后,后续节点的的显示),注意该sql第一个返回值,就是显示在表单中的内容,第二个返回值暂无具体作用,where 后面的带变量的条件就是第一条一句中的唯一标识。只要符合上面几个要求的select语句都可以。
条件2查询,即xml配置中的searchByName:这里定义在浏览按钮选择数据页面可供查询的关键字,注意要保证获取三个字段,如果字段不足则以常量表示如:select id,1,2 from table,该sql的作用指的是点开浏览按钮的时候对浏览按钮中的数据进行查询使用的,注意该sql(where前面的内容需要和search中的sql保持一致),where 后面的变量为第二列。只要符合上面几个要求的select语句都可以。
列1显示名,即xml配置中的nameHeader:这里定义选择数据页面数据列的列名称
列2显示名,即xml配置中的descriptionHeader:这里定义选择数据页面数据列的列名称
对于6.0以上版本的,search 中的select语句中的条件还可以变量$userid$传入当前登录账号的id,来进一步筛选可选数据,作为控制权限的一种发放,如要实现,每个人只能选择自己创建的流程就可以通过这个sql实现:SELECT a.requestid, a.requestname, b.lastname FROM workflow_requestbase a INNER JOIN HrmResource b ON a.creater = b.id where creater = $userid$ order by requestid desc
5. 泛普OA平台获取异构系统的数据作为流程字段的系统设置
声明完上述XML文件可以在泛普OA系统表单字段管理中进行配置如何调用异构系统的数据,调用上述配置的方式为browser. service-point id,上述配置将形成browser. resourceBrowser, browser. bd_corp两个选项
设置完成,就可以实现在上文所示的流程界面某字段直接获取配置好的异构数据中的数据。
配置到流程中之后就可以直接使用了