-- ============================================================
-- 差异表 ALTER 脚本 — 37张重叠表的结构对齐
-- 目标: 使 slaj 中的表兼容 ROHS 和安监两个系统的读写
--
-- 改动类型:
--   a) DATE → TIMESTAMP 类型升级（ROHS使用TIMESTAMP，安监使用DATE，统一为TIMESTAMP）
--   b) 取并集：添加对方独有的列
--   c) 单列类型放宽（如 BPCHAR→VARCHAR）
--   d) 列名体系完全不同的3张表：新建 _rohs 后缀版，两套并存
--   e) STR_TO_DATE→TO_DATE：仅代码侧改名，DB侧无需操作（已在注释中标注）
--
-- 执行方式: psql -h 39.98.38.2 -p 5866 -U highgo -d highgo -f this_file.sql
-- ============================================================


-- ============================================================
-- 表: ATT_ENG_BASE  ↔  att_eng_base
-- ROHS列数: 146  |  安监列数: 146
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--

-- 类型对齐: "start_date"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_eng_base ALTER COLUMN "start_date" TYPE TIMESTAMP USING "start_date"::TIMESTAMP;

-- 类型对齐: "comp_date"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_eng_base ALTER COLUMN "comp_date" TYPE TIMESTAMP USING "comp_date"::TIMESTAMP;

-- 类型对齐: "dam_iden_date"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_eng_base ALTER COLUMN "dam_iden_date" TYPE TIMESTAMP USING "dam_iden_date"::TIMESTAMP;


-- ============================================================
-- 表: ATT_ORG_BASE  ↔  att_org_base
-- 表说明: 机构信息表
-- ROHS列数: 17  |  安监列数: 17
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--

-- 类型对齐: "ad_code"  ROHS=VARCHAR(100)  DB=BPCHAR
-- CHAR→VARCHAR放宽，兼容两边写入
ALTER TABLE slaj.att_org_base ALTER COLUMN "ad_code" TYPE VARCHAR(100) USING "ad_code"::VARCHAR(100);


-- ============================================================
-- 表: ATT_ORG_EXT  ↔  att_org_ext
-- 表说明: 单位信息扩展表
-- ROHS列数: 64  |  安监列数: 66
-- ============================================================
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "acc_emeconta" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "acc_emeconta_mpoh" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: ATT_ORG_UWAT_BASE  ↔  att_org_uwat_base
-- ROHS列数: 17  |  安监列数: 17
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: ATT_PERS_BASE  ↔  att_pers_base
-- ROHS列数: 25  |  安监列数: 24
-- ============================================================
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "coll_time" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--   "upd_time" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--   "rec_pers" (BPCHAR)  — 安监系统使用，ROHS代码可忽略
--

-- ROHS独有列: MODIFIER  (ROHS类型: CHAR(32))
ALTER TABLE slaj.att_pers_base ADD COLUMN "modifier" VARCHAR(32);

-- ROHS独有列: FROM_DATE  (ROHS类型: TIMESTAMP)
ALTER TABLE slaj.att_pers_base ADD COLUMN "from_date" TIMESTAMP;

-- ROHS独有列: STR_TO_DATE  (ROHS类型: TIMESTAMP)
ALTER TABLE slaj.att_pers_base ADD COLUMN "str_to_date" TIMESTAMP;

-- ROHS独有列: NODE_CODE  (ROHS类型: VARCHAR(20))
ALTER TABLE slaj.att_pers_base ADD COLUMN "node_code" VARCHAR(20);

-- 类型对齐: "pers_code"  ROHS=VARCHAR(64)  DB=BPCHAR
-- CHAR→VARCHAR放宽，兼容两边写入
ALTER TABLE slaj.att_pers_base ALTER COLUMN "pers_code" TYPE VARCHAR(100) USING "pers_code"::VARCHAR(100);

-- 类型对齐: "born_date"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_pers_base ALTER COLUMN "born_date" TYPE TIMESTAMP USING "born_date"::TIMESTAMP;

-- 类型对齐: "wdatetime"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_pers_base ALTER COLUMN "wdatetime" TYPE TIMESTAMP USING "wdatetime"::TIMESTAMP;


-- ============================================================
-- 表: ATT_PERS_EXT  ↔  att_pers_ext
-- ROHS列数: 12  |  安监列数: 11
-- ============================================================
-- ROHS独有列: ORG_GUID  (ROHS类型: CHAR(32))
ALTER TABLE slaj.att_pers_ext ADD COLUMN "org_guid" VARCHAR(32);

