From 1ad322c16aba3dfb656603c2c652556908fa7bf0 Mon Sep 17 00:00:00 2001 From: pengjie <2413927716@qq.com> Date: Mon, 10 Aug 2026 10:12:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BC=A9=E7=9F=AD=E6=80=A5?= =?UTF-8?q?=E6=95=91=E5=AE=A3=E6=95=99=E7=9B=B8=E5=85=B3=E8=A1=A8=E5=90=8D?= =?UTF-8?q?=20QH=5FEME=5FFIRST=5FAID=5F*=20->=20QH=5FEME=5FFIR=5FAID=5F*?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E8=A1=A8=E5=90=8D=E8=B6=85=E9=95=BF?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/updatesql/20260626-急救宣教.sql | 164 +++--- db/updatesql/20260810-缩短急救宣教表名.sql | 28 + .../API文档-急救宣教资源管理v3.md | 4 +- .../emergency/entity/FirstAidPushRecord.java | 4 +- .../emergency/entity/FirstAidResource.java | 4 +- .../entity/FirstAidResourceAudit.java | 4 +- .../entity/FirstAidResourceCategory.java | 4 +- .../entity/FirstAidResourceUserAction.java | 4 +- .../entity/FirstAidResourceVersion.java | 4 +- .../FirstAidResourceCategoryMapper.java | 16 +- .../mapper/FirstAidResourceMapper.java | 10 +- .../FirstAidResourceUserActionMapper.java | 8 +- .../mapper/FirstAidResourceVersionMapper.java | 8 +- .../sql/first_aid_education_resource.sql | 136 ++--- .../sql/first_aid_migrate_status.sql | 8 +- .../sql/first_aid_migrate_status_rollback.sql | 6 +- .../resources/sql/first_aid_seed_data.sql | 505 ++++++++++++++++++ 17 files changed, 725 insertions(+), 192 deletions(-) create mode 100644 db/updatesql/20260810-缩短急救宣教表名.sql create mode 100644 health-emergency/health-emergency-start/src/main/resources/sql/first_aid_seed_data.sql diff --git a/db/updatesql/20260626-急救宣教.sql b/db/updatesql/20260626-急救宣教.sql index 0bdced1..aef67fe 100644 --- a/db/updatesql/20260626-急救宣教.sql +++ b/db/updatesql/20260626-急救宣教.sql @@ -1,4 +1,4 @@ --- ===================================================== +-- ===================================================== -- 急救宣教资源管理 — 线上部署 SQL(达梦 DM8) -- 包含:分类/标签、资源、用户行为、版本历史、审核记录、推送记录 -- 日期: 2026-06-25 @@ -6,7 +6,7 @@ -- 1. 资源分类/标签统一表 -- TYPE: 1=分类(树形), 2=标签(扁平) -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" ( +CREATE TABLE "QH_EME_FIR_AID_RES_CATE" ( "ID" VARCHAR2(32) NOT NULL, "NAME" VARCHAR2(100) NOT NULL, "TYPE" NUMBER(1) DEFAULT 1 NOT NULL, @@ -22,21 +22,21 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" ( "MEMO" VARCHAR2(500), PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" IS '急救宣教资源分类/标签'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."NAME" IS '名称'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."TYPE" IS '类型:1=分类,2=标签'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."PARENT_ID" IS '父分类ID(根分类为NULL,标签指向所属分类ID)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."DESCRIPTION" IS '描述'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."SORT_NO" IS '排序号'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."STATUS" IS '状态(1=正常,2=冻结)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."MEMO" IS '备注'; -CREATE INDEX "IDX_FA_CATEGORY_TYPE" ON "QH_EME_FIRST_AID_RESOURCE_CATEGORY"("TYPE"); -CREATE INDEX "IDX_FA_CATEGORY_PARENT_ID" ON "QH_EME_FIRST_AID_RESOURCE_CATEGORY"("PARENT_ID"); +COMMENT ON TABLE "QH_EME_FIR_AID_RES_CATE" IS '急救宣教资源分类/标签'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."NAME" IS '名称'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."TYPE" IS '类型:1=分类,2=标签'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."PARENT_ID" IS '父分类ID(根分类为NULL,标签指向所属分类ID)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."SORT_NO" IS '排序号'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."STATUS" IS '状态(1=正常,2=冻结)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."MEMO" IS '备注'; +CREATE INDEX "IDX_FA_CATEGORY_TYPE" ON "QH_EME_FIR_AID_RES_CATE"("TYPE"); +CREATE INDEX "IDX_FA_CATEGORY_PARENT_ID" ON "QH_EME_FIR_AID_RES_CATE"("PARENT_ID"); -- 2. 资源表 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE" ( +CREATE TABLE "QH_EME_FIR_AID_RES" ( "ID" VARCHAR2(32) NOT NULL, "TITLE" VARCHAR2(200) NOT NULL, "SUMMARY" VARCHAR2(500), @@ -65,35 +65,35 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE" ( "MEMO" VARCHAR2(500), PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE" IS '急救宣教资源'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."TITLE" IS '标题'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."SUMMARY" IS '摘要/简介'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CONTENT_TYPE" IS '内容类型:IMAGE_TEXT=图文/VIDEO=视频/AUDIO=音频/PDF'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CATEGORY_ID" IS '所属分类ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."APPLICABLE_SCENARIO" IS '适用场景'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."TAGS" IS '标签ID列表(逗号分隔)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CONTENT" IS '正文内容(富文本HTML)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."COVER_IMAGE" IS '封面图URL'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."FILE_URL" IS '附件URL列表(JSON数组)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."EFFECTIVE_TIME" IS '生效时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."EXPIRY_TIME" IS '失效时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_REJECT_REASON" IS '驳回原因'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_BY" IS '审核人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_BY_ID" IS '审核人ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_TIME" IS '审核时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."VIEW_COUNT" IS '浏览次数'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."FAVORITE_COUNT" IS '收藏次数'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."STATUS" IS '发布状态(0=草稿,1=已发布,2=已下架)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."MEMO" IS '备注'; -CREATE INDEX "IDX_FA_RESOURCE_CATEGORY_ID" ON "QH_EME_FIRST_AID_RESOURCE"("CATEGORY_ID"); -CREATE INDEX "IDX_FA_RESOURCE_AUDIT_STATUS" ON "QH_EME_FIRST_AID_RESOURCE"("AUDIT_STATUS"); -CREATE INDEX "IDX_FA_RESOURCE_EFFECTIVE_TIME" ON "QH_EME_FIRST_AID_RESOURCE"("EFFECTIVE_TIME"); +COMMENT ON TABLE "QH_EME_FIR_AID_RES" IS '急救宣教资源'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TITLE" IS '标题'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."SUMMARY" IS '摘要/简介'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT_TYPE" IS '内容类型:IMAGE_TEXT=图文/VIDEO=视频/AUDIO=音频/PDF'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CATEGORY_ID" IS '所属分类ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."APPLICABLE_SCENARIO" IS '适用场景'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TAGS" IS '标签ID列表(逗号分隔)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT" IS '正文内容(富文本HTML)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."COVER_IMAGE" IS '封面图URL'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FILE_URL" IS '附件URL列表(JSON数组)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EFFECTIVE_TIME" IS '生效时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EXPIRY_TIME" IS '失效时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_REJECT_REASON" IS '驳回原因'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_BY" IS '审核人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_BY_ID" IS '审核人ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_TIME" IS '审核时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."VIEW_COUNT" IS '浏览次数'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FAVORITE_COUNT" IS '收藏次数'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."STATUS" IS '发布状态(0=草稿,1=已发布,2=已下架)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."MEMO" IS '备注'; +CREATE INDEX "IDX_FA_RESOURCE_CATEGORY_ID" ON "QH_EME_FIR_AID_RES"("CATEGORY_ID"); +CREATE INDEX "IDX_FA_RESOURCE_AUDIT_STATUS" ON "QH_EME_FIR_AID_RES"("AUDIT_STATUS"); +CREATE INDEX "IDX_FA_RESOURCE_EFFECTIVE_TIME" ON "QH_EME_FIR_AID_RES"("EFFECTIVE_TIME"); -- 3. 用户行为记录表(阅读+收藏) -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" ( +CREATE TABLE "QH_EME_FIR_AID_RES_UACT" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "USER_ID" VARCHAR2(50) NOT NULL, @@ -101,16 +101,16 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" ( "CREATE_TIME" TIMESTAMP, PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" IS '用户行为记录(阅读/收藏)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."RESOURCE_ID" IS '资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."USER_ID" IS '用户ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."TYPE" IS '行为类型:1=阅读,2=收藏'; -CREATE UNIQUE INDEX "UK_FA_USER_ACTION" ON "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"("RESOURCE_ID", "USER_ID", "TYPE"); -CREATE INDEX "IDX_FA_USER_ACTION_USER_TYPE" ON "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"("USER_ID", "TYPE"); +COMMENT ON TABLE "QH_EME_FIR_AID_RES_UACT" IS '用户行为记录(阅读/收藏)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."RESOURCE_ID" IS '资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."USER_ID" IS '用户ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."TYPE" IS '行为类型:1=阅读,2=收藏'; +CREATE UNIQUE INDEX "UK_FA_USER_ACTION" ON "QH_EME_FIR_AID_RES_UACT"("RESOURCE_ID", "USER_ID", "TYPE"); +CREATE INDEX "IDX_FA_USER_ACTION_USER_TYPE" ON "QH_EME_FIR_AID_RES_UACT"("USER_ID", "TYPE"); -- 4. 版本历史表 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" ( +CREATE TABLE "QH_EME_FIR_AID_RES_VER" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "VERSION_NO" NUMBER(10) NOT NULL, @@ -122,18 +122,18 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" ( "CREATE_TIME" TIMESTAMP, PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" IS '资源版本历史'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."RESOURCE_ID" IS '资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."VERSION_NO" IS '版本号'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."TITLE" IS '版本时的标题'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CONTENT" IS '版本时的正文内容'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CHANGE_DESCRIPTION" IS '变更描述'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."IS_CURRENT" IS '是否当前版本(1=是,0=否)'; -CREATE INDEX "IDX_FA_VERSION_RESOURCE_ID" ON "QH_EME_FIRST_AID_RESOURCE_VERSION"("RESOURCE_ID"); +COMMENT ON TABLE "QH_EME_FIR_AID_RES_VER" IS '资源版本历史'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."RESOURCE_ID" IS '资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."VERSION_NO" IS '版本号'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."TITLE" IS '版本时的标题'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CONTENT" IS '版本时的正文内容'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CHANGE_DESCRIPTION" IS '变更描述'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."IS_CURRENT" IS '是否当前版本(1=是,0=否)'; +CREATE INDEX "IDX_FA_VERSION_RESOURCE_ID" ON "QH_EME_FIR_AID_RES_VER"("RESOURCE_ID"); -- 5. 审核记录表 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_AUDIT" ( +CREATE TABLE "QH_EME_FIR_AID_RES_AUD" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "AUDIT_STATUS" NUMBER(2), @@ -144,19 +144,19 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_AUDIT" ( "CREATE_TIME" TIMESTAMP DEFAULT SYSDATE, PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_AUDIT" IS '急救宣教资源审核记录'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."RESOURCE_ID" IS '关联资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."AUDIT_STATUS" IS '审核状态:10=待审核,11=已通过,12=已驳回'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."AUDIT_REJECT_REASON" IS '驳回原因'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."AUDIT_BY" IS '审核人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."AUDIT_BY_ID" IS '审核人ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."AUDIT_TIME" IS '审核时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_AUDIT"."CREATE_TIME" IS '创建时间'; -CREATE INDEX "IDX_FA_AUDIT_RESOURCE_ID" ON "QH_EME_FIRST_AID_RESOURCE_AUDIT"("RESOURCE_ID"); +COMMENT ON TABLE "QH_EME_FIR_AID_RES_AUD" IS '急救宣教资源审核记录'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."RESOURCE_ID" IS '关联资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_STATUS" IS '审核状态:10=待审核,11=已通过,12=已驳回'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_REJECT_REASON" IS '驳回原因'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_BY" IS '审核人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_BY_ID" IS '审核人ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_TIME" IS '审核时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."CREATE_TIME" IS '创建时间'; +CREATE INDEX "IDX_FA_AUDIT_RESOURCE_ID" ON "QH_EME_FIR_AID_RES_AUD"("RESOURCE_ID"); -- 6. 推送记录表 -CREATE TABLE "QH_EME_FIRST_AID_PUSH_RECORD" ( +CREATE TABLE "QH_EME_FIR_AID_PUSH_RD" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "RESOURCE_TITLE" VARCHAR2(200) DEFAULT NULL, @@ -169,17 +169,17 @@ CREATE TABLE "QH_EME_FIRST_AID_PUSH_RECORD" ( PRIMARY KEY ("ID"), CONSTRAINT "UK_ORDER_RESOURCE" UNIQUE ("ORDER_ID", "RESOURCE_ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_PUSH_RECORD" IS '急救宣教推送记录表'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."RESOURCE_ID" IS '资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."RESOURCE_TITLE" IS '资源标题(冗余)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."ORDER_ID" IS '关联应急工单ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."TARGET_USER_ID" IS '推送目标用户ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."PUSH_BY" IS '推送人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."PUSH_BY_ID" IS '推送人ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."PUSH_TIME" IS '推送时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_PUSH_RECORD"."TENANT_ID" IS '租户ID'; -CREATE INDEX "IDX_FA_PUSH_RECORD_ORDER_ID" ON "QH_EME_FIRST_AID_PUSH_RECORD"("ORDER_ID"); +COMMENT ON TABLE "QH_EME_FIR_AID_PUSH_RD" IS '急救宣教推送记录表'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."RESOURCE_ID" IS '资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."RESOURCE_TITLE" IS '资源标题(冗余)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."ORDER_ID" IS '关联应急工单ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."TARGET_USER_ID" IS '推送目标用户ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_BY" IS '推送人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_BY_ID" IS '推送人ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_TIME" IS '推送时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."TENANT_ID" IS '租户ID'; +CREATE INDEX "IDX_FA_PUSH_RECORD_ORDER_ID" ON "QH_EME_FIR_AID_PUSH_RD"("ORDER_ID"); -- 7. 字典数据 -- 7.1 内容类型 diff --git a/db/updatesql/20260810-缩短急救宣教表名.sql b/db/updatesql/20260810-缩短急救宣教表名.sql new file mode 100644 index 0000000..6305636 --- /dev/null +++ b/db/updatesql/20260810-缩短急救宣教表名.sql @@ -0,0 +1,28 @@ +-- ===================================================== +-- 缩短急救宣教相关表名(达梦数据库) +-- 原因:原表名超过数据库限制 +-- 日期:2026-08-10 +-- ===================================================== + +-- 1. 急救资源分类表 +RENAME QH_EME_FIRST_AID_RESOURCE_CATEGORY TO QH_EME_FIR_AID_RES_CATE; + +-- 2. 用户操作记录表 +RENAME QH_EME_FIRST_AID_RESOURCE_USER_ACTION TO QH_EME_FIR_AID_RES_UACT; + +-- 3. 资源版本表 +RENAME QH_EME_FIRST_AID_RESOURCE_VERSION TO QH_EME_FIR_AID_RES_VER; + +-- 4. 资源审核表 +RENAME QH_EME_FIRST_AID_RESOURCE_AUDIT TO QH_EME_FIR_AID_RES_AUD; + +-- 5. 推送记录表 +RENAME QH_EME_FIRST_AID_PUSH_RECORD TO QH_EME_FIR_AID_PUSH_RD; + +-- 6. 急救资源主表(最后执行,避免外键依赖) +RENAME QH_EME_FIRST_AID_RESOURCE TO QH_EME_FIR_AID_RES; + +-- ===================================================== +-- 验证:确认新表名已生效 +-- SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME LIKE 'QH_EME_FIR_AID_%'; +-- ===================================================== diff --git a/health-emergency/API文档-急救宣教资源管理v3.md b/health-emergency/API文档-急救宣教资源管理v3.md index 8f2ddd0..1892ca0 100644 --- a/health-emergency/API文档-急救宣教资源管理v3.md +++ b/health-emergency/API文档-急救宣教资源管理v3.md @@ -1,4 +1,4 @@ -# 急救宣教资源管理 API 文档 v3 +# 急救宣教资源管理 API 文档 v3 > **基础信息** > 网关地址: `http://{gateway-host}:{port}`(前端加 `/health-emergency` 前缀) @@ -275,7 +275,7 @@ ## 2. 标签管理 `emergency/firstAid/tag` -标签与分类共用 `QH_EME_FIRST_AID_RESOURCE_CATEGORY` 表,`type=2` 区分。标签通过 `parentId` 绑定到分类。 +标签与分类共用 `QH_EME_FIR_AID_RES_CATE` 表,`type=2` 区分。标签通过 `parentId` 绑定到分类。 ### 2.1 分页列表 `GET /tag/list` diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidPushRecord.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidPushRecord.java index fa37a47..539c8da 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidPushRecord.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidPushRecord.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -19,7 +19,7 @@ import java.util.Date; * @Date: 2026-06-24 */ @Data -@TableName("QH_EME_FIRST_AID_PUSH_RECORD") +@TableName("QH_EME_FIR_AID_PUSH_RD") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_push_record对象", description = "急救宣教推送记录") diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResource.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResource.java index 6393e9f..39fa6cf 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResource.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResource.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import java.io.Serializable; import java.util.List; @@ -19,7 +19,7 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("QH_EME_FIRST_AID_RESOURCE") +@TableName("QH_EME_FIR_AID_RES") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_resource对象", description = "急救宣教资源") diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceAudit.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceAudit.java index a06274b..c51183f 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceAudit.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceAudit.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -21,7 +21,7 @@ import java.util.Date; * @Version: V1.0 */ @Data -@TableName("QH_EME_FIRST_AID_RESOURCE_AUDIT") +@TableName("QH_EME_FIR_AID_RES_AUD") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_resource_audit对象", description = "急救宣教资源审核记录") diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceCategory.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceCategory.java index 7ff6842..3b11c2c 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceCategory.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceCategory.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import java.io.Serializable; import java.util.List; @@ -19,7 +19,7 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("QH_EME_FIRST_AID_RESOURCE_CATEGORY") +@TableName("QH_EME_FIR_AID_RES_CATE") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_resource_category对象", description = "急救宣教资源分类/标签") diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceUserAction.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceUserAction.java index 85fc6d4..49c3966 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceUserAction.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceUserAction.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import java.io.Serializable; @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("QH_EME_FIRST_AID_RESOURCE_USER_ACTION") +@TableName("QH_EME_FIR_AID_RES_UACT") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_resource_user_action对象", description = "用户行为记录(阅读/收藏)") diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceVersion.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceVersion.java index 595feea..2368517 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceVersion.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/FirstAidResourceVersion.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity; +package com.renkang.emergency.entity; import java.io.Serializable; @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("QH_EME_FIRST_AID_RESOURCE_VERSION") +@TableName("QH_EME_FIR_AID_RES_VER") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @Schema(title = "first_aid_resource_version对象", description = "资源版本历史") diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceCategoryMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceCategoryMapper.java index 47244eb..0202efe 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceCategoryMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceCategoryMapper.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.mapper; +package com.renkang.emergency.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.renkang.emergency.entity.FirstAidResourceCategory; @@ -20,38 +20,38 @@ public interface FirstAidResourceCategoryMapper extends BaseMapper selectByParentId(@Param("parentId") String parentId); /** * 按类型查询分类/标签列表 */ - @Select("SELECT * FROM QH_EME_FIRST_AID_RESOURCE_CATEGORY WHERE TYPE = #{type} AND STATUS = 1 AND DEL_FLAG = 0 ORDER BY SORT_NO ASC, CREATE_TIME DESC") + @Select("SELECT * FROM QH_EME_FIR_AID_RES_CATE WHERE TYPE = #{type} AND STATUS = 1 AND DEL_FLAG = 0 ORDER BY SORT_NO ASC, CREATE_TIME DESC") List selectByType(@Param("type") Integer type); /** * 按类型+父分类查询标签列表 */ @Select("") @@ -60,7 +60,7 @@ public interface FirstAidResourceCategoryMapper extends BaseMapper selectRootCategories(); } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceMapper.java index 307071a..85c8570 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceMapper.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.mapper; +package com.renkang.emergency.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.renkang.emergency.entity.FirstAidResource; @@ -19,24 +19,24 @@ public interface FirstAidResourceMapper extends BaseMapper { /** * 查询某分类下的资源数量(级联删除校验用) */ - @Select("SELECT COUNT(*) FROM QH_EME_FIRST_AID_RESOURCE WHERE CATEGORY_ID = #{categoryId} AND DEL_FLAG = 0") + @Select("SELECT COUNT(*) FROM QH_EME_FIR_AID_RES WHERE CATEGORY_ID = #{categoryId} AND DEL_FLAG = 0") Integer countByCategoryId(@Param("categoryId") String categoryId); /** * 浏览计数+1 */ - @Update("UPDATE QH_EME_FIRST_AID_RESOURCE SET VIEW_COUNT = VIEW_COUNT + 1 WHERE ID = #{id}") + @Update("UPDATE QH_EME_FIR_AID_RES SET VIEW_COUNT = VIEW_COUNT + 1 WHERE ID = #{id}") void incrementViewCount(@Param("id") String id); /** * 收藏计数+1 */ - @Update("UPDATE QH_EME_FIRST_AID_RESOURCE SET FAVORITE_COUNT = FAVORITE_COUNT + 1 WHERE ID = #{id}") + @Update("UPDATE QH_EME_FIR_AID_RES SET FAVORITE_COUNT = FAVORITE_COUNT + 1 WHERE ID = #{id}") void incrementFavoriteCount(@Param("id") String id); /** * 收藏计数-1 */ - @Update("UPDATE QH_EME_FIRST_AID_RESOURCE SET FAVORITE_COUNT = FAVORITE_COUNT - 1 WHERE ID = #{id} AND FAVORITE_COUNT > 0") + @Update("UPDATE QH_EME_FIR_AID_RES SET FAVORITE_COUNT = FAVORITE_COUNT - 1 WHERE ID = #{id} AND FAVORITE_COUNT > 0") void decrementFavoriteCount(@Param("id") String id); } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceUserActionMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceUserActionMapper.java index 3a0c5a3..8d74151 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceUserActionMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceUserActionMapper.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.mapper; +package com.renkang.emergency.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -24,7 +24,7 @@ public interface FirstAidResourceUserActionMapper extends BaseMapper" + - "SELECT RESOURCE_ID FROM QH_EME_FIRST_AID_RESOURCE_USER_ACTION " + + "SELECT RESOURCE_ID FROM QH_EME_FIR_AID_RES_UACT " + "WHERE USER_ID = #{userId} AND TYPE = 2 " + "AND RESOURCE_ID IN " + "" + @@ -37,8 +37,8 @@ public interface FirstAidResourceUserActionMapper extends BaseMapper selectFavoritePage(Page page, @Param("userId") String userId); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceVersionMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceVersionMapper.java index d028f30..e6dcd5c 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceVersionMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/FirstAidResourceVersionMapper.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.mapper; +package com.renkang.emergency.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.renkang.emergency.entity.FirstAidResourceVersion; @@ -20,18 +20,18 @@ public interface FirstAidResourceVersionMapper extends BaseMapper selectByResourceId(@Param("resourceId") String resourceId); /** * 查询某资源的所有非当前版本ID(按版本号降序),用于清理旧版本 */ - @Select("SELECT ID FROM QH_EME_FIRST_AID_RESOURCE_VERSION WHERE RESOURCE_ID = #{resourceId} AND IS_CURRENT = 0 ORDER BY VERSION_NO DESC") + @Select("SELECT ID FROM QH_EME_FIR_AID_RES_VER WHERE RESOURCE_ID = #{resourceId} AND IS_CURRENT = 0 ORDER BY VERSION_NO DESC") List selectNonCurrentVersionIds(@Param("resourceId") String resourceId); } diff --git a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_education_resource.sql b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_education_resource.sql index a9d8c5a..5d36a82 100644 --- a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_education_resource.sql +++ b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_education_resource.sql @@ -1,4 +1,4 @@ --- ===================================================== +-- ===================================================== -- 急救宣教资源管理功能 DDL(达梦数据库) -- 表名前缀: QH_EME_ (应急模块) -- ===================================================== @@ -7,7 +7,7 @@ -- TYPE: 1=分类, 2=标签 -- 分类支持多级树形(PARENT_ID 指向父分类,NULL=根分类) -- 标签为全局独立,不归属分类 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" ( +CREATE TABLE "QH_EME_FIR_AID_RES_CATE" ( "ID" VARCHAR2(32) NOT NULL, "NAME" VARCHAR2(100) NOT NULL, "TYPE" NUMBER(1) DEFAULT 1 NOT NULL, @@ -24,26 +24,26 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" ( PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_CATEGORY" IS '急救宣教资源分类/标签'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."NAME" IS '名称'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."TYPE" IS '类型:1=分类,2=标签'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."PARENT_ID" IS '父分类ID(分类树形结构,标签为NULL)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."DESCRIPTION" IS '描述'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."SORT_NO" IS '排序号'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."STATUS" IS '状态(1=正常,2=冻结)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."CREATE_BY" IS '创建人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."CREATE_TIME" IS '创建时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."UPDATE_BY" IS '更新人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."UPDATE_TIME" IS '更新时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_CATEGORY"."MEMO" IS '备注'; +COMMENT ON TABLE "QH_EME_FIR_AID_RES_CATE" IS '急救宣教资源分类/标签'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."NAME" IS '名称'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."TYPE" IS '类型:1=分类,2=标签'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."PARENT_ID" IS '父分类ID(分类树形结构,标签为NULL)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."SORT_NO" IS '排序号'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."STATUS" IS '状态(1=正常,2=冻结)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."CREATE_BY" IS '创建人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."UPDATE_BY" IS '更新人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."UPDATE_TIME" IS '更新时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."MEMO" IS '备注'; -CREATE INDEX "IDX_FA_CATEGORY_TYPE" ON "QH_EME_FIRST_AID_RESOURCE_CATEGORY"("TYPE"); -CREATE INDEX "IDX_FA_CATEGORY_PARENT_ID" ON "QH_EME_FIRST_AID_RESOURCE_CATEGORY"("PARENT_ID"); +CREATE INDEX "IDX_FA_CATEGORY_TYPE" ON "QH_EME_FIR_AID_RES_CATE"("TYPE"); +CREATE INDEX "IDX_FA_CATEGORY_PARENT_ID" ON "QH_EME_FIR_AID_RES_CATE"("PARENT_ID"); -- 2. 急救宣教资源表 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE" ( +CREATE TABLE "QH_EME_FIR_AID_RES" ( "ID" VARCHAR2(32) NOT NULL, "TITLE" VARCHAR2(200) NOT NULL, "SUMMARY" VARCHAR2(500), @@ -72,40 +72,40 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE" ( PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE" IS '急救宣教资源'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."TITLE" IS '标题'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."SUMMARY" IS '摘要/简介(列表展示用)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CONTENT_TYPE" IS '内容类型:IMAGE_TEXT(图文)/VIDEO(视频)/AUDIO(音频)/PDF(PDF)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CATEGORY_ID" IS '所属分类ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."APPLICABLE_SCENARIO" IS '适用场景'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."TAGS" IS '标签ID列表(逗号分隔)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CONTENT" IS '正文内容(富文本HTML)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."COVER_IMAGE" IS '封面图URL'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."FILE_URL" IS '附件URL列表(JSON数组)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."EFFECTIVE_TIME" IS '生效时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."EXPIRY_TIME" IS '失效时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_REJECT_REASON" IS '驳回原因'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_BY" IS '审核人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_TIME" IS '审核时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."VIEW_COUNT" IS '浏览次数'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."FAVORITE_COUNT" IS '收藏次数'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."STATUS" IS '发布状态(0=草稿,1=已发布,2=已下架)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CREATE_BY" IS '创建人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."CREATE_TIME" IS '创建时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."UPDATE_BY" IS '更新人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."UPDATE_TIME" IS '更新时间'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."MEMO" IS '备注'; +COMMENT ON TABLE "QH_EME_FIR_AID_RES" IS '急救宣教资源'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TITLE" IS '标题'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."SUMMARY" IS '摘要/简介(列表展示用)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT_TYPE" IS '内容类型:IMAGE_TEXT(图文)/VIDEO(视频)/AUDIO(音频)/PDF(PDF)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CATEGORY_ID" IS '所属分类ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."APPLICABLE_SCENARIO" IS '适用场景'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TAGS" IS '标签ID列表(逗号分隔)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT" IS '正文内容(富文本HTML)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."COVER_IMAGE" IS '封面图URL'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FILE_URL" IS '附件URL列表(JSON数组)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EFFECTIVE_TIME" IS '生效时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EXPIRY_TIME" IS '失效时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_REJECT_REASON" IS '驳回原因'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_BY" IS '审核人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_TIME" IS '审核时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."VIEW_COUNT" IS '浏览次数'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FAVORITE_COUNT" IS '收藏次数'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."STATUS" IS '发布状态(0=草稿,1=已发布,2=已下架)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CREATE_BY" IS '创建人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."UPDATE_BY" IS '更新人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."UPDATE_TIME" IS '更新时间'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."MEMO" IS '备注'; -CREATE INDEX "IDX_FA_RESOURCE_CATEGORY_ID" ON "QH_EME_FIRST_AID_RESOURCE"("CATEGORY_ID"); -CREATE INDEX "IDX_FA_RESOURCE_AUDIT_STATUS" ON "QH_EME_FIRST_AID_RESOURCE"("AUDIT_STATUS"); -CREATE INDEX "IDX_FA_RESOURCE_EFFECTIVE_TIME" ON "QH_EME_FIRST_AID_RESOURCE"("EFFECTIVE_TIME"); +CREATE INDEX "IDX_FA_RESOURCE_CATEGORY_ID" ON "QH_EME_FIR_AID_RES"("CATEGORY_ID"); +CREATE INDEX "IDX_FA_RESOURCE_AUDIT_STATUS" ON "QH_EME_FIR_AID_RES"("AUDIT_STATUS"); +CREATE INDEX "IDX_FA_RESOURCE_EFFECTIVE_TIME" ON "QH_EME_FIR_AID_RES"("EFFECTIVE_TIME"); -- 3. 用户行为记录表(阅读+收藏合一) -- TYPE: 1=阅读, 2=收藏 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" ( +CREATE TABLE "QH_EME_FIR_AID_RES_UACT" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "USER_ID" VARCHAR2(50) NOT NULL, @@ -114,20 +114,20 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" ( PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_USER_ACTION" IS '用户行为记录(阅读/收藏)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."RESOURCE_ID" IS '资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."USER_ID" IS '用户ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."TYPE" IS '行为类型:1=阅读,2=收藏'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"."CREATE_TIME" IS '创建时间'; +COMMENT ON TABLE "QH_EME_FIR_AID_RES_UACT" IS '用户行为记录(阅读/收藏)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."RESOURCE_ID" IS '资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."USER_ID" IS '用户ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."TYPE" IS '行为类型:1=阅读,2=收藏'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."CREATE_TIME" IS '创建时间'; CREATE UNIQUE INDEX "UK_FA_USER_ACTION" - ON "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"("RESOURCE_ID", "USER_ID", "TYPE"); -CREATE INDEX "IDX_FA_USER_ACTION_USER_TYPE" ON "QH_EME_FIRST_AID_RESOURCE_USER_ACTION"("USER_ID", "TYPE"); + ON "QH_EME_FIR_AID_RES_UACT"("RESOURCE_ID", "USER_ID", "TYPE"); +CREATE INDEX "IDX_FA_USER_ACTION_USER_TYPE" ON "QH_EME_FIR_AID_RES_UACT"("USER_ID", "TYPE"); -- 4. 版本历史表 -- 每次编辑资源时自动保存版本快照,支持回滚 -CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" ( +CREATE TABLE "QH_EME_FIR_AID_RES_VER" ( "ID" VARCHAR2(32) NOT NULL, "RESOURCE_ID" VARCHAR2(32) NOT NULL, "VERSION_NO" NUMBER(10) NOT NULL, @@ -139,17 +139,17 @@ CREATE TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" ( PRIMARY KEY ("ID") ); -COMMENT ON TABLE "QH_EME_FIRST_AID_RESOURCE_VERSION" IS '资源版本历史'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."ID" IS '主键'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."RESOURCE_ID" IS '资源ID'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."VERSION_NO" IS '版本号(1,2,3...)'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."TITLE" IS '版本时的标题'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CONTENT" IS '版本时的正文内容'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CHANGE_DESCRIPTION" IS '变更描述'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CREATE_BY" IS '创建人'; -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE_VERSION"."CREATE_TIME" IS '创建时间'; +COMMENT ON TABLE "QH_EME_FIR_AID_RES_VER" IS '资源版本历史'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."ID" IS '主键'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."RESOURCE_ID" IS '资源ID'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."VERSION_NO" IS '版本号(1,2,3...)'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."TITLE" IS '版本时的标题'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CONTENT" IS '版本时的正文内容'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CHANGE_DESCRIPTION" IS '变更描述'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CREATE_BY" IS '创建人'; +COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CREATE_TIME" IS '创建时间'; -CREATE INDEX "IDX_FA_VERSION_RESOURCE_ID" ON "QH_EME_FIRST_AID_RESOURCE_VERSION"("RESOURCE_ID"); +CREATE INDEX "IDX_FA_VERSION_RESOURCE_ID" ON "QH_EME_FIR_AID_RES_VER"("RESOURCE_ID"); -- ===================================================== -- 字典数据(需在应用启动后执行) diff --git a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status.sql b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status.sql index 9b156ad..21207dd 100644 --- a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status.sql +++ b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status.sql @@ -1,4 +1,4 @@ --- ===================================================== +-- ===================================================== -- 急救宣教资源 - 状态字段值域迁移脚本(达梦数据库) -- 执行时机:代码变更后,启动前执行 -- 说明:将 AUDIT_STATUS 值域从 {0,1,2} 迁移到 {10,11,12} @@ -16,7 +16,7 @@ -- 需用户在系统内重新提交审核。 -- 如需保留为"待审核"状态,将下方的 NULL 改为 10 即可。 -UPDATE "QH_EME_FIRST_AID_RESOURCE" +UPDATE "QH_EME_FIR_AID_RES" SET "AUDIT_STATUS" = CASE WHEN "AUDIT_STATUS" = 0 THEN NULL -- 草稿(无法区分是否已提交,保守处理) WHEN "AUDIT_STATUS" = 1 THEN 11 -- 已通过 @@ -62,7 +62,7 @@ SELECT ELSE '未知状态' END AS "审核状态描述", COUNT(*) AS "数量" -FROM "QH_EME_FIRST_AID_RESOURCE" +FROM "QH_EME_FIR_AID_RES" WHERE "DEL_FLAG" = 0 GROUP BY "AUDIT_STATUS" ORDER BY "AUDIT_STATUS" ASC NULLS FIRST; @@ -71,7 +71,7 @@ ORDER BY "AUDIT_STATUS" ASC NULLS FIRST; -- ===================================================== -- 4. 更新表字段注释 -- ===================================================== -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_STATUS" IS +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)'; COMMIT; diff --git a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status_rollback.sql b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status_rollback.sql index 19dcfbe..7980c40 100644 --- a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status_rollback.sql +++ b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_migrate_status_rollback.sql @@ -1,11 +1,11 @@ --- ===================================================== +-- ===================================================== -- 急救宣教资源 - 状态字段值域回滚脚本(达梦数据库) -- 仅当需要回退代码时使用 -- 将 AUDIT_STATUS 从 {null,10,11,12} 回退到 {0,1,2} -- ===================================================== -- 注意: null(草稿) 回退为 0,但此时无法区分"草稿"和"待审核" -UPDATE "QH_EME_FIRST_AID_RESOURCE" +UPDATE "QH_EME_FIR_AID_RES" SET "AUDIT_STATUS" = CASE WHEN "AUDIT_STATUS" IS NULL THEN 0 -- 草稿 → 0(待审核) WHEN "AUDIT_STATUS" = 10 THEN 0 -- 待审核 → 0 @@ -18,7 +18,7 @@ WHERE "AUDIT_STATUS" IS NULL OR "AUDIT_STATUS" IN (10, 11, 12); COMMIT; -- 恢复表字段注释 -COMMENT ON COLUMN "QH_EME_FIRST_AID_RESOURCE"."AUDIT_STATUS" IS +COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_STATUS" IS '审核状态(0=待审核,1=已通过,2=已驳回)'; COMMIT; diff --git a/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_seed_data.sql b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_seed_data.sql new file mode 100644 index 0000000..286e13d --- /dev/null +++ b/health-emergency/health-emergency-start/src/main/resources/sql/first_aid_seed_data.sql @@ -0,0 +1,505 @@ +-- ===================================================== +-- 急救宣教资源 - 种子数据(达梦数据库) +-- 包含:分类(扁平一层)、标签(归属分类下)、资源内容 +-- 执行方式:在达梦客户端中直接执行本脚本 +-- 注意:请先确认 QH_EME_FIR_AID_RES_CATE 和 QH_EME_FIR_AID_RES 表已创建 +-- ===================================================== + +-- ===================================================== +-- 一、分类数据(TYPE=1,扁平一层,不设二级) +-- ===================================================== + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT001', '心肺复苏术(CPR)', 1, NULL, '成人和儿童心肺复苏技术,包括胸外按压、人工呼吸及AED使用', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT002', '常见急症急救', 1, NULL, '心脏病、脑卒中、癫痫、过敏等突发急症的识别与院前急救', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT003', '创伤急救处理', 1, NULL, '止血、包扎、固定、搬运等创伤急救四大技术', 3, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT004', '意外伤害急救', 1, NULL, '溺水、触电、气道异物梗阻、坠落伤等意外伤害的应急处置', 4, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT005', '环境相关急症', 1, NULL, '中暑、失温、冻伤、高原反应等环境因素所致急症的急救', 5, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT006', '中毒急救', 1, NULL, '食物中毒、煤气中毒、化学品中毒及蛇虫咬伤的急救处理', 6, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT007', '特殊人群急救', 1, NULL, '老年人、孕产妇、婴幼儿等特殊群体的急救要点与注意事项', 7, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('CAT008', '灾害事故急救', 1, NULL, '地震、火灾、交通事故等大规模灾害事故的自救互救知识', 8, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + + +-- ===================================================== +-- 二、标签数据(TYPE=2,PARENT_ID 指向所属分类) +-- ===================================================== + +-- === 心肺复苏术(CPR)的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG001', '成人CPR', 2, 'CAT001', '成人(12岁及以上)心肺复苏操作流程与要点', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG002', '儿童与婴儿CPR', 2, 'CAT001', '儿童和婴儿心肺复苏的差异化操作', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG003', 'AED使用', 2, 'CAT001', '自动体外除颤器(AED)的操作方法和使用场景', 3, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG004', 'AHA指南', 2, 'CAT001', '参考美国心脏协会(AHA)最新指南编写', 4, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 常见急症急救的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG005', '心脑血管急症', 2, 'CAT002', '急性心肌梗死、脑卒中的早期识别与急救', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG006', '过敏与休克', 2, 'CAT002', '严重过敏反应的紧急识别与肾上腺素笔使用', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG007', '突发意识障碍', 2, 'CAT002', '癫痫发作、低血糖昏迷、晕厥等现场急救', 3, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 创伤急救处理的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG008', '止血与包扎', 2, 'CAT003', '各类外伤出血的止血方法和包扎技术', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG009', '骨折与固定', 2, 'CAT003', '骨折、关节脱位的识别及现场固定搬运技术', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG010', '烧烫伤', 2, 'CAT003', '热烧伤、化学烧伤、电烧伤的急救和创面处理', 3, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 意外伤害急救的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG011', '气道异物梗阻', 2, 'CAT004', '海姆立克急救法——各年龄段气道梗阻解除', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG012', '溺水与触电', 2, 'CAT004', '溺水救援、触电脱离及继发心脏骤停的急救', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 环境相关急症的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG013', '高温与中暑', 2, 'CAT005', '热痉挛、热衰竭、热射病的识别与分级急救', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG014', '低温损伤', 2, 'CAT005', '失温(低体温症)、冻伤的分级急救与复温技术', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 中毒急救的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG015', '食物与气体中毒', 2, 'CAT006', '食物中毒、一氧化碳中毒(煤气中毒)的识别与急救', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG016', '动物咬伤与蜇伤', 2, 'CAT006', '蛇咬伤、犬咬伤、蜂蜇伤、蜱虫叮咬的应急处理', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 特殊人群急救的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG017', '老年人急救', 2, 'CAT007', '老年人跌倒、突发疾病及用药过量的应急处理', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG018', '婴幼儿急救', 2, 'CAT007', '婴幼儿高热惊厥、窒息、烫伤、跌落等常见意外的急救', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +-- === 灾害事故急救的标签 === +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG019', '火灾与地震', 2, 'CAT008', '火灾逃生、地震避震及次生灾害的应急处置', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + +INSERT INTO QH_EME_FIR_AID_RES_CATE (ID, NAME, TYPE, PARENT_ID, DESCRIPTION, SORT_NO, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ('TAG020', '交通事故急救', 2, 'CAT008', '道路交通事故现场的检伤分类、伤员解救和转运要领', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE, 0); + + +-- ===================================================== +-- 三、资源数据 +-- 审核状态: 11=已通过 状态: 1=已发布 +-- CATEGORY_ID 指向分类,TAGS 为逗号分隔的标签ID +-- ===================================================== + +-- ===================== 心肺复苏术(CPR) ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES001', + '成人心肺复苏标准操作流程(2025 AHA指南)', + '详细讲解成人心脏骤停的识别、胸外按压、人工呼吸及AED使用的完整流程,依据美国心脏协会最新指南编写。', + 'IMAGE_TEXT', + 'CAT001', + '发现成人突然倒地、无反应、无呼吸或濒死喘息时', + 'TAG001,TAG003,TAG004', + '

一、确保现场安全

施救前先观察环境,确认现场对施救者和患者均安全。如存在触电、火灾、有毒气体等危险,先将患者转移到安全区域。

二、判断意识和呼吸

  • 轻拍患者双肩,大声呼喊:"喂!你怎么了?"
  • 观察胸部是否有起伏,判断呼吸是否正常(5-10秒)
  • 无反应 + 无呼吸/濒死喘息 → 立即启动应急反应系统

三、呼叫急救

  • 指定现场某人拨打120,并取AED
  • 如果独自一人:先拨打120开免提,再开始CPR

四、胸外按压(C - Circulation)

  • 位置:两乳头连线中点(胸骨中下段)
  • 手法:双手十指交叉,掌根重叠,手臂伸直,肩肘腕垂直
  • 深度:5-6厘米
  • 频率:100-120次/分钟
  • 回弹:每次按压后让胸廓完全回弹,掌根不离胸壁
  • 按压/放松时间比1:1

五、开放气道(A - Airway)

  • 仰头提颏法:一手压前额,一手提下颌
  • 如有可见异物,用手指清除

六、人工呼吸(B - Breathing)

  • 捏住患者鼻翼,口对口吹气(每次约1秒)
  • 见胸廓隆起为有效
  • 按压:通气 = 30:2
  • 如不愿或不方便做人工呼吸,可只做单纯胸外按压

七、AED到达后

  • 立即开机,按语音提示操作
  • 电极片贴放位置:右锁骨下 + 左腋前线第5肋间
  • 电击后立即继续CPR,不要耽误

八、持续至

  • 患者恢复自主呼吸和意识
  • 医务人员到达接管
  • 施救者精疲力竭
  • AED提示不得电击且无需CPR
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2856, 423, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES002', + '儿童与婴儿CPR差异化操作要点', + '儿童(1-12岁)和婴儿(<1岁)的心肺复苏与成人不同,本节详细对比差异,帮助家长和幼儿工作者掌握正确的急救方法。', + 'IMAGE_TEXT', + 'CAT001', + '儿童或婴儿突发意识丧失、无反应、无正常呼吸时', + 'TAG002,TAG004', + '

儿童CPR(1岁至青春期)

按压手法

  • 单手或双手:根据儿童体型和施救者力量选择
  • 单手:掌根置于胸骨中下段
  • 双手:同成人手法

按压深度

  • 至少胸廓前后径的1/3(约5厘米)

按压:通气比

  • 单人施救:30:2
  • 双人施救:15:2

AED

  • 1-8岁儿童首选儿童电极片/儿童模式
  • 没有儿童电极片时可用成人电极片代替

婴儿CPR(<1岁)

判断意识

  • 轻拍婴儿足底,观察反应

按压手法

  • 双指法:单人施救时,用食指和中指指尖垂直按压
  • 双手环抱拇指法:双人施救时,双手环抱婴儿胸部,双拇指并排按压

按压位置

  • 两乳头连线中点稍下方(胸骨中段)

按压深度

  • 至少胸廓前后径的1/3(约4厘米)

人工呼吸

  • 口对口鼻共同吹气
  • 每次吹气量以胸廓微微抬起为准,不可过度用力

按压:通气比

  • 单人:30:2
  • 双人:15:2

AED

  • 婴儿首选手动除颤器
  • AED仅在没有手动除颤器且确有必要时使用

成人与儿童/婴儿CPR差异速查表

项目成人儿童婴儿
按压深度5-6cm~5cm~4cm
按压手法双手单手/双手双指/双拇指
单人按压:通气30:230:230:2
双人按压:通气30:215:215:2
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1678, 312, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES003', + 'AED(自动体外除颤器)完全使用指南', + 'AED是什么、在哪里能找到、怎么用——从开机到电击的全流程图解指南。AED是抢救心脏骤停的关键设备,普通人经过简单学习即可使用。', + 'IMAGE_TEXT', + 'CAT001', + '心脏骤停患者CPR过程中AED到达现场时;公共场所发现AED设备时', + 'TAG003,TAG004', + '

一、什么是AED?

自动体外除颤器(Automated External Defibrillator)是一种便携式医疗设备,可以自动分析心律,判断是否需要电击除颤。它配有语音提示,非专业人员经过简单培训即可安全使用。

二、为什么要用AED?

  • 心脏骤停最常见的初始心律是心室颤动(VF)
  • 电击除颤是终止室颤的唯一有效方法
  • 每延迟1分钟除颤,生存率下降7%-10%
  • CPR+AED可将院外心脏骤停生存率提高至50%以上

三、哪里有AED?

  • 机场、火车站、地铁站
  • 大型商场、体育场馆
  • 学校、写字楼
  • 微信搜索"AED"或使用"AED地图"小程序

四、AED操作步骤

第1步:开机

  • 打开机盖或按下电源键,之后全程按照语音提示操作

第2步:贴电极片

  • 脱去患者胸前衣物,擦干皮肤(如有水或汗)
  • 将电极片按包装图示贴在裸露的胸前
  • 位置一:右侧锁骨下方(右胸上部)
  • 位置二:左侧腋前线第5肋间(左胸下部侧面)
  • 将电极片插头插入主机(如已预连则跳过)

第3步:分析心律

  • AED自动分析,任何人不得接触患者

第4步:电击

  • 如需电击,AED自动充电并发声警告
  • 确认无人接触患者后,按下闪烁的放电按钮
  • 电击后立即恢复CPR(从胸外按压开始)

五、注意事项

  • 贴电极片前确认皮肤干燥、无过多胸毛
  • 患者胸部有膏药需撕下并擦净
  • 体内有起搏器/ICD的患者,电极片应避开设备至少2.5厘米
  • 在水中或金属表面时,将患者移至干燥地面再使用

六、AED与CPR配合节奏

CPR不间断 → AED到达 → 开机贴片 → 分析 → 电击(如需)→ 立即CPR → 2分钟后AED再次分析 → 循环…

', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2103, 388, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 常见急症急救 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES004', + '急性心肌梗死的早期识别与院前急救', + '心梗是最常见的致命急症之一。本文教您识别心梗的典型和非典型症状,以及在救护车到达前如何正确处置。', + 'IMAGE_TEXT', + 'CAT002', + '突感胸痛、胸闷、出冷汗,疑似心脏病发作时', + 'TAG005', + '

一、什么是急性心肌梗死?

冠状动脉突然堵塞,导致心肌缺血坏死。黄金抢救时间窗口仅2小时,时间就是心肌,时间就是生命

二、典型症状

  • 胸痛:胸骨后压榨性、闷胀性疼痛,持续不缓解(>20分钟)
  • 放射痛:疼痛可向左肩、左臂内侧、颈部、下颌、背部放射
  • 伴随症状:出冷汗、恶心呕吐、呼吸困难、濒死感

三、非典型症状(尤其警惕!)

  • 女性:可能仅表现为极度疲劳、恶心、背部或下颌疼痛
  • 老年人:可能表现为气短、乏力、意识模糊
  • 糖尿病患者:可能无痛(无痛性心梗),仅表现为突发心衰

四、现场急救步骤

  1. 立即停止一切活动:让患者保持安静,取半卧位或坐位(切勿平卧!)
  2. 拨打120:清楚告知"疑似心脏病发作"和具体地址
  3. 服用药物(如患者自备):硝酸甘油舌下含服1片,5分钟后不缓解可再含1片(最多3片);阿司匹林嚼服300mg(非肠溶片),除非有禁忌
  4. 保持气道通畅:解开衣领和腰带
  5. 持续观察:如患者意识丧失、无呼吸,立即开始CPR

五、禁忌事项

  • ❌ 不要让患者自行走动
  • ❌ 不要自行开车送医院(途中可能发生室颤)
  • ❌ 不要给非患者本人的药物
  • ❌ 不要用力咳嗽("咳嗽CPR"未被指南推荐)
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 3201, 567, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES005', + '脑卒中(中风)"120"识别法与急救', + '中风抢救争分夺秒。学会"1-2-0"快速识别法,及时发现中风前兆,在"黄金4.5小时"内送医溶栓。', + 'IMAGE_TEXT', + 'CAT002', + '突发面部不对称、单侧肢体无力、言语不清等疑似中风症状', + 'TAG005', + '

一、认识脑卒中

脑卒中分为缺血性(脑梗死,占70%)出血性(脑出血,占30%)。无论哪种,都需要紧急就医。溶栓治疗时间窗仅4.5小时

二、"中风120"快速识别法

数字含义检查方法
11张脸让患者微笑,观察面部是否对称,有无口角歪斜
22只胳膊让患者平举双臂,观察是否有单侧无力或下垂
0听语言让患者说一句简单的话,观察是否含糊不清或无法表达

以上三项中任何一项异常,中风可能性约72%,应立即拨打120!

三、其他警示症状

  • 突发剧烈头痛("一生中最剧烈的头痛")
  • 突发单眼或双眼视力模糊、视野缺损
  • 突发眩晕、行走困难、平衡失调
  • 突发意识障碍或晕厥

四、现场急救步骤

  1. 立即拨打120,记录发病时间(必须精确到分钟)
  2. 让患者平卧,头偏向一侧(防呕吐误吸)
  3. 解开衣领和腰带,保持气道通畅
  4. 如有呕吐,清除口腔呕吐物
  5. 安抚患者情绪,减少不必要的搬动
  6. 如意识丧失、无呼吸,立即CPR

五、绝对禁忌

  • ❌ 不要给患者喂水、喂食、喂药(可能吞咽困难导致窒息)
  • ❌ 不要摇晃患者
  • ❌ 不要掐人中、针刺指尖放血等偏方
  • ❌ 不要让患者自行去厕所
  • ❌ 不要等待"观察一下"——时间就是大脑
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2567, 445, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES006', + '严重过敏反应与肾上腺素笔使用', + '食物、药物、蜂蜇等引发的过敏性休克可在数分钟内致命。学会识别过敏反应升级信号,掌握肾上腺素笔的正确使用方法。', + 'IMAGE_TEXT', + 'CAT002', + '进食服药后突发皮疹、喉头水肿、呼吸困难、血压下降等症状', + 'TAG006', + '

一、认识严重过敏反应

严重过敏反应(Anaphylaxis)是IgE介导的全身性超敏反应,可在数分钟内出现气道阻塞和休克。常见诱因:食物(花生、海鲜、鸡蛋)、药物(青霉素)、昆虫蜇伤、乳胶。

二、识别过敏反应的升级信号

  • 皮肤:荨麻疹、潮红、瘙痒、血管性水肿(尤其是口唇、眼睑肿胀)
  • 呼吸系统:喉咙发紧、声音嘶哑、喘鸣、呼吸困难
  • 消化系统:恶心、呕吐、腹痛、腹泻
  • 心血管系统:头晕、心动过速、血压下降、意识模糊
  • 注意:皮肤症状可能缺失!约10%-20%的严重过敏反应没有皮疹

三、肾上腺素笔使用指南

肾上腺素是唯一能逆转严重过敏反应的药物,确诊后应立即注射,刻不容缓

操作步骤:

  1. 取下安全帽(蓝色):不要触碰橙色针头端
  2. 握拳包裹:橙色端垂直紧贴大腿外侧中部(可隔着裤子)
  3. 用力下压:听到"咔嗒"声后保持10秒(让药液完全注入)
  4. 拔出按摩:在注射部位按摩10秒
  5. 拨打120:即使症状缓解也必须就医,可能发生迟发性反应

四、重要提示

  • 肾上腺素应注射在大腿外侧(肌肉最丰厚处),不要注射在臀部或手臂
  • 如症状无缓解,5-15分钟后可注射第二支
  • 过敏体质者应随身携带2支肾上腺素笔
  • 不要将肾上腺素笔存放在高温或阳光直射处
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1456, 289, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES007', + '癫痫发作的现场急救正确姿势', + '癫痫发作时,许多"常识性"做法其实有害无益。本文纠正常见误区,告诉您什么该做,什么绝对不该做。', + 'IMAGE_TEXT', + 'CAT002', + '身边有人突发全身抽搐、意识丧失时', + 'TAG007', + '

正确做法(4要4不要)

✅ 要做的事:

  1. 保持镇静,记录发作时间
  2. 清除周围危险物品(桌椅、尖锐物、火源等)
  3. 保护头部:在头下垫柔软物品(衣物、靠垫)
  4. 侧卧位:发作停止后将患者转为侧卧(恢复体位),清理口腔分泌物

❌ 绝对不要做的事:

  • ❌ 不要往嘴里塞任何东西!(包括手指、毛巾、筷子、压舌板)——患者不会咬断舌头,塞物反而可能导致牙齿断裂、异物吸入窒息
  • ❌ 不要强行按压肢体!——抽搐时骨骼脆弱,强制约束可能导致骨折
  • ❌ 不要掐人中、灌药、针刺!
  • ❌ 不要CPR(有正常呼吸脉搏时)!

需要拨打120的情况(任一满足)

  • 发作持续超过5分钟(癫痫持续状态
  • 首次发作(从未诊断过癫痫)
  • 在水中发作
  • 发作停止后意识未恢复
  • 发作后再次发作
  • 患者怀孕
  • 患者受伤
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1876, 267, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 创伤急救处理 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES008', + '外伤出血的快速止血技术', + '严重外伤出血是创伤致死的首要原因。掌握直接压迫、止血带、填塞止血三种方法,关键时刻能救命。', + 'IMAGE_TEXT', + 'CAT003', + '切割伤、撕裂伤、车祸伤等导致的活动性出血', + 'TAG008', + '

一、出血严重程度判断

出血类型特征危险程度
毛细血管出血缓慢渗出、血色鲜红
静脉出血持续流出、血色暗红
动脉出血喷射状、随心跳搏动、血色鲜红⚠️ 致命!

成人失血>500ml = 危险,>1000ml = 休克,>2000ml = 死亡。

二、直接压迫止血法(首选)

  1. 用干净纱布/毛巾/衣物直接按压伤口
  2. 持续用力按压至少10分钟,不要中途掀开查看
  3. 如纱布被血液浸透,在上面再加一层(不要更换!会破坏已形成的血凝块)
  4. 加压包扎固定

三、止血带止血法(四肢大出血专用)

  • 适应症:直接加压无效的四肢大出血、肢体离断
  • 位置:伤口上方5-8厘米(靠近心脏一侧),避开关节
  • 力度:以远端动脉搏动消失、出血停止为准
  • 标记:在患者额头或明显位置写上绑扎时间(精确到分钟)
  • 时间:不超过2小时(每30分钟松解检查1次,但需评估再出血风险)
  • 不要用绳索、电线、铁丝代替

四、填塞止血法(交界部位深部伤口)

适用于腹股沟、腋窝、颈部等不便使用止血带的部位:

  1. 将止血纱布/干净布条塞入伤口深部
  2. 从最深处向外逐层填塞,保持压力
  3. 外部加压包扎固定

五、注意事项

  • 穿戴手套(如有),避免直接接触血液
  • 不要取出嵌入伤口的异物(刀、玻璃等)——固定异物,包扎后送医
  • 怀疑内出血(腹胀、休克、无外伤但血压持续下降)立即送医
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2134, 378, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES009', + '骨折与脊柱损伤的现场固定与搬运', + '错误的搬运可能让骨折变为截瘫。本节讲解骨折的临时固定方法和脊柱损伤的安全搬运技术。', + 'IMAGE_TEXT', + 'CAT003', + '高处坠落、交通事故、重物砸伤等可能导致骨折或脊柱损伤的场合', + 'TAG009', + '

一、骨折的识别

  • 剧烈疼痛,活动时加剧
  • 局部肿胀、瘀斑
  • 畸形(与对侧不对称、异常弯曲)
  • 反常活动(关节以外部位出现活动)
  • 骨擦音/骨擦感
  • 功能丧失(无法承重/活动)

二、骨折固定原则

  • 固定范围:骨折部位的上下两个关节
  • 夹板长度应超过骨折上下关节
  • 夹板与皮肤间用软物衬垫
  • 固定松紧适度——指尖可触及远端动脉搏动
  • 开放性骨折:不要将外露的骨端推回,覆盖无菌敷料后固定

三、脊柱损伤的识别(高度警惕!)

  • 高处坠落(>2米)、交通事故(高速撞击)、跳水头部撞底
  • 伤后颈部疼痛、肢体麻木/无力、大小便失禁

四、脊柱损伤安全搬运

🔴 黄金原则:除非有立即生命危险(火灾、爆炸),绝不要移动疑似脊柱损伤的患者,等待专业急救人员。

如必须移动:

  1. 保持头-颈-躯干呈一直线(轴线翻身)
  2. 至少3人协作:一人固定头颈,一人托躯干,一人托下肢
  3. 使用硬质担架/门板/桌面
  4. 颈椎用颈托或沙袋/衣物卷固定头部两侧

五、各部位固定要点

  • 前臂骨折:夹板固定后三角巾悬吊于胸前(屈肘90°)
  • 上臂骨折:夹板固定后上臂紧贴胸壁,前臂三角巾悬吊
  • 大腿骨折:长夹板从腋下至足跟,另用短夹板从大腿内侧至小腿
  • 小腿骨折:夹板从大腿中部至足跟
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1678, 298, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES010', + '烧烫伤的急救五步法:"冲脱泡盖送"', + '烧烫伤是生活中最常见的意外伤害之一。记住"冲脱泡盖送"五个字,正确处理创面,避免二次伤害和留疤。', + 'IMAGE_TEXT', + 'CAT003', + '热液烫伤、火焰烧伤、热固体烫伤、化学烧伤等各类烧烫伤', + 'TAG010', + '

急救五步法

冲(最关键的第一反应!)

  • 立即用流动冷水冲洗伤处15-30分钟
  • 水温15-25℃为宜,不要用冰水(可能导致血管过度收缩加重损伤)
  • 化学烧伤需冲洗更长时间(至少30分钟)

  • 在冷水中小心去除覆盖伤处的衣物和饰物(戒指、手表、手镯)
  • 如衣物与皮肤粘连,不要强行撕扯——用剪刀剪开周围衣物

  • 将伤处浸泡在冷水中持续15-30分钟(仅适用于小面积烧伤)
  • 大面积烧伤(>10%体表面积)不要长时间浸泡——可能导致低体温

  • 清洁无菌的敷料或保鲜膜覆盖创面
  • 保鲜膜覆盖可减少疼痛、防止感染、便于医生观察
  • 不要用棉花、纸巾(纤维会粘连创面)
  • 不要涂抹牙膏、酱油、蛋清、香油等偏方!

  • 及时送医:小面积浅度烧伤→社区医院;大面积或深度烧伤→烧伤专科

烧伤严重程度判断

分度表现处理
Ⅰ度(红斑性)皮肤发红、疼痛、无水肿和水疱自行处理
浅Ⅱ度(水疱性)大水疱、剧痛、基底潮红门诊处理
深Ⅱ度小水疱、疼痛迟钝、基底红白相间需住院
Ⅲ度(焦痂性)皮肤蜡白或焦黑、无痛觉需住院手术

特殊类型烧伤

  • 电烧伤:入口小出口大,深部组织损伤严重,必须就医
  • 吸入性烧伤:面部烧伤+声音嘶哑+鼻腔有烟灰→气道可能已受损,立即就医
  • 化学烧伤:干石灰→先刷除再冲洗!遇水产生高温
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 3567, 634, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 意外伤害急救 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES011', + '海姆立克急救法:气道异物梗阻的救命技术', + '"吃东西噎住了"可能数分钟内致命。海姆立克法是解除气道梗阻最有效的方法,每个人都应该掌握。含成人、儿童、婴儿及自救四种场景。', + 'IMAGE_TEXT', + 'CAT004', + '进食时突然不能说话、呼吸困难、手抓喉咙(V型手势)、面色发绀', + 'TAG011', + '

一、识别气道异物梗阻

  • 完全梗阻:无法说话、无法咳嗽、无法呼吸、面色发紫、双手抓颈部(典型的"窒息V手势")→ 立即海姆立克!
  • 部分梗阻:能说话、能咳嗽→鼓励患者用力咳嗽,不要拍背

二、成人/儿童(>1岁)海姆立克法

  1. 站位:双脚前后分开,稳定重心
  2. 定位:双手环绕患者腰部,一手握拳,拳心向内,置于肚脐上方两横指处(剑突下)
  3. 冲击:另一手包住拳头,向内、向上快速用力冲击
  4. 重复:直到异物排出或患者意识丧失

三、婴儿(<1岁)急救法

  • 不要用海姆立克法!婴儿腹部器官脆弱,易损伤
  • 5次拍背 + 5次胸外按压交替
  1. 拍背:将婴儿面朝下放在前臂上,头低于躯干,用掌根在肩胛骨之间拍击5次
  2. 胸外按压:翻转婴儿面朝上,头低于躯干,用两指在胸骨中段按压5次
  3. 检查口腔:如异物可见,用小指取出(不要盲目掏挖
  4. 重复5+5循环直到异物排出

四、自救方法

  • 腹部冲击法:一手握拳置于肚脐上方,另一手包住,弯腰后向后上方冲击。或利用椅背、桌角、栏杆等硬物顶压腹部
  • 立即拨打120(如能说话)

五、患者意识丧失后怎么办

  • 将患者平放地面,立即开始CPR
  • 做人工呼吸前检查口腔,如有可见异物取出
  • CPR的胸外按压也可产生气道压力,有助于排出异物
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 4123, 789, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES012', + '溺水急救:水中解救与岸上复苏', + '溺水导致的死亡大多是可以避免的。了解正确的水中救援方式和岸上心肺复苏要点,不要让自己成为第二个溺水者。', + 'IMAGE_TEXT', + 'CAT004', + '发现有人溺水或游泳过程中发生意外时', + 'TAG012', + '

一、水中解救(首要原则:保证自身安全!)

  • 非专业人员不要贸然下水!
  • 伸:用竹竿、树枝、衣物伸向溺水者
  • 抛:抛投救生圈、绳索、空塑料桶等漂浮物
  • 划:划船靠近
  • 游:仅受过专业水中救援训练者可游泳接近,从后方接近避免被溺水者抱住

二、岸上急救

判断意识和呼吸

将溺水者仰卧于硬质平面,判断反应和呼吸。

如无反应+无正常呼吸 → 立即CPR

  1. 先开放气道,清理口腔内泥沙、水草等异物
  2. 先给5次人工呼吸(溺水是缺氧性心脏骤停,先通气!)
  3. 然后按30:2进行CPR
  4. AED到达后使用(擦干胸前皮肤)

三、常见误区纠正

  • ❌ 不要"控水"!(倒背跑、按压腹部排水等)——溺水者胃里的水不会堵塞气道,控水只会延误CPR时间,增加呕吐误吸风险
  • ❌ 不要因为溺水者能说话就掉以轻心——可能发生"二次溺水"(延迟性肺水肿)
  • ✅ 所有溺水者(即使看起来没事)都应送医观察

四、冷水溺水特点

  • 冷水(<10℃)溺水者可能经长时间CPR后存活
  • 冷水有脑保护作用,不要轻易放弃
  • 切勿在未确认死亡前停止CPR
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2134, 345, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 环境相关急症 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES013', + '中暑的分级识别与急救处理', + '高温天气下中暑高发。热痉挛、热衰竭、热射病是三个逐步升级的阶段,热射病病死率高达50%。早期识别和正确降温是关键。', + 'IMAGE_TEXT', + 'CAT005', + '高温天气户外工作、运动、或密闭高温环境中出现头晕、恶心等症状', + 'TAG013', + '

一、中暑的三个阶段

1. 热痉挛(轻度)

  • 表现:大量出汗后出现四肢、腹部肌肉痉挛(抽筋),体温正常或略高
  • 处理:移至阴凉处→补充含盐饮料/运动饮料→拉伸痉挛肌肉→休息

2. 热衰竭(中度)

  • 表现:大汗淋淋、面色苍白、头晕头痛、恶心呕吐、心跳加快、体温升高(38-40℃)、血压下降
  • 处理:移至阴凉通风处→松开衣物→补充含盐冷饮(如能吞咽)→冷水擦拭、扇风降温→抬高下肢
  • 如呕吐或意识改变→立即就医

3. 热射病(重度、致命!)

  • 表现:体温>40℃、皮肤干热无汗(典型)、意识障碍(谵妄、抽搐、昏迷)
  • 死亡率:高达50%
  • 处理:
    • 立即拨打120!
    • 立即开始降温!——争分夺秒,不要等待救护车
    • 冷水浸泡(最有效):将患者浸入冷水中(水温<20℃),不断搅动
    • 或冰袋置于颈部、腋下、腹股沟(大血管走行处)
    • 持续扇风+喷洒冷水
    • 降温目标:30分钟内将体温降至<39℃

二、预防要点

  • 高温时段(11:00-15:00)减少户外活动
  • 每小时饮水500-1000ml(少量多次,勿等口渴再喝)
  • 补充含盐饮料,不要只喝纯水
  • 穿透气、浅色衣物
  • 切勿将儿童或宠物留在密闭车内!
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2345, 412, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES014', + '失温(低体温症)与冻伤的急救', + '低体温症不仅在极寒环境发生,湿冷大风中10℃也能致命。新疆冬季寒冷,是失温和冻伤的高风险地区,每位职工都应掌握。', + 'IMAGE_TEXT', + 'CAT005', + '寒冷天气户外作业、登山受困、落水获救后、长时间暴露在湿冷阴雨环境中', + 'TAG014', + '

一、低体温症的分级

分级体温表现
轻度32-35℃寒战、手脚冰凉、精细动作困难
中度28-32℃寒战停止(危险信号!)、意识模糊、言语不清、心跳呼吸减慢
重度<28℃昏迷、瞳孔散大、心跳呼吸极微弱(可能被误认为死亡)

二、低体温症急救步骤

  1. 脱离冷环境:移到避风保暖处,脱去湿衣物
  2. 被动复温:用保温毯、睡袋、干衣物包裹全身
  3. 主动复温:热水袋/暖宝宝置于胸部、颈部、腹股沟(大血管区,不要放四肢!四肢加热会导致冷血回流心脏,引发心律失常)
  4. 补充热量:如患者清醒可吞咽,给予温热含糖饮料(不要给酒精和咖啡因
  5. 避免剧烈动作:可能诱发室颤

三、急救注意事项

  • 判断生命体征要测60秒(严重低体温时脉搏和呼吸极其缓慢微弱)
  • 对重度低体温者,不要轻易认定为死亡——"Not dead until warm and dead"
  • CPR:疑似心脏骤停者,如无法在10秒内确认脉搏,应立即开始CPR

四、冻伤的急救

  • 不要用雪搓患处!(加重组织损伤)
  • 不要用明火/暖气直接烤!(冻伤部位感觉迟钝,极易烫伤)
  • 正确复温:将冻伤部位浸泡在37-42℃温水中,持续15-30分钟(水温用健康肢体测试)
  • 复温过程中会出现剧痛和颜色变化(变红)——这是正常现象
  • 如水疱形成,不要刺破
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1456, 267, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 中毒急救 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES015', + '一氧化碳(煤气)中毒的识别与急救', + '一氧化碳中毒是新疆冬季供暖季最常见的急症之一。CO无色无味,被称为"沉默杀手"。早期识别症状、正确处置可避免悲剧。', + 'IMAGE_TEXT', + 'CAT006', + '冬季使用煤炉取暖、燃气热水器洗浴、在密闭车库发动汽车时', + 'TAG015', + '

一、一氧化碳为什么危险?

  • CO与血红蛋白亲和力比O₂强240倍——空气中极低浓度的CO即可导致严重缺氧
  • 无色、无味、无刺激——无法靠感官察觉
  • 中毒早期症状类似"感冒",极易被忽视

二、中毒症状分级

程度症状
轻度头痛、头晕、恶心、呕吐、乏力(像感冒)
中度剧烈头痛、意识模糊、嗜睡、呼吸急促
重度昏迷、抽搐、呼吸和循环衰竭、大小便失禁

特征性体征:皮肤和黏膜呈樱桃红色(出现时往往已重度中毒)

三、急救步骤

  1. 第一时间开窗通风!——不要先做别的
  2. 迅速将患者移到空气新鲜处,解开衣领和腰带
  3. 拨打120,明确告知"一氧化碳中毒"
  4. 如患者无呼吸/心跳,立即CPR
  5. 高流量吸氧(由急救人员操作)——这是最重要的治疗

四、常见误区

  • ❌ "屋里放盆水能防煤气中毒"——CO不溶于水,完全无效
  • ❌ "让中毒者喝醋、灌酸菜汤能解毒"——无效且可能导致误吸
  • ❌ "患者醒了就好了"——CO中毒可能有迟发性脑病(假愈期),必须就医观察

五、预防措施

  • 煤炉取暖必须安装排烟管道并定期检查
  • 燃气热水器严禁安装在浴室或通风不良处
  • 不在密闭车库发动汽车
  • 安装一氧化碳报警器
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2876, 378, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES016', + '蛇咬伤、犬咬伤与蜂蜇伤的应急处理', + '新疆地区野外作业可能遇到毒蛇、野犬、蜂群。不同动物伤害的急救方法截然不同,错误处理可能加重后果。', + 'IMAGE_TEXT', + 'CAT006', + '野外作业、户外活动时被蛇咬伤、犬咬伤或蜂群攻击', + 'TAG016', + '

一、蛇咬伤急救

毒蛇与无毒蛇咬伤的鉴别

  • 毒蛇:一对(或单个)较深牙痕,局部肿胀迅速、剧痛、发黑
  • 无毒蛇:两排细密牙痕,轻微疼痛,无全身症状
  • 不确定时:一律按毒蛇咬伤处理

急救步骤

  1. 保持镇静:制动!减少活动(降低毒素扩散速度)
  2. 固定伤肢:用夹板固定,保持伤处低于心脏水平
  3. 去除束缚物:摘除戒指、手镯、手表等(局部会迅速肿胀)
  4. 清洗伤口:用清水冲洗(如有条件)
  5. 立即就医:采集/拍下蛇的照片有助于选择抗蛇毒血清

绝对禁忌(传统做法大多有害!)

  • ❌ 不要用嘴吸毒!(吸出量微乎其微,反而导致口咽部吸收中毒)
  • ❌ 不要切口放血!(增加感染和损伤)
  • ❌ 不要扎止血带!(阻断动脉会导致肢体缺血坏死)
  • ❌ 不要冰敷!(加重组织损伤)

二、犬咬伤急救

  1. 冲洗:大量流动清水+肥皂水交替冲洗伤口至少15分钟
  2. 消毒:碘伏或75%酒精消毒
  3. 不缝合不包扎:一般开放性伤口不予缝合包扎(利于引流)
  4. 立即就医:评估是否需要注射狂犬疫苗和破伤风抗毒素

三、蜂蜇伤的急救

局部反应(大多数情况)

  1. 拔除毒刺:用指甲或卡片背面沿皮肤逆刮,不要用镊子夹(可能将毒囊内毒液挤入体内)
  2. 清洗:肥皂水冲洗
  3. 冷敷:减轻肿胀和疼痛

警惕严重过敏反应

  • 被蜇后短时间出现全身荨麻疹、呼吸困难、面部肿胀 → 过敏性休克
  • 使用肾上腺素笔(如有)+ 立即拨打120

多处蜇伤(>10处)

  • 即使无过敏反应,也需就医(蜂毒累积毒性)
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1567, 234, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 特殊人群急救 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES017', + '老年人跌倒后的应急处理', + '跌倒是65岁以上老年人伤害死亡的首位原因。老人跌倒后,盲目扶起可能造成二次伤害。正确做法是"先评估、后处理"。', + 'IMAGE_TEXT', + 'CAT007', + '老年人发生跌倒,尤其在居家、社区活动、如厕洗澡时', + 'TAG017', + '

一、跌倒后第一反应:不要急于扶起!

老人跌倒后保持原位,先自我检查:

  1. 有没有剧烈疼痛(尤其是髋部、腰部)?
  2. 手脚能不能活动?有没有麻木?
  3. 有没有出血?

二、目击者的处理步骤

1. 先评估(不要立即扶起)

  • 询问疼痛部位、能否活动
  • 检查有无外伤出血
  • 观察意识状态

2. 怀疑骨折/脊柱损伤 → 不要移动

  • 髋部骨折:伤肢短缩、外旋、"脚不能动了"
  • 脊柱骨折:腰背部剧痛、下肢麻木或不能动
  • 发现上述症状→立即拨打120,保持老人平卧保暖

3. 确认无骨折 → 安全扶起

  1. 协助老人翻身侧卧,屈膝
  2. 用椅子做支撑,手撑椅面缓慢起身
  3. 如老人头晕,先坐一会再尝试站立

三、跌倒后最危险的两种情况

髋部骨折

  • 被称为"人生最后一次骨折"——骨折后长期卧床易引发肺炎、压疮、血栓,一年内死亡率约20%-30%
  • 必须有手术意识——条件允许尽早手术

硬膜下血肿

  • 跌倒撞头后数天至数周才出现症状("迟发性")
  • 表现为:逐渐加重的头痛、嗜睡、一侧肢体无力、反应迟钝
  • 头部外伤后如出现上述症状必须就医,做头颅CT

四、预防胜于急救

  • 家居防滑:浴室铺防滑垫,清除地面杂物和电线
  • 改善照明:卧室到卫生间的通道安装夜灯
  • 适当锻炼:太极拳、平衡训练可显著降低跌倒风险
  • 定期检查视力和药物副作用(降压药、安眠药等)
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1987, 356, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES018', + '婴幼儿高热惊厥的正确处置', + '高热惊厥是6个月至5岁婴幼儿最常见的中枢神经系统急症。看起来非常吓人,但掌握正确处理后可以安全度过。', + 'IMAGE_TEXT', + 'CAT007', + '婴幼儿(6个月-5岁)发热时突发全身或局部抽搐、意识丧失', + 'TAG018', + '

一、什么是高热惊厥?

  • 通常在体温快速升高阶段发生(>38℃)
  • 好发年龄:6个月至5岁,高峰18-24个月
  • 家族遗传倾向明显
  • 绝大多数是良性的,不会导致脑损伤或智力问题

二、发作时的表现

  • 全身僵直或抽搐、双眼上翻或凝视
  • 口吐白沫、意识丧失
  • 约持续1-3分钟,一般5分钟内自行停止

三、家长急救步骤

  1. 保持镇静,记录发作开始时间
  2. 侧卧位:将孩子侧放,防止呕吐物/口水呛入气道
  3. 清除周围危险物(硬物、尖锐物)
  4. 松开衣物:解开衣领和腰带
  5. 不要往嘴里塞任何东西!(包括手指、毛巾、筷子、压舌板)
  6. 不要强行按压四肢!
  7. 抽搐停止后,用退热药(对乙酰氨基酚/布洛芬,按体重计算剂量)

四、什么情况必须立即就医?

  • 抽搐持续超过5分钟
  • 抽搐停止后意识未恢复
  • 反复抽搐
  • 抽搐后一侧肢体无力(Todd麻痹)
  • 首次发作
  • 抽搐前有头部外伤史

五、是否会复发?

  • 约1/3患儿会复发
  • 首次发作年龄越小、发热程度越低(<38.5℃就抽搐)、直系亲属有惊厥史者复发率更高
  • 多数孩子5-6岁后不再发作
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2234, 445, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +-- ===================== 灾害事故急救 ===================== + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES019', + '火灾现场逃生与烧伤急救', + '火灾死亡中,大部分不是烧死而是吸入有毒烟雾窒息。了解正确的逃生方法和初期火灾扑救,关键时刻能救命。', + 'IMAGE_TEXT', + 'CAT008', + '建筑火灾发生时的逃生自救和初期火灾处置', + 'TAG019', + '

一、火灾致死的主要原因

  • 烟雾和有毒气体吸入(CO、HCN等)——约占火灾死亡人数的75%
  • 高温气体吸入导致的气道烧伤
  • 直接烧伤

二、逃生要诀

如果房间内起火且火势小(初期)

  • 可用灭火器或湿棉被扑灭(仅限火势小于垃圾桶大小且你有把握)
  • 电器着火先断电再灭火
  • 油锅起火→盖锅盖(不要倒水!)

如果火势蔓延或烟雾较大 → 立即逃生!

  1. 低姿前进:烟雾和热气向上聚集,贴近地面空气相对清洁。用湿毛巾捂口鼻,弯腰或匍匐前进
  2. 触摸门把手:开门前用手背试门把手温度——烫手说明门外有火,不要开门
  3. 走楼梯不坐电梯
  4. 身上着火:停(Stop)-倒(Drop)-滚(Roll),用厚重衣物包裹灭火

如果被困无法逃离

  • 用湿布堵住门缝和通风口
  • 拨打119报告自己的具体位置(楼层、房间)
  • 在窗边挥舞鲜艳衣物发出求救信号

三、灭火器使用——"提拔我呀"(提-拔-握-压)

  1. 提:提起灭火器
  2. 拔:拔掉保险销
  3. 握:握住喷管前端,对准火焰根部
  4. 压:压下压把扫射

站位:站在上风方向,距火源2-3米。

四、家庭火灾预防

  • 安装烟雾报警器(每个卧室+每层至少一个)
  • 制定家庭逃生计划,确定集合点
  • 不超负荷用电,不私拉乱接电线
  • 厨房烹饪不离人,楼道勿堆放杂物
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 3234, 567, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES020', + '道路交通事故现场的检伤分类与急救', + '交通事故现场混乱,伤者多,资源有限。了解检伤分类原则和基本急救技术,在专业救援到达前做最有效的处置。', + 'IMAGE_TEXT', + 'CAT008', + '道路交通事故,尤其是多车相撞、多人受伤的复杂事故现场', + 'TAG020', + '

一、现场安全第一

  • 将车辆熄火,拉手刹
  • 在来车方向设置警示标志(高速路白天150米外,夜间250米外)
  • 注意燃油泄漏、电线掉落等次生危险
  • 不要吸烟

二、检伤分类(国际通用四色法)

颜色优先级标准
🔴 红色第一优先有生命危险但可救治:气道梗阻、张力性气胸、大出血
🟡 黄色第二优先重伤但可等待:骨折(无大出血)、脊柱损伤(稳定)
🟢 绿色第三优先轻伤可步行:轻微擦伤、软组织挫伤
⚫ 黑色最后无生命体征或伤势不可救治

三、车祸伤员的急救要点

A - 气道管理

  • 托下颌开放气道(车祸伤员高度怀疑颈椎损伤,不要仰头
  • 清除口腔血液和异物

B - 呼吸评估

  • 观察呼吸频率、对称性
  • 张力性气胸:呼吸困难+气管偏移+患侧呼吸音消失→需紧急穿刺减压

C - 循环与止血

  • 控制活动性出血
  • 评估休克:皮肤苍白湿冷、烦躁不安、脉搏细弱加快

D - 脊柱保护

  • 除非有立即生命危险,不要移动伤员
  • 如必须移动,保持头-颈-躯干轴线不变

四、不要做的事

  • ❌ 不要给伤者喝水(可能需紧急手术)
  • ❌ 不要取出插入体内的异物(固定后送医)
  • ❌ 不要将头盔从摩托车手头上摘下(可能加重颈椎损伤)
  • ❌ 不要一个人逞强——分配任务:A打120,B设置警示,C照护伤员
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 1876, 312, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES021', + '地震自救互救"十要点"', + '新疆地处地震带,地震风险不容忽视。掌握地震中"伏地、遮挡、手抓牢"的避险原则和震后自救互救技能。', + 'IMAGE_TEXT', + 'CAT008', + '地震发生时和震后的自救互救', + 'TAG019', + '

一、地震发生时——室内避险

"伏地、遮挡、手抓牢"(Drop-Cover-Hold On)

  1. 伏地(Drop):立即蹲下,降低重心
  2. 遮挡(Cover):钻到牢固的桌子下,或靠在内墙墙角,用双臂/书包/靠垫护住头颈部
  3. 手抓牢(Hold On):一只手抓住桌腿等固定物,直到晃动停止

室内避震"三不"

  • 不要站在窗户边(玻璃飞溅)
  • 不要乘坐电梯
  • 不要躲在吊灯、吊扇、高大家具下方

二、地震发生时——室外避险

  • 远离建筑物、电线杆、广告牌,跑到开阔地带
  • 如果在开车:靠边停车(避开桥梁、高架、隧道),留在车内

三、震后自救

  • 保持镇静,不要使用明火(可能发生燃气泄漏)
  • 如被埋压:
    • 清除口鼻灰尘,保持呼吸通畅
    • 用衣物捂住口鼻,防止吸入粉尘
    • 不要大声呼喊(消耗体力和氧气)——用敲击管道、墙壁的方式发出信号
    • 有规律敲击("三短三长三短"SOS)

四、震后互救

  1. 先救近处的、容易救的——"先易后难"
  2. 救人时注意被埋压者的头部暴露和呼吸道清理
  3. 不可用利器强力刨挖,防止二次伤害
  4. 救出后评估伤势并给予基本急救

五、地震应急包(建议备好)

  • 饮用水(每人每天4L,备3天)、干粮、急救包
  • 手电筒+备用电池、口哨(求救用)
  • 防尘口罩、保温毯
  • 重要证件复印件
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 2456, 423, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +INSERT INTO QH_EME_FIR_AID_RES (ID, TITLE, SUMMARY, CONTENT_TYPE, CATEGORY_ID, APPLICABLE_SCENARIO, TAGS, CONTENT, COVER_IMAGE, FILE_URL, EFFECTIVE_TIME, EXPIRY_TIME, AUDIT_STATUS, AUDIT_REJECT_REASON, AUDIT_BY, AUDIT_TIME, VIEW_COUNT, FAVORITE_COUNT, STATUS, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, DEL_FLAG) +VALUES ( + 'RES022', + '家庭急救箱的配置与使用指南', + '急救箱是每个家庭和车辆的必备品。了解急救箱应该有哪些物品、如何存放、过期如何处理,才能在紧急时刻真正发挥作用。', + 'IMAGE_TEXT', + 'CAT004', + '家庭日常备置急救箱及发生轻微伤情时的处理', + 'TAG011', + '

一、基础急救箱清单

包扎材料

  1. 医用纱布片(无菌,各种尺寸)x 10片
  2. 弹性绷带(5cm、8cm各2卷)
  3. 三角巾 x 2条
  4. 创可贴(各种尺寸)x 20片
  5. 医用胶带(透气型)x 1卷

消毒用品

  1. 碘伏棉签/棉球 x 20支
  2. 75%酒精棉片 x 20片
  3. 一次性手套(无粉)x 5双

工具

  1. 圆头剪刀 x 1把
  2. 镊子 x 1把
  3. 体温计(电子或红外)x 1支
  4. 安全别针 x 5个
  5. 一次性冰袋(捏破即冷型)x 2袋

药品(需根据家庭成员情况调整)

  1. 退热镇痛药:对乙酰氨基酚/布洛芬
  2. 抗过敏药:氯雷他定/西替利嗪
  3. 止泻药:蒙脱石散/口服补液盐
  4. 烫伤膏
  5. 抗生素软膏(莫匹罗星)
  6. 个人常备药(硝酸甘油、哮喘吸入剂等)

二、急救箱管理要点

  • 存放在阴凉干燥、儿童拿不到但成人方便取用的地方
  • 3-6个月检查一次,更换过期物品
  • 车用急救箱与家用分开
  • 箱外标注最近医院的地址和电话
  • 在家人中指定一人负责维护

三、急救包的使用禁忌

  • 不要给不明原因腹痛者服用止痛药(可能掩盖阑尾炎等急腹症)
  • 不要使用过期消毒液和药品
  • 不要共用眼药水
  • 任何开放性伤口,确认破伤风疫苗接种在有效期(<5年清洁伤,<10年污染伤)
', + NULL, NULL, + DATE '2026-07-01', DATE '2027-12-31', + 11, NULL, '系统管理员', SYSDATE, 5432, 1023, 1, + 'admin', SYSDATE, 'admin', SYSDATE, 0 +); + +COMMIT; + +-- ===================================================== +-- 验证数据 +-- ===================================================== + +-- 查看各分类及其下属标签 +SELECT + c."NAME" AS 分类名称, + LISTAGG(t."NAME", '、') WITHIN GROUP (ORDER BY t."SORT_NO") AS 下属标签 +FROM QH_EME_FIR_AID_RES_CATE c +LEFT JOIN QH_EME_FIR_AID_RES_CATE t ON t."PARENT_ID" = c."ID" AND t."TYPE" = 2 AND t."DEL_FLAG" = 0 +WHERE c."TYPE" = 1 AND c."DEL_FLAG" = 0 +GROUP BY c."ID", c."NAME", c."SORT_NO" +ORDER BY c."SORT_NO"; + +-- 统计 +SELECT '分类' AS 统计项, COUNT(*) AS 数量 FROM QH_EME_FIR_AID_RES_CATE WHERE "TYPE" = 1 AND "DEL_FLAG" = 0 +UNION ALL +SELECT '标签', COUNT(*) FROM QH_EME_FIR_AID_RES_CATE WHERE "TYPE" = 2 AND "DEL_FLAG" = 0 +UNION ALL +SELECT '资源', COUNT(*) FROM QH_EME_FIR_AID_RES WHERE "DEL_FLAG" = 0;