監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
OA數(shù)據(jù)庫(kù)

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > OA軟件研發(fā) > OA數(shù)據(jù)庫(kù)

泛普協(xié)同OA辦公系統(tǒng)實(shí)現(xiàn)流程與NC業(yè)務(wù)數(shù)據(jù)流轉(zhuǎn)過程中和異構(gòu)系統(tǒng)數(shù)據(jù)交互

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

泛普協(xié)同OA辦公系統(tǒng)實(shí)現(xiàn)流程與NC業(yè)務(wù)數(shù)據(jù)流轉(zhuǎn)過程中和異構(gòu)系統(tǒng)數(shù)據(jù)交互
一. 接口說明
該接口主要實(shí)現(xiàn)在流程的流轉(zhuǎn)當(dāng)中,實(shí)時(shí)通過自定義的動(dòng)作去操作異構(gòu)形體系統(tǒng)的數(shù)據(jù)或者是其他一些特定的操作。
在流程的每個(gè)出口都可以定義這樣的自定義動(dòng)作,從而實(shí)現(xiàn)在流程流轉(zhuǎn)過程導(dǎo)入,導(dǎo)出流程的相關(guān)信息,或者將流程信息和其他應(yīng)用相結(jié)合。該接口在表單建模中也一樣適用。

二. 應(yīng)用效果
通過泛普OA辦公軟件泛普OA系統(tǒng)流程申請(qǐng)?zhí)幚恚?br />  
流程提交或處理結(jié)束后,報(bào)銷流程中的數(shù)據(jù)會(huì)自動(dòng)生成到NC系統(tǒng)中:
 
查詢后的結(jié)果:
 
從這里可以查看到從泛普OA辦公軟件泛普OA系統(tǒng)提交過來的對(duì)應(yīng)數(shù)據(jù):
 

三. 實(shí)現(xiàn)方法&步驟
1、配置接口文件(action.xml)
2、編寫接口(action)實(shí)現(xiàn)代碼
3、流程管理員把a(bǔ)ction.xml中定義的接口設(shè)置為流程節(jié)點(diǎn)附加操作后,就可以實(shí)現(xiàn)流程到達(dá)該節(jié)點(diǎn)前(或離開該節(jié)點(diǎn)后)執(zhí)行接口實(shí)現(xiàn)代碼。
4、在流程設(shè)置中應(yīng)用該功能

1. xml文件配置
該文件名為action.xml,位于(該文件位于泛普OA辦公軟件泛普OA系統(tǒng)的WEB-INF/service/目錄下)
<?xml version="1.0" encoding="GBK"?>
<module id="datasource" version="1.0.0">
<service-point id="baseAction" interface="OA.interfaces.workflow.action.Action">
 <invoke-factory>
       <construct class="OA.interfaces.workflow.action. BaseAction ">
    <set property="ds" service-id="datasource.dt1"/>
         </construct>
        </invoke-factory>
</service-point>  

說明: 以上定義了一個(gè)id 為 baseAction的action,其中黑體部分是在配置每個(gè)動(dòng)作時(shí)需要改變的內(nèi)容;
注意:每次配置后需要重啟OA服務(wù)方可生效;
2. 屬性說明
 Id: 為該動(dòng)作的id,不能重復(fù),在后文件將會(huì)使用該標(biāo)識(shí)
 Class: 具體實(shí)現(xiàn)的動(dòng)作類
 service-id:為該動(dòng)作要使用的數(shù)據(jù)源,如果該動(dòng)作需要好異構(gòu)系統(tǒng)交互數(shù)據(jù),在此可以設(shè)置前文配置好的數(shù)據(jù)源。
如果添加一個(gè)新的動(dòng)作,只需修改以上的參數(shù)就可以
如果一個(gè)動(dòng)作中,用到多個(gè)數(shù)據(jù)源,也可以類似的添加進(jìn)去,如:
<set-service property="ds1" service-id="datasource.xxx"/>
只要 property 的值不相同就可以
3. 在5.0及以上版本可以直接在進(jìn)行可視化的配置
通過頂部菜單【設(shè)置中心】【外部接口設(shè)置】【配置接口動(dòng)作】即可進(jìn)入配置界面
 

