刘光辉
2 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- 已发布原生表单新增持久字段须显式迁移;不创建原生业务主子表、不插入业务记录。
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);