//百度访问量统计 2025-04-11
在表单属性的“后台程序”中设定,该程序必须实现下面的接口
com.wuzhou.ExtFrame.interfaces.ExtInterface接口;
单证流水号特殊规则,通过编写sql实现。
在节点属性的“页面处理程序”中设定,如:test.jsp,系统会调用该页面程序,同时传入基本的参数:docNo、taskId;
暂未使用;
在表单定义时,设定了“数据表名称、索引定义、关键字段名称”信息后,系统会根据定义创建数据库表,表的数据格式是“表单字段”定义的内容;
建立子表的索引及主键信息,在“参数信息”中定义,用“索引字段&主键字段”分隔,如:“docNo,goods&docNo,serialNo”
就是在一个工作节点上需要多人同时(必须全部)作业,完成后才可以进入下一步工作,在定义该工作节点时,属性-多人同时作业选“是”;
不同节点需要在某个节点等待后再走下一步,可以先到“与汇聚”节点,然后再到“下一步”; 这个“与汇聚”就是之前有“分支”的情况下,所有分支的任务必须都“提交”了,才到这个节点“等待汇聚”后,再往下面的节点流。
如果对单个任务进行“汇总处理”,可以在汇总处理到后续节点之间增加一个“自动过程”,过程名称=suspend(将全部同类本人处理的单个任务“挂起”,只留一个到后续节点);当后续节点退回本节点时,先到“自动过程”,过程名称=resume(将先前“挂起”的任务进行释放);
定义一个自动过程,
在流程审批完毕后,增加一个自动过程,可以把流程中的表单数据(流程定义里面的数据字段)的值保存到对应的对象中。
LoadObject:customer,goods,表示根据单证的信息内容,自动导入客户和商品信息;
在任务分配规则中,选择“特殊分配”,在分配程序中填写SQL,如: select UserId from sa_user where orgId=8
在结束节点的“其他规则”中设置:setParent:字段名,字段名2…
a) 实现工作流接口:com.wancheng.workflow.AutoTaskFactory private HashMap taskValue; private LogService log = new LogService(this.getClass()); public SendMessage() { }
public void SetAttribute(HashMap value) {
taskValue = value;
}
/**
* 实现工作流引擎的com.wancheng.workflow.AutoTaskFactory接口
* @return
* @throws java.lang.Exception
*/
public HashMap run() throws Exception{
java.sql.Connection myCon = (java.sql.Connection)taskValue.get("dbConnection");
SendMessageDAO dao = new SendMessageDAO();
String docNo=(String)taskValue.get("docNo");
String userId=(String)taskValue.get("_USERID");
try {
//业务逻辑语句
} catch (Exception ex) {
log.error(ex.getMessage());
throw new Exception(ex.getMessage());
}
return taskValue;
}
a) 定义自动过程语法=message[:msgType[:msgContent:[startTime]]]
注意:[ ]为可选项,[ ]中的内容可以设置也可以不设置,设置时不要将“[ ]”(括号字符)设置入内容中。
b) msgType:
c) msgContent:文字描述,内嵌“[单证元素]”被系统用单证的内容替换。
如:“message:sms_live:您的《单证审核》任务于[startDate]生效,请及时处理!”
d) startTime:convert(datetime,’[单证元素]’)-5
e) 在“其他规则”里设定,收件人的规则recipients:[role部门经理|user张三|org财务部|elementUSERLIST|lastUser],缺省为空的话,收件人=单证创建人;
lastUser表示上一步操作的应执行人;
a) 定义自动过程语法=return [:msgType]
b) msgType:
在任务定义中有“其他规则”可以定义,startTime:条件表达式,用“[单证元素]”表示系统将用单证元素的数据替换。如:convert(datetime,’[endDate]’)-15
注意:[字段名]外面要加“‘”。
可以定义发送消息的内容格式,如:msgContent:您需要处理的单证[单证元素]
在单证“多任务规则”中进行选择
a) 1-可多建任务:不限制新建;
b) 0-单一新建任务:只能在没有新建任务时,创建任务;
c) 2-单一全任务:新建任务没有完成全部流程,不能新建;
(必须是第3个参数,才有效,2个参数为跳过第一步)
a) 调用子流程时,可以跳过子流程的第一步,如:storeIn:checkFlag=1:PassFirst
b) 调用子流程时,不跳过子流程第一步,如:storeIn或者storeIn:checkFlag=1:NoPass
a) 自动过程必须实现com.wancheng.workflow.AutoTaskFactory接口
b) 自动过程需要写全路径,如:com.wuzhou.dCenter.storeInOut
c) 以“:”分隔开参数,多参数以“&”分隔,如:com.wuzhou.dCenter.storeInOut:INOUTFLAG=1&LASTSTATE=complete_0
d) 在com.wuzhou.dCenter.storeInOut的类程序中可以通过HashMap中获得参数值,如:String flg=(String)taskValue.get(“_INOUTFLAG”);
可以设置附件的必选记录,在“选项内容”里设置,如“’市场报告’,’安检报告’”;
获得操作员所在部门的主管;
获得单证创建人;
语法GetObjUser:对象名称:页面字段名称
如:GetObjUser:customer:clientId
目前系统是根据“单证名称”保证编号唯一的,所以不同单证设定的“前缀”相同,会导致编号重复;
使用System.open(urlObject)打开;
<script LANGUAGE="JavaScript">
</script>
urlObject对象结构说明:
1) text:显示的标题
2) id:窗口id(界面方式打开的窗口id不会重复)
3) url:需要打开的页面地址;
4) type:打开方式
i. 0:项目(jsp、html、*.do等完整独立的html文档);
ii. 1:界面(ExtJs文档);
iii. 2:行为(类似界面,用弹出窗口显示或者没有窗口界面);
超时测试节点的“超时”属性:1(小时);
超时提醒条件参数:
否则到结束的条件:
进行短信提醒的设置:
短信提醒的参数设置,详见6.3.9
界面设计“图片”控件,属性-文件路径:../barcode?data=<%=docNo%>;
修改js/system/config.js里的参数,用“//”来注释掉;
System.config.add("EMS_ON",true);//EMS开关
top.System.closeFrame();
调用页面函数getSelectValue(选项字段名称),返回的值是多项选择,用“;”分隔。
修改js/system/config.js里的参数,用“//”来注释掉;
System.config.add("SYSTEM_DEBUG",true);//debug开关
System.config.add("SYSTEM_STATUS_HIDDEN",true);//状态信息区 隐藏开关
修改WEB-INF/web.xml中相关行:
nonLogonFunctions
[logon][logout][ExtTaskActivity][prePageManager][ProcQuery][objInfo][EMSService][documentAction][Search]
然后在网站的url连接里输入:
http://192.168.0.181:8080/DealerMIS/Search.do?searchName=clearDoc