工作流表设计

-- --------------------------------------------------------
-- 主机:                           192.168.9.98
-- 服务器版本:                     5.6.11 - MySQL Community Server (GPL)
-- 服务器操作系统:                 Linux
-- HeidiSQL 版本:                  9.5.0.5196
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


-- 导出 workflow 的数据库结构
CREATE DATABASE IF NOT EXISTS `workflow` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `workflow`;

-- 导出  表 workflow.event 结构
CREATE TABLE IF NOT EXISTS `event` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `event_name` varchar(50) NOT NULL COMMENT '事件:请假、调休、销假',
  `describe` varchar(150) DEFAULT NULL COMMENT '事件描述说明',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='事件表,比如,请假,销假,调休';

-- 正在导出表  workflow.event 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `event` DISABLE KEYS */;
/*!40000 ALTER TABLE `event` ENABLE KEYS */;

-- 导出  表 workflow.flow_def 结构
CREATE TABLE IF NOT EXISTS `flow_def` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `group_id` varchar(50) NOT NULL DEFAULT '0' COMMENT '组id:比如某个部门的普通员工对应一个组id,然后这个组某个事件对应的审批人有哪些',
  `event_id` int(11) NOT NULL DEFAULT '0' COMMENT '对应event表的id字段,比如请假事件',
  `level` tinyint(4) NOT NULL DEFAULT '0' COMMENT '审批级别,比如一级审批人,二级审批人',
  `approve_id` varchar(50) NOT NULL DEFAULT '0' COMMENT '审批人的ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程定义表';

-- 正在导出表  workflow.flow_def 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `flow_def` DISABLE KEYS */;
/*!40000 ALTER TABLE `flow_def` ENABLE KEYS */;

-- 导出  表 workflow.leave_apply 结构
CREATE TABLE IF NOT EXISTS `leave_apply` (
  `id` bigint(20) NOT NULL COMMENT '申请ID',
  `apply_time` datetime NOT NULL COMMENT '申请日期时间',
  `flowid` bigint(20) NOT NULL COMMENT '工作流ID',
  `applicant` varchar(50) NOT NULL COMMENT '申请人ID',
  `group_id` varchar(50) NOT NULL COMMENT '员工所属组ID',
  `handover` varchar(50) DEFAULT NULL COMMENT '工作接手人ID',
  `leave_days` smallint(5) unsigned NOT NULL COMMENT '请假天数',
  `start_time` datetime NOT NULL COMMENT '请假开始时间',
  `end_time` datetime NOT NULL COMMENT '请假结束时间',
  `reason` varchar(250) DEFAULT NULL COMMENT '申请理由',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假申请表';

-- 正在导出表  workflow.leave_apply 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `leave_apply` DISABLE KEYS */;
/*!40000 ALTER TABLE `leave_apply` ENABLE KEYS */;

-- 导出  表 workflow.leave_log 结构
CREATE TABLE IF NOT EXISTS `leave_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `apply_id` bigint(20) NOT NULL COMMENT '关联leave_apply表id',
  `approver_id` bigint(20) NOT NULL COMMENT '审批者的用户id',
  `approver_name` varchar(20) NOT NULL COMMENT '审批者的名字',
  `op_time` datetime NOT NULL COMMENT '审批操作日期时间',
  `op_name` varchar(50) NOT NULL COMMENT '审批操作名',
  `comment` varchar(100) DEFAULT NULL COMMENT '审批意见',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假日志表';

-- 正在导出表  workflow.leave_log 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `leave_log` DISABLE KEYS */;
/*!40000 ALTER TABLE `leave_log` ENABLE KEYS */;

-- 导出  表 workflow.optype 结构
CREATE TABLE IF NOT EXISTS `optype` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '操作类型id',
  `event_id` int(11) NOT NULL COMMENT '关联表event的id',
  `op_name` varchar(20) NOT NULL COMMENT '操作名:比如请假的操作类型:申请,同意,拒绝',
  `describe` varchar(100) DEFAULT NULL COMMENT '操作描述说明',
  PRIMARY KEY (`id`),
  KEY `FK_optype_event` (`event_id`),
  CONSTRAINT `FK_optype_event` FOREIGN KEY (`event_id`) REFERENCES `event` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作类型表';

-- 正在导出表  workflow.optype 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `optype` DISABLE KEYS */;
/*!40000 ALTER TABLE `optype` ENABLE KEYS */;

-- 导出  表 workflow.route 结构
CREATE TABLE IF NOT EXISTS `route` (
  `flowid` bigint(20) unsigned zerofill NOT NULL,
  `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `create_id` varchar(50) NOT NULL COMMENT '创建者的用户ID',
  `next_id` varchar(50) DEFAULT NULL COMMENT '下一个处理者的用户ID',
  `level` tinyint(4) DEFAULT NULL COMMENT '流程级别:第几级审批人,对应flow_def表中的字段',
  `status` enum('1','2','3') DEFAULT NULL COMMENT '''1'': 审批流程中;''2'': 流程结束;''3'':被回退',
  PRIMARY KEY (`flowid`),
  KEY `Index 2` (`create_id`),
  KEY `Index 3` (`next_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程路由表';

-- 正在导出表  workflow.route 的数据:~0 rows (大约)
/*!40000 ALTER TABLE `route` DISABLE KEYS */;
/*!40000 ALTER TABLE `route` ENABLE KEYS */;

/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

 

转载于:https://my.oschina.net/u/583029/blog/1808253

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
工作流数据库设计是为了实现工作流程的管理和流程节点的控制,有效提升工作效率和管理能力。根据PDM(Product Data Management)的需求,可以按照以下方式设计相应的数据库。 首先,需要设计一张用来存储工作流程的基本信息,例如工作流程名称、描述、状态等。该可以包含以下字段:工作流程ID、工作流程名称、工作流程描述、工作流程状态。 接下来,需要设计一张用来存储流程节点的信息,包括节点ID、节点名称、节点描述等。该可以包含以下字段:节点ID、节点名称、节点描述,工作流程ID等。 然后,还需要设计一张用来存储节点间的流程转移条件信息,例如条件ID、条件名称、条件描述等。该可以包含以下字段:条件ID、条件名称、条件描述、源节点ID、目标节点ID。 此外,可以设计一张用来存储流程实例的信息,包括流程实例ID、创建时间、当前节点、创建人等。该可以包含以下字段:流程实例ID、工作流程ID、创建时间、当前节点ID、创建人。 最后,还可以设计一些其他辅助,例如存储工作流程相关的角色信息、流程操作日志信息等。 通过以上设计,可以实现对工作流程的管理和流程节点的控制。这些之间通过ID进行关联,实现数据的一致性和可靠性。同时,可以根据实际需要进行扩展和调整,以满足具体业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值