jeesite工作流使用

问题:jeesite工作流如何使用?

背景:公司没人熟悉工作流,现在要上线办公系统,请假,加班,报销,预审批,用印,付款等工作流要写,之前有简单版本,但是用哪个写工作流要画好多流程图(委派人写了人名,而不是后台定义的),等到发现可以后台定义后,基本写完了,原先有请假,加班,报销,但只在合肥使用,只区分研发部和非研发部,写了人名,后期跟着这个版本做了好多错事,还不好改动,有种要掐死前面的人的冲动

1.画流程图

    

这一步需要注意的还是挺多的,首先报销开始


名称用于流转信息展示时显示用的,启动器是当前用户,表单编号是流程流转时前往的控制器层

然后用户任务


名称是流转信息展示的,主键是用来在controller判断当前处于什么用户的,分配用户是执行人(这里可以写用户的登录名,或者${sign}  启动流程前给sign赋值就可以 PS:之前人在这儿直接写的登录名,我跟着他写的累死了,忠告:千万别接手别人的代码,会哭的)

路线条件


我一般设置pass==0,1,2之类的来判断,后台根据他点击的是同意,驳回或者转至财务总监按钮来给pass复制0,1,2

最后点击空白处


给流程标识和名称赋值。然后部署即可

2.启动流程

    以报销为例,用户输入信息后,点击提交申请,保存数据到业务表,同时启动工作流

actTaskService.startProcess(ActUtils.ACT_SALE_GET6[0], ActUtils.ACT_SALE_GET6[1], getSale.getId(),
					getSale.getReason(), vars);

ACT_SALE_GET6为全局常量,此处第一个为流程标识,第二个为业务表名,第三个为数据id,第四个为需要提供的值

vars为一个hashmap,如果工作流需要赋值的话,如用户任务可以在这儿动态赋值,还可以写一些在待办任务展示的信息,比如报销金额,流程启动后会前往下一用户那儿,同时传递的还有一些流程信息

3.用户任务

    进入下一用户后,该用户会在待办任务中展示其列表,点击任务办理后,会获得信息,同时通过启动器的表单编号来到对应的控制层,前往相关的jsp页面(一般两种页面,一种处理任务的同意驳回页面,还有一种修改表单的重新提交销毁申请页面)

@RequestMapping(value = "form")
	public String form(GetSale getSale, Model model) {
		String view = "getSaleForm";
		// if(getSale.getStatus()==0)
		if (StringUtils.isNotBlank(getSale.getId())) {
			// 获取环节ID
			String taskDefKey = getSale.getAct().getTaskDefKey();
			// 查看申请
			if (getSale.getAct().isFinishTask()) {
				view = "getSaleView";
			}
			// 人事主管审核
			else if ("prTask2".equals(taskDefKey)) {
				view = "getSaleAudit";
			} 
,jsp页面按钮如下    
<input id="btnSubmit" class="btn btn-primary" type="submit"
	value="同 意" οnclick="$('#flag').val('yes')" />  
<input id="btnSubmit" class="btn btn-inverse" type="submit" 
	value="驳 回" οnclick="$('#flag').val('no')" />  

后台通过flag的值来判断点击的是什么按钮,同时给pass赋值

Map<String, Object> vars = Maps.newHashMap();
vars.put("pass", "yes".equals(getSale.getAct().getFlag()) ? "1" : "0");
// 提交流程任务		
actTaskService.complete(getSale.getAct().getTaskId(), getSale.getAct().getProcInsId(),
				getSale.getAct().getComment(), vars);

4.注意事项

    整个流程都是在jeesite自带的待办任务中处理的,如果需要单独展示自己的报销页面的话,可以自己去业务表查,但是这样查到的数据一般是没有taskId的,taskId是act_ru_task的ID_字段,你可以自己写查询语句,通过流程实例id去查,一般的,流程实例id和taskId是一一对应的(我写的都是这样的毕竟修改申请单只有本人可以),但是如果对应多个用户任务就不是一一对应了

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值