NCV5-流程平台技术红皮书(8)

2019-03-22 18:56

4.2 消息类型

1. 公告消息——可由任何人看到的消息,分为集团所有用户可见和公司所有用户可见两

种。显示在[公告栏]。

2. P2P对发消息——某人向另外一人直接发送的消息。显示在[公告栏]。 3. 审批流工作项——审批流平台产生的需要业务处理的工作项。同时包括审批通过、不通

过、驳回后给制单人发送的消息。显示在[待办事务栏]。

4. 业务流工作项——业务流平台产生的需要业务处理的推拉式消息。显示在[待办事务

栏]。

5. 通知消息——不需要业务处理的普通消息。审批流消息配置产生的消息以及业务代码产

生的一些消息。显示在[待办事务栏]。

6. 预警消息——预警平台产生的预警消息。显示在[预警消息栏]。

第 33 页

第三章 开发规范

1. 平台缓存数据

流程平台在前后台对一些频繁访问且不经常更新的数据都有缓存。详细可参考PfDataCache和PfUIDataCache类的Javadoc文档。 前台缓存:

基本档案表bd_bdinfo的缓存,获取方法:

/**返回基本档案VO*/

BasedocVO nc.ui.pf.pub.PfUIDataCache.getBdinfo( String strPk) //主键PK

单据类型对照信息表pub_billtobillrefer的缓存,获取方法:

/**返回单据类型相互参照VO*/

BilltobillreferVO nc.ui.pf.pub.PfUIDataCache.getBillInfo( String currentBillType, //目的单据类型PK String billType) //源单据类型PK

单据VO对照表pub_votable的缓存,获取方法:

/**返回该单据类型主表的PK字段名*/

String nc.ui.pf.pub.PfUIDataCache.getBillPK( String billType) //单据类型PK

单据类型表bd_billtype的缓存,获取方法:

/**返回单据类型VO*/

BilltypeVO nc.ui.pf.pub.PfUIDataCache.getBillType( String billType) //单据类型PK

币种信息表bd_currtype的缓存,获取方法:

/**返回币种VO*/

CurrtypeVO nc.ui.pf.pub.PfUIDataCache.getCurrType( String strPk) //币种的PK

后台缓存:

单据类型参照信息表pub_billtobillrefer的缓存,获取方法:

第 34 页

/**返回单据类型相互参照VO*/

BilltobillreferVO nc.bs.pf.pub.PfDataCache.getBilltoBillRefer( String billType, //目的单据类型PK String sourceBillType) //源单据类型PK

单据VO对照表pub_votable的缓存,获取方法:

/**返回单据类型对照VO*/

VotableVO nc.bs.pf.pub.PfDataCache.getBillTypeToVO( String pk_billType, //单据类型PK boolean isMain, //是否为主表VO String itemCode) //废弃参数

单据类型表bd_billtype的缓存,获取方法:

/**返回单据类型VO*/

BilltypeVO nc.bs.pf.pub.PfDataCache.getBillTypeInfo(

String dataSource, //数据源名称 String billType) //单据类型PK

2. 动作处理

动作处理时序图1:

第 35 页

PfUtilClient业务UIObject processAction()queryActionHint()非“APPROVE”非“UNAPPROVE”PfUtilBOEngineServiceApproveFlowManagerWorkflowQuery1.判断是否进行动作前提示IUIBeforeProcAction.runClass()2.获取动作执行前的处理类,并执行wfVo=checkOnSave()3.单据类型的类名以开头,且动作为“SAVE”或“EDIT”,则获取指派信息.非SAVE动作wfVo=checkWorkFlow()wfVo=checkWorkFlow()retObj=processAction(wfVo)4.执行动作SAVE动作wfVo=queryUnfinishedWorkflowInfo(paraVO)wfVo=checkWhenSave(paraVO)status=queryWorkflowStatus(paraVO.m_billId)5.retObj实现了IProcActionRetObject,则获取动作执行后的处理类,并执行IUIAfterProcAction.runClass()wfVo=queryUnfinishedWorkflowOnSave(paraVO,status)queryWorkflowDef()6.上述过程的异常类型为IPfRetException且需要处理,则再次进行处理retObj=runAfterActionException()retObj=processActionFlowInner()7.retObj实现了PfUtilActionVO,则前台显示loadDLG()BillQueryDLG.showModal()

图 34非审批类动作处理

动作处理时序图2:

第 36 页

PfUtilClient业务UIObject processActionFlow()queryActionHint()PfUtilBOPFBusiAction“APPROVE”或“UNAPPROVE”或其他1.判断是否进行动作前提示AbstractCompilerIUIBeforeProcAction.runClass()2.获取动作执行前的处理类,并执行3.动作为“APPROVE”,则弹出审批对话框.wfVo=checkWorkFlow()wfVo=checkWorkFlow()new WorkFlowCheckDlg(wfVo)WorkFlowCheckDlg如果制单即审批通过,或没有审批流定义,则直接审批通过execApprovePass(paraVo)3'.动作非“APPROVE”与用户交互:1.审批意见2.指派信息EngineServicePFBusiStateprocessWorkFlow(paraVo)procActionFlow(paraVo)intFlag=forwardCheckFlow(paraVo)execApproveState(paraVo,intFlag)getVariableValue()3a.用户取消了审批对话框return null;wfVo=null;retObj=processAction(wfVo)retObj=processAction(wfVo)actionBeforeWorkFlow()ActionConstrict()5.retObj实现了IProcActionRetObject,则获取动作执行后的处理类,并执行IUIAfterProcAction.runClass()6.上述过程的异常类型为IPfRetException且需要处理,则再次进行处理retObj=runAfterActionException()retObj=processActionFlowInner()流程仍处于审批进行中时直接返回return IWorkFlowRet动作为最后一个动作,执行动作驱动actiondrive()动作为”SAVE”,”EDIT”,则启动审批流执行动作脚本retObj=actionOnStep()处理弃审execApprovePass(paraVo,intFlag)PFActionConstrictexecApproveGoing(paraVo,intFlag)WorkflowQueryexecApproveNoPass(paraVo,intFlag)execUnApproveFree(paraVo,intFlag)动作约束检查intFlag=queryWorkflowStatus(billId)查询单据审批状态:-1 -自由态0 -审批不通过1 -审批通过2 -进行中3 -提交态TaskManager7.retObj实现了PfUtilActionVO,则前台显示loadDLG()BillQueryDLG.showModal()startApproveFlowAfterAction()sendWorkFlowOnSave()acceptTaskFromBusi(task)图 35审批类动作处理

2.1 UI端调用-PfUtilClient

1. 单据动作处理(非\)

Object nc.ui.pub.pf.PfUtilClient.processAction(Container parent,

String actionName, String billType, String currentDate, AggregatedValueObject vo, Object userObj,

String strBeforeUIClass, AggregatedValueObject checkVo ) throws Exception

功能:

第 37 页


NCV5-流程平台技术红皮书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:地磅称重刷卡解决方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: