243 lines
7.6 KiB
SQL
243 lines
7.6 KiB
SQL
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TAB_COLUMNS
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_MAIN'
|
|
AND COLUMN_NAME = 'ARCHIVE_RECEIVE_DEPT';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'ALTER TABLE SEAL_CONTRACT_LAUNCH_MAIN ADD ARCHIVE_RECEIVE_DEPT VARCHAR2(100 CHAR)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_MAIN.ARCHIVE_RECEIVE_DEPT IS '合同归档接收部门编码';
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TAB_COLUMNS
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_MAIN'
|
|
AND COLUMN_NAME = 'ARCHIVE_TRANSFEROR';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'ALTER TABLE SEAL_CONTRACT_LAUNCH_MAIN ADD ARCHIVE_TRANSFEROR VARCHAR2(64 CHAR)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_MAIN.ARCHIVE_TRANSFEROR IS '移交人账号';
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TAB_COLUMNS
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_FILE'
|
|
AND COLUMN_NAME = 'ARCHIVE_ELE_ID';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'ALTER TABLE SEAL_CONTRACT_LAUNCH_FILE ADD ARCHIVE_ELE_ID NUMBER(19)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_FILE.ARCHIVE_ELE_ID IS '关联合同电子档案材料ID';
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TABLES
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_AR_PAPER';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE '
|
|
CREATE TABLE SEAL_CONTRACT_LAUNCH_AR_PAPER (
|
|
ID NUMBER(19) NOT NULL,
|
|
CONTRACT_ID NUMBER(19) NOT NULL,
|
|
ARCHIVES_NAME VARCHAR2(255 CHAR) NOT NULL,
|
|
ARCHIVES_NUM VARCHAR2(50 CHAR) NOT NULL,
|
|
ARCHIVES_TIME DATE NOT NULL,
|
|
SORT_ORDER NUMBER(10) DEFAULT 1,
|
|
CREATE_BY VARCHAR2(64 CHAR),
|
|
CREATE_TIME DATE DEFAULT SYSDATE,
|
|
UPDATE_BY VARCHAR2(64 CHAR),
|
|
UPDATE_TIME DATE DEFAULT SYSDATE,
|
|
IS_DELETED VARCHAR2(2 CHAR) DEFAULT ''N'',
|
|
REMARK VARCHAR2(1000 CHAR),
|
|
CONSTRAINT PK_SEAL_CONTRACT_LAUNCH_AR_PAPER PRIMARY KEY (ID)
|
|
)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON TABLE SEAL_CONTRACT_LAUNCH_AR_PAPER IS '合同归档纸质档案材料表';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.ID IS '主键ID';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.CONTRACT_ID IS '合同主表ID';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.ARCHIVES_NAME IS '档案名称';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.ARCHIVES_NUM IS '份数';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.ARCHIVES_TIME IS '归档时间';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.SORT_ORDER IS '排序号';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.IS_DELETED IS '逻辑删除标记';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_PAPER.REMARK IS '备注';
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TABLES
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_AR_ELE';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE '
|
|
CREATE TABLE SEAL_CONTRACT_LAUNCH_AR_ELE (
|
|
ID NUMBER(19) NOT NULL,
|
|
CONTRACT_ID NUMBER(19) NOT NULL,
|
|
ARCHIVES_NAME VARCHAR2(255 CHAR) NOT NULL,
|
|
SORT_ORDER NUMBER(10) DEFAULT 1,
|
|
CREATE_BY VARCHAR2(64 CHAR),
|
|
CREATE_TIME DATE DEFAULT SYSDATE,
|
|
UPDATE_BY VARCHAR2(64 CHAR),
|
|
UPDATE_TIME DATE DEFAULT SYSDATE,
|
|
IS_DELETED VARCHAR2(2 CHAR) DEFAULT ''N'',
|
|
REMARK VARCHAR2(1000 CHAR),
|
|
CONSTRAINT PK_SEAL_CONTRACT_LAUNCH_AR_ELE PRIMARY KEY (ID)
|
|
)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON TABLE SEAL_CONTRACT_LAUNCH_AR_ELE IS '合同归档电子档案材料表';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.ID IS '主键ID';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.CONTRACT_ID IS '合同主表ID';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.ARCHIVES_NAME IS '档案名称';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.SORT_ORDER IS '排序号';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.IS_DELETED IS '逻辑删除标记';
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_AR_ELE.REMARK IS '备注';
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_SEQUENCES
|
|
WHERE SEQUENCE_NAME = 'SEQ_SEAL_CONTRACT_LAUNCH_AR_PAPER';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_SEAL_CONTRACT_LAUNCH_AR_PAPER START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_SEQUENCES
|
|
WHERE SEQUENCE_NAME = 'SEQ_SEAL_CONTRACT_LAUNCH_AR_ELE';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_SEAL_CONTRACT_LAUNCH_AR_ELE START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_INDEXES
|
|
WHERE INDEX_NAME = 'IDX_CONTRACT_LAUNCH_FILE_AR_ELE';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'CREATE INDEX IDX_CONTRACT_LAUNCH_FILE_AR_ELE ON SEAL_CONTRACT_LAUNCH_FILE (ARCHIVE_ELE_ID)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_INDEXES
|
|
WHERE INDEX_NAME = 'IDX_CONTRACT_LAUNCH_AR_PAPER_CT';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'CREATE INDEX IDX_CONTRACT_LAUNCH_AR_PAPER_CT ON SEAL_CONTRACT_LAUNCH_AR_PAPER (CONTRACT_ID)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_INDEXES
|
|
WHERE INDEX_NAME = 'IDX_CONTRACT_LAUNCH_AR_ELE_CT';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'CREATE INDEX IDX_CONTRACT_LAUNCH_AR_ELE_CT ON SEAL_CONTRACT_LAUNCH_AR_ELE (CONTRACT_ID)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
BEGIN
|
|
EXECUTE IMMEDIATE '
|
|
UPDATE SEAL_CONTRACT_LAUNCH_MAIN
|
|
SET ARCHIVE_RECEIVE_DEPT = ARCHIVE_KEEPER_UNIT_CODE
|
|
WHERE ARCHIVE_RECEIVE_DEPT IS NULL
|
|
AND ARCHIVE_KEEPER_UNIT_CODE IS NOT NULL';
|
|
|
|
EXECUTE IMMEDIATE '
|
|
UPDATE SEAL_CONTRACT_LAUNCH_MAIN
|
|
SET ARCHIVE_TRANSFEROR = ARCHIVE_KEEPER
|
|
WHERE ARCHIVE_TRANSFEROR IS NULL
|
|
AND ARCHIVE_KEEPER IS NOT NULL';
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
CURSOR c_files IS
|
|
SELECT ID, CONTRACT_ID, FILE_NAME
|
|
FROM SEAL_CONTRACT_LAUNCH_FILE
|
|
WHERE FILE_CATEGORY = 'archive'
|
|
AND IS_DELETED = 'N'
|
|
AND ARCHIVE_ELE_ID IS NULL;
|
|
v_ele_id NUMBER;
|
|
BEGIN
|
|
FOR rec IN c_files LOOP
|
|
SELECT SEQ_SEAL_CONTRACT_LAUNCH_AR_ELE.NEXTVAL INTO v_ele_id FROM DUAL;
|
|
INSERT INTO SEAL_CONTRACT_LAUNCH_AR_ELE (
|
|
ID, CONTRACT_ID, ARCHIVES_NAME, SORT_ORDER,
|
|
CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, IS_DELETED, REMARK
|
|
) VALUES (
|
|
v_ele_id, rec.CONTRACT_ID, NVL(rec.FILE_NAME, '历史归档附件'), 1,
|
|
'patch', SYSDATE, 'patch', SYSDATE, 'N', '历史归档附件迁移'
|
|
);
|
|
|
|
UPDATE SEAL_CONTRACT_LAUNCH_FILE
|
|
SET ARCHIVE_ELE_ID = v_ele_id
|
|
WHERE ID = rec.ID;
|
|
END LOOP;
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
DECLARE
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(1)
|
|
INTO v_count
|
|
FROM USER_TAB_COLUMNS
|
|
WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_MAIN'
|
|
AND COLUMN_NAME = 'COUNTERPARTY_CONFIRM_JSON';
|
|
IF v_count = 0 THEN
|
|
EXECUTE IMMEDIATE 'ALTER TABLE SEAL_CONTRACT_LAUNCH_MAIN ADD COUNTERPARTY_CONFIRM_JSON VARCHAR2(2000 CHAR)';
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_MAIN.COUNTERPARTY_CONFIRM_JSON IS '相对方签署确认状态JSON';
|