-- 类型对齐: "born_date"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.att_pers_ext ALTER COLUMN "born_date" TYPE TIMESTAMP USING "born_date"::TIMESTAMP;

-- 类型对齐: "work_date"  ROHS=DECIMAL(4,2)  DB=VARCHAR
-- 类型不一致，统一为VARCHAR
ALTER TABLE slaj.att_pers_ext ALTER COLUMN "work_date" TYPE VARCHAR(100) USING "work_date"::VARCHAR(100);


-- ============================================================
-- 表: BIS_HIDD_INVE  ↔  bis_hidd_inve
-- 表说明: 隐患排查
-- ROHS列数: 11  |  安监列数: 13
-- ============================================================
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "org_manage" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "hidd_content" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: BIS_HIDD_RECT_ACCE  ↔  bis_hidd_rect_acce
-- 表说明: 隐患治理验收
-- ROHS列数: 16  |  安监列数: 12
-- ============================================================
-- ROHS独有列: ACCEPT_ORG  (ROHS类型: VARCHAR(255))
ALTER TABLE slaj.bis_hidd_rect_acce ADD COLUMN "accept_org" VARCHAR(255);  -- 验收单位
COMMENT ON COLUMN slaj.bis_hidd_rect_acce."accept_org" IS '验收单位';

-- ROHS独有列: ACCEPT_DATE  (ROHS类型: TIMESTAMP)
ALTER TABLE slaj.bis_hidd_rect_acce ADD COLUMN "accept_date" TIMESTAMP;  -- 验收时间
COMMENT ON COLUMN slaj.bis_hidd_rect_acce."accept_date" IS '验收时间';

-- ROHS独有列: ACCEPT_OPINION  (ROHS类型: VARCHAR(2000))
ALTER TABLE slaj.bis_hidd_rect_acce ADD COLUMN "accept_opinion" VARCHAR(2000);  -- 验收意见
COMMENT ON COLUMN slaj.bis_hidd_rect_acce."accept_opinion" IS '验收意见';

-- ROHS独有列: CURL_RESULT  (ROHS类型: VARCHAR(2000))
ALTER TABLE slaj.bis_hidd_rect_acce ADD COLUMN "curl_result" VARCHAR(2000);  -- 治理结果
COMMENT ON COLUMN slaj.bis_hidd_rect_acce."curl_result" IS '治理结果';


-- ============================================================
-- 表: BIS_HIDD_RECT_IMPL  ↔  bis_hidd_rect_impl
-- 表说明: 隐患整改落实
-- ROHS列数: 16  |  安监列数: 15
-- ============================================================
-- ROHS独有列: RECT_DEPT  (ROHS类型: VARCHAR(255))
ALTER TABLE slaj.bis_hidd_rect_impl ADD COLUMN "rect_dept" VARCHAR(255);  -- 整改部门
COMMENT ON COLUMN slaj.bis_hidd_rect_impl."rect_dept" IS '整改部门';


-- ============================================================
-- 表: OBJ_ACCI  ↔  obj_acci
-- 表说明: 事故对象
-- ROHS列数: 30  |  安监列数: 25
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--

-- ROHS独有列: DATA_TYPE  (ROHS类型: CHAR(1))
ALTER TABLE slaj.obj_acci ADD COLUMN "data_type" VARCHAR(4);  -- 数据类型；1、工程数据；2、非工程数据
COMMENT ON COLUMN slaj.obj_acci."data_type" IS '数据类型；1、工程数据；2、非工程数据';

-- ROHS独有列: HIDD_GUID  (ROHS类型: CHAR(32))
ALTER TABLE slaj.obj_acci ADD COLUMN "hidd_guid" VARCHAR(32);  -- 隐患id
COMMENT ON COLUMN slaj.obj_acci."hidd_guid" IS '隐患id';

-- ROHS独有列: HAZ_GUID  (ROHS类型: CHAR(32))
ALTER TABLE slaj.obj_acci ADD COLUMN "haz_guid" VARCHAR(32);  -- 危险源id
COMMENT ON COLUMN slaj.obj_acci."haz_guid" IS '危险源id';

-- ROHS独有列: ACCI_SITU  (ROHS类型: VARCHAR(1000))
ALTER TABLE slaj.obj_acci ADD COLUMN "acci_situ" VARCHAR(1000);  -- 简要情况
COMMENT ON COLUMN slaj.obj_acci."acci_situ" IS '简要情况';

