关于ofbiz-workFlow

OFBIZ 人工服务工作流配置 具体操作步骤
一直以来 在技术上遇到问题都是google网上的资源,最近项目中需要用到ofbiz里面的工作流流程,第一感觉就是先google下,可能是ofbiz在国内的资源比较稀缺,搜出来的资源大多不是我想要的,木有办法!看来只能靠自己了~ 经过自个周末两天的努力,终于有了点眉目!现分享给大家,有问题的地方还是欢迎大家批评指正!

闲话不多说,具体可以分为以下6个步骤,如下:

1、因为是自己配置工作流流程,所以第一步,以admin账户登录系统,创建几个待分配任务的新用户账户 例如 “张三” “李四” “王五”,并赋上 MyPortlet 的admin权限待分配,然后 进入工作计划——>人工服务菜单——>新建人工服务,会进入一个添加人工服务的form中,名称* 、类型*、状态* 是必须的,名称可以填入:“工作流—调整库存”,类型是下拉框,选最下面的 “工作流流程”;状态也是下拉,这个地方需要注意一下,我的ofbiz版本是10.04,不知道是不是模板本身的问题,状态里面没有 “[任务] 已创建” 这项,但是我仿照默认分配的一个任务:task1 去处理的,task1 这个任务的初始状态就是 [任务] 已创建,状态码为:PTS_CREATED,所以,我们只能改一下模版文件了,进入到ofbiz/applications/workeffort/widget/WorkEffortForms.xml 这个文件下,找到 <field name="currentStatusId" title="${uiLabelMap.CommonStatus}*" position="1"> 这个标签下 改为:

复制代码
<field name="currentStatusId" title="${uiLabelMap.CommonStatus}*" position="1">
            <drop-down>
                <entity-options entity-name="StatusItem" key-field-name="statusId" description="[${uiLabelMap.WorkEffortGeneral}] ${description}">
                    <entity-constraint name="statusTypeId" value="CALENDAR_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
                <entity-options entity-name="StatusItem" key-field-name="statusId" description="[${uiLabelMap.WorkEffortTask}] ${description}">
                    <entity-constraint name="statusTypeId" value="TASK_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
                <entity-options entity-name="StatusItem" key-field-name="statusId" description="[${uiLabelMap.WorkEffortTask}] ${description}">
                    <entity-constraint name="statusId" value="PTS_CREATED"/>
                </entity-options>
                <entity-options entity-name="StatusItem" key-field-name="statusId" description="[${uiLabelMap.WorkEffortEvent}] ${description}">
                    <entity-constraint name="statusTypeId" value="EVENT_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
复制代码
然后刷新页面,状态下拉中 将会多出上面的状态 “[任务] 已创建”,选中该状态!预计开始日期 和 实际开始日期 就选当前系统时间吧;最后点击保存。

2、点击完保存,页面将会跳转到 “编辑人工服务 - 工作流—调整库存” ,此时点击页面上部的选项卡 “下级固定资产”(这个选项名称有问题,估计是翻译问题),然后点击 “新建下一级人工服务” ,以上面创建的工作流流程——工作流—调整库存为父级,创建子级任务,(注意 这里创建的是任务!第一步创建的是 工作流流程!),选择 “人工服务关联类型标识” 的值为 “依赖”,“或者在下面输入人工服务详细” 下面的 名称* 里面 输入 子任务名称,比如:“工作流—调整库存—子任务1”,类型* 选择下拉中的 “任务”,状态* 还是 “[任务] 已创建”, 预计开始日期 和 实际开始日期 选择当前时间,然后 点击 “保存”。至此,工作流下的一个子任务被创建了。

3、此时 页面将会跳转到 “编辑人工服务 - 工作流—调整库存—子任务1” 下,我们为了节约时间,可以直接将第二步 创建的子任务 分配给一个已经存在的 用户,比如 “张三”,当然 “张三” 同学是需要有 work_effort 模块admin权限的,这个在 “团体” 菜单 新建 会员 并且分配权限 就不多说了!分配任务给会员,ofbiz中成为指派,点击刚才 “下级固定资产” 右边的 选项 “会员”既可,将会进入 “添加人工服务会员指派” ,“会员标识” 选择已创建好的 “张三”,开始日期 选择这个子任务 被触发的 时间自定 , “状态标识” 为 “已指定”,点击 “添加”,OK ,当前的子任务将会被指派给了 “张三” ,有时候这时添加后会抛错!重新添加一次就可以了!

4、我们现在需要为 “调整库存—子任务1” 再添加一个子任务,为了方便起见, 此时 直接点击 “下级固定资产”  —— “新建下一级人工服务” , 重复操作 步骤2,为调整库存—子任务1 再添加一个子任务 “调整库存—子任务2”,当然 “人工服务关联类型标识” 的值也是 “依赖”,保存后 ,重复步骤3 ,把 刚刚创建的 子任务 “调整库存—子任务2” 指派给 “李四”, “李四” 和张三 都是一开始就创建了的!

5、好了,大功告成!如果被指派的子任务的开始时间已到,“结束时间” 不用管它,要不要都无所谓,当然如果有结束时间的话,到了结束时间,被指派的会员 子任务会消失,不管你有没有 将这个任务的状态改为 “已完成” ,也很容易理解,因为下一个子任务还得继续!如果不填的话,子任务会一直存在,直到被用户 将状态 改为 “已完成”!

6、最后一步,以 “张三” 、“李四” 的身份分别进入系统,进入 “我的门户”—— My Tasks 下,将会看到 被 admin 指派 给自己的任务列表,此时 “李四” 的子任务 是 依赖 “张三” 的,也就是说 只有 “张三” 的子任务完成了,才可以看到 “李四” 的任务,正常的流程是 每个人把 分配给自己的任务完成后,整个工作流流程才算结束!

转载自http://www.cnblogs.com/Ivan-j2ee/archive/2012/07/30/2615791.html

猜你喜欢

转载自784838898.iteye.com/blog/2356116