Browse Source

项目数据库ddl

陈长荣 5 months ago
parent
commit
d2d09676ee
1 changed files with 285 additions and 0 deletions
  1. 285 0
      jfcloud-gene-biz/src/main/resources/sql/init.sql

+ 285 - 0
jfcloud-gene-biz/src/main/resources/sql/init.sql

@@ -0,0 +1,285 @@
+CREATE TABLE `system_properties`
+(
+    `prop_key`   varchar(64)  NOT NULL COMMENT '配置名称' primary key,
+    `prop_value` varchar(255) NULL COMMENT '配置值',
+    `remark`     varchar(255) NULL COMMENT '备注'
+) COMMENT '系统配置表';
+
+CREATE TABLE flow_info
+(
+    id                   BIGINT PRIMARY KEY COMMENT '主键',
+    project_name         VARCHAR(255) NOT NULL COMMENT '项目名称',
+    target               VARCHAR(30)  NOT NULL COMMENT '品系定制custom,品系净化扩繁purification',
+    status               VARCHAR(5)   NOT NULL COMMENT '状态',
+    contract_no          VARCHAR(255) NULL COMMENT '合同编号',
+    project_leader_id    BIGINT       NOT NULL COMMENT '项目负责人Id',
+    project_leader_name  VARCHAR(255) NULL COMMENT '项目负责人名称',
+    project_leader_phone VARCHAR(255) NULL COMMENT '项目负责人电话',
+    project_leader_email VARCHAR(255) NULL COMMENT '项目负责人邮箱',
+    gene_edit_pl_id      BIGINT       NULL COMMENT '基因编辑部门负责人',
+    project_manage_id    BIGINT       NULL COMMENT '项目管理部审核人',
+
+    institution_name     VARCHAR(255) NULL COMMENT '机构名称',
+    approval_no          VARCHAR(255) NULL COMMENT '批准编号',
+    revision_no          VARCHAR(255) NULL COMMENT '修订号',
+    receipt_date         VARCHAR(30)  NULL COMMENT '收件日期',
+    approval_date        VARCHAR(30)  NULL COMMENT '批准日期',
+    animal_enrollment    VARCHAR(255) NULL COMMENT '动物入组',
+    final_sampling       VARCHAR(255) NULL COMMENT '终末取材',
+    ky_id                BIGINT       NULL COMMENT '科研Id',
+    deleted              char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by            varchar(255) COMMENT '创建人',
+    create_time          DATETIME     NULL COMMENT '创建时间',
+    update_by            varchar(255) COMMENT '更新人',
+    update_time          DATETIME     NULL COMMENT '更新时间',
+    tenant_id            bigint COMMENT '租户ID',
+    dept_id              bigint COMMENT '部门ID'
+) COMMENT '流程信息';
+
+
+CREATE TABLE flow_audit
+(
+    id           BIGINT       NOT NULL COMMENT '主键' AUTO_INCREMENT PRIMARY KEY,
+    flow_id      BIGINT       NOT NULL COMMENT '流程主键',
+    flow_status  VARCHAR(5)   NOT NULL COMMENT '流程状态',
+    audit_result VARCHAR(5)   NOT NULL COMMENT '审核状态',
+    additional_data json NULL COMMENT '附加字段',
+    remarks      VARCHAR(255) NULL COMMENT '备注',
+
+    deleted      char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by    varchar(255) COMMENT '提交人',
+    create_time  DATETIME     NULL COMMENT '提交时间',
+    create_sign  varchar(255) NULL COMMENT '提交人签名',
+    update_by    varchar(255) COMMENT '更新人',
+    update_time  DATETIME     NULL COMMENT '更新时间',
+    tenant_id    bigint COMMENT '租户ID',
+    dept_id      bigint COMMENT '部门ID'
+) COMMENT '流程审核信息';
+
+CREATE TABLE `flow_file_version`
+(
+    `id`            bigint       NOT NULL COMMENT '主键' AUTO_INCREMENT PRIMARY KEY,
+    `flow_id`       bigint       NOT NULL COMMENT '流程id',
+    flow_status     VARCHAR(5)   NOT NULL COMMENT '流程状态',
+    `template_name` varchar(255) NULL COMMENT '模板名称',
+    `data_map`      longtext     NULL COMMENT '模板数据',
+    `filename`      varchar(255) NULL COMMENT '文件名称',
+    `filepath`      varchar(255) NULL COMMENT '文件路径',
+    `file_md5`      varchar(32)  NULL COMMENT '文件md5',
+    `uri`           varchar(255) NULL COMMENT '请求路径',
+    `create_by`     varchar(255) NULL COMMENT '创建人',
+    `create_time`   datetime     NULL DEFAULT NULL COMMENT '创建时间'
+) COMMENT '文档更新记录';
+
+-- 定制基本信息表:存储品系定制基本信息
+CREATE TABLE strain_custom_info
+(
+    id                     BIGINT PRIMARY KEY COMMENT '主键',
+    flow_id                BIGINT COMMENT '流程主键',
+    animal_strain_custom   VARCHAR(255) NOT NULL COMMENT '动物品系定制',
+    target_gene_name       VARCHAR(255) NOT NULL COMMENT '目标基因名称(简称)',
+    ncbi_gene_id           VARCHAR(255) NOT NULL COMMENT 'NCBI Gene ID',
+    knockout_species       VARCHAR(100) NOT NULL COMMENT '基因敲除种属',
+    knockout_species_other VARCHAR(255) NULL COMMENT '基因敲除种属(其他)',
+    genetic_model_type     VARCHAR(255) NOT NULL COMMENT '遗传工程模型种类',
+    knockout_detail        TEXT COMMENT '基因敲除具体要求',
+    insert_gene_detail     TEXT COMMENT '插入基因要求',
+    other_requirement      TEXT COMMENT '其他要求',
+    provided_materials     TEXT COMMENT '申请方提供材料',
+    deleted                char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by              varchar(255) COMMENT '创建人',
+    create_time            DATETIME     NULL COMMENT '创建时间',
+    update_by              varchar(255) COMMENT '更新人',
+    update_time            DATETIME     NULL COMMENT '更新时间',
+    tenant_id              bigint COMMENT '租户ID',
+    dept_id                bigint COMMENT '部门ID'
+) COMMENT ='品系定制基本信息';
+
+-- 定制总表:存储品系定制详细信息
+CREATE TABLE strain_custom_detail
+(
+    id                     BIGINT PRIMARY KEY COMMENT '主键',
+    strain_custom_basic_id BIGINT       NOT NULL COMMENT '品系定制基本信息主键',
+    species                VARCHAR(100) NOT NULL COMMENT '种属',
+    genetic_model          VARCHAR(100) NOT NULL COMMENT '遗传工程模型种类',
+    gene_name              VARCHAR(100) NOT NULL COMMENT '基因名称',
+    gene_id                VARCHAR(100) NOT NULL COMMENT 'Gene ID',
+    specific_requirement   TEXT         NOT NULL COMMENT '具体要求',
+    remarks                TEXT COMMENT '备注',
+    deleted                char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by              varchar(255) COMMENT '创建人',
+    create_time            DATETIME     NULL COMMENT '创建时间',
+    update_by              varchar(255) COMMENT '更新人',
+    update_time            DATETIME     NULL COMMENT '更新时间',
+    tenant_id              bigint COMMENT '租户ID',
+    dept_id                bigint COMMENT '部门ID'
+) COMMENT ='品系定制详细信息';
+
+-- 品系净化扩繁基本信息表
+CREATE TABLE strain_purification_info
+(
+    id                            BIGINT PRIMARY KEY COMMENT '主键',
+    flow_id                       BIGINT COMMENT '流程主键',
+    strain_name                   VARCHAR(50)  NOT NULL COMMENT '品系名称',
+    breeding_location             VARCHAR(255) NOT NULL COMMENT '动物饲养地',
+    source                        VARCHAR(100) NOT NULL COMMENT '获得来源',
+    source_link                   TEXT COMMENT '引种来源官方网站链接',
+    external_animal_info          TEXT COMMENT '自行提供外部动物信息',
+    birth_gene_identification     TEXT COMMENT '动物出生信息、基因型、鉴定策略',
+    experimental_arrangement      VARCHAR(255) NOT NULL COMMENT '实验安排',
+    genetic_background            VARCHAR(100) NOT NULL COMMENT '遗传背景',
+    genetic_background_other      VARCHAR(255) NULL COMMENT '遗传背景(其他)',
+    female_breeding_method        VARCHAR(50) COMMENT '雌性繁育方式',
+    male_breeding_method          VARCHAR(50) COMMENT '雄性繁育方式',
+    phenotype                     VARCHAR(10)  NOT NULL COMMENT '有无明显表型特征',
+    phenotype_description         TEXT COMMENT '表型描述',
+    microbial_testing             VARCHAR(10)  NOT NULL COMMENT '是否做过微生物检测',
+    testing_details               TEXT COMMENT '检测细节',
+    testing_file                  TEXT COMMENT '检测附件',
+    gene_testing                  VARCHAR(100) NOT NULL COMMENT '基因鉴定',
+    experimental_post_arrangement VARCHAR(100) NOT NULL COMMENT '实验后期安排',
+    cryopreservation_service      VARCHAR(50)  NOT NULL COMMENT '冻存服务需求',
+    cryopreservation_period       VARCHAR(50) COMMENT '冻存周期',
+    cryopreservation_count        INT COMMENT '冻存数量(如精子麦管数、胚胎数)',
+    deleted                       char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by                     varchar(255) COMMENT '创建人',
+    create_time                   DATETIME     null COMMENT '创建时间',
+    update_by                     varchar(255) COMMENT '更新人',
+    update_time                   DATETIME     NULL COMMENT '更新时间',
+    tenant_id                     bigint COMMENT '租户ID',
+    dept_id                       bigint COMMENT '部门ID'
+) COMMENT ='品系净化扩繁基本信息表';
+
+-- 需求动物情况表:存储需求动物的具体信息
+CREATE TABLE animal_demand
+(
+    id              BIGINT PRIMARY KEY COMMENT '主键',
+    purification_id BIGINT      NOT NULL COMMENT '关联品系净化扩繁基本信息表的ID',
+    gender          VARCHAR(10) NOT NULL COMMENT '性别',
+    age_weeks       INT         NOT NULL COMMENT '周龄',
+    quantity        INT         NOT NULL COMMENT '数量',
+    strain_name     VARCHAR(50) NOT NULL COMMENT '品系名称',
+    genotype_name   VARCHAR(50) NOT NULL COMMENT '基因型名称',
+    remarks         TEXT COMMENT '备注',
+    deleted         char(1)     NOT null default '0' COMMENT '是否被删除',
+    create_by       varchar(255) COMMENT '创建人',
+    create_time     DATETIME    null COMMENT '创建时间',
+    update_by       varchar(255) COMMENT '更新人',
+    update_time     DATETIME    NULL COMMENT '更新时间',
+    tenant_id       bigint COMMENT '租户ID',
+    dept_id         bigint COMMENT '部门ID'
+) COMMENT ='动物需求信息';
+
+-- 需求笼位情况表:存储需求笼位的具体信息
+CREATE TABLE cage_demand
+(
+    id              BIGINT PRIMARY KEY COMMENT '主键',
+    purification_id BIGINT       NOT NULL COMMENT '关联品系净化扩繁基本信息表的ID',
+    animal_strain   VARCHAR(50)  NOT NULL COMMENT '品系动物',
+    cage_count      INT          NOT NULL COMMENT '笼位数',
+    breeding_days   INT          NOT NULL COMMENT '饲养天数',
+    special_feed    VARCHAR(255) NOT NULL COMMENT '特殊饲料饲养',
+    remarks         TEXT COMMENT '备注',
+    deleted         char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by       varchar(255) COMMENT '创建人',
+    create_time     DATETIME     null COMMENT '创建时间',
+    update_by       varchar(255) COMMENT '更新人',
+    update_time     DATETIME     NULL COMMENT '更新时间',
+    tenant_id       bigint COMMENT '租户ID',
+    dept_id         bigint COMMENT '部门ID'
+) COMMENT ='笼位需求信息';
+
+CREATE TABLE `file_info`
+(
+    id          INT AUTO_INCREMENT PRIMARY KEY,
+    `relate_id` bigint                DEFAULT NULL COMMENT '关联id',
+    `type`      varchar(255) COMMENT '关联类型',
+    `name`      varchar(255) COMMENT '文件名称',
+    `url`       varchar(255) NOT NULL COMMENT '文件地址',
+    deleted     char(1)      NOT null default '0' COMMENT '是否被删除',
+    create_by   varchar(255) COMMENT '创建人',
+    create_time DATETIME     null COMMENT '创建时间',
+    update_by   varchar(255) COMMENT '更新人',
+    update_time DATETIME     NULL COMMENT '更新时间',
+    tenant_id   bigint COMMENT '租户ID',
+    dept_id     bigint COMMENT '部门ID'
+) COMMENT ='文件信息';
+
+CREATE TABLE dict_common
+(
+    id         INT          NOT NULL COMMENT '字典项ID' AUTO_INCREMENT PRIMARY KEY,
+    dict_group VARCHAR(50)  NULL COMMENT '字典分组',
+    dict_type  VARCHAR(50)  NULL COMMENT '字典类型',
+    dict_label VARCHAR(100) NULL COMMENT '显示值',
+    dict_sort  INT          NOT null default 10 COMMENT '排序',
+    deleted    char(1)      NOT null default '0' COMMENT '是否被删除'
+) COMMENT '字典';
+
+CREATE UNIQUE INDEX dict_common_dict_group_IDX USING BTREE ON dict_common (dict_group, dict_type);
+
+
+insert into dict_common(dict_group, dict_type, dict_label)
+values ('animal_strain_custom', '1', '基因工程动物'),
+       ('animal_strain_custom', '2', '打靶载体'),
+       ('animal_strain_custom', '3', '基因工程细胞'),
+       ('knockout_species', '1', '小鼠'),
+       ('knockout_species', '2', '大鼠'),
+       ('knockout_species', '3', '猪'),
+       ('knockout_species', '0', '其他'),
+       ('genetic_model_type', '1', '全身性基因敲除KO'),
+       ('genetic_model_type', '2', '条件性/组织特异性基因敲除CKO'),
+       ('genetic_model_type', '3', '转基因TG'),
+       ('genetic_model_type', '4', '点突变KI'),
+       ('genetic_model_type', '5', '基因插入KI'),
+       ('source', '1', '模式动物中心提供'),
+       ('source', '2', '引种'),
+       ('source', '3', '自行提供'),
+       ('experimental_arrangement', '1', '仅净化保种'),
+       ('experimental_arrangement', '2', '扩繁'),
+       ('experimental_arrangement', '3', '精子冷冻'),
+       ('experimental_arrangement', '4', '冻精复苏'),
+       ('experimental_arrangement', '5', '胚胎冷冻'),
+       ('experimental_arrangement', '6', '冻胚复苏'),
+       ('genetic_background', '1', 'KO'),
+       ('genetic_background', '2', 'CKO'),
+       ('genetic_background', '3', 'KI'),
+       ('genetic_background', '4', 'TG'),
+       ('genetic_background', '0', '其他'),
+       ('breeding_method', '1', '纯合'),
+       ('breeding_method', '2', '杂合'),
+       ('breeding_method', '3', '阳性'),
+       ('breeding_method', '4', '野生型'),
+       ('breeding_method', '5', '纯合/阳性'),
+       ('breeding_method', '6', '纯合/阴性'),
+       ('gene_testing', '1', '申请方自行鉴定'),
+       ('gene_testing', '2', '本实验室鉴定'),
+       ('experimental_post_arrangement', '1', '净化后扩繁做实验'),
+       ('experimental_post_arrangement', '2', '净化后仅活体保种'),
+       ('experimental_post_arrangement', '3', '冷冻后交付冷冻产品'),
+       ('experimental_post_arrangement', '4', '冷冻后我处保存'),
+       ('experimental_post_arrangement', '5', '复苏后扩繁做实验'),
+       ('experimental_post_arrangement', '6', '复苏后仅活体保种'),
+       ('cryopreservation_service', '1', '无'),
+       ('cryopreservation_service', '2', '冻存精子'),
+       ('cryopreservation_service', '3', '冻存胚胎'),
+       ('cryopreservation_period', '1', '2年'),
+       ('cryopreservation_period', '2', '3年'),
+       ('cryopreservation_period', '3', '3年以上')
+;
+
+insert into system_properties(prop_key, prop_value, remark)
+values ('gene.-1.dingding.enable', 'true', '驳回钉钉通知'),
+       ('gene.-1.email.enable', 'false', '驳回邮件通知'),
+       ('gene.20.dingding.enable', 'true', '基因编辑审核钉钉通知'),
+       ('gene.20.email.enable', 'false', '基因编辑审核邮件通知'),
+       ('gene.40.dingding.enable', 'true', '项目负责人钉钉通知'),
+       ('gene.40.email.enable', 'false', '项目负责人邮件通知'),
+       ('gene.60.dingding.enable', 'true', '项目管理部钉钉通知'),
+       ('gene.60.email.enable', 'false', '项目管理部邮件通知'),
+       ('gene.100.dingding.enable', 'true', '项目完成执行钉钉通知'),
+       ('gene.100.email.enable', 'false', '项目完成执行邮件通知'),
+
+       ('gene.execute.dingding.enable', 'false', '项目执行后钉钉通知'),
+       ('gene.execute.email.enable', 'false', '项目执行后邮件通知'),
+       ('gene.execute.id', '', '项目执行后通知人')
+;