-- ROHS独有列: DATA_SIGN  (ROHS类型: VARCHAR(500))
ALTER TABLE slaj.obj_acci ADD COLUMN "data_sign" VARCHAR(500);  -- 数据签名
COMMENT ON COLUMN slaj.obj_acci."data_sign" IS '数据签名';


-- ============================================================
-- 表: OBJ_ENG  ↔  obj_eng
-- 表说明: 工程对象
-- ROHS列数: 11  |  安监列数: 11
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: OBJ_HAZARD  ↔  obj_hazard
-- 表说明: 危险源
-- ROHS列数: 16  |  安监列数: 16
-- ============================================================
-- 类型对齐: "veri_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.obj_hazard ALTER COLUMN "veri_time" TYPE TIMESTAMP USING "veri_time"::TIMESTAMP;

-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.obj_hazard ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.obj_hazard ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: OBJ_HIDD  ↔  obj_hidd
-- 表说明: 隐患对象
-- ROHS列数: 32  |  安监列数: 32
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: OBJ_TEND  ↔  obj_tend
-- 表说明: 标段对象表
-- ROHS列数: 15  |  安监列数: 16
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--   "stat" (BPCHAR)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_BIS_MED  ↔  rel_bis_med
-- ROHS列数: 7  |  安监列数: 7
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_ENG_ORG  ↔  rel_eng_org
-- 表说明: 工程与水利机构关系表
-- ROHS列数: 5  |  安监列数: 5
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_ENG_ORG_UWAT  ↔  rel_eng_org_uwat
-- 表说明: 工程与非水利机构关系表
-- ROHS列数: 5  |  安监列数: 5
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_PROJ_ORG  ↔  rel_proj_org
-- 表说明: 项目与机构关系表
-- ROHS列数: 5  |  安监列数: 5
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_TEND_ORG  ↔  rel_tend_org
-- 表说明: 标段与非水利机构关系表
-- ROHS列数: 5  |  安监列数: 5
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: REL_USER_TEND  ↔  rel_user_tend
-- 表说明: 用户与标段关系表
-- ROHS列数: 5  |  安监列数: 5
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (TIMESTAMP)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 表: T_BUSI_CONPLAN_BASIC  ↔  t_busi_conplan_basic
-- 表说明: 应急预案基本信息表
-- ROHS列数: 20  |  安监列数: 16
-- ============================================================
-- ROHS独有列: HAZ_GUID  (ROHS类型: VARCHAR(32))
ALTER TABLE slaj.t_busi_conplan_basic ADD COLUMN "haz_guid" VARCHAR(32);  -- 危险源id
COMMENT ON COLUMN slaj.t_busi_conplan_basic."haz_guid" IS '危险源id';

-- ROHS独有列: ENG_GUID  (ROHS类型: VARCHAR(32))
ALTER TABLE slaj.t_busi_conplan_basic ADD COLUMN "eng_guid" VARCHAR(32);  -- 工程id
COMMENT ON COLUMN slaj.t_busi_conplan_basic."eng_guid" IS '工程id';

-- ROHS独有列: EMER_TYPE  (ROHS类型: CHAR(1))
ALTER TABLE slaj.t_busi_conplan_basic ADD COLUMN "emer_type" VARCHAR(4);  -- 应急预案类别（（1危险源、2工程、3单位））
COMMENT ON COLUMN slaj.t_busi_conplan_basic."emer_type" IS '应急预案类别（（1危险源、2工程、3单位））';

-- ROHS独有列: AREA_TYPE  (ROHS类型: CHAR(1))
ALTER TABLE slaj.t_busi_conplan_basic ADD COLUMN "area_type" VARCHAR(4);  -- 分类（1：工程隐患；2：非工程隐患；）
COMMENT ON COLUMN slaj.t_busi_conplan_basic."area_type" IS '分类（1：工程隐患；2：非工程隐患；）';


-- ============================================================
-- 表: T_BUSI_CONTROL_MEASURE  ↔  t_busi_control_measure
-- 表说明: 管控措施
-- ROHS列数: 12  |  安监列数: 12
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_control_measure ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_control_measure ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_CONTROL_TERM  ↔  t_busi_control_term
-- 表说明: 管控措施项
-- ROHS列数: 10  |  安监列数: 10
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_control_term ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_control_term ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_HAZARD_ARCHIVE  ↔  t_busi_hazard_archive
-- 表说明: 危险源档案
-- ROHS列数: 9  |  安监列数: 9
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_archive ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_archive ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_HAZARD_REPORT  ↔  t_busi_hazard_report
-- 表说明: 危险源上报
-- ROHS列数: 9  |  安监列数: 9
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_report ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_report ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_HAZARD_WARM  ↔  t_busi_hazard_warm
-- 表说明: 危险源风险预警评估
-- ROHS列数: 14  |  安监列数: 14
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_warm ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_hazard_warm ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_HAZ_IDEN  ↔  t_busi_haz_iden
-- 表说明: 辨识表
-- ROHS列数: 10  |  安监列数: 16
-- ============================================================
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "haz_remark" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "org_per" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "org_phone" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "supe_per" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "supe_phone" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "control_per" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--   "control_phone" (VARCHAR)  — 安监系统使用，ROHS代码可忽略
--