點(diǎn)擊右鍵【新建】即可創(chuàng)建一個(gè)新的【接口動(dòng)作】
 

注意:該配置,不需要重啟OA服務(wù)即可生效

4. 可視化配置屬性說明
 接口動(dòng)作標(biāo)識(shí),即xml配置中的Id: 為該動(dòng)作的id,不能重復(fù),在后文件將會(huì)使用該標(biāo)識(shí)
 接口動(dòng)作類文件,即xml配置中的Class: 具體實(shí)現(xiàn)的動(dòng)作類
5. Action接口代碼編寫
編寫接口(action)實(shí)現(xiàn)代碼,在上面的配置中,具體要實(shí)現(xiàn)的動(dòng)作將體現(xiàn)在OA.interfaces.workflow.action.BaseAction類中。該類必須實(shí)現(xiàn)OA.interfaces.workflow.action.Action接口,該接口中包含execute(RequestInfo request),這個(gè)方法會(huì)在流程節(jié)點(diǎn)到達(dá)前或節(jié)點(diǎn)到達(dá)后被泛普OA辦公軟件泛普OA系統(tǒng)調(diào)用。
示例代碼:
package OA.interfaces.workflow.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import OA.general.Util;
import OA.soa.workflow.request.Cell;
import OA.soa.workflow.request.DetailTable;
import OA.soa.workflow.request.Property;
import OA.soa.workflow.request.RequestInfo;
import OA.soa.workflow.request.Row;
public class BaseAction implements Action {
 public String execute(RequestInfo request) {
  //取主表數(shù)據(jù)
  Property[] properties = request.getMainTableInfo().getProperty();// 獲取表單主字段信息
  for (int i = 0; i < properties.length; i++) {

   String name = properties[i].getName();// 主字段名稱
   String value = Util.null2String(properties[i].getValue());// 主字段對(duì)應(yīng)的值
   System.out.println(name + " " + value);
  }
  //取明細(xì)數(shù)據(jù)
  DetailTable[] detailtable = request.getDetailTableInfo()
    .getDetailTable();// 獲取所有明細(xì)表
  if (detailtable.length > 0) {
   for (int i = 0; i < detailtable.length; i++) {
    DetailTable dt = detailtable[i];// 指定明細(xì)表
    Row[] s = dt.getRow();// 當(dāng)前明細(xì)表的所有數(shù)據(jù),按行存儲(chǔ)
    for (int j = 0; j < s.length; j++) {
     Row r = s[j];// 指定行
     Cell c[] = r.getCell();// 每行數(shù)據(jù)再按列存儲(chǔ)
     for (int k = 0; k < c.length; k++) {
      Cell c1 = c[k];// 指定列
      String name = c1.getName();// 明細(xì)字段名稱
      String value = c1.getValue();// 明細(xì)字段的值
      System.out.println(name + " " + value);
     }
    }
   }
  }

  return Action.SUCCESS;
 }
}


以上class中可以在execute(RequestInfo request)方法中定義任何想要執(zhí)行的操作,上面的示例描述了在execute(RequestInfo request)方法中獲取當(dāng)前流程的所有信息。

6. 流程節(jié)點(diǎn)附加操作接口調(diào)用
在泛普OA辦公軟件泛普OA系統(tǒng)流程管理中配置一下節(jié)點(diǎn)附加操作可以看到下圖所示,可以在任意一個(gè)節(jié)點(diǎn)上設(shè)置,當(dāng)流程流到改節(jié)點(diǎn),自動(dòng)觸發(fā)預(yù)先定義好的動(dòng)作

 
以上網(wǎng)頁(yè)對(duì)話框中紅色部分接口動(dòng)作將顯示所有定義過的接口動(dòng)作供選擇調(diào)用。


 

發(fā)布:2006-03-09 17:57    編輯:泛普軟件 · admin    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
OA軟件研發(fā)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普OA數(shù)據(jù)庫(kù)其他應(yīng)用

OA設(shè)計(jì) OA系統(tǒng)測(cè)試 OA平臺(tái) OA定制 OA開源 OA代碼(源碼) OA方案 OA培訓(xùn) OA破解 OA下載 OA購(gòu)買 OA數(shù)據(jù)庫(kù) OA系統(tǒng)界面設(shè)計(jì) 泛普OA新功能開發(fā)