structure.php 10.4 KB
<?php
/**
 * 应用的数据表结构文件
 * structure.php
 */

return "
CREATE TABLE IF NOT EXISTS `oa_questionnaire_classify` (
  `qc_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `qc_name` varchar(32) NOT NULL DEFAULT '' COMMENT '分类名称',
  `qc_desc` varchar(360) NOT NULL DEFAULT '' COMMENT '分类描述',
  `is_system` tinyint(2) DEFAULT '0' COMMENT '是否系统默认分类(0:否,1:是)',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态=1.初始化,2.更新,3删除',
  `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`qc_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷分类表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_baseinfo` (
  `qu_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `qu_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '调研类型 1=常规,2=任务,3=线下,4=其他',
  `title` varchar(200) NOT NULL DEFAULT '' COMMENT '问卷标题',
  `introduce` text NOT NULL COMMENT '问卷描述',
  `qc_id` int(10) NOT NULL DEFAULT '0' COMMENT '分类ID 默认:0(未分类)',
  `deadline` bigint(13) NOT NULL DEFAULT '0' COMMENT '截止时间',
  `secret` tinyint(1) DEFAULT '0' COMMENT '内容保密(0:关闭;1:开启)',
  `share` tinyint(1) DEFAULT '1' COMMENT '是否可允许外部人员参与(0:不允许;1:允许)',
  `is_all` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否全部人员可见:0=不是;1=是',
  `anonymous` tinyint(1) DEFAULT '0' COMMENT '匿名(0:匿名;1:实名)',
  `remind` tinyint(4) NOT NULL DEFAULT '0' COMMENT '问卷结束前多少分钟进行消息提醒',
  `release` bigint(13) NOT NULL DEFAULT '0' COMMENT '定时发布时间',
  `release_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '发布时间',
  `involved_num` int(10) DEFAULT '0' COMMENT '已参与人数',
  `involved_total` int(10) DEFAULT '0' COMMENT '应参与总人数',
  `is_notice` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '调研发布时是否进行提醒(0:否,1:是)',
  `release_status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '问卷发布状态:1.预发布;2.草稿;3.发布;',
  `release_crid` varchar(100) NOT NULL DEFAULT '' COMMENT '定时发布任务ID',
  `remind_crid` varchar(100) NOT NULL DEFAULT '' COMMENT '结束消息提醒任务ID',
  `integral_strategyid` varchar(255) NOT NULL DEFAULT '' COMMENT '积分策略ID集合(序列化存储)',
  `credit_action_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '学分策略(1:启用默认,2:不启用,3:启用自定义策略)',
  `integral_action_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '积分策略(1:启用默认,2:不启用,3:启用自定义策略)',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态=1.初始化,2.更新,3删除',
  `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`qu_id`),
  KEY `domain_status` (`domain`,`status`),
  KEY `qu_type` (`qu_type`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷基本信息表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_question` (
  `qid` int(10) NOT NULL AUTO_INCREMENT COMMENT '问题id',
  `qu_id` int(10) NOT NULL DEFAULT '0' COMMENT '问卷ID',
  `q_title` varchar(255) NOT NULL DEFAULT '' COMMENT '问题标题',
  `q_placeholder` varchar(255) DEFAULT '' COMMENT '提示信息',
  `q_type` tinyint(3) NOT NULL DEFAULT '0' COMMENT '问题类型(1=单项选择[radio],2=多项选择[checkbox],3=下拉选择[select],4=单行文本[text],5=多行文本[textarea],6=日期时间[datetime],7=数字[number],8=金额[money],9=评分[score],10=上传图片[img],11=上传文件[file],12=段落说明[note],13=姓名[name],14=性别[sex],15=手机号[mobile],16=邮箱[email],17=微信号[wechat],18=生日[birthday],19=公司[company],20=部门[department],21=职位[job],22=地址[address])',
  `q_order` tinyint(4) NOT NULL DEFAULT '0' COMMENT '问题排序',
  `q_required` tinyint(1) DEFAULT '0' COMMENT '是否必填(0:非必填,1:必填)',
  `q_field` text COMMENT '问题内容(单选,多选,下拉选项序列化存储)',
  `q_other` tinyint(1) DEFAULT '0' COMMENT '是否包含其他选项(0:不包含,1:包含)',
  `q_other_title` varchar(255) DEFAULT '' COMMENT '其他选项标题',
  `q_min` float(10,2) DEFAULT '0.00' COMMENT '最小值/最少选项/最小长度',
  `q_max` float(10,2) DEFAULT '0.00' COMMENT '最大值/最多选项/最大长度/评分满分值/上传图片最大数量',
  `q_data_type` tinyint(2) DEFAULT '0' COMMENT '日期时间/生日格式(1=日期时间,2=日期,3=时间,4=年月日,5=年月,6=月日)',
  `q_money_unit` varchar(255) DEFAULT '' COMMENT '金额单位',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态=1.初始化,2.更新,3删除',
  `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`qid`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷问题信息表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_answer` (
  `a_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `qu_id` int(10) NOT NULL DEFAULT '0' COMMENT '问卷ID',
  `uid` varchar(32) NOT NULL DEFAULT '' COMMENT '答卷人ID',
  `openid` varchar(64) NOT NULL DEFAULT '' COMMENT '外部用户openid',
  `username` varchar(255) NOT NULL DEFAULT '' COMMENT '外部用户微信昵称',
  `businessid` varchar(100) NOT NULL DEFAULT '' COMMENT '积分策略ID',
  `data_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '调研类型 1=常规,2=任务,3=线下,4=地图',
  `obj_id` int(10) NOT NULL DEFAULT '0' COMMENT '任务ID,线下ID,地图ID',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态=1.初始化,2.更新,3删除',
  `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`a_id`),
  KEY `domain_status` (`domain`,`status`),
  KEY `obj_id` (`obj_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷回答用户记录表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_record` (
  `qr_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `qu_id` int(10) NOT NULL DEFAULT '0' COMMENT '问卷ID',
  `a_id` int(11) NOT NULL DEFAULT '0' COMMENT '问卷回答人员记录ID',
  `q_id` int(10) NOT NULL DEFAULT '0' COMMENT '问题ID',
  `answer` text NOT NULL COMMENT '回答内容(复选框以及地址用序列化存储)',
  `other` text NOT NULL COMMENT '其他选项的答案',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态=1.初始化,2.更新,3删除',
  `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`qr_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷回答详情表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_right` (
  `qr_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `qu_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '问卷ID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '人员 ID',
  `dp_id` char(32) NOT NULL DEFAULT '' COMMENT '部门 ID',
  `job_id` char(32) NOT NULL DEFAULT '' COMMENT '岗位 ID',
  `role_id` char(32) NOT NULL DEFAULT '' COMMENT '角色 ID',
  `tag_id` char(32) NOT NULL DEFAULT '' COMMENT '标签 ID',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`qr_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问卷 - 权限表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_setting` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 ID',
  `key` varchar(255) NOT NULL DEFAULT '' COMMENT '变量名',
  `value` text NOT NULL COMMENT '值',
  `type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '缓存类型, 0:非数组, 1:数组',
  `comment` text NOT NULL COMMENT '说明',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问卷调查 - 设置表';

CREATE TABLE IF NOT EXISTS `oa_questionnaire_syscache` (
  `name` varchar(255) NOT NULL COMMENT '缓存文件名',
  `domain` varchar(120) NOT NULL DEFAULT '' COMMENT '企业域名',
  `type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '缓存类型, 0:非数组, 1:数组',
  `data` mediumblob NOT NULL COMMENT '数据',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '记录状态, 1初始化,2=已更新, 3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问卷调查 - 缓存表';

";