-- ROHS独有列: OTLCOL_QGW_TNYGTS  (ROHS类型: VARCHAR(2500))
ALTER TABLE slaj.t_busi_haz_iden ADD COLUMN "otlcol_qgw_tnygts" VARCHAR(2500);

-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_haz_iden ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_haz_iden ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_HAZ_IDEN_MW_Z  ↔  t_busi_haz_iden_mw_z
-- ROHS列数: 10  |  安监列数: 10
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_haz_iden_mw_z ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_haz_iden_mw_z ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_INSPECT_ITEM  ↔  t_busi_inspect_item
-- 表说明: 巡检项
-- ROHS列数: 11  |  安监列数: 11
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_item ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_item ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_INSPECT_RECORD  ↔  t_busi_inspect_record
-- 表说明: 巡检记录
-- ROHS列数: 18  |  安监列数: 18
-- ============================================================
-- 类型对齐: "start_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_record ALTER COLUMN "start_time" TYPE TIMESTAMP USING "start_time"::TIMESTAMP;

-- 类型对齐: "end_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_record ALTER COLUMN "end_time" TYPE TIMESTAMP USING "end_time"::TIMESTAMP;

-- 类型对齐: "inspect_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_record ALTER COLUMN "inspect_time" TYPE TIMESTAMP USING "inspect_time"::TIMESTAMP;

-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_record ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_record ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_INSPECT_TASK  ↔  t_busi_inspect_task
-- 表说明: 巡检计划
-- ROHS列数: 13  |  安监列数: 13
-- ============================================================
-- 类型对齐: "start_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_task ALTER COLUMN "start_time" TYPE TIMESTAMP USING "start_time"::TIMESTAMP;

-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_task ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_task ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 表: T_BUSI_INSPECT_TASK_ITEM  ↔  t_busi_inspect_task_item
-- 表说明: 巡检计划检查项
-- ROHS列数: 8  |  安监列数: 8
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_task_item ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_inspect_task_item ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 【决策#5 - 两套并存】
-- 原表说明: 预案定期评估表
-- T_BUSI_REGULAR_EVALU: ROHS版与安监版列名体系完全不同，各自独立维护
-- 创建 ROHS 版本为: t_busi_regular_evalu_rohs
-- 原安监表 t_busi_regular_evalu 保持不变
-- ============================================================

CREATE TABLE slaj.t_busi_regular_evalu_rohs
   (	"ev_guid" CHAR(32),
	"basic_id" CHAR(32),
	"assess_time" TIMESTAMP,
	"evalu_name" VARCHAR(500),
	"eva_start" TIMESTAMP,
	"eva_end" TIMESTAMP,
	"evalu_explain" VARCHAR(2000),
	"org_guid" CHAR(32),
	"creper_guid" CHAR(32),
	"create_time" TIMESTAMP,
	"updper_guid" CHAR(32),
	"update_time" TIMESTAMP,
	"evalu_status" CHAR(1),
	"eva_status" CHAR(1),
	"eva_source" VARCHAR(50)
   ) ;

COMMENT ON TABLE slaj.t_busi_regular_evalu_rohs IS '预案定期评估表（ROHS版本）';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."ev_guid" IS '数据id';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."basic_id" IS '预案id';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."assess_time" IS '评估时间';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."evalu_name" IS '评估主持单位名称';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."eva_start" IS '评估开始时间';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."eva_end" IS '评估结束时间';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."evalu_explain" IS '评估结论说明';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."org_guid" IS '填报机构guid';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."creper_guid" IS '创建人guid';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."create_time" IS '创建时间';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."updper_guid" IS '修改人guid';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."update_time" IS '修改时间';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."evalu_status" IS '修订状态';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."eva_status" IS '评估状态1未评估 2已评估';
COMMENT ON COLUMN slaj.t_busi_regular_evalu_rohs."eva_source" IS '评估来源';


