本文主要是介绍saas-ihrm审批中心,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇关于saas-ihrm审批中心的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!