-- 1. 创建 doc_statistics 表的主键序列(自增ID用,与 doc_order_process 序列逻辑一致) CREATE SEQUENCE doc_statistics_id_seq START WITH 1 -- 序列起始值 INCREMENT BY 1 -- 每次递增1 NO MINVALUE -- 无最小值限制 NO MAXVALUE -- 无最大值限制 CACHE 1; -- 缓存1个值提升性能 -- 2. 创建 doc_statistics 表(字段类型、约束与实体类属性一一对应) CREATE TABLE "public"."doc_statistics" ( "id" int8 NOT NULL DEFAULT nextval('doc_statistics_id_seq'::regclass), -- 主键,关联序列自增 "record_id" int8 DEFAULT NULL, -- 记录ID(对应实体类 recordId) "statistic_definition_id" int8 DEFAULT NULL, -- 统计项定义ID(对应 statisticDefinitionId) "encounter_id" int8 DEFAULT NULL, -- 就诊ID(对应 encounterId) "patient_id" int8 DEFAULT NULL, -- 患者ID(对应 patientId) "statistic_definition_code" varchar(100) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 统计项编码(对应 statisticDefinitionCode,长度适配业务需求) "organization_id" int8 DEFAULT NULL, -- 记录科室ID(对应 organizationId) "value" varchar(255) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 统计值(对应 value,用varchar兼容多种数据类型) "record_time" timestamp(6) DEFAULT NULL, -- 记录时间(对应 recordTime,实体类为Date,PostgreSQL用timestamp存储) "source" varchar(100) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 记录来源(对应 source) "tenant_id" int8 NOT NULL DEFAULT 1, -- 租户ID(通用字段,与 doc_order_process 保持一致,默认值可根据业务调整) "delete_flag" char(1) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '0', -- 删除状态(0=未删除,1=已删除,与 doc_order_process 逻辑一致) "create_by" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, -- 创建人(继承 HisBaseEntity 通用字段) "create_time" timestamptz(6) NOT NULL, -- 创建时间(继承 HisBaseEntity,带时区,与 doc_order_process 一致) "update_by" varchar(32) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 更新人(继承 HisBaseEntity) "update_time" timestamptz(6) DEFAULT NULL, -- 更新时间(继承 HisBaseEntity,带时区) CONSTRAINT "doc_statistics_pkey" PRIMARY KEY ("id") -- 主键约束 ) ; -- 3. 设置表所有者(与 doc_order_process 保持一致,默认为 postgres) ALTER TABLE "public"."doc_statistics" OWNER TO "postgres"; -- 4. 字段注释(与实体类注释完全对应,便于维护) COMMENT ON COLUMN "public"."doc_statistics"."id" IS '主键ID'; COMMENT ON COLUMN "public"."doc_statistics"."record_id" IS '记录ID'; COMMENT ON COLUMN "public"."doc_statistics"."statistic_definition_id" IS '统计项定义ID'; COMMENT ON COLUMN "public"."doc_statistics"."encounter_id" IS '就诊ID'; COMMENT ON COLUMN "public"."doc_statistics"."patient_id" IS '患者ID'; COMMENT ON COLUMN "public"."doc_statistics"."statistic_definition_code" IS '统计项编码'; COMMENT ON COLUMN "public"."doc_statistics"."organization_id" IS '记录科室ID'; COMMENT ON COLUMN "public"."doc_statistics"."value" IS '统计值'; COMMENT ON COLUMN "public"."doc_statistics"."record_time" IS '记录时间(格式:yyyy-MM-dd HH:mm:ss)'; COMMENT ON COLUMN "public"."doc_statistics"."source" IS '记录来源'; COMMENT ON COLUMN "public"."doc_statistics"."tenant_id" IS '租户ID'; COMMENT ON COLUMN "public"."doc_statistics"."delete_flag" IS '删除状态(0=未删除,1=已删除)'; COMMENT ON COLUMN "public"."doc_statistics"."create_by" IS '创建人'; COMMENT ON COLUMN "public"."doc_statistics"."create_time" IS '创建时间'; COMMENT ON COLUMN "public"."doc_statistics"."update_by" IS '更新人'; COMMENT ON COLUMN "public"."doc_statistics"."update_time" IS '更新时间'; -- 5. 表注释 COMMENT ON TABLE "public"."doc_statistics" IS '文档统计表(存储各类统计项数据,如医嘱统计、患者数据统计等)'; -- 插入新的迁移历史记录 INSERT INTO __MigrationsHistory (MigrationId, ProductVersion) VALUES ('202509031200add_table_doc_statistics', '1.0.0');