-- ============================================================
-- 表: T_BUSI_RESP_PER  ↔  t_busi_resp_per
-- 表说明: 现场责任人
-- ROHS列数: 8  |  安监列数: 8
-- ============================================================
-- 类型对齐: "create_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_resp_per ALTER COLUMN "create_time" TYPE TIMESTAMP USING "create_time"::TIMESTAMP;

-- 类型对齐: "update_time"  ROHS=TIMESTAMP  DB=DATE
-- ROHS使用TIMESTAMP存储时间，安监使用DATE，统一升级为TIMESTAMP（向下兼容）
ALTER TABLE slaj.t_busi_resp_per ALTER COLUMN "update_time" TYPE TIMESTAMP USING "update_time"::TIMESTAMP;


-- ============================================================
-- 【决策#5 - 两套并存】
-- 原表说明: 评审备案信息表
-- T_BUSI_REVIEW_INFO: ROHS版与安监版列名体系完全不同，各自独立维护
-- 创建 ROHS 版本为: t_busi_review_info_rohs
-- 原安监表 t_busi_review_info 保持不变
-- ============================================================

CREATE TABLE slaj.t_busi_review_info_rohs
   (	"re_guid" CHAR(32),
	"basic_id" CHAR(32),
	"org_guid" VARCHAR(100),
	"host_name" VARCHAR(500),
	"review_time" TIMESTAMP,
	"creper_guid" CHAR(32),
	"create_time" TIMESTAMP,
	"updper_guid" CHAR(32),
	"update_time" TIMESTAMP,
	"review_note" VARCHAR(200),
	"review_status" CHAR(1),
	"keep_status" CHAR(1),
	"keep_time" TIMESTAMP,
	"keep_org" CHAR(32),
	"keep_per" CHAR(32)
   ) ;

COMMENT ON TABLE slaj.t_busi_review_info_rohs IS '评审备案信息表（ROHS版本）';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."re_guid" IS '数据id';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."basic_id" IS '预案id';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."org_guid" IS '填报单位guid';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."host_name" IS '评审主持单位名称';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."review_time" IS '评审时间';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."creper_guid" IS '创建人guid';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."create_time" IS '创建时间';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."updper_guid" IS '修改人guid';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."update_time" IS '修改时间';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."review_note" IS '评审记要';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."review_status" IS '评审状态（1未评审 2已评审）';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."keep_status" IS '备案状态（1未备案，2备案中，3已备案）';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."keep_time" IS '备案时间';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."keep_org" IS '备案受理单位';
COMMENT ON COLUMN slaj.t_busi_review_info_rohs."keep_per" IS '备案人';


-- ============================================================
-- 表: T_BUSI_RISK_THRESHOLD  ↔  t_busi_risk_threshold
-- 表说明: 风险评价阈值
-- ROHS列数: 10  |  安监列数: 10
-- ============================================================
--
-- 【决策#4 - 列名统一】STR_TO_DATE → TO_DATE
-- DB侧: 安监已有 TO_DATE 列，无需操作
-- 代码侧: ROHS代码需将 'STR_TO_DATE' 改为 'TO_DATE'
--
--
-- 【安监独有列 - DB侧已存在，无需操作】
--   "to_date" (DATE)  — 安监系统使用，ROHS代码可忽略
--
-- [仅代码侧改动，DB侧无操作]


-- ============================================================
-- 【决策#5 - 两套并存】
-- 原表说明: 隐患字典表
-- T_DICT_HIDD_ENG: ROHS版与安监版列名体系完全不同，各自独立维护
-- 创建 ROHS 版本为: t_dict_hidd_eng_rohs
-- 原安监表 t_dict_hidd_eng 保持不变
-- ============================================================

CREATE TABLE slaj.t_dict_hidd_eng_rohs
   (	"guid" CHAR(32),
	"hidd_type" VARCHAR(100),
	"management_link" VARCHAR(100),
	"hidd_code" VARCHAR(50),
	"hidd_content" VARCHAR(1000),
	"eng_stat" CHAR(1),
	"org_manage" VARCHAR(100),
	"versions" CHAR(1)
   ) ;

COMMENT ON TABLE slaj.t_dict_hidd_eng_rohs IS '隐患字典表（ROHS版本）';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."guid" IS '主键';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."hidd_type" IS '类别';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."management_link" IS '管理环节';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."hidd_code" IS '隐患编号';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."hidd_content" IS '隐患内容';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."eng_stat" IS '1、已建  2、在建';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."org_manage" IS '管理对象';
COMMENT ON COLUMN slaj.t_dict_hidd_eng_rohs."versions" IS '版本号 0初版 1 二零二四版本';

