-- 已发布原生表单新增持久字段须显式迁移;不创建原生业务主子表、不插入业务记录。
|
ALTER TABLE dms_wenjian_bupingheng_dengji ADD COLUMN IF NOT EXISTS chongda_fasong_id varchar(64);
|
ALTER TABLE dms_wenjian_bupingheng_dengji ADD COLUMN IF NOT EXISTS zhixing_ren_id varchar(64);
|
COMMENT ON COLUMN dms_wenjian_bupingheng_dengji.chongda_fasong_id IS '重打发送关联H';
|
COMMENT ON COLUMN dms_wenjian_bupingheng_dengji.zhixing_ren_id IS '措施执行人';
|
-- 包括软删除记录:同一成功事件不得再次生成原生登记。
|
CREATE UNIQUE INDEX IF NOT EXISTS uq_dms_bupingheng_chongda ON dms_wenjian_bupingheng_dengji(f_tenant_id,chongda_fasong_id)
|
WHERE chongda_fasong_id IS NOT NULL AND chongda_fasong_id <> '';
|
|
CREATE TABLE IF NOT EXISTS dms_wenjian_chongda_fasong (
|
f_id varchar(64) NOT NULL,
|
f_tenant_id varchar(64) NOT NULL,
|
dayin_jilu_id varchar(64) NOT NULL,
|
dayin_renwu_id varchar(64) NOT NULL,
|
wenjian_banben_id varchar(64) NOT NULL,
|
fasong_ren_id varchar(64) NOT NULL,
|
dayin_fenshu integer NOT NULL CHECK (dayin_fenshu=1),
|
fasong_zhuangtai varchar(16) NOT NULL CHECK (fasong_zhuangtai IN ('OPEN','CONFIRMED','CLOSED','CANCELLED')),
|
pici_neirong text NOT NULL DEFAULT '[]',
|
haoma_neirong text NOT NULL,
|
yuanyin varchar(255) NOT NULL CHECK (length(btrim(yuanyin))>0),
|
biz_sign varchar(64) NOT NULL,
|
chuangjian_shijian timestamp NOT NULL,
|
fasong_chenggong_shijian timestamp,
|
dengji_id varchar(64),
|
zong_yeshu integer CHECK (zong_yeshu BETWEEN 1 AND 10000),
|
quxiao_shijian timestamp,
|
PRIMARY KEY (f_tenant_id,f_id),
|
UNIQUE (f_tenant_id,biz_sign),
|
CHECK (fasong_zhuangtai IN ('OPEN','CANCELLED') OR fasong_chenggong_shijian IS NOT NULL),
|
CHECK ((fasong_zhuangtai='CANCELLED') = (quxiao_shijian IS NOT NULL)),
|
CHECK (fasong_zhuangtai<>'CLOSED' OR dengji_id IS NOT NULL)
|
);
|
COMMENT ON TABLE dms_wenjian_chongda_fasong IS '原流水重打发送状态;仅技术凭据,原生表单负责不平衡主子表';
|
CREATE UNIQUE INDEX IF NOT EXISTS uq_dms_chongda_active ON dms_wenjian_chongda_fasong(f_tenant_id,dayin_jilu_id)
|
WHERE fasong_zhuangtai IN ('OPEN','CONFIRMED');
|
CREATE INDEX IF NOT EXISTS ix_dms_chongda_record ON dms_wenjian_chongda_fasong(f_tenant_id,dayin_jilu_id,fasong_zhuangtai);
|