CREATE TABLE sys_ward ( ward_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', ward_name VARCHAR(100) NOT NULL COMMENT '病区名称', dept_id VARCHAR(300) NOT NULL COMMENT '科室ID', status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='病区管理表'; CREATE TABLE sys_hospital ( hospital_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', hospital_name VARCHAR(200) NOT NULL COMMENT '医院名称', hospital_logo VARCHAR(300) COMMENT '医院logo', hospital_level char(2) COMMENT '医院等级', phone VARCHAR(20) COMMENT '联系电话', bed_space VARCHAR(100) COMMENT '住院床位', region VARCHAR(300) COMMENT '所属地区', description VARCHAR(1000) COMMENT '医院描述', status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医院管理表'; CREATE TABLE sys_disease_label ( label_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', label_name VARCHAR(100) NOT NULL COMMENT '疾病/部位名称', label_code VARCHAR(50) NOT NULL COMMENT '疾病/部位编码', category CHAR(1) COMMENT '所属分类', status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疾病/部位标签表'; CREATE TABLE sys_food_category ( food_category_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', name VARCHAR(300) NOT NULL COMMENT '分类名称', parent_id BIGINT DEFAULT 0 COMMENT '上级分类ID', type INT DEFAULT 2 COMMENT '类型', is_default INT DEFAULT 0 COMMENT '是默认', sort INT DEFAULT 0 COMMENT '排序', status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='食材分类表'; INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('调料类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('油脂类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('奶及奶制品', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('大豆及坚果类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('禽畜肉类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('水产类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('蛋类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('蔬菜类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('水果类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('谷类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('全谷物和杂豆', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('薯类', 0, '1', '1'); INSERT INTO sys_food_category (name, parent_id, create_by, update_by) VALUES ('水', 0, '1', '1'); CREATE TABLE sys_food_ingredient ( food_ingredient_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', food_category_id VARCHAR(200) NOT NULL COMMENT '食材分类ID', tenant_id varchar(20) default '000000' null comment '租户编号', name VARCHAR(100) NOT NULL COMMENT '食材名称', code VARCHAR(50) NOT NULL COMMENT '食材编码', unit VARCHAR(20) NOT NULL COMMENT '单位', purchase_price DECIMAL(10,2) COMMENT '入货价格(元)', edible_ratio DECIMAL(5,2) DEFAULT 100.00 COMMENT '食材可食比例构成(%)', shelf_life INT COMMENT '保质期(天)', stock_warning DECIMAL(10,2) COMMENT '库存预警值(g)', expiry_warning INT COMMENT '保质期预警(天)', description TEXT COMMENT '食材描述', -- 营养成分 calories DECIMAL(8,2) DEFAULT 0.00 COMMENT '热量(kcal)', protein DECIMAL(8,2) DEFAULT 0.00 COMMENT '蛋白质(g)', fat DECIMAL(8,2) DEFAULT 0.00 COMMENT '脂肪(g)', carbohydrate DECIMAL(8,2) DEFAULT 0.00 COMMENT '碳水化合物(g)', water DECIMAL(8,2) DEFAULT 0.00 COMMENT '水分(ml)', vitamin_a DECIMAL(8,2) DEFAULT 0.00 COMMENT '维生素A(μg)', vitamin_b2 DECIMAL(8,2) DEFAULT 0.00 COMMENT '维生素B2(mg)', vitamin_c DECIMAL(8,2) DEFAULT 0.00 COMMENT '维生素C(mg)', sodium DECIMAL(8,2) DEFAULT 0.00 COMMENT '钠(mg)', iron DECIMAL(8,2) DEFAULT 0.00 COMMENT '铁(mg)', phosphorus DECIMAL(8,2) DEFAULT 0.00 COMMENT '磷(mg)', dietary_fiber DECIMAL(8,2) DEFAULT 0.00 COMMENT '膳食纤维(g)', vitamin_b1 DECIMAL(8,2) DEFAULT 0.00 COMMENT '维生素B1(mg)', niacin DECIMAL(8,2) DEFAULT 0.00 COMMENT '烟酸(mg)', vitamin_e DECIMAL(8,2) DEFAULT 0.00 COMMENT '维生素E(mg)', calcium DECIMAL(8,2) DEFAULT 0.00 COMMENT '钙(mg)', potassium DECIMAL(8,2) DEFAULT 0.00 COMMENT '钾(mg)', cholesterol DECIMAL(8,2) DEFAULT 0.00 COMMENT '胆固醇(g)', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='食材管理表'; CREATE TABLE sys_recipe_category ( recipe_category_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', name VARCHAR(100) NOT NULL COMMENT '食谱分类名称', sort INT DEFAULT 0 COMMENT '排序', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='食谱分类管理表'; CREATE TABLE sys_recipe ( recipe_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', name VARCHAR(100) NOT NULL COMMENT '食谱名称', category_id BIGINT NOT NULL COMMENT '食谱分类ID', base_diet VARCHAR(100) DEFAULT NULL COMMENT '基本膳食', meal_time VARCHAR(100) DEFAULT NULL COMMENT '餐次', price DECIMAL(10,2) DEFAULT 0.00 COMMENT '食谱价格', suitable_disease VARCHAR(255) DEFAULT NULL COMMENT '适用疾病(可用逗号分隔多个)', avoid_disease VARCHAR(255) DEFAULT NULL COMMENT '忌食病症(可用逗号分隔多个)', suitable_dept VARCHAR(255) DEFAULT NULL COMMENT '适用科室(可用逗号分隔多个)', smart_recommend CHAR(1) default '0' null comment '智能推荐(1否 0是)', cooking_method VARCHAR(255) DEFAULT NULL COMMENT '制作方式', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='食谱管理表'; CREATE TABLE sys_recipe_food_ingredient ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', recipe_id BIGINT NOT NULL COMMENT '食谱ID', food_ingredient_id BIGINT NOT NULL COMMENT '食材ID', quantity DECIMAL(10,2) DEFAULT 0.00 COMMENT '用量(可选,单位自定义)', calories DECIMAL(10,2) DEFAULT 0.00 COMMENT '热量(kcal)', remark VARCHAR(255) DEFAULT NULL COMMENT '备注', -- 系统字段 create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='食谱与食材关联表'; CREATE TABLE sys_screening_assessment_config ( config_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', type char(1) NOT NULL COMMENT '量表类型', -- 如:营养筛查、营养评估 gender char(2) DEFAULT '-1' COMMENT '性别', -- 男、女、不限 age char(2) DEFAULT '-1' COMMENT '年龄', -- 如:不限、18-65、>65等 name VARCHAR(150) NOT NULL COMMENT '量表名称', description VARCHAR(300) DEFAULT NULL COMMENT '量表说明', remark text DEFAULT NULL COMMENT '备注', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='筛查/评估配置表'; CREATE TABLE sys_screening_assessment_question( question_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', tenant_id varchar(20) default '000000' null comment '租户编号', config_id BIGINT COMMENT '主键ID', title VARCHAR(600) NOT NULL COMMENT '标题', question_type VARCHAR(50) NOT NULL COMMENT '题型', question_Child_Type VARCHAR(50) COMMENT '子题型', last_type CHAR(1) COMMENT '系统参数-other类型', arrangement CHAR(1) COMMENT '横向排列、竖向排列', score_method CHAR(1) COMMENT '累计选项得分、按最高分、按最低分', required tinyint COMMENT '是否必填', content text COMMENT '内容', -- 系统字段 create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='题目表'; -- 营养筛查表 CREATE TABLE `nutrition_screening` ( `id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(20) default '000000' null comment '租户编号', `patient_id` bigint(20) DEFAULT NULL COMMENT '患者ID', `config_id` bigint NOT NULL COMMENT '营养筛查类型', `screening_time` datetime NOT NULL COMMENT '筛查时间', `visit_type` char(1) NOT NULL COMMENT '看诊类型(1门诊 2住院)', `patient_no` varchar(50) NOT NULL COMMENT '门诊/住院号', `screening_score` decimal(5,2) DEFAULT NULL COMMENT '营养筛查分数', `screening_conclusion` varchar(500) DEFAULT NULL COMMENT '营养筛查结论', `payment_status` varchar(20) DEFAULT '未支付' COMMENT '支付状态(未支付/已支付/已退款)', `content` longtext comment '内容', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='营养筛查表'; -- 营养评估表 CREATE TABLE `nutrition_evaluation` ( `id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(20) default '000000' null comment '租户编号', `patient_id` bigint(20) DEFAULT NULL COMMENT '患者ID', `config_id` bigint NOT NULL COMMENT '营养评估类型', `screening_time` datetime NOT NULL COMMENT '筛查时间', `visit_type` char(1) NOT NULL COMMENT '看诊类型(0门诊 1住院)', `patient_no` varchar(50) NOT NULL COMMENT '门诊/住院号', `payment_status` varchar(20) DEFAULT '未支付' COMMENT '支付状态(未支付/已支付/已退款)', `content` longtext null comment '内容', -- 系统字段 status CHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', create_dept bigint null comment '创建部门', create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='营养评估表';