From 0c6769883f08cd79e72334469d635c4941dc8e51 Mon Sep 17 00:00:00 2001 From: Florian Azizian <florian.azizian@maarch.org> Date: Tue, 3 Mar 2015 17:17:21 +0000 Subject: [PATCH] FEAT #1432 new version for attachments --- core/trunk/sql/150.sql | 187 ++++++++++++++++++++++++++++++++++- core/trunk/sql/structure.sql | 155 ++++++++++++++++++++++++++++- 2 files changed, 339 insertions(+), 3 deletions(-) diff --git a/core/trunk/sql/150.sql b/core/trunk/sql/150.sql index 4b94a2d778b..29dbb0b8258 100644 --- a/core/trunk/sql/150.sql +++ b/core/trunk/sql/150.sql @@ -8,6 +8,7 @@ DROP VIEW IF EXISTS res_view_letterbox; DROP VIEW IF EXISTS res_view_business; DROP VIEW IF EXISTS res_view; DROP VIEW IF EXISTS view_contacts; +DROP VIEW IF EXISTS res_view_attachments; -- ************************************************************************* -- -- MULTICONTACTS -- @@ -140,6 +141,7 @@ CREATE TABLE contact_addresses -- ACTIONS IN RELATION WITH CATEGORIES -- -- ************************************************************************* -- + -- actions / category ALTER TABLE actions DROP COLUMN IF EXISTS category_id; --ALTER TABLE actions ADD category_id character varying(255); @@ -229,6 +231,9 @@ ALTER TABLE res_business ADD locker_time timestamp without time zone; ALTER TABLE lc_stack ADD COLUMN work_batch bigint; ALTER TABLE lc_stack ADD COLUMN regex character varying(32); +ALTER TABLE res_letterbox DROP COLUMN IF EXISTS confidentiality; +ALTER TABLE res_letterbox ADD confidentiality character(1); + DROP SEQUENCE IF EXISTS listinstance_history_id_seq; CREATE SEQUENCE listinstance_history_id_seq INCREMENT 1 @@ -277,11 +282,168 @@ difflist_type character varying(50), CONSTRAINT listinstance_history_details_pkey PRIMARY KEY (listinstance_history_details_id) ) WITH ( OIDS=FALSE ); + -- nouvelle gestion des pj +ALTER TABLE res_attachments DROP COLUMN IF EXISTS attachment_type; +ALTER TABLE res_attachments ADD attachment_type character varying(255) DEFAULT NULL::character varying; + +ALTER TABLE res_attachments DROP COLUMN IF EXISTS dest_contact_id; +ALTER TABLE res_attachments ADD dest_contact_id bigint; + +ALTER TABLE res_attachments DROP COLUMN IF EXISTS dest_address_id; +ALTER TABLE res_attachments ADD dest_address_id bigint; + +ALTER TABLE res_attachments DROP COLUMN IF EXISTS updated_by; +ALTER TABLE res_attachments ADD updated_by character varying(128) DEFAULT NULL::character varying; + +ALTER TABLE res_attachments DROP COLUMN IF EXISTS is_multicontacts; +ALTER TABLE res_attachments ADD is_multicontacts character(1); + +ALTER TABLE res_attachments DROP COLUMN IF EXISTS is_multi_docservers; +ALTER TABLE res_attachments ADD is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar; + +ALTER TABLE templates DROP COLUMN IF EXISTS template_attachment_type; +ALTER TABLE templates ADD template_attachment_type character varying(255) DEFAULT NULL::character varying; + +ALTER TABLE users DROP COLUMN IF EXISTS typeview; +ALTER TABLE users ADD typeview character varying(20) DEFAULT 'split'::character varying, + +DELETE FROM status WHERE id = 'A_TRA'; +INSERT INTO status (id, label_status, is_system) VALUES ('A_TRA', 'A traiter', 'N'); + +DELETE FROM status WHERE id = 'TRA'; +INSERT INTO status (id, label_status, is_system) VALUES ('TRA', 'Traité', 'N'); + +DELETE FROM status WHERE id = 'OBS'; +INSERT INTO status (id, label_status, is_system) VALUES ('OBS', 'Obsolète', 'N'); + +DROP TABLE IF EXISTS res_version_attachments; +DROP SEQUENCE IF EXISTS res_id_version_attachments_seq; + +CREATE SEQUENCE res_id_version_attachments_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 100 + CACHE 1; + +CREATE TABLE res_version_attachments +( + res_id bigint NOT NULL DEFAULT nextval('res_id_version_attachments_seq'::regclass), + title character varying(255) DEFAULT NULL::character varying, + subject text, + description text, + publisher character varying(255) DEFAULT NULL::character varying, + contributor character varying(255) DEFAULT NULL::character varying, + type_id bigint NOT NULL, + format character varying(50) NOT NULL, + typist character varying(128) NOT NULL, + creation_date timestamp without time zone NOT NULL, + fulltext_result character varying(10) DEFAULT NULL::character varying, + ocr_result character varying(10) DEFAULT NULL::character varying, + converter_result character varying(10) DEFAULT NULL::character varying, + author character varying(255) DEFAULT NULL::character varying, + author_name text, + identifier character varying(255) DEFAULT NULL::character varying, + source character varying(255) DEFAULT NULL::character varying, + doc_language character varying(50) DEFAULT NULL::character varying, + relation bigint, + coverage character varying(255) DEFAULT NULL::character varying, + doc_date timestamp without time zone, + docserver_id character varying(32) NOT NULL, + folders_system_id bigint, + arbox_id character varying(32) DEFAULT NULL::character varying, + path character varying(255) DEFAULT NULL::character varying, + filename character varying(255) DEFAULT NULL::character varying, + offset_doc character varying(255) DEFAULT NULL::character varying, + logical_adr character varying(255) DEFAULT NULL::character varying, + fingerprint character varying(255) DEFAULT NULL::character varying, + filesize bigint, + is_paper character(1) DEFAULT NULL::bpchar, + page_count integer, + scan_date timestamp without time zone, + scan_user character varying(50) DEFAULT NULL::character varying, + scan_location character varying(255) DEFAULT NULL::character varying, + scan_wkstation character varying(255) DEFAULT NULL::character varying, + scan_batch character varying(50) DEFAULT NULL::character varying, + burn_batch character varying(50) DEFAULT NULL::character varying, + scan_postmark character varying(50) DEFAULT NULL::character varying, + envelop_id bigint, + status character varying(10) NOT NULL, + destination character varying(50) DEFAULT NULL::character varying, + approver character varying(50) DEFAULT NULL::character varying, + validation_date timestamp without time zone, + work_batch bigint, + origin character varying(50) DEFAULT NULL::character varying, + is_ingoing character(1) DEFAULT NULL::bpchar, + priority smallint, + arbatch_id bigint, + policy_id character varying(32), + cycle_id character varying(32), + is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, + is_frozen character(1) NOT NULL DEFAULT 'N'::bpchar, + custom_t1 text, + custom_n1 bigint, + custom_f1 numeric, + custom_d1 timestamp without time zone, + custom_t2 character varying(255) DEFAULT NULL::character varying, + custom_n2 bigint, + custom_f2 numeric, + custom_d2 timestamp without time zone, + custom_t3 character varying(255) DEFAULT NULL::character varying, + custom_n3 bigint, + custom_f3 numeric, + custom_d3 timestamp without time zone, + custom_t4 character varying(255) DEFAULT NULL::character varying, + custom_n4 bigint, + custom_f4 numeric, + custom_d4 timestamp without time zone, + custom_t5 character varying(255) DEFAULT NULL::character varying, + custom_n5 bigint, + custom_f5 numeric, + custom_d5 timestamp without time zone, + custom_t6 character varying(255) DEFAULT NULL::character varying, + custom_d6 timestamp without time zone, + custom_t7 character varying(255) DEFAULT NULL::character varying, + custom_d7 timestamp without time zone, + custom_t8 character varying(255) DEFAULT NULL::character varying, + custom_d8 timestamp without time zone, + custom_t9 character varying(255) DEFAULT NULL::character varying, + custom_d9 timestamp without time zone, + custom_t10 character varying(255) DEFAULT NULL::character varying, + custom_d10 timestamp without time zone, + custom_t11 character varying(255) DEFAULT NULL::character varying, + custom_t12 character varying(255) DEFAULT NULL::character varying, + custom_t13 character varying(255) DEFAULT NULL::character varying, + custom_t14 character varying(255) DEFAULT NULL::character varying, + custom_t15 character varying(255) DEFAULT NULL::character varying, + tablename character varying(32) DEFAULT 'res_version_attachments'::character varying, + initiator character varying(50) DEFAULT NULL::character varying, + dest_user character varying(128) DEFAULT NULL::character varying, + video_batch integer, + video_time integer, + video_user character varying(128) DEFAULT NULL::character varying, + video_date timestamp without time zone, + cycle_date timestamp without time zone, + coll_id character varying(32) NOT NULL, + attachment_type character varying(255) DEFAULT NULL::character varying, + dest_contact_id bigint, + dest_address_id bigint, + updated_by character varying(128) DEFAULT NULL::character varying, + is_multicontacts character(1), + res_id_master bigint, + attachment_id_master bigint, + CONSTRAINT res_version_attachments_pkey PRIMARY KEY (res_id) +) +WITH ( + OIDS=FALSE +); + -- ************************************************************************* -- -- RECREATE VIEWS -- -- ************************************************************************* -- + -- view for letterbox CREATE VIEW res_view_letterbox AS SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, r.policy_id, r.cycle_id, @@ -333,7 +495,7 @@ CREATE VIEW res_view_letterbox AS f.status AS fold_status, f.subject AS fold_subject, f.parent_id AS fold_parent_id, f.folder_level, f.folder_name, f.creation_date AS fold_creation_date, r.initiator, r.destination, - r.dest_user, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, + r.dest_user, r.confidentiality, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, mlb.dest_user_id, mlb.dest_contact_id, mlb.address_id, mlb.nature_id, mlb.alt_identifier, mlb.admission_date, mlb.answer_type_bitmask, mlb.other_answer_desc, mlb.process_limit_date, mlb.closing_date, mlb.alarm1_date, mlb.alarm2_date, @@ -495,9 +657,32 @@ CREATE VIEW view_contacts AS LEFT JOIN contact_purposes cp ON ca.contact_purpose_id = cp.id LEFT JOIN contact_types ct ON c.contact_type = ct.id; +-- view for attachments +CREATE VIEW res_view_attachments AS + SELECT '0' as res_id, res_id as res_id_version, title, subject, description, publisher, contributor, type_id, format, typist, + creation_date, fulltext_result, ocr_result, author, author_name, identifier, source, + doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path, + filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count, + scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark, + envelop_id, status, destination, approver, validation_date, work_batch, origin, is_ingoing, priority, initiator, dest_user, + coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, attachment_id_master + FROM res_version_attachments + UNION ALL + SELECT res_id, '0' as res_id_version, title, subject, description, publisher, contributor, type_id, format, typist, + creation_date, fulltext_result, ocr_result, author, author_name, identifier, source, + doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path, + filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count, + scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark, + envelop_id, status, destination, approver, validation_date, work_batch, origin, is_ingoing, priority, initiator, dest_user, + coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, '0' + FROM res_attachments; + + -- ************************************************************************* -- -- DATABASE VERSION -- -- ************************************************************************* -- + + UPDATE parameters SET param_value_int = 150 where id='database_version'; diff --git a/core/trunk/sql/structure.sql b/core/trunk/sql/structure.sql index ffbefabf506..97d6e50e6f4 100644 --- a/core/trunk/sql/structure.sql +++ b/core/trunk/sql/structure.sql @@ -614,6 +614,12 @@ CREATE TABLE res_attachments dest_user character varying(128) DEFAULT NULL::character varying, coll_id character varying(32) NOT NULL, res_id_master bigint, + attachment_type character varying(255) DEFAULT NULL::character varying, + dest_contact_id bigint, + dest_address_id bigint, + updated_by character varying(128) DEFAULT NULL::character varying, + is_multicontacts character(1), + is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT res_attachments_pkey PRIMARY KEY (res_id) ) WITH (OIDS=FALSE); @@ -1453,6 +1459,7 @@ CREATE TABLE templates template_style character varying(255), template_datasource character varying(32), template_target character varying(255), + template_attachment_type character varying(255) DEFAULT NULL::character varying, CONSTRAINT templates_pkey PRIMARY KEY (template_id) ) WITH (OIDS=FALSE); @@ -1949,6 +1956,7 @@ CREATE TABLE res_letterbox esign_date timestamp without time zone, locker_user_id character varying(255) DEFAULT NULL::character varying, locker_time timestamp without time zone, + confidentiality character(1), CONSTRAINT res_letterbox_pkey PRIMARY KEY (res_id) ) WITH (OIDS=FALSE); @@ -3695,7 +3703,7 @@ CREATE VIEW res_view_letterbox AS f.status AS fold_status, f.subject AS fold_subject, f.parent_id AS fold_parent_id, f.folder_level, f.folder_name, f.creation_date AS fold_creation_date, r.initiator, r.destination, - r.dest_user, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, + r.dest_user, r.confidentiality, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, mlb.dest_user_id, mlb.dest_contact_id, mlb.address_id, mlb.nature_id, mlb.alt_identifier, mlb.admission_date, mlb.answer_type_bitmask, mlb.other_answer_desc, mlb.process_limit_date, mlb.closing_date, mlb.alarm1_date, mlb.alarm2_date, @@ -3818,4 +3826,147 @@ CREATE OR REPLACE VIEW view_contacts AS FROM contacts_v2 c RIGHT JOIN contact_addresses ca ON c.contact_id = ca.contact_id LEFT JOIN contact_purposes cp ON ca.contact_purpose_id = cp.id - LEFT JOIN contact_types ct ON c.contact_type = ct.id; \ No newline at end of file + LEFT JOIN contact_types ct ON c.contact_type = ct.id; + +DROP TABLE IF EXISTS res_version_attachments; +DROP SEQUENCE IF EXISTS res_id_version_attachments_seq; + + CREATE SEQUENCE res_id_version_attachments_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 100 + CACHE 1; + +CREATE TABLE res_version_attachments +( + res_id bigint NOT NULL DEFAULT nextval('res_id_version_attachments_seq'::regclass), + title character varying(255) DEFAULT NULL::character varying, + subject text, + description text, + publisher character varying(255) DEFAULT NULL::character varying, + contributor character varying(255) DEFAULT NULL::character varying, + type_id bigint NOT NULL, + format character varying(50) NOT NULL, + typist character varying(128) NOT NULL, + creation_date timestamp without time zone NOT NULL, + fulltext_result character varying(10) DEFAULT NULL::character varying, + ocr_result character varying(10) DEFAULT NULL::character varying, + converter_result character varying(10) DEFAULT NULL::character varying, + author character varying(255) DEFAULT NULL::character varying, + author_name text, + identifier character varying(255) DEFAULT NULL::character varying, + source character varying(255) DEFAULT NULL::character varying, + doc_language character varying(50) DEFAULT NULL::character varying, + relation bigint, + coverage character varying(255) DEFAULT NULL::character varying, + doc_date timestamp without time zone, + docserver_id character varying(32) NOT NULL, + folders_system_id bigint, + arbox_id character varying(32) DEFAULT NULL::character varying, + path character varying(255) DEFAULT NULL::character varying, + filename character varying(255) DEFAULT NULL::character varying, + offset_doc character varying(255) DEFAULT NULL::character varying, + logical_adr character varying(255) DEFAULT NULL::character varying, + fingerprint character varying(255) DEFAULT NULL::character varying, + filesize bigint, + is_paper character(1) DEFAULT NULL::bpchar, + page_count integer, + scan_date timestamp without time zone, + scan_user character varying(50) DEFAULT NULL::character varying, + scan_location character varying(255) DEFAULT NULL::character varying, + scan_wkstation character varying(255) DEFAULT NULL::character varying, + scan_batch character varying(50) DEFAULT NULL::character varying, + burn_batch character varying(50) DEFAULT NULL::character varying, + scan_postmark character varying(50) DEFAULT NULL::character varying, + envelop_id bigint, + status character varying(10) NOT NULL, + destination character varying(50) DEFAULT NULL::character varying, + approver character varying(50) DEFAULT NULL::character varying, + validation_date timestamp without time zone, + work_batch bigint, + origin character varying(50) DEFAULT NULL::character varying, + is_ingoing character(1) DEFAULT NULL::bpchar, + priority smallint, + arbatch_id bigint, + policy_id character varying(32), + cycle_id character varying(32), + is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, + is_frozen character(1) NOT NULL DEFAULT 'N'::bpchar, + custom_t1 text, + custom_n1 bigint, + custom_f1 numeric, + custom_d1 timestamp without time zone, + custom_t2 character varying(255) DEFAULT NULL::character varying, + custom_n2 bigint, + custom_f2 numeric, + custom_d2 timestamp without time zone, + custom_t3 character varying(255) DEFAULT NULL::character varying, + custom_n3 bigint, + custom_f3 numeric, + custom_d3 timestamp without time zone, + custom_t4 character varying(255) DEFAULT NULL::character varying, + custom_n4 bigint, + custom_f4 numeric, + custom_d4 timestamp without time zone, + custom_t5 character varying(255) DEFAULT NULL::character varying, + custom_n5 bigint, + custom_f5 numeric, + custom_d5 timestamp without time zone, + custom_t6 character varying(255) DEFAULT NULL::character varying, + custom_d6 timestamp without time zone, + custom_t7 character varying(255) DEFAULT NULL::character varying, + custom_d7 timestamp without time zone, + custom_t8 character varying(255) DEFAULT NULL::character varying, + custom_d8 timestamp without time zone, + custom_t9 character varying(255) DEFAULT NULL::character varying, + custom_d9 timestamp without time zone, + custom_t10 character varying(255) DEFAULT NULL::character varying, + custom_d10 timestamp without time zone, + custom_t11 character varying(255) DEFAULT NULL::character varying, + custom_t12 character varying(255) DEFAULT NULL::character varying, + custom_t13 character varying(255) DEFAULT NULL::character varying, + custom_t14 character varying(255) DEFAULT NULL::character varying, + custom_t15 character varying(255) DEFAULT NULL::character varying, + tablename character varying(32) DEFAULT 'res_version_attachments'::character varying, + initiator character varying(50) DEFAULT NULL::character varying, + dest_user character varying(128) DEFAULT NULL::character varying, + video_batch integer, + video_time integer, + video_user character varying(128) DEFAULT NULL::character varying, + video_date timestamp without time zone, + cycle_date timestamp without time zone, + coll_id character varying(32) NOT NULL, + attachment_type character varying(255) DEFAULT NULL::character varying, + dest_contact_id bigint, + dest_address_id bigint, + updated_by character varying(128) DEFAULT NULL::character varying, + is_multicontacts character(1), + res_id_master bigint, + attachment_id_master bigint, + CONSTRAINT res_version_attachments_pkey PRIMARY KEY (res_id) +) +WITH ( + OIDS=FALSE +); + +-- view for attachments +DROP VIEW IF EXISTS res_view_attachments; +CREATE VIEW res_view_attachments AS + SELECT '0' as res_id, res_id as res_id_version, title, subject, description, publisher, contributor, type_id, format, typist, + creation_date, fulltext_result, ocr_result, author, author_name, identifier, source, + doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path, + filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count, + scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark, + envelop_id, status, destination, approver, validation_date, work_batch, origin, is_ingoing, priority, initiator, dest_user, + coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, attachment_id_master + FROM res_version_attachments + UNION ALL + SELECT res_id, '0' as res_id_version, title, subject, description, publisher, contributor, type_id, format, typist, + creation_date, fulltext_result, ocr_result, author, author_name, identifier, source, + doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path, + filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count, + scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark, + envelop_id, status, destination, approver, validation_date, work_batch, origin, is_ingoing, priority, initiator, dest_user, + coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, '0' + FROM res_attachments; \ No newline at end of file -- GitLab