U8工作流开发手册Word文件下载.docx
- 文档编号:16153410
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:39
- 大小:659.31KB
U8工作流开发手册Word文件下载.docx
《U8工作流开发手册Word文件下载.docx》由会员分享,可在线阅读,更多相关《U8工作流开发手册Word文件下载.docx(39页珍藏版)》请在冰豆网上搜索。
流程模型内置变量:
变量名
类型
说明
ActivityName
string
[活动名称]
StartPerformer
[流程发起人工号]
CurrentPerformer
[执行者工号]
StartTime
[流程发起时间]
ActivityStartTime
[活动开始时间]
ActivityDelay
[延迟时间]
StartPerformerName
[流程发起人姓名]
CurrentPerformerName
[执行者姓名]
KeySet
[人工活动UNDO接口参数KeySet]
CalledContext
object
[人工活动UNDO接口参数CalledContext]
CallResult
[人工活动UNDO接口返回值]
LoginContext
[工作流构造LoginContext对象]
3.3服务注册
在工作流模型中,自动活动所调用的服务需要预先注册到MOM服务器上,注册过程如下:
1.如果MOM上没建立所属子产品功能点,则首先建立该子产品功能点;
建立方法:
打开MOM集成工具,在集成目录-U8ERP下加入子产品功能点,如下图:
2.在所属子产品功能点的“集成接口”节点上,注册集成接口,如下图:
进入注册集成接口界面后,首先设置集成注册码和集成接口名,集成接口注册吗是用于识别该注册服务的,要求在同一子产品节点下注册码惟一。
然后需要设置服务调用端点(如果是本地调用,需要考虑调用路径问题!
):
设置服务路径时可以使用MOM预置的三个宏变量:
%U8SOFT%表示U8安装目录
%UFCOMSQL%表示ufcomsql目录
%U8APPSRV%表示u8应用服务器
例如:
注册:
D:
\U8SOFT\SA\MyLib.DLL组件,
使用宏变量后应该为:
%U8SOFT%\SA\MyLib.DLL
自动服务开发中的参数约束
1、所有参数类型必须是基本类型和可SOAP序列化的类型;
2、非基本类型的参数必须部署在GAC中;
3、对于部署在本地的服务,支持ref,out参数(VB的ByRef同ref);
4、对于VB中声明为ByRef的参数,必须是Variant类型。
支持的基本类型包括:
"
void"
"
string"
(对应设计器变量类型string)
short"
(对应设计器变量类型float)
int"
(对应设计器变量类型int)
long"
double"
(对应设计器变量类型double)
bool"
(对应设计器变量类型bool)
datetime"
(对应设计器变量类型datetime)
object"
(对应设计器变量类型object)
如果工作流实例中,对该服务调用后,由于某些原因,流程实例回滚(Rollback)时,该服务也需要回滚,则该服务还需要注册对应的Undo接口信息。
约定Undo接口方法名为Un+方法名,参数、返回值同原注册的服务方法一致。
为了能正确描述Undo接口,需要在扩展属性中增加3个属性:
undo_class:
如果是COM就表示为progid,是.Net表示为类的完全限定名
undo_type:
assembly,com
undo_location:
当是.Net程序的时候表示为程序集的名
如下图:
服务例代码
3.4人工活动插件开发
插件必须包含如下三个方法,名称可以不同,但参数必须一致
publicinterfaceIAuditPlugin
{
boolUndoAudition(stringprimBizData,stringauditAction,refstringbizdata,objectcalledCtx,refstringerrMsg);
boolDoAudition(stringprimBizData,stringauditAction,refstringbizdata,objectcalledCtx,refstringerrMsg);
boolHandleBizException(stringprimBizData,stringauditAction,refstringhandleResult,refstringbizdata,objectcalledCtx,refstringerrMsg);
}
primBizData:
auditAction的取值
///<
summary>
///审批动作枚举类型
///<
/summary>
[Serializable]
publicenumAuditAction
Submit=0,//提交
Agree=1,//同意
Disagree=2,//不同意
Dispatch=3,//转签
Reject=4,//打回
Revocation=5,//撤销
Return=6,//退回
Abandon=7,//弃审
Bizdata:
业务需要传出的参数
handleResult:
是否需要重做,取值ReHandle/UnHandle
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingUFSoft.U8.Framework.LoginContext;
usingUFIDA.U8.Audit.Interface;
usingUFSoft.U8.EX.Common;
usingUFSoft.U8.EX.Common.Args;
usingUFSoft.U8.EX.Server.BusinessObject;
usingUFSoft.U8.EX.Framework.DataModel;
namespaceUFSoft.U8.EX.CreditPlugins
{
classFinalAuditPlugin:
IAuditPlugin
#regionIAuditPlugin成员
publicboolDoAudition(stringprimBizData,stringauditAction,refstringbizdata,objectcalledCtx,refstringerrMsg)
LoginServicelogin=newLoginService((CalledContext)calledCtx);
OrderBObo=newOrderBO(login);
AuditArgsauditArg=newAuditArgs();
intid=int.Parse(GetVoucherId(primBizData));
bo.GetData(id);
Orderorder=bo.dataasOrder;
auditArg.ID=order.orderHeader.id;
auditArg.Guid=order.orderHeader.guid;
auditArg.ufts=order.orderHeader.ufts;
auditArg.cCode=order.orderHeader.ccode;
auditArg.VarifyState=order.orderHeader.iverifystate;
auditArg.Version=order.orderHeader.iversion;
auditArg.UserName=login.UserInfo.UserName;
auditArg.VerifierDate=login.UserInfo.operDate;
auditArg.Verifier=login.UserInfo.UserName;
auditArg.Row=-1;
bo.BatchAudit(newAuditArgs[]{auditArg});
returntrue;
//thrownewException("
Themethodoroperationisnotimplemented."
);
privatestringGetVoucherId(stringkeySetData)
KeySetDataReaderreader=newKeySetDataReader(keySetData);
returnreader["
VoucherId"
];
privatestringGetVoucherType(stringkeySetData)
VoucherType"
privatestringGetVoucherCode(stringkeySetData)
VoucherCode"
publicboolHandleBizException(stringprimBizData,stringauditAction,stringcontext,refstringhandleResult,refstringbizdata,objectcalledCtx,refstringerrMsg)
thrownewException("
publicboolUndoAudition(stringprimBizData,stringauditAction,stringcontext,refstringbizdata,objectcalledCtx,refstringerrMsg)
Orderorder=bo.dataasOrder;
bo.BatchUnAudit(newAuditArgs[]{auditArg});
//
#endregion
}
1.1.2VB插件的开发
OptionExplicit
DimserviceAsPuServiceAdapter
PublicFunctionDoAudition(keyDataAsString,auditActionAsString,ByRefbizDataAsString,calledCtxAsObject,ByReferrMsgAsString)AsBoolean
Setservice=NewPuServiceAdapter
DoAudition=service.VerifyVoucher(keyData,auditAction,context,calledCtx,bizData)
EndFunction
PublicFunctionUndoAudition(keyDataAsString,auditActionAsString,ByRefbizDataAsString,calledCtxAsObject,ByReferrMsgAsString)AsBoolean
UndoAudition=service.UnVerifyVoucher(keyData,auditAction,calledCtx,bizData)
PublicFunctionHandleBizException(keyDataAsString,auditActionAsString,ByRefhandleResultAsString,ByRefbizDataAsString,calledCtxAsObject,ByReferrMsgAsString)AsBoolean
HandleBizException=True
DimbizDataObjAsNewBizDataMap
bizDataObj.LoadXMLbizData
IfMsgBox(bizDataObj.Value("
Error"
),vbRetryCancel)=vbRetryThen
handleResult="
ReHandle"
bizDataObj.Value("
Action"
)="
Retry"
Check"
False"
Else
UnHandle"
Done"
EndIf
bizData=bizDataObj.XML
MsgBox"
BizData="
&
bizData
3.5预制业务对象
业务对象是指审批流程处理的各种类型业务对象(比如:
采购订单、材料出库单、出口订单等)。
新的审批流利用UAP的数据引擎来定义这些业务对象,这样就可以通过修改数据引擎中的业务对象的查询结果来形成不同的业务对象的Schema,从而可以将这些对象的Schema用作流程定义的条件并在流程运行时获取业务对象实例的属性值来进行相应的处理。
3.6UAP数据引擎进行业务对象设计
审批流中用到的是UAP数据引擎中查询结果的数据,具体设计步骤及其与预置数据之间的关系如下:
在数据引擎中添加业务对象
设置业务对象基本属性
为业务对象添加功能
设置业务功能基本属性
为功能添加业务实体关系查询
设置实体关系查询基本属性
为查询添加基础业务实体
为查询添加列。
查询结果中必须包含结果列VoucherId,VoucherCode,VoucherType。
这三列在审批流中是关键业务数据,会在任务项的扩展属性中出现,可以作为任务项显示名称、发送消息模版的数据提供者。
命名必须注意完全匹配(注意大小写)
为查询添加计算结果列
为查询添加查询条件
测试新增业务对象
3.7审批业务对象注册
数据引擎中设计完毕业务对象后,就可提供给审批流系统使用。
使用前,需要先注册审批业务对象(注意:
与数据引擎中所描述的业务对象是两不同概念)。
注册过程使用位于U8SOFT\Workflow目录下的工具AuditBusinessServiceTool.exe来完成。
审批业务对象注册步骤如下:
1.建立分类关系
2.注册审批业务对象
3.增加业务事件
业务事件可理解为对审批对象所可以进行的审批操作,如对请假单这一审批业务对象,可以进行提交、审批、打回等操作。
业务事件URL中包含响应该业务事件的业务模块定位信息,在运行期间,门户将根据该信息加载相应的业务模块来完成该业务事件的响应。
URL预置格式如下:
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
Command>
<
paramName="
id"
Value="
"
/>
name"
authID"
cmdLine"
docType"
docID"
subFunction"
SubSysID"
/Command>
上述各参数值与UFSystem.UA_Menu中的字段存在对应关系,id->
UA_Menu.cMenu_Id,name->
UA_Menu.cMenu_Name,authID->
UA_Menu.cAuth_Id,SubFunction->
UA_Menu.cSub_ID,其他参数保留,可不预置。
如来料报检单:
QM020101"
Value
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- U8 工作流 开发 手册