本帖最后由 spiral 于 2012-10-25 13:36 编辑
//以下是成功示例- //println("-------------------job start---------------------");
- var formProcess = new Packages.cn.myapps.core.dynaform.form.ejb.FormProcessBean();//申明表单业务处理类
- var form = formProcess.doViewByFormName("办理记录",getApplication()); //根据表单名查询出表单(fm_purchase_materials为对应的插入记录的表单名)
- var userProcess = createProcess("cn.myapps.core.user.ejb.UserProcess");
- var process = getDocumentProcess();//申明文档业务处理类
- var params =new Packages.cn.myapps.base.action.ParamsTable();
- var domainid="11e1-ae18-d04ada40-a3b2-4960a74ab202";
- var flowid="11e2-1a5c-529647f4-bb0e-2b0c8d6fb7d6";
- var user = null;
- var webuser=null;
- var doc=null;
- var loginno="";
- var gap="";
- var yes=false;
- var diff=0;
- var today=format(getToday(), "yyyy-MM-dd");
- var sql = "select item_间隔,item_提示日, '" +getDomainid()+"' domainid, author item_author,id item_id from tlk_提示项 where (item_取消='' or item_取消 is null) ";
- var rs = queryBySQL(sql); var rec=null;
- for (var iter1 = rs.iterator(); iter1.hasNext();) {
- rec = iter1.next(); loginno=rec.getItemValueAsString("author");
- gap=rec.getItemValueAsString("间隔");
- diff=$TOOLS.DATE_UTIL.getDistinceDay(rec.getItemValueAsString("提示日"), today);
- //println("diff============"+diff+" mod="+ (diff % 7));
- yes=false;
- if (gap.equals("每周")){
- if (diff%7==0) yes=true;
- }else if(gap.equals("每月")){
- if (diff%30==0) yes=true;
- }else if(gap.equals("每年")){
- if (diff%365==0) yes=true;
- }
- if (yes) {
- user=getUserById(loginno);//根据用户名查询表单的创建者(wgs为对应的作者用户名)
- //println(""+domainid+"loginname:"+user.getName());
- webuser = new Packages.cn.myapps.core.user.action.WebUser(user);
- doc = process.doNew(form,webuser,new Packages.cn.myapps.base.action.ParamsTable());//创建记录
- doc.findItem("parent").setValue(rec.getItemValueAsString("id"));
- //doc = process.doView(rec.getItemValueAsString("id"));
- doc.setFlowid(flowid);//flowid为对应的流程Id.
- params.setParameter("_flowid", flowid)//value为对应的流程Id.
- //println("xxxxx:path="+params.toString() );
- //println("-------user:"+webuser.getName()+",docid:"+doc.getId());
- process.doStartFlowOrUpdate(doc,params,webuser);//启动流程
- //doFlow(cn.myApps|OBPM.core.dynaform.document.ejb.Document doc, cn.myApps|OBPM.base.action.ParamsTable params, java.lang.String currNodeId,
- //java.lang.String[] nextNodeIds, java.lang.String flowType, java.lang.String comments, cn.myApps|OBPM.core.user.action.WebUser user)
- var arr = new Array(); arr[0]="1350699102375";
- process.doFlow(doc,params,"1350892857843",arr,"80","auto commit by sys",webuser);
- }
- }
复制代码 |