归档功能完善
This commit is contained in:
@@ -0,0 +1,226 @@
|
||||
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;
|
||||
/
|
||||
Reference in New Issue
Block a user