-- --------------------------公告资讯多级审批的需求----------------------------------------

-- 增加审核类型字段
ALTER TABLE tb_app_notice ADD COLUMN approval_type int(10) DEFAULT 0 COMMENT '审核类型，默认为0，代表未开通多级审核';

ALTER TABLE tb_wxtemplate_message ADD COLUMN approval_type int(10) DEFAULT 0 COMMENT '审核类型，默认为0，代表未开通多级审核';

ALTER TABLE tb_phone_message ADD COLUMN approval_type int(10) DEFAULT 0 COMMENT '审核类型，默认为0，代表未开通多级审核';

ALTER TABLE tb_email_send ADD COLUMN approval_type int(10) DEFAULT 0 COMMENT '审核类型，默认为0，代表未开通多级审核';

-- 增加审核类型-多级审核员表

CREATE TABLE `tb_app_notice_approvalset` (
	`id` INT (10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
	`org_id` INT (10) DEFAULT NULL COMMENT '项目id',
	`is_open` TINYINT (3) DEFAULT 0 COMMENT '是否开启:0-不开启;1-开启',
	`created_at` datetime DEFAULT NULL COMMENT '创建时间',
	`created_by` INT (10) DEFAULT NULL COMMENT '创建人',
	`updated_by` INT (10) DEFAULT NULL COMMENT '修改人',
	`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '公告多级审核设置表';

CREATE TABLE `tb_app_notice_approval_type` (
	`id` INT (10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
	`approvalset_id` INT (10) DEFAULT NULL COMMENT 'tb_app_notice_approvalset表id',
	`name` VARCHAR (40) DEFAULT NULL COMMENT '审核类型名',
	`created_at` datetime DEFAULT NULL COMMENT '创建时间',
	`created_by` INT (10) DEFAULT NULL COMMENT '创建人',
	`updated_by` INT (10) DEFAULT NULL COMMENT '修改人',
	`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
	`enabled` TINYINT (3) DEFAULT 1 COMMENT '是否有效',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '公告审核类型表';

CREATE TABLE `tb_approval_role` (
	`id` INT (10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
	`org_id` INT (10) DEFAULT NULL COMMENT '项目id',
	`type` TINYINT (3) DEFAULT NULL COMMENT '1-公告资讯',
	`source_id` INT (10) DEFAULT NULL COMMENT 'tb_notice_approval_type表id',
	`role_id` INT (10) DEFAULT NULL COMMENT 'tb_app_role表id',
	`orderno` INT (10) DEFAULT 1 COMMENT '排序',
	`created_at` datetime DEFAULT NULL COMMENT '创建时间',
	`created_by` INT (10) DEFAULT NULL COMMENT '创建人',
	`updated_by` INT (10) DEFAULT NULL COMMENT '修改人',
	`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
	`enabled` TINYINT (3) DEFAULT 1 COMMENT '是否有效',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '公告审核角色表';

CREATE TABLE `tb_approval` (
	`id` INT (10) NOT NULL AUTO_INCREMENT COMMENT '主键id',
	`org_id` INT (10) DEFAULT NULL COMMENT '项目id',
	`type` TINYINT (3) DEFAULT NULL COMMENT '1-发布公告;2-发布模板消息;3-发布短信;4-发布邮件;',
	`source_id` INT (10) DEFAULT NULL COMMENT '来源id',
	`orderno` INT (10) DEFAULT 1 COMMENT '排序',
	`role_id` INT (10) DEFAULT NULL COMMENT 'tb_app_role表id',
	`approval_source` TINYINT (3) DEFAULT NULL COMMENT '审核源:1-PC;2-APP',
	`approval_at` datetime DEFAULT NULL COMMENT '审核时间',
	`approval_by` INT (10) DEFAULT NULL COMMENT '审核人',
	`approval_user` varchar(255) DEFAULT NULL COMMENT '审核人',
	`approval_result` TINYINT (3) DEFAULT NULL COMMENT '审核结果1-通过；2-不通过',
	`approval_opinion` VARCHAR (500) DEFAULT NULL COMMENT '审核意见',
	`enabled` TINYINT (3) DEFAULT 1 COMMENT '是否有效',
	PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '审核表';

-- 增加工程维修下单人信息
ALTER TABLE tb_repair_bills ADD COLUMN userId int(10) DEFAULT NULL COMMENT '下单人id';

