saas-ihrm审批中心

本文介绍了SaaS-iHRM系统中的审批中心,包括流程定义图、流程定义列表查询、挂起与激活操作,以及业务流程概述。详细讨论了如何发起和提交申请,并提供了源代码和SQL语句的分享链接。
摘要由CSDN通过智能技术生成

1流程定义图和流程定义表 act_re_procdef

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2流程定义列表查询

在这里插入图片描述

	/**
	 * 查询所有的流程定义
	 */
	@RequestMapping(value = "/definition",method = RequestMethod.GET)
	public Result definitionList() throws IOException {
   
		//调用service查询
		List list = processService.getProcessDefinitionList(companyId);
		return new Result(ResultCode.SUCCESS,list);
	}
	//根据企业id查询所有的流程定义对象
	public List getProcessDefinitionList(String companyId) {
   
		List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().processDefinitionTenantId(companyId)
				.latestVersion().list();
		return list;
	}

3流程定义的挂起与激活

在这里插入图片描述

/**
	 * 设置流程的挂起与激活状态
	 */
	@RequestMapping(value = "/suspend/{processKey}",method = RequestMethod.GET)
	public Result suspendProcess(@PathVariable String processKey) throws IOException {
   
		processService.suspendProcess(processKey,companyId);
		return new Result(ResultCode.SUCCESS);
	}
	//挂起或者激活流程
	public void suspendProcess(String processKey,String companyId) {
   
		//1.根据processKey查询流程定义
		ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processKey)
				.processDefinitionTenantId(companyId).latestVersion().singleResult();
		//2.判断是否为挂起状态
		if(definition.isSuspended()) {
   
			//2.1 如果是挂起状态:设置为激活
			repositoryService.activateProcessDefinitionById(definition.getId());
		}else {
   
			//2.2 如果不是激活状态: 设置为挂起
			repositoryService.suspendProcessDefinitionById(definition.getId());
		}
	}

4业务流程概述

总所周知在activiti中具有自己的用户,用户组等概念。但是在实际的项目中很少用到,并且流程实例的发起,审核往往会和具体的业务挂钩。为了更好的进行流程控制并逐步审核,所以我们需要自己定义一些列表,结合已有的用户数据进行操作
流程业务表

CREATE TABLE `proc_instance` (
`process_id` varchar(45) NOT NULL COMMENT '流程实例ID',
`process_key` varchar(45) DEFAULT NULL COMMENT '流程标识',
`process_name` varchar(45) DEFAULT NULL COMMENT '流程名称',
`process_definition_id` varchar(100) DEFAULT NULL COMMENT '流程定义ID',
`process_state` varchar(3) DEFAULT NULL COMMENT '流程状态(0已提交;1审批中;2审批
通过;3审批不通过;4撤销)',
`user_id` varchar(45) DEFAULT NULL COMMENT '申请人ID',
`username` varchar(50) DEFAULT NULL COMMENT '申请人',
`proc_apply_time` datetime DEFAULT NULL COMMENT '申请时间',
`proc_curr_node_user_id` varchar(45) DEFAULT NULL COMMENT '当前节点审批人ID',
`proc_curr_node_user_name` varchar(45) DEFAULT NULL COMMENT '当前节点审批人',
`proc_end_time` datetime DEFAULT NULL COMMENT '结束流程时间',
`proc_data` longtext,
`department_id` varchar(40) DEFAULT NULL,
`department_name` varchar(40) DEFAULT NULL,
`time_of_entry` datetime DEFAULT NULL,
PRIMARY KEY (`process_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

流程审批历史表

CREATE TABLE `proc_task_instance` (
  `process_id` varchar(45) DEFAULT NULL COMMENT '流程实例ID',
  `task_id` varchar(45) NOT NULL 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值