




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Weaver Software中國上海耀華支路泛微軟件大廈郵政編碼:200126電話:+86 21 68869298傳真:+86 21 50942278泛微協(xié)同辦公應(yīng)用平臺e-cology接口說明文檔僅限閱讀 請勿傳播當(dāng)您閱讀本方案時(shí),即表示您同意不傳播本方案的所有內(nèi)容版 本文檔簡要信息:文檔主題(Title)Ecology8系統(tǒng)接口文檔作者(Author)陳文建審批者(To Be Approved By)說明(Comments)文件名稱(File Name)Ecology8系統(tǒng)接口文檔.doc文檔版本歷史:序號日期版本變更說明修改人注釋1.2016-11-14V1.0陳文建.目
2、錄版 本2第一部分?jǐn)?shù)據(jù)源配置5一、接口說明5二、實(shí)現(xiàn)方法&步驟51.接口的使用實(shí)例52.配置數(shù)據(jù)源7第二部分計(jì)劃任務(wù)9一、接口說明9二、實(shí)現(xiàn)方法&步驟91.接口的兩種實(shí)現(xiàn)方式92.配置計(jì)劃任務(wù)103.CronExpr表達(dá)式11第三部分流程自定義接口動作(action)12一、接口說明12二、實(shí)現(xiàn)方法&步驟121.接口實(shí)現(xiàn)方式122.配置自定義接口動作153.流程節(jié)點(diǎn)附加操作接口調(diào)用15第四部分建模自定義接口動作(action)17一、接口說明17二、實(shí)現(xiàn)方法&步驟171.接口實(shí)現(xiàn)方式172.配置自定義接口動作193.表單建模調(diào)用自定義接口動作20第五部分短信AP
3、I接口22一、接口說明22二、實(shí)現(xiàn)方法&步驟221.自定義接口222.配置自定義短信接口23第六部分組織架構(gòu)同步接口24一、接口說明24二、使用說明241.自定義接口242.接口配置說明42第七部分流程自定義頁面接口45一、接口說明45二、實(shí)現(xiàn)方法&步驟451.自定義頁面代碼示例452.配置自定義頁面46第八部分流程提交前執(zhí)行自定義函數(shù)47一.接口說明47二.實(shí)現(xiàn)方法&步驟471.PC端在html模板里面加入如下代碼就行472.mobile端在html模板里面加入如下代碼就行47第九部分如何啟用系統(tǒng)的WebService接口49一、啟用Ecology系統(tǒng)WebServi
4、ce接口49第十部分文檔webservices接口50一、接口說明50二、使用說明50第十一部分工作流程webservices接口68一、接口說明68二、使用說明68第十二部分人力資源webservices接口81一、接口說明81二、使用說明81第十三部分項(xiàng)目模塊webservices接口94一、接口說明94二、使用說明94第十四部分表單建模webservices接口100一、接口說明100二、使用說明100附錄1 如何通過wsdl地址生成客戶端代碼106第一部分 數(shù)據(jù)源配置一、 接口說明該接口主要用來在e-cology配置和異構(gòu)系統(tǒng)的數(shù)據(jù)庫的鏈接方式,通過此鏈接在e-cology中直接操作其
5、他系統(tǒng)的數(shù)據(jù),該接口適用于SQLSERVER,ORACLE,MYSQL,DB2,INFORMIX,SYBASE結(jié)構(gòu)型數(shù)據(jù)庫。二、 實(shí)現(xiàn)方法&步驟1. 接口的使用實(shí)例1.1 獲取Connection,使用jdbc的方式操作數(shù)據(jù)庫 import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import weaver.general.BaseBean;import weaver.general.StaticObj;pub
6、lic class datasourcetest extends BaseBean public void testDatasource() Connection conn = getConnection("datasource.local");/此處是取得上文定義的數(shù)據(jù)源dt1,如果需要操作其他系統(tǒng)的數(shù)據(jù)才需要該定義 try /通過jdbc獲取人數(shù) PreparedStatement s = conn.prepareStatement("select count(*) as counthrm from hrmresource"); ResultSet
7、rs = s.executeQuery(); if(rs.next() String counthrm = rs.getString("counthrm"); /輸出到控制臺System.out.println("人數(shù):" + counthrm); writeLog("人數(shù):" + counthrm); rs.close();/關(guān)閉記錄集 s.close();/關(guān)閉statement catch (Exception e) writeLog(e); finally try closeConnection(conn);/關(guān)閉連接 cat
8、ch (Exception e) writeLog(e); /* * 獲取自定義datasource的connection * * param datasourceid * 數(shù)據(jù)源id,為"datasource"+數(shù)據(jù)源配置里面的數(shù)據(jù)源名稱, * 比如配置了一個(gè)數(shù)據(jù)源名稱為local,那么這個(gè)數(shù)據(jù)源id為:datasource.local * return */ public Connection getConnection(String datasourceid) Connection conn = null; try DataSource datasource = (D
9、ataSource) StaticObj.getServiceByFullname(datasourceid, DataSource.class); /獲取數(shù)據(jù)源的信息 conn = datasource.getConnection(); /和數(shù)據(jù)源取得連接 catch (Exception e) return conn; /* * 關(guān)閉Connection * * param conn */ public void closeConnection(Connection conn) if (conn != null) try conn.close(); catch (SQLException
10、e) writeLog(e); 1.2 使用系統(tǒng)封裝好的數(shù)據(jù)庫操作類import weaver.conn.RecordSetDataSource;import weaver.general.BaseBean;public class datasourcetest1 extends BaseBean public void testDatasource() /注意數(shù)據(jù)源標(biāo)識不需要加datasource,比如上面的datasource.local,只需要寫local RecordSetDataSource rsds = new RecordSetDataSource("數(shù)據(jù)源標(biāo)識&quo
11、t;); rsds.executeSql("select count(*) as counthrm from hrmresource"); while(rsds.next() String counthrm = rsds.getString("counthrm"); System.out.println("counthrm:"+counthrm); writeLog("counthrm:"+counthrm); 2. 配置數(shù)據(jù)源2.1菜單入口 【后端】->【集成中心】à【數(shù)據(jù)源配置】2.2操作界面
12、屬性說明:Ø 數(shù)據(jù)源名稱,即xml配置中的id; 這個(gè)是引用該數(shù)據(jù)源的唯一標(biāo)識Ø 數(shù)據(jù)庫類型:數(shù)據(jù)庫類型(sqlserver2000, sqlserver2005, sqlserver2008,oracle,mysql,Informix,db2,sybase)Ø 集群/多實(shí)例: 標(biāo)識數(shù)據(jù)庫是否為集群/多實(shí)例,配置的參數(shù)會不一樣Ø 連接字符串: 數(shù)據(jù)庫的鏈接地址Ø 服務(wù)器ip: 數(shù)據(jù)庫服務(wù)器地址Ø 端口號:數(shù)據(jù)庫服務(wù)的端口號Ø 數(shù)據(jù)庫名:數(shù)據(jù)庫名(實(shí)例名)Ø 用戶名:訪問數(shù)據(jù)庫的用戶名Ø 密碼:訪問數(shù)據(jù)庫的
13、密碼Ø 最小連接數(shù): 訪問該數(shù)據(jù)庫最小連接Ø 最大連接數(shù): 訪問該數(shù)據(jù)庫最大連接第二部分 計(jì)劃任務(wù)一、 接口說明該接口用來用戶在e-cology系統(tǒng)自由定義一些需要定時(shí)執(zhí)行的操作,它是由Quartz這一個(gè)開源的作業(yè)調(diào)度框架來實(shí)現(xiàn);該接口通過配置調(diào)度時(shí)間和自行開發(fā)調(diào)度動作來實(shí)現(xiàn)需要定時(shí)執(zhí)行的任務(wù)。該接口提供的調(diào)度方式為:實(shí)現(xiàn)CronJob接口,此接口在指定的時(shí)間點(diǎn)執(zhí)行(自己定義時(shí)間點(diǎn))在開發(fā)調(diào)度動作需要實(shí)現(xiàn)e-cology提供的自定義動作接口。二、 實(shí)現(xiàn)方法&步驟1. 接口的兩種實(shí)現(xiàn)方式1.1 繼承erfaces.schedule.BaseCron
14、Job,然后實(shí)現(xiàn)方法public void execute() import erfaces.schedule.BaseCronJob;public class DemoCronJob extends BaseCronJob /* * 計(jì)劃任務(wù)的入口,五任何輸入?yún)?shù) */public void execute() /計(jì)劃任務(wù)需要處理的業(yè)務(wù)邏輯System.out.println(new java.util.Date();/輸出日志getLog().info( new java.util.Date();1.2 實(shí)現(xiàn)erfaces.schedule.Cron
15、Job接口import erfaces.schedule.CronJob;import mons.logging.Log;import mons.logging.LogFactory;public class BaseCronJob implements CronJob private String cronExpr;/時(shí)間表達(dá)式 private Log log = LogFactory.getLog(BaseCronJob.class.getName(); public String getCronExpr() return cronExpr; public void s
16、etCronExpr(String cronExpr) this.cronExpr = cronExpr; public Log getLog() return log; public void setLog(Log log) this.log = log; public void execute() getLog().error("cron job is executed"); System.out.println("cron job is executed"); 2. 配置計(jì)劃任務(wù)2.1菜單入口 【后端】->【集成中心】à【計(jì)劃任務(wù)】
17、2.2操作界面 屬性說明:Ø 計(jì)劃任務(wù)標(biāo)識:唯一標(biāo)識該調(diào)度任務(wù),無其他作用,如:BaseCronJobØ 計(jì)劃任務(wù)類:已實(shí)現(xiàn)計(jì)劃任務(wù)接口的操作類,如:erfaces.schedule.BaseCronJobØ 定時(shí)時(shí)間:時(shí)間為Cron表達(dá)式3. CronExpr表達(dá)式一個(gè)cron表達(dá)式有至少6個(gè)有空格分隔的時(shí)間元素,按順序依次為: 秒(059) 分鐘(059) 小時(shí)(023) 天(月)(031,但是你需要考慮你月的天數(shù)) 月(011) 天(星期)(17 1=SUN 或 SUN,MON,TUE,WED,THU,F(xiàn)RI,SAT) 0 0
18、10,14,16 * * ? 每天上午10點(diǎn),下午2點(diǎn),4點(diǎn)0 0/30 9-17 * * ? 朝九晚五工作時(shí)間內(nèi)每半小時(shí)0 0 12 ? * WED 表示每個(gè)星期三中午12點(diǎn) "0 0 12 * * ?" 每天中午12點(diǎn)觸發(fā) "0 15 10 ? * *" 每天上午10:15觸發(fā) "0 15 10 * * ?" 每天上午10:15觸發(fā) "0 * 14 * * ?" 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā) "0 0/5 14 * * ?" 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā)
19、"0 0/5 14,18 * * " 在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā) "0 0-5 14 * * ?" 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā) "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā) "0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā) "0 15 10 15 * ?" 每月15日上午10:15觸發(fā) "0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā)
20、 "0 15 10 ? * 6L" 每月的最后一個(gè)星期五上午10:15觸發(fā) "0 15 10 ? * 6#3" 每月的第三個(gè)星期五上午10:15觸發(fā) 有些子表達(dá)式能包含一些范圍或列表 例如:子表達(dá)式(天(星期)可以為 “MON-FRI”,“MON,WED,F(xiàn)RI”,“MON-WED,SAT” “*”字符代表所有可能的值 因此,“*”在子表達(dá)式(月)里表示每個(gè)月的含義,“*”在子表達(dá)式(天(星期)表示星期的每一天 “/”字符用來指定數(shù)值的增量 例如:在子表達(dá)式(分鐘)里的“0/15”表示從第0分鐘開始,每15分鐘 在子表達(dá)式(分鐘)里的“3/2
21、0”表示從第3分鐘開始,每20分鐘(它和“3,23,43”)的含義一樣 “?”字符僅被用于天(月)和天(星期)兩個(gè)子表達(dá)式,表示不指定值 當(dāng)2個(gè)子表達(dá)式其中之一被指定了值以后,為了避免沖突,需要將另一個(gè)子表達(dá)式的值設(shè)為“?”第三部分 流程自定義接口動作(action)一、 接口說明該接口主要實(shí)現(xiàn)在流程的流轉(zhuǎn)當(dāng)中,實(shí)時(shí)通過自定義的動作去操作異構(gòu)系統(tǒng)的數(shù)據(jù)或者處理其他一些特定的業(yè)務(wù),在流程的節(jié)點(diǎn)后、出口和節(jié)點(diǎn)前都可以定義這樣的自定義動作。二、 實(shí)現(xiàn)方法&步驟1. 接口實(shí)現(xiàn)方式 實(shí)現(xiàn)erfaces.workflow.action. Action接口
22、即可接口定義如下:import weaver.soa.workflow.request.RequestInfo;public interface Action public static final String SUCCESS="1" /* * 失敗信息,返回此信息,如果是節(jié)點(diǎn)前附加操作,將會阻止流程提交 */ public static final String FAILURE_AND_CONTINUE = "0" public String execute(RequestInfo request);Action示例代碼:import mons.lo
23、gging.Log;import mons.logging.LogFactory;import weaver.general.Util;import weaver.hrm.User;import weaver.soa.workflow.request.Cell;import weaver.soa.workflow.request.DetailTable;import weaver.soa.workflow.request.Property;import weaver.soa.workflow.request.RequestInfo;import weaver.soa.workflow.requ
24、est.Row;public class DemoAction implements Action private Log log = LogFactory.getLog(DemoAction.class.getName(); private String p1; / 自定義參數(shù)1 private String p2; / 自定義參數(shù)2public String getP1() return p1;public void setP1(String p1) this.p1 = p1;public String getP2() return p2;public void setP2(String
25、p2) this.p2 = p2;public Log getLog() return log;public void setLog(Log log) this.log = log;public String execute(RequestInfo requestinfo) System.out.println("進(jìn)入Action requestid=" + requestinfo.getRequestid();String requestid = requestinfo.getRequestid();/ 請求IDString requestlevel = requesti
26、nfo.getRequestlevel();/ 請求緊急程度String src = requestinfo.getRequestManager().getSrc(); / 當(dāng)前操作類型submit:提交/reject:退回String workflowid = requestinfo.getWorkflowid();/ 流程路徑IDString tablename = requestinfo.getRequestManager().getBillTableName();/ 表單主表名稱int billid = requestinfo.getRequestManager().getBillid
27、();/ 表單數(shù)據(jù)IDUser usr = requestinfo.getRequestManager().getUser();/ 獲取當(dāng)前操作用戶對象String requestname = requestinfo.getRequestManager().getRequestname();/ 請求標(biāo)題String remark = requestinfo.getRequestManager().getRemark();/ 當(dāng)前用戶提交時(shí)的簽字意見int formid = requestinfo.getRequestManager().getFormid();/ 表單IDint isbill
28、= requestinfo.getRequestManager().getIsbill();/ 是否是自定義表單/取主表數(shù)據(jù)Property properties = requestinfo.getMainTableInfo().getProperty();/ 獲取表單主字段信息for (int i = 0; i < properties.length; i+) String name = propertiesi.getName();/ 主字段名稱String value = Util.null2String(propertiesi.getValue();/ 主字段對應(yīng)的值System.
29、out.println(name + " " + value);(name + " " + value);/ 取明細(xì)數(shù)據(jù)DetailTable detailtable = requestinfo.getDetailTableInfo().getDetailTable();/ 獲取所有明細(xì)表if (detailtable.length > 0) for (int i = 0; i < detailtable.length; i+) DetailTable dt = detailtablei;/ 指定明細(xì)表Row s = dt.g
30、etRow();/ 當(dāng)前明細(xì)表的所有數(shù)據(jù),按行存儲for (int j = 0; j < s.length; j+) Row r = sj;/ 指定行Cell c = r.getCell();/ 每行數(shù)據(jù)再按列存儲for (int k = 0; k < c.length; k+) Cell c1 = ck;/ 指定列String name = c1.getName();/ 明細(xì)字段名稱String value = c1.getValue();/ 明細(xì)字段的值System.out.println(name + " " + value);(name
31、+ " " + value);/控制流程流轉(zhuǎn),增加以下兩行,流程不會向下流轉(zhuǎn),表單上顯示返回的自定義錯誤信息,這個(gè)控制只支持節(jié)點(diǎn)后附加操作requestinfo.getRequestManager().setMessageid("錯誤信息編號");/126221requestinfo.getRequestManager().setMessagecontent("返回自定義的錯誤信息");System.out.println("Action執(zhí)行完成 傳入?yún)?shù)p1=" + this.getP1() + " p
32、2="+ this.getP2();("Action執(zhí)行完成 傳入?yún)?shù)p1=" + this.getP1() + " p2="+ this.getP2();return SUCCESS;/ return返回固定返回SUCCESS/如果E8的版本是1604,也可以使用下面的代碼進(jìn)行控制,支持節(jié)點(diǎn)后、節(jié)點(diǎn)前、出口,注意必須返回 FAILURE_AND_CONTINUE;/requestinfo.getRequestManager().setMessagecontent("返回自定義的錯誤信息");/return
33、FAILURE_AND_CONTINUE;2. 配置自定義接口動作2.1菜單入口 【后端應(yīng)用中心】à【集成中心】à【流程流轉(zhuǎn)集成】2.2操作界面屬性說明:Ø 接口動作名稱: 動作名稱Ø 接口動作標(biāo)識:接口動作標(biāo)識不能重復(fù)Ø 接口動作類文件:接口動作的實(shí)現(xiàn)類,比如:erfaces.workflow.action. DemoActionØ 參數(shù)名稱:在配置接口動作的時(shí)候,可以為接口動作內(nèi)部的參數(shù)進(jìn)行賦值,參數(shù)名稱的大小寫必須和接口動作類中申明的參數(shù)名一致Ø 參數(shù)值:參數(shù)名稱對應(yīng)的值Ø 是否數(shù)據(jù)源:參
34、數(shù)類型可以分為兩種類型,一種為字符類型,另外一種為數(shù)據(jù)源。當(dāng)選擇為數(shù)據(jù)源時(shí),參數(shù)的值需要填寫數(shù)據(jù)源設(shè)置中的數(shù)據(jù)源名稱3. 流程節(jié)點(diǎn)附加操作接口調(diào)用3.1菜單入口【后端應(yīng)用中心】à【流程引擎】à【路徑管理】à【路徑設(shè)置】,在該菜單下選擇一個(gè)具體的流程路徑,然后流轉(zhuǎn)設(shè)置下面的節(jié)點(diǎn)前附件操作、節(jié)點(diǎn)后附件操作和出口附件規(guī)則都可以引用自定義接口動作,當(dāng)流程經(jīng)過這些節(jié)點(diǎn)時(shí),就會自動觸發(fā)預(yù)先定義好的動作第四部分 建模自定義接口動作(action)一、 接口說明該接口主要實(shí)現(xiàn)在對建模數(shù)據(jù)進(jìn)行操作時(shí)候,可以觸發(fā)自定義的接口動作,可以處理一些特殊的業(yè)務(wù),比如對建模中的數(shù)據(jù)進(jìn)行運(yùn)算,或
35、者把建模數(shù)據(jù)寫入其他應(yīng)用模塊,或者寫入第三方系統(tǒng)二、 實(shí)現(xiàn)方法&步驟1. 接口實(shí)現(xiàn)方式 實(shí)現(xiàn)erfaces.workflow.action. Action接口即可接口定義如下:import weaver.soa.workflow.request.RequestInfo;public interface Action public static final String SUCCESS="1" /* * 失敗信息,返回此信息,如果是節(jié)點(diǎn)前附加操作,將會阻止流程提交 */ public static final String FAILURE_AND_
36、CONTINUE = "0" public String execute(RequestInfo request);Action示例代碼:package erfaces.formmode.action;import mons.logging.Log;import mons.logging.LogFactory;import weaver.general.BaseBean;import weaver.general.Util;import erfaces.workflow.action.Action;import weaver.soa.
37、workflow.request.Cell;import weaver.soa.workflow.request.DetailTable;import weaver.soa.workflow.request.Property;import weaver.soa.workflow.request.RequestInfo;import weaver.soa.workflow.request.Row;public class ModeDemoAction extends BaseBean implements Action private Log log = LogFactory.getLog(Mo
38、deDemoAction.class.getName(); private String p1; / 自定義參數(shù)1 private String p2; / 自定義參數(shù)2public String getP1() return p1;public void setP1(String p1) this.p1 = p1;public String getP2() return p2;public void setP2(String p2) this.p2 = p2;public Log getLog() return log;public void setLog(Log log) this.log
39、 = log;public String execute(RequestInfo request) String id = request.getRequestid();/建模數(shù)據(jù)IDString modeid = request.getWorkflowid();/ 建模模塊IDString Creatorid = request.getCreatorid();/創(chuàng)建人idString Lastoperator = request.getLastoperator();/當(dāng)前操作者("id:"+id+"modeid:"+modeid);
40、System.out.println("id:"+id+"modeid:"+modeid);/取主表數(shù)據(jù)Property properties = request.getMainTableInfo().getProperty();/ 獲取表單主字段信息for (int i = 0; i < properties.length; i+) String name = propertiesi.getName();/ 主字段名稱String value = Util.null2String(propertiesi.getValue();/ 主字段對應(yīng)的值S
41、ystem.out.println(name + " " + value);(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 = detailtablei;/ 指定明細(xì)表Row s = dt
42、.getRow();/ 當(dāng)前明細(xì)表的所有數(shù)據(jù),按行存儲for (int j = 0; j < s.length; j+) Row r = sj;/ 指定行Cell c = r.getCell();/ 每行數(shù)據(jù)再按列存儲for (int k = 0; k < c.length; k+) Cell c1 = ck;/ 指定列String name = c1.getName();/ 明細(xì)字段名稱String value = c1.getValue();/ 明細(xì)字段的值System.out.println(name + " " + value);(nam
43、e + " " + value);return Action.SUCCESS;2. 配置自定義接口動作2.1菜單入口 【后端應(yīng)用中心】à【集成中心】à【流程流轉(zhuǎn)集成】2.2操作界面屬性說明:Ø 接口動作名稱: 動作名稱Ø 接口動作標(biāo)識:接口動作標(biāo)識不能重復(fù)Ø 接口動作類文件:接口動作的實(shí)現(xiàn)類,比如:erfaces.workflow.action. DemoActionØ 參數(shù)名稱:在配置接口動作的時(shí)候,可以為接口動作內(nèi)部的參數(shù)進(jìn)行賦值,參數(shù)名稱的大小寫必須和接口動作類中申明的參數(shù)名一致Ø
44、; 參數(shù)值:參數(shù)名稱對應(yīng)的值Ø 是否數(shù)據(jù)源:參數(shù)類型可以分為兩種類型,一種為字符類型,另外一種為數(shù)據(jù)源。當(dāng)選擇為數(shù)據(jù)源時(shí),參數(shù)的值需要填寫數(shù)據(jù)源設(shè)置中的數(shù)據(jù)源名稱3. 表單建模調(diào)用自定義接口動作3.1菜單入口:【后端應(yīng)用中心】à【建模引擎】à【模塊】à【頁面擴(kuò)展】3.2操作界面如下: 說明:在外部接口動作選項(xiàng)后選擇需要觸發(fā)的自定義接口動作即可。第五部分 短信API接口一、 接口說明該接口用來實(shí)現(xiàn)調(diào)用各短信廠商提供的短信發(fā)送網(wǎng)關(guān)或者信息機(jī)實(shí)現(xiàn)e-cology短信發(fā)送的功能。二、 實(shí)現(xiàn)方法&步驟實(shí)現(xiàn)方法分為兩類:一類是使用中間表方式實(shí)現(xiàn),另外一類是可
45、自行編寫接口代碼方式來調(diào)用方法,由于中間表的方式不需要編寫代碼,所以下面只描述自定義接口的方式1. 自定義接口只需要實(shí)現(xiàn)系統(tǒng)中的weaver.sms.SmsService接口即可,接口定義如下:public interface SmsService public boolean sendSMS(String smsId,String number,String msg);接口實(shí)現(xiàn)類示例:import weaver.general.BaseBean;import weaver.sms.SmsService;public class TestService extends BaseBean imp
46、lements SmsService public boolean sendSMS(String smsId, String number, String msg) System.out.println("接受人:" + number);System.out.println("測試短信:" + msg);writeLog("接受人:" + number);writeLog("測試短信:" + msg);return true;2. 配置自定義短信接口12.1 功能菜單入口【后端應(yīng)用中心】à【應(yīng)用中心】
47、224;【通信】à【短信應(yīng)用設(shè)置】à【短信服務(wù)方式】2.2 操作界面屬性說明:Ø 短信接口類: 實(shí)現(xiàn)短信接口的操作類Ø 屬性:短信接口實(shí)現(xiàn)類可以自定義一些屬性值Ø 值:對屬性賦值第六部分 組織架構(gòu)同步接口一、 接口說明該接口用來操作系統(tǒng)中的組織架構(gòu),可以實(shí)時(shí)的把e-cology系統(tǒng)中的有變化的組織架構(gòu)同步到第三方系統(tǒng),也可以通過定時(shí)的方式把第三方系統(tǒng)的組織架構(gòu)同步到e-cology二、 使用說明1. 自定義接口組織架構(gòu)同步操作需要用開發(fā)人員實(shí)現(xiàn)e-cology提供的接口,接口類為:erfaces.hrm.HrmSynServ
48、ice,接口定義如下:package erfaces.hrm;public interface HrmSynService /* * 定時(shí)同步分部 * 從其他系統(tǒng)同步到OA*/public String SynTimingToOASubCompany();/* * 定時(shí)同步部門 * 從其他系統(tǒng)同步到OA*/public String SynTimingToOADepartment();/* * 定時(shí)同步崗位 * 從其他系統(tǒng)同步到OA*/public String SynTimingToOAJobtitle();/* * 定時(shí)同步人員 * 從其他系統(tǒng)同步到OA*/public
49、 String SynTimingToOAHrmResource();/* * 定時(shí)同步分部 * 從OA同步到其他系統(tǒng)*/public void SynTimingFromOASubCompany(SubCompanyBean subcompanybeanlist);/* * 定時(shí)同步部門 * 從OA同步到其他系統(tǒng)*/public void SynTimingFromOADepartment(DepartmentBean departmentbeanlist);/* * 定時(shí)同步崗位 * 從OA同步到其他系統(tǒng)*/public void SynTimingFromOAJobtitle(JobTi
50、tleBean jobtitlebeanlist);/* * 定時(shí)同步人員 * 從OA同步到其他系統(tǒng)*/public void SynTimingFromOAHrmResource(UserBean userbeanlist); /* * 即時(shí)同步分部(從OA同步單條數(shù)據(jù)到第三方系統(tǒng)中) * param subcompanybean */public void SynInstantSubCompany(SubCompanyBean subcompanybean);/* * 即時(shí)同步部門(從OA同步單條數(shù)據(jù)到第三方系統(tǒng)中) * param departmentbean */public void
51、 SynInstantDepartment(DepartmentBean departmentbean);/* * 即時(shí)同步崗位(從OA同步單條數(shù)據(jù)到第三方系統(tǒng)中) * param jobtitlebean */public void SynInstantJobtitle(JobTitleBean jobtitlebean);/* * 即時(shí)同步人員(從OA同步單條數(shù)據(jù)到第三方系統(tǒng)中) * param userbean */public void SynInstantHrmResource(UserBean userbean); /* * 流程消息提醒 * param sender 發(fā)送者 *
52、param receiver 接受者 * param title 標(biāo)題 * param content 內(nèi)容 * param url * return */public boolean SynSendMessage(String sender,String receiver,String title,String content,String url);接口實(shí)現(xiàn)類示例:package erfaces.hrmpublic class HrmSynDAO extends BaseBean implements HrmSynService public String SynTim
53、ingToOASubCompany() String strxml = "<?xml version="1.0" encoding="UTF-8"?><root><orglist>" +"<org action="add">" +"<code>001</code><shortname>測試分部一</shortname><fullname>測試分部一</fullname>
54、;<parent_code>0</parent_code><order>0</order>" +"</org>" +"<org action="edit">" +"<code>002</code><shortname>測試分部二</shortname><fullname>測試分部二</fullname><parent_code>0</parent_code
55、><order>1</order>" +"</org>" +"<org action="delete">" +"<code>003</code><canceled>1</canceled>" +"</org>"return strxml; public String SynTimingToOADepartment() String strxml = "<?xml version="1.0" encoding="UTF-8&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 從0到1建立績效管理體系全流程
- 車間布局詳解
- 2024年高考語文試題分類匯編:文學(xué)類文本閱讀(含答案)
- 醫(yī)院用語禮儀培訓(xùn)
- 《具體土地開墾項(xiàng)目名稱土地開墾項(xiàng)目可行性研究報(bào)告》
- 設(shè)備維修人員工作總結(jié)
- 消防巡查培訓(xùn)
- 商務(wù)藍(lán)紫色培訓(xùn)
- 滅火器使用培訓(xùn)
- 中班健康車輪滾滾主題活動
- 2025屆新高三英語組高效備考方法分享心得體會
- 中南財(cái)經(jīng)政法大學(xué)《編譯原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 高考報(bào)考志愿協(xié)議書
- 湖南中醫(yī)藥大學(xué)招聘考試真題2024
- 玉環(huán)金鑫塑膠有限公司年產(chǎn)350萬口不粘鍋生產(chǎn)線技改項(xiàng)目環(huán)境影響報(bào)告書
- 2025AI時(shí)代健康睡眠白皮書
- MicroLED顯示技術(shù)產(chǎn)業(yè)化項(xiàng)目可行性研究報(bào)告(范文模板)
- 2025浙江中考:生物必背知識點(diǎn)
- 2025年國家開放大學(xué)《會計(jì)案例分析》形成性考核123答案+終結(jié)性考核答案
- 股權(quán)質(zhì)押融資與境外投資合作協(xié)議
- 汽油清凈性評價(jià) 汽油機(jī)進(jìn)氣閥沉積物模擬試驗(yàn)法 編制說明
評論
0/150
提交評論