2023年8月1日发(作者:)
BOS项⽬第11天(activiti⼯作流第三天,流程实例管理、项⽬中的⽤户和⾓⾊同步到a。。。BOS项⽬笔记 第11天
今天内容安排:1、流程实例管理(查询、查看运⾏状态)2、将bos系统中的⽤户和⾓⾊同步到activiti的⽤户和组表3、设计物流配送流程4、启动物流配送流程5、组任务操作(查询、拾取)6、个⼈任务操作(查询、办理)
1. 流程实例管理1.1 查询流程实例列表第⼀步:创建⼀个流程实例管理Action,提供list⽅法,查询流程实例列表数据
第⼆步:配置
第三步:提供页⾯,展⽰列表数据 ${id } ${processDefinitionId } ${activityId } 查看流程图
第四步:在Action中提供findData的⽅法,根据流程实例id查询对应的流程变量数据
1.2 查询流程实例运⾏状态第⼀步:为“查看流程图”按钮绑定事件 onclick="showPng('${id}');" href="#">查看流程图
第⼆步:在Action中提供showPng⽅法,根据流程实例id查询坐标、部署id、图⽚名称/** * 根据流程实例id查询坐标、部署id、图⽚名称 */public String showPng(){//1、根据流程实例id查询流程实例对象ProcessInstance processInstance =ProcessInstanceQuery().processInstanceId(id).singleResult();//2、根据流程实例对象查询流程定义idString processDefinitionId = cessDefinitionId();//3、根据流程定义id查询流程定义对象ProcessDefinition processDefinition =ProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult();//4、根据流程定义对象查询部署iddeploymentId = loymentId();imageName = gramResourceName();
//查询坐标//1、获得当前流程实例执⾏到哪个节点String activityId = ivityId();//usertask1//2、加载bpmn(xml)⽂件,获得⼀个流程定义对象ProcessDefinitionEntity pd = (ProcessDefinitionEntity)ProcessDefinitionEntity pd = (ProcessDefinitionEntity)cessDefinition(processDefinitionId);//查询act_ge_bytearray//3、根据activitiId获取含有坐标信息的对象ActivityImpl findActivity = tivity(activityId);int x = ();int y = ();int width = th();int height = ght();
text().getValueStack().set("x", x);text().getValueStack().set("y", y);text().getValueStack().set("width", width);text().getValueStack().set("height", height);
return "showPng";}第三步:配置,跳转到页⾯
第四步:提供页⾯
第五步:在Action中提供viewImage⽅法,根据部署id和图⽚名称获得对应的输⼊流第六步:配置
2. 将bos系统中⽤户和⾓⾊同步到activiti2.1 将⾓⾊同步到act_id_group表修改RoleServiceImpl中的save⽅法
2.2 将⽤户同步到act_id_user表修改UserServiceImpl的save⽅法
3. 设计物流配送流程l 流程定义的id:
l 使⽤排他⽹关:
l 使⽤组任务:
l 任务的id(对应Action中的⽅法名):
4. 启动物流配送流程l 修改⼯作单类
l 修改⼯作单hbm映射⽂件
4.1 查询⼯作单列表数据第⼀步:在⼯作单管理Action中提供list⽅法,查询start为0的⼯作单
Service代码:
第⼆步:配置
第三步:提供页⾯,展⽰⼯作单列表数据
4.2 根据key启动流程实例第⼀步:修改列表页⾯中启动按钮绑定事件
第⼆步:在⼯作单Action中提供start⽅法,启动物流配送流程对应的流程实例
第三步:在⼯作单Service中提供start⽅法
5. 组任务操作5.1 查询组任务第⼀步:创建⼀个TaskAction,提供查询组任务的⽅法findGroupTask
第⼆步:配置
第三步:提供页⾯,展⽰任务列表数据
任务编号 | 任务名称 | 业务数据 | 拾取任务 |
---|---|---|---|
查看业务数据 |
第⼆步:在TaskAction中提供拾取任务的⽅法
第三步:配置
6. 个⼈任务操作6.1 查询个⼈任务第⼀步:在TaskAction中提供findPersonalTask,查询当前登录⼈的个⼈任务
第⼆步:配置
第三步:提供页⾯,展⽰个⼈任务列表数据
任务编号 | 任务名称 | 业务数据 | 办理任务 | |
---|---|---|---|---|
查看业务数据 |
6.2 办理个⼈任务6.2.1 办理审核⼯作单任务第⼀步:修改页⾯中办理任务按钮的事件
第⼆步:在TaskAction中提供checkWorkOrderManage⽅法,处理审核⼯作单任务/** * 办理审核⼯作单任务 */public String checkWorkOrderManage() {// 根据任务id查询任务对象Task task = TaskQuery().taskId(taskId).singleResult();// 根据任务对象查询流程实例idString processInstanceId = cessInstanceId();// 根据流程实例id查询流程实例对象ProcessInstance processInstance = ProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();String workordermanageId = inessKey();Workordermanage workordermanage =Id(workordermanageId);if(check == null){//跳转到审核页⾯// 跳转到⼀个审核⼯作单页⾯,展⽰当前对应的⼯作单信息// 跳转到⼀个审核⼯作单页⾯,展⽰当前对应的⼯作单信息text().getValueStack().set("map", workordermanage);return "check";}else{orkordermanage(taskId,check,workordermanageId);return "topersonaltasklist";}}第三步:如果是跳转页⾯,配置
第四步:提供页⾯,展⽰审核⼯作单表单页⾯
第五步:在⼯作单Service中提供⽅法,处理审核⼯作单任务
6.2.2 办理其他任务
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690873651a452110.html
评论列表(0条)