一个用OFBiz2.0 beta1 Workflow Engine开发的文档传签系统代码片...
来源:百度文库 编辑:神马文学网 时间:2024/04/26 16:53:36
流程上基本是单一的往下跑的,reject的话user可以modify后重新跑, 由于ofbiz2.0beta1没有实现loop的方式,在Transition定义里用一个小技巧实现了loop(具体请看trans1_9_1,在module_owner_approve这个Activity是parallel sign off的.
每个Activity里用Service调用一些send email, assign performer的方法, example:
public static Map assignSectionManager(DispatchContext ctx, Map context) {
Map result = null;
String workEffortId = context.get("workEffortId").toString();
GenericValue gv = getApplicationData(ctx, context);
String partyId = gv.getString("sectionManager");
String proxyId = ProxyFactory.getCurrentProxyId(partyId,
"XXX Sign Off");
if (proxyId != null && proxyId.length() > 0)
partyId = proxyId;
//get a dispacther and set up the context
LocalDispatcher dispatcher = ctx.getDispatcher();
context = UtilMisc.toMap("workEffortId", workEffortId, "partyId",
partyId, "roleTypeId", "sectionManagers",
"removeOldAssignments", "true");
//run workflow assignment service
try {
result = dispatcher.runSync("wfAssignActivity", context);
} catch (GenericServiceException gse) {
Debug.logError(gse);
}
//update the gv state
try {
gv.setString("currentState", "Section Manager: " + partyId);
gv.store();
} catch (GenericEntityException gee) {
Debug.logError(gee);
}
//send email to section manager
MiscUtil.sendEmail(partyId, "EMPLOYEE", gv, ctx);
return result;
}
每个Activity里用Service调用一些send email, assign performer的方法, example:
public static Map assignSectionManager(DispatchContext ctx, Map context) {
Map result = null;
String workEffortId = context.get("workEffortId").toString();
GenericValue gv = getApplicationData(ctx, context);
String partyId = gv.getString("sectionManager");
String proxyId = ProxyFactory.getCurrentProxyId(partyId,
"XXX Sign Off");
if (proxyId != null && proxyId.length() > 0)
partyId = proxyId;
//get a dispacther and set up the context
LocalDispatcher dispatcher = ctx.getDispatcher();
context = UtilMisc.toMap("workEffortId", workEffortId, "partyId",
partyId, "roleTypeId", "sectionManagers",
"removeOldAssignments", "true");
//run workflow assignment service
try {
result = dispatcher.runSync("wfAssignActivity", context);
} catch (GenericServiceException gse) {
Debug.logError(gse);
}
//update the gv state
try {
gv.setString("currentState", "Section Manager: " + partyId);
gv.store();
} catch (GenericEntityException gee) {
Debug.logError(gee);
}
//send email to section manager
MiscUtil.sendEmail(partyId, "EMPLOYEE", gv, ctx);
return result;
}
一个用OFBiz2.0 beta1 Workflow Engine开发的文档传签系统代码片...
Flex2.0beta1+winXP下开发环境配置与安装
一个Web系统的界面设计和开发
一个工作流引擎的例子 - Windows Workflow Foundation - 博客...
初学者如何开发出一个高质量的j2ee系统
初学者如何开发出一个高质量的J2EE系统
初学者如何开发出一个高质量的J2EE系统
Uniwin, 另外一个基于Windows的远程开发系统
初学者如何开发出一个高质量的J2EE系统
初学者如何开发出一个高质量的J2EE系统
便利的开发文档工具-doxygen
WfMC的Workflow参考模型
OFBIZ2.0精简版本应用概论
OFBIZ2.0精简版本应用概论-2
OFBIZ2.0精简版本应用概论-4
OFBIZ2.0精简版本应用概论-5
OFBIZ2.0精简版本应用概论-6
OFBIZ2.0精简版本应用概论-7
OFBIZ2.0精简版本应用概论-3
cheat engine教程-代码注入实例教程
嵌入式系统的开发规范化
嵌入式系统的开发规范化
系统开发的项目规划
JAVA代码编程规范,Java基础,编程开发,Java,好视点技术文档