流程配置说明(1)

合集下载

论述配置1lmpbs缓冲液的流程

论述配置1lmpbs缓冲液的流程

论述配置1lmpbs缓冲液的流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 准备材料:8g NaCl(氯化钠)0.2g KCl(氯化钾)1.44g Na2HPO4(磷酸氢二钠)0.24g KH2PO4(磷酸二氢钾)1L 蒸馏水或去离子水2. 溶解试剂:将 NaCl、KCl、Na2HPO4 和 KH2PO4 依次加入到 1L 的容量瓶中。

SDH基本配置流程1

SDH基本配置流程1

开局步骤第一步:填写资料1、将该站点的网元名称、网元ID及网元IP地址按规划填写好。

2、将该站相关时隙配置数据,包括PCM用2M、电能量、远动用2M,及网络通道规划,填写好。

第二步:设备调试一、厂站端单机调试(单机调试)1、检查设备的安装,单板位置按要求插在相应的槽位,检查电源接线,接地、测量电压后设备上电。

2、拔出设备NCP板,将NCP板4位S1拨码开关拨为全ON状态,插入NCP板,此时NCP板IP地址为192.192.192.11,设置电脑IP地址为192.192.192.X (X不能为11),连接NCP板Qx口至电脑(建议使用交叉网线)。

3、点击开始-运行,输入cmd,进入命令提示符,确认电脑能ping通192.192.192.11,输入telnet 192.192.192.11进入设备,3、运行命令清除数据库,命令为d-erase –d1 ,4清除完数据库后复位NCP板,输入命令d-reboot。

5、重新telne 192.192.192.11,6、运行d-cfgnet命令进入设备IP地址配置界面,依次输入网元IP地址、子网掩码、MAC地址,注意不同网元的MAC地址不可相同,建议这样设置:假设网元I P地址为193.1.1.18,则MAC设为93:1:1 。

7、将修改后的信息进行保存,按照提示输入Y,8、之后输入d-reboot复位NCP板,9、稍后退出,网络显示本地连接正常后拔下NCP板,将NCP的S1拨码开关还原(非全on状态),电脑地址设置为如下图:在ip地址一栏,最后一位一般要求小于18(18往后为设备内部通信用)。

二、网管操作部分:网管操作部分流程:操作人确认人完成情况1、打开网管,启动server及gui。

2、登录网管。

3、备份数据(修改前)。

4、填写该网元的相关数据规划表(ID、 IP 、名称及时隙)5、创建网元,按照规划填写网元的ID及IP地址、网元名称。

6、将网元添加到相应的网元组中及主副网管的权限分配。

Pfsense+Panabit简明配置手册

Pfsense+Panabit简明配置手册

Pfsense+Panabit简明配置手册1. 安装流程(1) PFS+PA需要在主机准备4块网卡【INTEL的,最好是同样速率的卡】。

前两块接PFS的WAN和LAN。

然后LAN口的网线接到PA的第三块网卡上。

做PA外网卡。

第四块网卡接交换机做PA内网卡。

准备一块最好是IDE接口的硬盘。

不行的话SATA的也行,主硬盘WINDOWS系统,直接PE也可以安装。

道理一样,把IMG文件和physicaldisk文件拷入主硬盘或者U盘。

启动系统或者PE。

直接运行CMD 里面输入phy -u XXX.img【XXX代表IMG文件名】 ,然后提示选择硬盘进行格式化安装。

这一步千万别选错你现在用的系统盘就行了。

直至安装完成后重启,拔掉主硬盘或者PE用的U盘。

(2) 启动系统。

会自动进入BSD的启动界面。

加载完成后系统会显示现有的网卡及名称。

首先设置的是VLAN,这里我们不需要用就先点N回车。

然后需要为WAN口指定网卡。

这时候看上面加载的网卡后自己确定一个为外网卡。

例如FXP0或者rl0.回车。

然后指定内网LAN口的网卡。

FXP1或者RL1。

回车。

接着指定其他网卡。

这里暂时不需要就直接回车就行了。

然后到管理界面。

我们选2.设置好LAN 口的管理IP。

设置完成后进入下一步骤。

2 Web管理界面(1) 登陆Web界面:在浏览器输入https://192.168.1.1 (默认PFS的LAN口管理IP地址)进入WEBGUI管理界面。

(2) Web界面缺省用户名、密码:用户名:admin密码:pfsense设置好LAN的子网地址和DNS服务DHCP服务,【记得把WEBGUI的登录方式设置为HTTP,默认是HTTPS会和PA登录冲突】panabit服务: 使用步骤操作说明使用步骤:一、上Panabit官网下载安装包例如:“PanabitNew_XIHANr12_20120112_FreeBSD8.0_dev.tar.gz” 二、下载后上传,然后选上“启用Panabit服务”并指定Panabit数据桥的2个网卡 三、“启动Panabit”,最后就是“重启防火墙”,完成。

工程部关于开工、竣工报告盖章审批流程的说明 (1)

工程部关于开工、竣工报告盖章审批流程的说明 (1)

工程部关于开工、竣工报告盖章审批流程的说明各项目部:为快速办理项目部的开工、竣工报告盖章的手续,现对项目部办理开工、竣工报告的盖章流程就行说明:一、开工报告盖章审批:流程发起:自营项目由项目部OA发起,协作项目部可由工程部OA发起(需提供电子版申报文件)。

