申請免費試用、咨詢電話:400-8352-114
第四部分 泛普免費OA獲取異構系統數據至流程字段(自定義瀏覽框)
一. 泛普OA免費版接口說明
泛普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>。
注意:
1) 每次配置后需要重啟OA服務方可生效;
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的作用指的是,當選中一個值之后,顯示什么數據在表單中(包括提交后,后續(xù)節(jié)點的的顯示),注意該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,來進一步篩選可選數據,作為控制權限的一種發(fā)放,如要實現,每個人只能選擇自己創(chuàng)建的流程就可以通過這個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及以上版本可以直接在進行可視化的配置
通過頂部菜單【設置中心】【外部接口設置】【配置自定義瀏覽按鈕】即可進入配置界面
點擊右鍵【新建】即可創(chuàng)建一個新的【自定義瀏覽按鈕】
注意:該配置,不需要重啟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的作用指的是,當選中一個值之后,顯示什么數據在表單中(包括提交后,后續(xù)節(jié)點的的顯示),注意該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,來進一步篩選可選數據,作為控制權限的一種發(fā)放,如要實現,每個人只能選擇自己創(chuàng)建的流程就可以通過這個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兩個選項
設置完成,就可以實現在上文所示的流程界面某字段直接獲取配置好的異構數據中的數據。
配置到流程中之后就可以直接使用了