审批流程为:项目部->工程部资料->通知办公室盖章流程介绍:1、发起流程:上传《工程部开工备案表》,需准确填写相关内容,并由项目经理(协作项目经营部联系人也需)签字,并加盖项目部图章。

详见附件1(填写要求和格式)。

上传需办理的盖章表格(例如:开工报告),并准确填报相关内容(其中必须明确开工日期、项目具备条件、项目经理签字、项目部盖章)详见附件2(填写要求和格式)2、工程部资料对项目的是否签订有效合同、是否进行了施工组织设计审批、是否签订劳务合同、是否对项目部进行了《康业公司关于项目管理规范性要求》的告知等要求。

审查通过即通知办公室办理盖章手续。

二、竣工报告盖章审批、消防竣工报告盖章:流程发起:自营项目由项目部OA发起,协作项目部可由工程部OA发起(需提供电子版申报文件)。

审批流程为:项目部->工程部资料->工程部安全->工程部质量->工程部经理->通知办公室盖章竣工报告盖章审批流程介绍:1、发起流程上传《工程部竣工备案表》,需准确填写相关内容,并由项目经理((协作项目经营部联系人也需)签字,并加盖项目部图章。

详见附件3(填写要求和格式)。

上传需办理的盖章表格(例如:竣工报告、质量保修书、分部(子分部)质量验收记录、工程小结、顾客满意度征询表),并准确填报相关内容(其中必须明确竣工日期、验收结论、项目经理签字、项目部盖章)详见附件4(填写要求和格式)。

2、工程部资料对《工程部竣工备案表》中相关合同信息进行核对:工期、质量、安全、以及合同约定的其他要求。

对于明显出现合同工期、质量、安全要求与申报填写情况不符时,合同又明确规定了违约责任条款时,项目部必须提供的情况说明,如有变更必须提交甲方确认手续作为附件。

库房内部业务流程(1).doc

库房内部业务流程(1).doc

进货流程进货流程包括进货业务流程、进货结算付款流程、进货总体回退流程、收货管理流程和进货退货流程。

进货业务流程一、业务说明企业管理层根据企业发展目标在年初指定年销售计划。

销售部门根据销售额、销售利润等指标确定年度、季度销售目标。

同时对于主营品种重点照顾。

在此基础之上,进货部门就得到了本年度或季度需要购进的品种、数量信息。

当然,这也不是进货部门购进的唯一依据。

新经营品种的采购往往是进货部门、企业管理层和供应商协商确定的。

在此会产生一个粗的进货计划。

进货计划明确后,各个业务员大致有了一个进货参考,根据库存、销售信息反馈,业务员在日常工作中通过电话、会面等各种方式与供应商保持联系,确定进货的品种和数量。

此时可以考虑利用进货合同管理。

但从实际情况看,业务人员还难以从手工方式转变到利用计算机进行日常业务管理,进货合同也并不是所有的进货都有,业务人员对进货合同的说法比较敏感,建议一切进货记录都称为要货记录而不要轻易使用系统中的进货合同概念。

现阶段看,无库存情况还是很少的。

保留少量库存不仅仅是流动资金的占用,而且还会需要物理空间。

为了保证物理空间能够满足需要,需要进货时业务员应该提前通知仓储部门准备库存地点,对于铁路送货等情况,还需要备车提货。

(补充一般送货的几种形式)货到仓库后,仓库首先需要验收,对比送货单和实物,确认后仓库人员要填写收货单据,明确送货单位、收货品种、数量、质量等信息。

一方面提供给对方送货人员作为收货凭据,另一方面,则需要将收货单据传递到业务部门办理记帐手续。

收货时一般有两种情况:对方提供价格信息、对方不提供价格信息。

这两种不同的做法对系统的使用是不同的。

一般的原则是:库房只管理货品的数量、批号等信息,价格由业务部门来确定。

进货部门在收到收货单据后,查找要货记录核对(或填写)本次进货价格,并在要货记录上进行标记。

在手工管理时,还需要在业务库存中添加此记录,以备察看。

价格确定后制进货单据向下个环节流转。

最新jira配置流程说明

最新jira配置流程说明

j i r a配置流程说明Jira平台配置说明Jira安装完成以后地址栏中输入:http://192.168.0.30:8070/secure/Dashboard.jspa 进行平台配置。

可以对项目中的一些参数进行设置:包括“问题类型”(Issue Types)、“问题状态”(Statuses)“问题等级”(Priorities)等,点击上方的导航菜单进入“管理”界面。

一、基本设置1、设置“问题类型”点击左侧的导航菜单中:Issue Settings—> Issue Types,如下图:在类型列表的下方Add New Issue Type可以添加自己想要的类型,选择对应的图片,点击增加。

还可以对已存在的类型进行编辑和删除。

点击上面的Issue Types Schema 可以定义自己的问题类型的模板,比如在选择问题时只想要“缺陷”和“完善”这两种类型。

如下图:然后再在此模板中增加想要的问题类型,之后直接在项目中使用该类型模板就可以了。

2、设置“问题状态”点击左侧的导航菜单中:Issue Settings—> Statuses,如下图:在状态列表的下方Add New Status中可以添加自己想要的状态。

其中Mode列表示的是:已经被工作流使用Workflows列表示的是:哪个工作流中在使用操作列表示的是:可以对状态进行编辑。

3、设置“问题等级”点击左侧的导航菜单中:Issue Settings—> Priorities,如下图:在状态列表的下方Add New Priority中可以添加自己想要的等级。

输入名称,选择图片,选择等级颜色,点击保存,如下图。

其中:Color列表示的是:根据等级选择的颜色,时用户添加问题等级时自定义的。

Order列表示的是:在创建问题时,报告人选择问题等级的下拉菜单中的顺序。

操作列表示的是:可以选择问题等级的默认值,同时可以对等级进行编辑。

二、用户和组管理如果想让某些人共同拥有操作某些步骤的权限,就要将这些拥有共同权限的人分成一组。

福建省工程建设项目审批流程图简要说明(1)

福建省工程建设项目审批流程图简要说明(1)

附件2工程建设项目审批流程图简要说明工程建设项目审批流程图(以下简称项目审批流程图)分为政府投资房建类项目、政府投资市政类(线性工程)项目、社会投资房建类项目、社会投资工业项目、小型工程项目、带方案出让用地的社会投资项目等6类。

按照审批环节精简效能、审批部门协同办理、审批过程并行推进的原则,根据不同项目类型,将政府投资房建类和市政类、社会投资房建类和工业项目、小型工程和带方案出让用地的社会投资项目,全流程审批时间分别压缩至90、70、50个工作日以内。

项目审批流程图以简图和详图两种方式展现,便于各地各部门理解实施。

现简要说明如下:一、项目审批流程图包括项目前期策划生成和项目审批阶段两大部分。

项目前期策划生成所需时限不计入审批时限。

实际工作中,需要各地各部门加强项目前期策划生成,为项目审批提速奠定基础。

二、根据项目不同特点,项目审批流程图在审批阶段划分上,作了以下区分:(1)政府投资房建类项目、政府投资市政类项目、社会投资房建项目、社会投资工业项目等4类工程项目审批均划分为立项用地规划许可阶段、工程建设许可阶段、施工许可阶段、竣工验收阶段等4个审批阶段。

(2)小型工程建设项目划分为工程建设许可阶段、施工许可阶段、竣工验收阶段等3个审批阶段。

(3)带规划设计方案出让用地的社会投资项目划分为立项用地规划许可阶段、工程建设许可施工许可阶段、竣工验收阶段等3个审批阶段。

三、项目审批流程图对各审批阶段相应的审批环节进一步精简,其中:(1)立项用地规划许可阶段,将建设项目用地预审与选址意见书核发合并办理。

(2)工程建设许可阶段,将设计方案审查并入“建设工程规划许可证核发”事项中办理、“人防审查意见”不作为办理建设工程规划许可证的前置条件。

(3)施工许可阶段,实行施工图设计文件联合审查,将质量安全监督手续与施工许可证合并办理;“人防审查意见”不作为办理施工许可证的前置条件,与施工许可证核发并行办理。

(4)竣工验收阶段,实行规划、土地、消防、人防、档案等事项限时联合验收。

(附件)面粉加工灌装流程

(附件)面粉加工灌装流程

(附件)面粉加工灌装线一方案技术参数:一.我们做以下生产线作工流程:1.面粉加工灌装生产线:倒料-------混合提升机-------震动混合塞--------混合搅拌机-------混合提升机------- 混合灌装机以上加以辅助平台以图纸尺寸为准二.配置及说明:(1)倒料槽:配置挖一个地下池长1500mm.宽1500mm.深1200mm,井盖用10#槽钢打横支持,面板用不锈钢3厚防滑板焊接,中间开一个∅1200口直接下料,掉到混合提升机里。

(2)混合提升机:配置提升直桶为∅250壁厚5厚,材料是304不锈钢。

主轴∅60,材料304不锈钢。

螺旋叶片6厚,材料304不锈钢。

两头配有密封圈,中间法兰螺丝连接。

电机功率:5.5kw,速比:40——200转,带无级调速。

出料口材料304不锈钢∅200长350。

接震动混合塞。

(3)震动混合塞(4)混合搅拌机配置桶身长2000mm宽1000mm高1500mm总高2000m桶身材料304不锈钢3厚主轴∅60。

螺旋搅拌叶片8厚。

两头配有密封圈。

脚10#槽。

电机功率:5.5kw,速比:80——250转(5)混合提升机:配置提升直桶为∅250壁厚5厚,材料是304不锈钢。

主轴∅60,材料304不锈钢。

螺旋叶片6厚,材料304不锈钢。

两头配有密封圈,中间法兰螺丝连接。

电机功率:5.5kw,速比:40——200转,带无级调速。

出料口材料304不锈钢∅200长350。

接震动混合塞。

(6)混合灌装机:配置桶身长3000mm宽1000mm高16mm总高2800m桶身材料304不锈钢3厚。

主轴∅60。

螺旋搅拌叶片6厚。

两头配有密封圈。

脚10#槽。

电机功率:11kw,速比:20转。

气动蝶阀出料口∅160。

传动链6分链(7)平台加固脚和面用10#槽钢。

辅助支持用A3角铁40#以图纸尺寸为准(8)楼梯:1.材料10#槽钢宽1000mm总高3000mm上混合搅拌机平台。

2.材料10#槽钢宽1000mm总高2000mm上混合灌装机样图纸尺寸为准三.以上示为参照。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录流程配置说明 (2)一. 流程配置文件 (2)1.start节点 (3)3.state节点 (3)4.system-state节点 (4)5.task元素 (4)6.assignment元素 (4)7.transition元素 (4)8.condition元素 (5)二. 人员查找任务Assignment (6)2.1简单assignment (6)2.2复合assignment (7)三.流程附加操作Action(Entry,Exit) (10)流程配置说明本参考文档主要针对流程配置文件的开发人员,主要介绍流程配置文件的结构,人员查找任务,后台预定义的一些操作类.实例配置原文:一.流程配置文件简易实例(这里只给出各个流程步骤中stateconfig的内容部分):<start sid="S10" name="起草" path="apply" needComment="false"> <transition name="第一负责人审批" returnBack="false" to="S20"/></start><state sid="S20" name="第一负责人审批" path="approve" needComment="true"> <entry type=".gbs.TestAction"></entry><task name="审批人查找任务" tid="approver1" advisable="false" behavior="claim"><assignmenttype="erAssignment"><arg name="user">04070945</arg></assignment></task><transition name="第二负责人审批" returnBack="false" to="S25"> <condition type="BSH"><arg name="SCRIPT">String companyType =(String)CONTEXT_INSTANCE.getTransientVar().get("varCompanyType");return "1".equals(companyType) ;</arg></condition></transition><exit type=".gbs.TestAction"></exit></state><system-state sid="S25" name="自动状态" path="approve"needComment="true" auto="true"><transition name="第二负责人审批" returnBack="false"to="S30"></transition></system-state><state sid="S30" name="第二负责人审批" path="approve" needComment="true"> <task name="审批人查找任务" tid="approver2" advisable="true"behavior="claim"><assignmenttype="erAssignment"><arg name="user">04070945;99040005</arg></assignment></task><transition name="流程结束" returnBack="false" to="SE"></transition> </state><end sid="SE" name="流程结束"><entry type="com.suning.process.core.action.PositionNotifyAction"> <arg name="orgLevel">30</arg><arg name="deptTemplate">1030510705</arg><arg name="position">manager</arg></entry></end>流程的配置由一个start节点,若干个state节点,若干个system-state节点,若干个end节点组成.这些节点都是作为流程的状态存在于流程配置中,他们的公共属性包括:Sid: 流程状态标识Name: 流程状态中文说明Path: 流程审批属性,一个自定义的属性,配置人员可以给该属性设置不同的值来通知业务开发人员该步骤的审批人员将对流程进行何种操作needComment: 流程是否需要审批人意见(true/false)auto: 该状态是否是自动状态,和system-state搭配使用表示流程自动跳转状态1.start节点流程的起始节点,一个流程配置有且只有一个start节点,start节点由若干个transition组成表示不同条件下的流程迁移路径.2.end节点流程的终止节点,表示流程的结束,一个流程配置可以存在1个或者多个end节点,表示不同的流程结束状态.end节点不配置任何transition,但可以选择性的配置一个entry元素.entry 元素表示流程进入该状态的时候需要执行的附加操作.3.state节点流程的普通状态,也是流程配置中存在最多的一种配置,表示流程的一个普通状态,该状态需要人员参与完成,也就是通常说的人员任务,使用task元素表示.State节点同样由多个transition,表示流程的迁移路径.State节点可以选择性的配置entry和exti元素,entry元素同上,exit元素正好和他相反,表示流程发生迁移的时候,离开该状态所执行的附加操作.4.system-state节点该节点是一种特殊的state节点,表示自动状态,他不需要人员参与完成,当流程执行到该节点的时候,流程会自动进行计算,从该节点的transition路径中选择出一条有效路径,并迁移到该路径.由于system-state节点不需要人员参与,所以他不需要配置task元素.5.task元素在state节点中使用,定义参与的人员信息.<task name="审批人查找任务" tid="approver1" advisable="false"behavior="claim"><assignmenttype="erAssignment"><arg name="user">04070945</arg></assignment></task>Task的属性包括:Name: 人员任务名称Tid: 人员任务标识,暂时无特殊含义Advisable: 是否允许加签(true/false),定义该任务上是否允许添加加签任务Behaivior: 人员任务的行为模式,目前可以使用的类型有:claim竞争模式和all-wait 汇签模式Claim模式要求所有参与该任务的人员竞争同一个单据,第一个点击该任务的人员对该任务享有独占权,任何后续的人员无法代开该任务,知道前者主动放弃了声明.All-wait汇签模式允许该任务的所有人员同时对该任务进行审批操作,并在所有人完成审批操作后流程继续流转到后续的任务.All和all-wait模式不同的是,同时产生任务的多个审批人中有任意一个人提交流程后,流程就会流转到下一个任务,而不必等待所有审批人审批完成.Task需要定义一个assignment元素,该元素定义了参与审批的人员的人员查找逻辑.6.assignment元素Task元素的子元素,定义人员的查找逻辑.如上所示,assignment元素包含2部分,type 属性和若干个arg子元素.Type可以有2中定义:1)实现类的完整路径,该类必须实现com.ibm.bpe.core.task.IAssignment接口,流程会每次生成一个该类的实例进行人员查找任务.2)非com开头的字符串,以spring的注入方式定义实现类.流程会以该字符串作为Bean的名字在workflow.xml查找对应的spring bean来进行人员查找任务.Arg定义了计算的参数,以name-value的形式存在.7.transition元素State节点,system-state节点的子元素,表示流程的一条迁移路径.<transition name="第二负责人审批" returnBack="false"userSel=”multiple” to="S25" ><condition type="BSH"><arg name="SCRIPT">String companyType =(String)CONTEXT_INSTANCE.getTransientVar().get("varCompanyType");return "1".equals(companyType) ;</arg></condition><action type=”com.suning.process.TestAction”></action></transition>Transitoin的属性包括:Name: 审批路径名称returnBack: 是否允许回退,暂时无特殊含义to: 流程的下一步状态,为需要跳转的流程的stateid,也可以为$开头的一些通配符(这种配置属于动态决定流程后续流转步骤的方式),目前仅支持$last,表示跳转到流程的前一步userSel: 审批人员选择方式,可选属性,审批人员选择的方式有3种:all(默认方式)选择所有列出的审批人员,multiple在列出的所有审批人员中选择任意多个审批人员,single在列出的所有审批人员中选择一个审批人员transition可以选择性的添加condition子元素,以表示该迁移路径是有条件的,在该条件计算为true的时候,该路径为一条有效的路径,可以作为给用户选择的审批路径.如果不定义condition子元素,则默认表示该路径永远有效.Transition可以选择性的添加若干个action子元素,以表示在流程发生迁移的时候需要执行的附加动作,和exit类似,不过这里action可以定义多个.8.condition元素Transition元素的子元素,定义一个有效路径的条件计算.transition元素类似assignment元素,由type属性和若干个arg子元素组成.Type可以有2中定义:1)实现类的完整路径,该类必须实现com.ibm.bpe.core.condition.Condition接口,流程会每次生成一个该类的实例进行条件的计算.2)非com开头的字符串,以spring的注入方式定义实现类.流程会以该字符串作为Bean的名字在workflow.xml查找对应的spring bean来进行条件的计算.系统中默认已经定义了一种condition:type=BSH,他采用BeanShell的方式,通过定义一些简单的java代码,来实现condition的计算.9.action,entry,exit元素这3中元素其实是一回事情,都表示流程需要执行的一些附加操作,和assignment相似,也由type属性和若干个arg子元素组成.Type可以有2中定义:1)实现类的完整路径,该类必须实现com.ibm.bpe.core.action.IAction接口,流程会每次生成一个该类的实例进行附加操作的计算.2)非com开头的字符串,以spring的注入方式定义实现类.流程会以该字符串作为Bean的名字在workflow.xml查找对应的spring bean来进行附加操作的计算.二.人员查找任务AssignmentAssignment目前分为2类:简单assignment和复合assignment简单assignment通过流程中的直接配置定义查找一些固定逻辑的简单查找任务;有些审批人员的查找逻辑在不同的业务场景下,会有不同的查找方式,复合assignment采用了spring 的配置方式,为每一个场景分别定义各自的查找任务.当然,就像上面assignment所提到的那样,2种assignment都可以使用直接定义和spring 的配置两种方式.2.1简单assignment1.超预算审批人:com.suning.process.core.assignment.BeyondBudgetAssignment计算超预算审批时候的预算审批人,分子公司人员超预算,需要申请大区总经理额度,预算审批人为大区总经理;总部人员超预算,需要申请对应的中心总监/职能总部办公室/总裁办额度,预算审批人为总部中心总监/职能总部办公室负责人/总裁办负责人根据起草人所在的部门决定三者之一.页面参数: varBudgetDept变量,该变量表示责任中心预算编制的部门编码.任务参数:无2.业务审批人/综合业务审批人:com.suning.process.core.assignment.BusinessAssignment 计算业务审批人和费用申请单中使用的预算审批人(综合业务审批人),业务审批人的具体业务逻辑查看相应的excel定义文件,预算审批人为有相应预算编制的部门负责人.任务参数: type,查找的审批人类型,business=业务审批人,budget=综合业务审批人Department,需要查找的部门编码,可选,默认情况下为起草人所在的部门,$department通过页面隐含域varDepartment指定查找的部门编码页面参数: varBudgetDept变量,该变量表示责任中心预算编制的部门编码,用于综合业务审批人查找使用.VarUseDynamicUser变量,该变量表示是否使用指定的负责人作为综合业务审批人VarDynamicUser变量,该变量和varUseDynamicUser一起使用,指定了特定的综合业务审批人varDepartment变量,和department组合使用,指定查找的业务负责人的所在的部门编码3.分子公司/营运部总经理:panyManagerAssignment 计算大区/子公司/大区营运部/子公司营运部总经理任务参数:orgLevel,公司级别,60表示查找所在的大区总经理,70表示查找所在的分子公司总经理,80表示查找对应的营运部总经理Department,相关联的部门,可以配置的值有:$draftDept表示查找起草人所在部门对应的大区/子公司/营运部总经理;$currentDept表示查找当前审批人所在的部门对应的大区/子公司/营运部总经理页面参数:无4.部门负责人:com.suning.process.core.assignment.DepartmentManagerAssignment 计算指定部门的负责人.任务参数:department,查找任务相关联的部门,可以配置的值有:$draftDept表示查找和起草人相同总部/大区/子公司/营运部的特定部门负责人;$currentDept表示查找和当前审批人相同总部/大区/子公司/营运部的特定部门的负责人;$department表示查找指定部门相同总部/大区/子公司/营运部的特定部门的负责人.orgLevel表示查找的部门级别,30表示查找总部部门,60表示查找大区部门,70表示查找子公司部门,80表示查找营运部部门.$department表示采用和department 同级别的部门.OrgTemplateCode表示查找部门的模板编码,模板编码为10位数字编码,可以采用逗号进行分隔,以达到同事查找几个特定部门负责人的需求.页面参数:varDepartment和$department通配符组合使用,用于指定特定的参考部门5.部门专员:com.suning.process.core.assignment.PositionAssignment计算指定部门的指定专员任务参数:department,查找任务相关联的部门,可以配置的值有:$draftDept表示查找和起草人相同总部/大区/子公司/营运部的特定部门专员;$currentDept表示查找和当前审批人相同总部/大区/子公司/营运部的特定部门的专员. $department表示查找指定部门相同总部/大区/子公司/营运部的特定部门的负责人.orgLevel表示查找的部门级别,30表示查找总部部门,60表示查找大区部门,70表示查找子公司部门,80表示查找营运部部门. $department表示采用和department同级别的部门.OrgTemplateCode表示查找部门的模板编码,模板编码为10位数字编码,可以采用逗号进行分隔,以达到同事查找几个特定部门专员的需求.Position表示查找专员的岗位编码页面参数: varDepartment和$department通配符组合使用,用于指定特定的参考部门6.流程特定步骤的审批人:com.suning.process.core.assignment.StepAssignment计算流程特定步骤的审批人,该配置的步骤必须在当前步骤之前已经完成.任务参数:step,指定的特定状态,审批人为该状态对应的已经审批的过的审批人页面参数:无7.特定人员审批人:erAssignment指定特定的人员工号作为审批人任务参数:user,指定的特定人员,可以配置的值:$drafter起草人;$currentUser当前审批人;人员工号(可以使用分号分隔,同事配置多个审批人)2.2复合assignment有一些业务的审批人逻辑相对复杂,在不同的业务场景下会有完全不同的审批人的查找逻辑(例如财务费用的内控线负责人),这种情况下开发新的复杂审批人查找逻辑,效率和正确率上都不合适,可以采用复合assignment的方式.复合assignment最大程度的复用了已有的各种审批人查找逻辑.他采用的是一种类似配置表的condition-assignment的模式.即为不同的业务场景定义不同的几个条件,并为每一个条件单独定义审批人查找逻辑.所有的condition都是实现了com.suning.process.core.assignment.ext.IAssignmentCondition接口的实现类,所有的assignment 都是实现了com.ibm.bpe.core.task.IAssignment接口的实现类.复合assignment的计算结果通常应该是其中某一条有效condition对应的assignment计算的结果.复合assignment:plexAssignment任务参数: classpath,配置文件的类路径beanName:复合assignment的bean的名字class属性: conditionMap条件映射mapassignmentMap每一个条件对应的审批人查找assignmentconditionMap和assignmentMap采用相同的key,进行condition-assignment 的对应关系ComplexAssignment的配置如下:在state-config中定义一个ComplexAssignment,配置classpath和beanName两个参数,指定spring配置的assignment<assignmenttype="plexAssignment"> <argname="classpath">classpath:/com/suning/process/FeeContract-assignment .xml</arg><arg name="beanName">businessDepartmentManager</arg> </assignment>然后在相应的配置文件中重新定义一个ComplexAssignment,配置对应的conditionMap和assignmentMap属性.<!-- 业务线部门负责人定义 --><bean id="businessDepartmentManager"class="plexAssignment" ><property name="conditionMap"><map><entry key="hqFinanceSpecialAuditCondition"><refbean="hqFinanceSpecialAuditCondition"/></entry><entry key="districtFinanceSpecialAuditCondition"><ref bean="districtFinanceSpecialAuditCondition"/></entry><entry key="companyFinanceSpecialAuditCondition"><ref bean="companyFinanceSpecialAuditCondition"/></entry><entry key="financeShangshiAuditCondition"><refbean="financeShangshiAuditCondition"/></entry><entry key="gongshangAuditCondition"><refbean="gongshangAuditCondition"/></entry></map></property><property name="assignmentMap"><map><entry key="hqFinanceSpecialAuditCondition"><refbean="planCenterAccountingManager"/></entry><entry key="districtFinanceSpecialAuditCondition"><ref bean="districtFinanceManager"/></entry><entry key="companyFinanceSpecialAuditCondition"><ref bean="companyFinanceManager"/></entry><entry key="financeShangshiAuditCondition"><refbean="dongmibanManager"/></entry><entry key="gongshangAuditCondition"><refbean="planCenterGongShangManager"/></entry></map></property></bean>2.2.1condition条件该condition是一个接口定义,任何实现该接口的class都可以作为一个condition 使用(这边的condition区别于transition中的子元素condition)Com.suning.process.core.assignment.ext.IAssignmentConditionpublic interface IAssignmentCondition {boolean check(ContextInstance ctxInst);}开发人员可以根据各自的业务场景实现相应的接口.Condition中有一个预留的实现类BooleanExpressAssignmentCondition,该类的功能是通过自定义的布尔表达式将一些固定的condition进行二次组合,形成功能更强大的复合条件.该class有2个属性:private java.util.Map conditions;private String express;conditions是一个所有使用的基本condition组成的map;express是布尔表达式,布尔表达式中采用每一个基本condition在map中对应的key来进行表达式的编写,例如: <!-- 财务专项咨询费condition --><bean id="financeSpecialAuditCondition"class="com.suning.process.core.assignment.ext.impl.BooleanExpressAssi gnmentCondition"><property name="conditions"><map><entry key="financeAuditCondition"><refbean="financeAuditCondition"/></entry><entry key="dongmibanCondition"><refbean="dongmibanCondition"/></entry><entry key="gongshangManageCondition"><refbean="gongshangManageCondition"/></entry><entry key="gongshangShuiwuCondition"><refbean="gongshangShuiwuCondition"/></entry></map></property><property name="express" value="return financeAuditCondition &amp;&amp; !dongmibanCondition &amp;&amp; !gongshangManageCondition &amp;&amp; !gongshangShuiwuCondition;"/></bean>这是一个财务专项咨询费的业务条件,基本条件包括4个:financeAuditCondition(财务咨询费条件),dongmibanCondition(董秘办的上市专项咨询费),gongshangManageCondition(工商管理咨询费),gongshangShuiwuCondition(工商税务咨询费).业务条件是:财务咨询费中除去上述3中特例的咨询费为财务专项咨询费,我们采用4个condition在map中对应的key值组成了上述这段业务条件描述,就形成了return financeAuditCondition &amp;&amp; !dongmibanCondition&amp;&amp; !gongshangManageCondition&amp;&amp; !gongshangShuiwuCondition;三.流程附加操作Action(Entry,Exit)所有的Action类都必须实现com.ibm.bpe.core.action.IAction3.1预算操作action(com.suning.process.core.action.BudgetAction)流程中调用预算操作的action,包括预算申请,预算更新,预算调拨等.必须的相关配置文件:必须在classpath的根路径下存放一个budget-service.xml的配置文件,该文件定义了预算操作的服务接口,数据访问层,mb接口客户端等.任务参数:budgetServiceBeanName,预算服务类定义的bean的名称budgetNotifyBeanName,预算通知类定义的bean的名称,该bean主要定义了一些预算操作同时附加的通知动作,一般用处不大.Action,执行的预算操作,有apply(预算冻结),update(预算更新),adjust(预算调拨),confirm(预算确认),release(预算释放).这些操作可以由流程静态的配置的流程的配置文件中.action的值也可以使用dynamic,这个时候具体的执行操作由页面上通过varBudgetActionType变量指定.NeedConfirm,指定对应的预算冻结,预算更新,预算调拨操作是否需要自动完成confirm(预算确认操作)页面参数:varBParams_CostCenterOut调拨成本中心代码varBParams_ProcessCode预算操作公文号varBParams_UpdateProcessCode补单的时候原申请单的公文号varBParams_Time预算操作日期格式为yyyyMMddvarBParams_CostCenter预算操作成本中心代码varBParams_CostFactor预算操作科目varBParams_Amount预算操作金额varBParams_CompanyCode预算操作发生的公司,为成本中心代码的前4位varBParams_InnerOrder内部订单号varBParams_CostFactorOut调拨科目预算操作完成后,会将返回的结果设置到流程的上下文中,流程开发人员可以根据CONTEXT_INSTANCE中的budgetResultName参数获得该返回对象,返回对象的类型为.budget.service.BudgetResultInfo.3.2待阅通知action(com.suning.process.core.action.PositionNotifyAction)该action可以为指定的人员添加一条待阅信息任务参数:position,department,deptTemplateCode,orgLevel这4个参数的含义等同于PositionAssignment的4个参数的含义sendDraftUser是否需要向起草人发送待阅$condition待阅发送的条件,这是一个可选条件,$condition表示的字符串是一组beanShell的java代码,当$condition计算成功的时候才向相应的人员发送待阅信息.四.条件Condition这里谈及的condition是transition元素中的子元素.一般的流程需求里面BeanShell的condition已经能够满足大部分需求,但是在一些场景下,流程需要判断其中某2步的审批人是否是同一个人,如果是的话,则跳过其中的某一个环节,这个时候我们引入了2个新的condition:SkipCheckCondition和BeanShellWithSkipCheckCondition.这2种condition都通过spring配置的方式,判断指定的2个人员查找任务bean计算的结果是否相等来达到自动跳过其中某一步的要求.SkipCheckCondition单纯的比较指定的2个人员查找任务是否相等决定是否进行跳过BeanShellWithSkipCheckCondition在BeanShellCondition的基础上附加了自动跳转的功能.<conditiontype="com.suning.process.core.condition.SkipCheckCondition"><argname="classpath">classpath:/com/suning/process/FeeContract-assignment .xml</arg><arg name="assignment1Name">reportManager</arg><arg name="assignment2Name">businessDepartmentManager</arg><arg name="skipFlag">false</arg></condition>4.1SkipCheckCondition任务参数:classpath,比较的assignment任务定义所在的配置文件的类路径assignment1Name,第一个比较的任务对应的bean的名称assignment2Name,第二个比较的任务对应的bean的名称skipFlag,指定当2个assignment比较结果如何的时候才使得整个condition计算成功,例如上述的那个例子说明,当2个assignment计算结果不一致的时候,该condition为一个计算有效的condition<conditiontype="com.suning.process.core.condition.BeanShellWithSkipCheckConditi on"><arg name="SCRIPT">String varStandardContract =(String)CONTEXT_INSTANCE.getTransientVar().get("varStandardContract") ;return "0".equals(varStandardContract);</arg><argname="classpath">classpath:/com/suning/process/FeeContract-assignment .xml</arg><arg name="assignment1Name">reportManager</arg><arg name="assignment2Name">businessDepartmentManager</arg><arg name="skipFlag">false</arg></condition>4.2BeanShellWithSkipCheckCondition该condition的参数和SkipCheckCondition的参数一致,同时他还兼顾BeanShellCondition的SCRIPT参数.五.流程的汇签流程的汇签指的是流程在某一个审批人处理完成以后,下一步审批操作同时交由几个不同人员审批,待每一个审批人完成审批操作后,才能将审批任务交由后续的人员操作.如下图流程审批人A同时给了B,C,D3个人,待B,C,D3个人都完成了审批操作后,才会将审批任务交给E(产生给E的代办).5.1简单的汇签上图描述的场景就是一种最为简单的汇签模式,此时B,C,D3个人所处的流程状态可以视为同一个状态,因为他们在流程中的前后状态/审批人相似或者相同配置方式(和普通流程配置相似):<state sid="S20" name="第一负责人审批" path="approve" needComment="true"> <task name="审批人查找任务" tid="approver1" advisable="true"behavior="all-wait"><assignmenttype="erAssignment"><arg name="user">04070945;99040005</arg></assignment></task><transition name="第二负责人审批" returnBack="false"to="S30"></transition></state>给state的task元素定义behaviror为all-wait,就像之前说的那样,all-wait模式会给每一个assignment定义的审批人一个任务项,在所有的审批人审批完成以后,产生下一步的审批任务.5.2复杂的汇签---分支状态/汇聚状态分支状态:可以并行产生多个任务状态,每一个状态可以有各自独立的后续流转过程.和普通的流程状态相比不同的是:普通流程状态即使存在多条流程迁移路径,但是每次发生迁移操作的时候只能选择其中的一条路径进行流程迁移,而分支状态可以同时发生任意多次流程迁移操作,只要相应的迁移路径有效.汇聚状态:和分支状态对应,当所有的分支流程都流转到汇聚状态后,流程再产生后续的任务汇聚状态必须和分支状态一一对应,分支状态和汇聚状态可以互相嵌套,但是暂时不允许出现相邻的多个汇聚状态或者分支状态合并成1个汇聚状态或者分支状态,如图:左图是一个合法的分支-汇聚状态嵌套的案例,图中有2个分支状态,2个汇聚状态,一一对应 中图是一个将相邻2个分支状态合并的不支持的案例,图中有1个分支状态,2个汇聚状态,1:2的关系右图是一个将相邻2个汇聚状态合并的不支持的案例,图中有2个分支状态,1个汇聚状态,2:1配置方式:分支状态(和普通状态类似)<fork sid="S20" name="第一负责人审批" path="approve2" needComment="true"> <task name ="审批人查找任务" tid="approver1" advisable="true " behavior="claim"><assignment type ="erAssignment"><arg name ="user ">04070945</arg></assignment> </task><transition name ="第二负责人审批" returnBack="false "to ="S25"></transition><transition name ="第三负责人审批" returnBack="false "to ="S30"></transition></fork>使用的元素为fork,普通状态是哟哦那个的元素为state,其他功能上没有差别.汇聚状态:汇聚状态有2中定义方式,一种可以把汇聚状态定义为人员任务状态,当所有的流程分支流转到汇聚状态后产生相应的代办任务项,另外一种可以把汇聚状态定义为自动任务状态,当所有流程分支流转到汇聚状态后,自动执行下一步,并产生后续的待办任务汇聚状态(人员任务)配置:<join sid="S70" name="第七负责人审批" path="approve2" needComment="true"> <task name ="审批人查找任务" tid="approver2" advisable="false " behavior="claim"><assignmenttype ="erAssignment"><arg name="user">01010010</arg></assignment></task><transition name="审批结束" returnBack="false" to="SE"></transition> </join>汇聚状态(自动)配置:<join sid="S60" name="第六负责人审批" path="approve2" needComment="true" auto="true"><transition name="第六负责人审批" returnBack="false"to="S65"></transition></join>两者的区别在于自动转该的auto属性为true六.流程插件在流程引擎及其外围应用包的适当地方以接口的方式提供操作人员对流程流转进行额外操作.例如对于复杂的授权金额判断,可以通过插件的方式将用户的逻辑引入到流程引擎中;目前流程支持3处插件的插入点,每一个插入点都有固定的名字1)getPath:流程显示选人页面之前的切入点,代码实现在ProcessCommonSubmitAction类中2)apply:流程起草的时候调用流程引擎接口,启动流程前的切入点,代码实现在ProcessClientImpl类中3)approve:流程审批的时候调用流程引擎接口,审批流程前的切入点,代码实现在ProcessClientImpl类中插件实现接口: IProcessPlugin插件服务类: PluginServiceProcessCommonSubmitAction和ProcessClientImpl类中都有一个选择性配置的熟悉pluginConfigName,该属性定义了插件配置文件的位置,可以不定义该属性,系统就不会采用插件的功能.<bean id="accreditStandardPlugin"class="com.suning.process.core.plugin.impl.AccreditStandardPlugin"> <property name="configName"value="classpath:/com/suning/process/FeeContract-AccreditStandard.xml "/><property name="tableName" value="accreditStandardTable"/> </bean><bean id="pluginService"class="com.suning.process.core.plugin.PluginService">。

相关文档
最新文档