diff --git a/core/trunk/structure.sql b/core/trunk/structure.sql index bc94eb38dfc9128b6350481a0777c9db75fee359..305c9a97889eaf7c4688979879714228f95a7a15 100644 --- a/core/trunk/structure.sql +++ b/core/trunk/structure.sql @@ -455,51 +455,51 @@ WITH (OIDS=FALSE); CREATE TABLE res_apa ( res_id serial NOT NULL , - title character varying( 255 ) default NULL , + title character varying(255) default NULL , subject text , description text , - publisher character varying( 255 ) default NULL , - contributor character varying( 255 ) default NULL , + publisher character varying(255) default NULL , + contributor character varying(255) default NULL , type_id integer default NULL , - format character varying( 50 ) default NULL , - typist character varying( 128 ) default NULL , + format character varying(50) default NULL , + typist character varying(128) default NULL , creation_date timestamp without time zone NOT NULL , - author character varying( 255 ) default NULL , + author character varying(255) default NULL , author_name text , - identifier character varying( 255 ) default NULL , - source character varying( 255 ) default NULL , - doc_language character varying( 50 ) default NULL , + identifier character varying(255) default NULL , + source character varying(255) default NULL , + doc_language character varying(50) default NULL , relation integer default NULL , - coverage character varying( 255 ) default NULL , + coverage character varying(255) default NULL , doc_date timestamp without time zone default NULL , - docserver_id character varying( 32 ) default NULL , + docserver_id character varying(32) default NULL , folders_system_id integer default NULL , - arbox_id character varying( 32 ) default NULL , - path character varying( 255 ) default NULL , - filename character varying( 255 ) default NULL , - offset_doc character varying( 255 ) default NULL , - logical_adr character varying( 255 ) default NULL , - fingerprint character varying( 255 ) default NULL , + arbox_id character varying(32) default NULL , + path character varying(255) default NULL , + filename character varying(255) default NULL , + offset_doc character varying(255) default NULL , + logical_adr character varying(255) default NULL , + fingerprint character varying(255) default NULL , filesize integer default NULL , - is_paper char( 1 ) default NULL , + is_paper char(1) default NULL , page_count integer default NULL , scan_date timestamp without time zone default NULL , - scan_user character varying( 50 ) default NULL , - scan_location character varying( 255 ) default NULL , - scan_wkstation character varying( 255 ) default NULL , - scan_batch character varying( 50 ) default NULL , - burn_batch character varying( 50 ) default NULL , - scan_postmark character varying( 50 ) default NULL , + scan_user character varying(50) default NULL , + scan_location character varying(255) default NULL , + scan_wkstation character varying(255) default NULL , + scan_batch character varying(50) default NULL , + burn_batch character varying(50) default NULL , + scan_postmark character varying(50) default NULL , envelop_id integer default NULL , - status character varying( 3 ) default NULL , - destination character varying( 50 ) default NULL , - approver character varying( 50 ) default NULL , + status character varying(3) default NULL , + destination character varying(50) default NULL , + approver character varying(50) default NULL , validation_date timestamp without time zone default NULL , work_batch integer default NULL , - origin character varying( 50 ) default NULL , - is_ingoing char( 1 ) default NULL , + origin character varying(50) default NULL , + is_ingoing char(1) default NULL , priority smallint default NULL , - arbatch_id character varying( 32 ) default NULL , + arbatch_id character varying(32) default NULL , fulltext_result character varying(10) DEFAULT NULL, ocr_result character varying(10) DEFAULT NULL, converter_result character varying(10) DEFAULT NULL, @@ -507,43 +507,43 @@ WITH (OIDS=FALSE); custom_n1 integer default NULL , custom_f1 numeric default NULL , custom_d1 timestamp without time zone default NULL , - custom_t2 character varying( 255 ) default NULL , + custom_t2 character varying(255) default NULL , custom_n2 integer default NULL , custom_f2 numeric default NULL , custom_d2 timestamp without time zone default NULL , - custom_t3 character varying( 255 ) default NULL , + custom_t3 character varying(255) default NULL , custom_n3 integer default NULL , custom_f3 numeric default NULL , custom_d3 timestamp without time zone default NULL , - custom_t4 character varying( 255 ) default NULL , + custom_t4 character varying(255) default NULL , custom_n4 integer default NULL , custom_f4 numeric default NULL , custom_d4 timestamp without time zone default NULL , - custom_t5 character varying( 255 ) default NULL , + custom_t5 character varying(255) default NULL , custom_n5 integer default NULL , custom_f5 numeric default NULL , custom_d5 timestamp without time zone default NULL , - custom_t6 character varying( 255 ) default NULL , + custom_t6 character varying(255) default NULL , custom_d6 timestamp without time zone default NULL , - custom_t7 character varying( 255 ) default NULL , + custom_t7 character varying(255) default NULL , custom_d7 timestamp without time zone default NULL , - custom_t8 character varying( 255 ) default NULL , + custom_t8 character varying(255) default NULL , custom_d8 timestamp without time zone default NULL , - custom_t9 character varying( 255 ) default NULL , + custom_t9 character varying(255) default NULL , custom_d9 timestamp without time zone default NULL , - custom_t10 character varying( 255 ) default NULL , + custom_t10 character varying(255) default NULL , custom_d10 timestamp without time zone default NULL , - custom_t11 character varying( 255 ) default NULL , - custom_t12 character varying( 255 ) default NULL , - custom_t13 character varying( 255 ) default NULL , - custom_t14 character varying( 255 ) default NULL , - custom_t15 character varying( 255 ) default NULL , - tablename character varying( 32 ) default 'res_apa', - initiator character varying( 50 ) default NULL , - dest_user character varying( 128 ) default NULL , + custom_t11 character varying(255) default NULL , + custom_t12 character varying(255) default NULL , + custom_t13 character varying(255) default NULL , + custom_t14 character varying(255) default NULL , + custom_t15 character varying(255) default NULL , + tablename character varying(32) default 'res_apa', + initiator character varying(50) default NULL , + dest_user character varying(128) default NULL , video_batch integer default NULL , video_time timestamp NULL default NULL , - video_user character varying( 128 ) default NULL , + video_user character varying(128) default NULL , video_date timestamp without time zone, CONSTRAINT res_apa_pkey PRIMARY KEY (res_id) ) @@ -641,7 +641,7 @@ CREATE TABLE af_view_year_target ( level1 character varying(255) NOT NULL , -- Pays / Country : custom_t3 level1_id integer NOT NULL, - level2 character(4) , -- Année / Year : date_part( 'year', doc_date) + level2 character(4) , -- Année / Year : date_part('year', doc_date) level2_id integer NOT NULL, level3 character varying(255) , -- Client / Customer : custom_t4 level3_id integer NOT NULL, @@ -655,7 +655,7 @@ CREATE TABLE af_view_customer_target level1_id integer NOT NULL, level2 character varying(255) , -- Client / Customer : custom_t4 level2_id integer NOT NULL, - level3 character(4) , -- Année / Year : date_part( 'year', doc_date) + level3 character(4) , -- Année / Year : date_part('year', doc_date) level3_id integer NOT NULL, CONSTRAINT af_view_customer_target_pkey PRIMARY KEY (level1, level2, level3) ) @@ -818,7 +818,7 @@ CREATE TABLE listinstance item_mode character varying(50) NOT NULL, added_by_user character varying(128) NOT NULL, added_by_entity character varying(50) NOT NULL, - visible character varying(50) NOT NULL DEFAULT 'Y'::bpchar, + visible character varying(1) NOT NULL DEFAULT 'Y'::bpchar, viewed bigint, difflist_type character varying(50), CONSTRAINT listinstance_pkey PRIMARY KEY (listinstance_id) @@ -2097,130 +2097,6 @@ CREATE TABLE mlb_doctype_ext ( ) WITH (OIDS=FALSE); -CREATE OR REPLACE VIEW res_view AS - SELECT r.tablename, r.is_multi_docservers, r.res_id, r.title, r.subject, r.page_count, r.identifier, r.doc_date, r.type_id, - d.description AS type_label, d.doctypes_first_level_id, dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, - d.doctypes_second_level_id, dsl.doctypes_second_level_label, dsl.css_style as doctype_second_level_style, - r.format, r.typist, r.creation_date, r.relation, r.docserver_id, - r.folders_system_id, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, r.status, - r.work_batch, r.arbatch_id, r.arbox_id, r.is_paper, r.scan_date, r.scan_user,r.scan_location,r.scan_wkstation, - r.scan_batch,r.doc_language,r.description,r.source,r.initiator,r.destination,r.dest_user,r.policy_id,r.cycle_id,r.cycle_date, - r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, r.custom_t3 AS doc_custom_t3, - r.custom_t4 AS doc_custom_t4, r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, - r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, r.custom_t9 AS doc_custom_t9, - r.custom_t10 AS doc_custom_t10, r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, - r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, r.custom_t15 AS doc_custom_t15, - r.custom_d1 AS doc_custom_d1, r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, - r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, r.custom_d6 AS doc_custom_d6, - r.custom_d7 AS doc_custom_d7, r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, - r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, r.custom_n2 AS doc_custom_n2, - r.custom_n3 AS doc_custom_n3, r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, - r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, r.custom_f3 AS doc_custom_f3, - r.custom_f4 AS doc_custom_f4, r.custom_f5 AS doc_custom_f5, r.is_frozen as res_is_frozen - FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, res_x r - WHERE r.type_id = d.type_id - AND d.doctypes_first_level_id = dfl.doctypes_first_level_id - AND d.doctypes_second_level_id = dsl.doctypes_second_level_id; - --- View without cases : ---CREATE OR REPLACE VIEW res_view_letterbox AS - --SELECT r.tablename, r.res_id, r.type_id, d.description AS type_label, d.doctypes_first_level_id, dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, - -- d.doctypes_second_level_id, dsl.doctypes_second_level_label, dsl.css_style as doctype_second_level_style, - -- r.format, r.typist, r.creation_date, r.relation, r.docserver_id, r.folders_system_id, f.folder_id, r.path, r.filename, r.fingerprint, r.filesize, r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, r.doc_date, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, r.scan_batch, r.doc_language, r.description, r.source, r.author, r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, r.custom_f5 AS doc_custom_f5, f.foldertype_id, ft.foldertype_label, f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, f.custom_t3 AS fold_custom_t3, f.custom_t4 AS fold_custom_t4, f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, f.custom_t11 AS fold_custom_t11, f.custom_t12 AS fold_custom_t12, f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, f.custom_n2 AS fold_custom_n2, f.custom_n3 AS fold_custom_n3, f.custom_n4 AS fold_custom_n4, f.custom_n5 AS fold_custom_n5, f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, 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, mlb.dest_user_id, mlb.dest_contact_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, mlb.flag_notif, mlb.flag_alarm1, mlb.flag_alarm2, r.video_user, r.video_time, r.video_batch, r.subject, r.identifier, r.title, r.priority, mlb.process_notes - -- FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, res_letterbox r - --LEFT JOIN ar_batch a ON r.arbatch_id = a.arbatch_id - --LEFT JOIN folders f ON r.folders_system_id = f.folders_system_id - --LEFT JOIN mlb_coll_ext mlb ON mlb.res_id = r.res_id - --LEFT JOIN foldertypes ft ON f.foldertype_id = ft.foldertype_id AND f.status::text <> 'DEL'::text - -- WHERE r.type_id = d.type_id AND d.doctypes_first_level_id = dfl.doctypes_first_level_id AND d.doctypes_second_level_id = dsl.doctypes_second_level_id; - -CREATE VIEW res_view_letterbox AS - SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, - d.description AS type_label, d.doctypes_first_level_id, - dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, - d.doctypes_second_level_id, dsl.doctypes_second_level_label, - dsl.css_style as doctype_second_level_style, r.format, r.typist, - r.creation_date, r.relation, r.docserver_id, r.folders_system_id, - f.folder_id, f.is_frozen as folder_is_frozen, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, - r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, - r.doc_date, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, - r.scan_batch, r.doc_language, r.description, r.source, r.author, - r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, - r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, - r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, - r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, - r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, - r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, - r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, - r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, - r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, - r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, - r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, - r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, - r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, - r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, - r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, - r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, - r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, - r.custom_f5 AS doc_custom_f5, f.foldertype_id, ft.foldertype_label, - f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, - f.custom_t3 AS fold_custom_t3, f.custom_t4 AS fold_custom_t4, - f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, - f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, - f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, - f.custom_t11 AS fold_custom_t11, f.custom_t12 AS fold_custom_t12, - f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, - f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, - f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, - f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, - f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, - f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, - f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, - f.custom_n2 AS fold_custom_n2, f.custom_n3 AS fold_custom_n3, - f.custom_n4 AS fold_custom_n4, f.custom_n5 AS fold_custom_n5, - f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, - f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, - f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, - 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, - mlb.dest_user_id, mlb.dest_contact_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, - mlb.flag_notif, mlb.flag_alarm1, mlb.flag_alarm2, r.video_user, r.video_time, - r.video_batch, r.subject, r.identifier, r.title, r.priority, mlb.process_notes, - ca.case_id, ca.case_label, ca.case_description, en.entity_label, - cont.contact_id AS contact_id, cont.email AS contact_email, - cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, - cont.society AS contact_society, u.lastname AS user_lastname, - u.firstname AS user_firstname, list.item_id AS dest_user_from_listinstance, - r.is_frozen as res_is_frozen, COALESCE(att.count_attachment, 0::bigint) AS count_attachment - FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, - (((((((((((ar_batch a RIGHT JOIN res_letterbox r ON ((r.arbatch_id = a.arbatch_id))) - LEFT JOIN (SELECT res_attachments.res_id_master, count(res_attachments.res_id_master) AS count_attachment - FROM res_attachments GROUP BY res_attachments.res_id_master) att ON (r.res_id = att.res_id_master)) - LEFT JOIN entities en ON (((r.destination)::text = (en.entity_id)::text))) - LEFT JOIN folders f ON ((r.folders_system_id = f.folders_system_id))) - LEFT JOIN cases_res cr ON ((r.res_id = cr.res_id))) - LEFT JOIN mlb_coll_ext mlb ON ((mlb.res_id = r.res_id))) - LEFT JOIN foldertypes ft ON (((f.foldertype_id = ft.foldertype_id) - AND ((f.status)::text <> 'DEL'::text)))) - LEFT JOIN cases ca ON ((cr.case_id = ca.case_id))) - LEFT JOIN contacts cont ON (((mlb.exp_contact_id = cont.contact_id) - OR (mlb.dest_contact_id = cont.contact_id)))) - LEFT JOIN users u ON ((((mlb.exp_user_id)::text = (u.user_id)::text) - OR ((mlb.dest_user_id)::text = (u.user_id)::text)))) - LEFT JOIN listinstance list ON (((r.res_id = list.res_id) - AND ((list.item_mode)::text = 'dest'::text)))) - WHERE (((r.type_id = d.type_id) AND - (d.doctypes_first_level_id = dfl.doctypes_first_level_id)) - AND (d.doctypes_second_level_id = dsl.doctypes_second_level_id)); - - -CREATE OR REPLACE VIEW res_view_apa AS - select * from res_apa; - CREATE TABLE doctypes_indexes ( type_id bigint NOT NULL, @@ -2231,56 +2107,6 @@ CREATE TABLE doctypes_indexes ) WITH (OIDS=FALSE); - --- Resource view used to fill af_target, we exclude from res_x the branches already in af_target table - -CREATE OR REPLACE VIEW af_view_year_view AS - SELECT r.custom_t3 AS level1, date_part( 'year', r.doc_date) AS level2, r.custom_t4 AS level3, - r.res_id, r.creation_date, r.status -- for where clause - FROM res_x r - WHERE NOT (EXISTS ( SELECT t.level1, t.level2, t.level3 - FROM af_view_year_target t - WHERE r.custom_t3::text = t.level1::text AND cast(date_part( 'year', r.doc_date) as character) = t.level2 AND r.custom_t4 = t.level3)); - -CREATE OR REPLACE VIEW af_view_customer_view AS - SELECT substring(r.custom_t4, 1, 1) AS level1, r.custom_t4 AS level2, date_part( 'year', r.doc_date) AS level3, - r.res_id, r.creation_date, r.status -- for where clause - FROM res_x r - WHERE status <> 'DEL' and date_part( 'year', doc_date) is not null - AND NOT (EXISTS ( SELECT t.level1, t.level2, t.level3 - FROM af_view_customer_target t - WHERE substring(r.custom_t4, 1, 1)::text = t.level1::text AND r.custom_t4::text = t.level2::text - AND cast(date_part( 'year', r.doc_date) as character) = t.level3)) ; - --- View used to display trees -CREATE OR REPLACE VIEW af_view_year_target_view AS - SELECT af.level1, af.level1_id, af.level1 as level1_label, af.level2, af.level2_id, af.level2 as level2_label, af.level3, af.level3_id, af.level3 as level3_label - FROM af_view_year_target af; - -CREATE OR REPLACE VIEW af_view_customer_target_view AS - SELECT af.level1, af.level1_id, af.level1 as level1_label, af.level2, af.level2_id, af.level2 as level2_label, af.level3, af.level3_id, af.level3 as level3_label - FROM af_view_customer_target af ; - --- View folders -DROP VIEW IF EXISTS view_folders; -CREATE OR REPLACE VIEW view_folders AS - SELECT folders.folders_system_id, folders.folder_id, folders.foldertype_id, foldertypes.foldertype_label, (folders.folder_id::text || ':'::text) || folders.folder_name::text AS folder_full_label, folders.parent_id, folders.folder_name, folders.subject, folders.description, folders.author, folders.typist, folders.status, folders.folder_level, folders.creation_date, folders.destination, folders.dest_user, folders.folder_out_id, folders.custom_t1, folders.custom_n1, folders.custom_f1, folders.custom_d1, folders.custom_t2, folders.custom_n2, folders.custom_f2, folders.custom_d2, folders.custom_t3, folders.custom_n3, folders.custom_f3, folders.custom_d3, folders.custom_t4, folders.custom_n4, folders.custom_f4, folders.custom_d4, folders.custom_t5, folders.custom_n5, folders.custom_f5, folders.custom_d5, folders.custom_t6, folders.custom_d6, folders.custom_t7, folders.custom_d7, folders.custom_t8, folders.custom_d8, folders.custom_t9, folders.custom_d9, folders.custom_t10, folders.custom_d10, folders.custom_t11, folders.custom_d11, folders.custom_t12, folders.custom_d12, folders.custom_t13, folders.custom_d13, folders.custom_t14, folders.custom_d14, folders.custom_t15, folders.is_complete, folders.is_folder_out, folders.last_modified_date, folders.video_status, COALESCE(r.count_document, 0::bigint) AS count_document - FROM foldertypes, folders - LEFT JOIN ( SELECT res_letterbox.folders_system_id, count(res_letterbox.folders_system_id) AS count_document - FROM res_letterbox - GROUP BY res_letterbox.folders_system_id) r ON r.folders_system_id = folders.folders_system_id - WHERE folders.foldertype_id = foldertypes.foldertype_id; - --- View for postindexing - CREATE OR REPLACE VIEW view_postindexing AS - SELECT res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text AS user_name, res_view_letterbox.video_batch, res_view_letterbox.video_time, count(res_view_letterbox.res_id) AS count_documents, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text AS folder_full_label, folders.video_status - FROM res_view_letterbox - LEFT JOIN users ON res_view_letterbox.video_user::text = users.user_id::text - LEFT JOIN folders ON folders.folders_system_id = res_view_letterbox.folders_system_id - WHERE res_view_letterbox.video_batch IS NOT NULL - GROUP BY res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text, res_view_letterbox.video_batch, res_view_letterbox.video_time, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text, folders.video_status; - - CREATE TABLE groupbasket_status ( system_id serial NOT NULL, @@ -2892,7 +2718,7 @@ SELECT FROM rm_ios LEFT JOIN rm_organizations AS ArchivalAgency ON ArchivalAgency.parent_id = rm_ios.io_id AND ArchivalAgency.role = 'ArchivalAgency' LEFT JOIN rm_contacts AS ArchivalContact ON ArchivalContact.organization_id = - ( + ( SELECT organization_id FROM rm_contacts WHERE rm_contacts.organization_id = ArchivalAgency.organization_id @@ -2901,7 +2727,7 @@ FROM rm_ios ) LEFT JOIN rm_organizations AS RequestingAgency ON RequestingAgency.parent_id = rm_ios.io_id AND RequestingAgency.role IN ('TransferringAgency', 'RequestingAgency') LEFT JOIN rm_contacts AS RequestingContact ON RequestingContact.organization_id = - ( + ( SELECT organization_id FROM rm_contacts WHERE rm_contacts.organization_id = RequestingAgency.organization_id @@ -2913,7 +2739,7 @@ FROM rm_ios LEFT JOIN rm_items AS Archives ON Archives.item_id = IOArchives.item_id LEFT JOIN rm_items AS ArchiveObjects ON ArchiveObjects.parent_item_id = Archives.item_id LEFT JOIN rm_comments ON rm_comments.io_id = - ( + ( SELECT io_id FROM rm_comments WHERE rm_comments.io_id = rm_ios.io_id @@ -2998,7 +2824,7 @@ FROM rm_documents LEFT JOIN doctypes_first_level ON doctypes.doctypes_first_level_id = doctypes_first_level.doctypes_first_level_id LEFT JOIN doctypes_second_level ON doctypes.doctypes_second_level_id = doctypes_second_level.doctypes_second_level_id LEFT JOIN rm_organizations AS originating_agency ON originating_agency.organization_id = - ( + ( SELECT organization_id FROM rm_organizations WHERE rm_organizations.parent_id = rm_items.item_id AND rm_organizations.role = 'OriginatingAgency' @@ -3006,7 +2832,7 @@ FROM rm_documents LIMIT 1 ) LEFT JOIN rm_contacts on originating_agency.organization_id = rm_contacts.organization_id and contact_id = - ( + ( SELECT contact_id FROM rm_contacts WHERE rm_contacts.organization_id = originating_agency.organization_id @@ -3145,3 +2971,505 @@ WITH (OIDS=FALSE); DROP VIEW IF EXISTS res_view_log; CREATE OR REPLACE VIEW res_view_log AS select * from res_log; + +-- ************************************************************************* -- +-- -- +-- BUSINESS COLLECTION -- +-- -- +-- ************************************************************************* -- + +DROP TABLE IF EXISTS res_business CASCADE; +CREATE TABLE res_business +( + res_id SERIAL, + 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, + ocr_result character varying(10) DEFAULT NULL, + converter_result character varying(10) DEFAULT NULL, + 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 DEFAULT NULL, + policy_id character varying(32) DEFAULT NULL::character varying, + cycle_id character varying(32) DEFAULT NULL::character varying, + cycle_date timestamp without time zone, + 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_business'::character varying, + initiator character varying(50) DEFAULT NULL::character varying, + dest_user character varying(128) DEFAULT NULL::character varying, + video_batch integer DEFAULT NULL, + video_time integer DEFAULT NULL, + video_user character varying(128) DEFAULT NULL, + video_date timestamp without time zone, + esign_proof_id character varying(255), + esign_proof_content text, + esign_content text, + esign_date timestamp without time zone, + CONSTRAINT res_business_pkey PRIMARY KEY (res_id) +) +WITH (OIDS=FALSE); + +DROP TABLE IF EXISTS adr_business; +CREATE TABLE adr_business +( + res_id bigint NOT NULL, + docserver_id character varying(32) NOT NULL, + 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, + fingerprint character varying(255) DEFAULT NULL::character varying, + adr_priority integer NOT NULL, + CONSTRAINT adr_business_pkey PRIMARY KEY (res_id, docserver_id) +) +WITH (OIDS=FALSE); + +DROP TABLE IF EXISTS res_version_business; +CREATE TABLE res_version_business +( + res_id serial, + 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_business'::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, + res_id_master bigint, + CONSTRAINT res_version_business_pkey PRIMARY KEY (res_id) +) +WITH ( + OIDS=FALSE +); + +DROP TABLE IF EXISTS business_coll_ext CASCADE; +CREATE TABLE business_coll_ext ( + res_id bigint NOT NULL, + category_id character varying(50) NOT NULL, + contact_id integer default NULL, + currency character varying(10) default NULL, + net_sum float default NULL, + tax_sum float default NULL, + total_sum float default NULL, + process_limit_date timestamp without time zone default NULL, + closing_date timestamp without time zone default NULL, + alarm1_date timestamp without time zone default NULL, + alarm2_date timestamp without time zone default NULL, + flag_notif char(1) default 'N'::character varying , + flag_alarm1 char(1) default 'N'::character varying , + flag_alarm2 char(1) default 'N'::character varying +)WITH (OIDS=FALSE); + +DROP TABLE IF EXISTS invoice_types CASCADE; +CREATE TABLE invoice_types ( + invoice_type_id character varying(50) NOT NULL, + invoice_type_name character varying(255) NOT NULL, + invoice_movement char(2) default 'DR'::character varying +)WITH (OIDS=FALSE); + + +--VIEWS +--view for demo +DROP VIEW IF EXISTS res_view; +CREATE VIEW res_view AS + SELECT r.tablename, r.is_multi_docservers, r.res_id, r.title, r.subject, r.page_count, r.identifier, r.doc_date, r.type_id, + d.description AS type_label, d.doctypes_first_level_id, dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, + d.doctypes_second_level_id, dsl.doctypes_second_level_label, dsl.css_style as doctype_second_level_style, + r.format, r.typist, r.creation_date, r.relation, r.docserver_id, + r.folders_system_id, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, r.status, + r.work_batch, r.arbatch_id, r.arbox_id, r.is_paper, r.scan_date, r.scan_user,r.scan_location,r.scan_wkstation, + r.scan_batch,r.doc_language,r.description,r.source,r.initiator,r.destination,r.dest_user,r.policy_id,r.cycle_id,r.cycle_date, + r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, r.custom_t3 AS doc_custom_t3, + r.custom_t4 AS doc_custom_t4, r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, + r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, r.custom_t9 AS doc_custom_t9, + r.custom_t10 AS doc_custom_t10, r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, + r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, r.custom_t15 AS doc_custom_t15, + r.custom_d1 AS doc_custom_d1, r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, + r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, r.custom_d6 AS doc_custom_d6, + r.custom_d7 AS doc_custom_d7, r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, + r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, r.custom_n2 AS doc_custom_n2, + r.custom_n3 AS doc_custom_n3, r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, + r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, r.custom_f3 AS doc_custom_f3, + r.custom_f4 AS doc_custom_f4, r.custom_f5 AS doc_custom_f5, r.is_frozen as res_is_frozen + FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, res_x r + WHERE r.type_id = d.type_id + AND d.doctypes_first_level_id = dfl.doctypes_first_level_id + AND d.doctypes_second_level_id = dsl.doctypes_second_level_id; + +--view for business +DROP VIEW IF EXISTS res_view_business; +CREATE VIEW res_view_business AS + SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, + d.description AS type_label, d.doctypes_first_level_id, + d.doctypes_second_level_id, r.format, r.typist, + r.creation_date, r.relation, r.docserver_id, r.folders_system_id, + f.folder_id, f.is_frozen as folder_is_frozen, r.path, r.filename, + r.fingerprint, r.offset_doc, r.filesize, + r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, + r.doc_date, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, + r.scan_batch, r.doc_language, r.description, r.source, r.author, + r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, + r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, + r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, + r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, + r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, + r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, + r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, + r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, + r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, + r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, + r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, + r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, + r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, + r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, + r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, + r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, + r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, + r.custom_f5 AS doc_custom_f5, f.foldertype_id, + f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, + f.custom_t3 AS fold_custom_t3, f.custom_t4 AS fold_custom_t4, + f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, + f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, + f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, + f.custom_t11 AS fold_custom_t11, f.custom_t12 AS fold_custom_t12, + f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, + f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, + f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, + f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, + f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, + f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, + f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, + f.custom_n2 AS fold_custom_n2, f.custom_n3 AS fold_custom_n3, + f.custom_n4 AS fold_custom_n4, f.custom_n5 AS fold_custom_n5, + f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, + f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, + f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, + 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, busi.category_id, busi.contact_id, busi.currency, + busi.net_sum, busi.tax_sum, busi.total_sum, + busi.process_limit_date, busi.closing_date, busi.alarm1_date, busi.alarm2_date, + busi.flag_notif, busi.flag_alarm1, busi.flag_alarm2, r.video_user, r.video_time, + r.video_batch, r.subject, r.identifier, r.title, r.priority, + en.entity_label, cont.email AS contact_email, + cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, + cont.society AS contact_society, list.item_id AS dest_user_from_listinstance, list.viewed, + r.is_frozen as res_is_frozen, COALESCE(att.count_attachment, 0::bigint) AS count_attachment + FROM doctypes d, res_business r + LEFT JOIN (SELECT res_attachments.res_id_master, coll_id, count(res_attachments.res_id_master) AS count_attachment + FROM res_attachments GROUP BY res_attachments.res_id_master, coll_id) att ON (r.res_id = att.res_id_master and att.coll_id = 'business_coll') + LEFT JOIN entities en ON ((r.destination)::text = (en.entity_id)::text) + LEFT JOIN folders f ON ((r.folders_system_id = f.folders_system_id)) + LEFT JOIN business_coll_ext busi ON (busi.res_id = r.res_id) + LEFT JOIN contacts cont ON (busi.contact_id = cont.contact_id) + LEFT JOIN listinstance list ON ((r.res_id = list.res_id) + AND ((list.item_mode)::text = 'dest'::text)) + WHERE r.type_id = d.type_id; + +-- view for letterbox +DROP VIEW IF EXISTS res_view_letterbox; +CREATE VIEW res_view_letterbox AS + SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, + d.description AS type_label, d.doctypes_first_level_id, + dfl.doctypes_first_level_label, dfl.css_style as doctype_first_level_style, + d.doctypes_second_level_id, dsl.doctypes_second_level_label, + dsl.css_style as doctype_second_level_style, r.format, r.typist, + r.creation_date, r.relation, r.docserver_id, r.folders_system_id, + f.folder_id, f.is_frozen as folder_is_frozen, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, + r.status, r.work_batch, r.arbatch_id, r.arbox_id, r.page_count, r.is_paper, + r.doc_date, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, + r.scan_batch, r.doc_language, r.description, r.source, r.author, + r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, + r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, + r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, + r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, + r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, + r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, + r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, + r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, + r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, + r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, + r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, + r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, + r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, + r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, + r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, + r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, + r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, + r.custom_f5 AS doc_custom_f5, f.foldertype_id, ft.foldertype_label, + f.custom_t1 AS fold_custom_t1, f.custom_t2 AS fold_custom_t2, + f.custom_t3 AS fold_custom_t3, f.custom_t4 AS fold_custom_t4, + f.custom_t5 AS fold_custom_t5, f.custom_t6 AS fold_custom_t6, + f.custom_t7 AS fold_custom_t7, f.custom_t8 AS fold_custom_t8, + f.custom_t9 AS fold_custom_t9, f.custom_t10 AS fold_custom_t10, + f.custom_t11 AS fold_custom_t11, f.custom_t12 AS fold_custom_t12, + f.custom_t13 AS fold_custom_t13, f.custom_t14 AS fold_custom_t14, + f.custom_t15 AS fold_custom_t15, f.custom_d1 AS fold_custom_d1, + f.custom_d2 AS fold_custom_d2, f.custom_d3 AS fold_custom_d3, + f.custom_d4 AS fold_custom_d4, f.custom_d5 AS fold_custom_d5, + f.custom_d6 AS fold_custom_d6, f.custom_d7 AS fold_custom_d7, + f.custom_d8 AS fold_custom_d8, f.custom_d9 AS fold_custom_d9, + f.custom_d10 AS fold_custom_d10, f.custom_n1 AS fold_custom_n1, + f.custom_n2 AS fold_custom_n2, f.custom_n3 AS fold_custom_n3, + f.custom_n4 AS fold_custom_n4, f.custom_n5 AS fold_custom_n5, + f.custom_f1 AS fold_custom_f1, f.custom_f2 AS fold_custom_f2, + f.custom_f3 AS fold_custom_f3, f.custom_f4 AS fold_custom_f4, + f.custom_f5 AS fold_custom_f5, f.is_complete AS fold_complete, + 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, + mlb.dest_user_id, mlb.dest_contact_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, + mlb.flag_notif, mlb.flag_alarm1, mlb.flag_alarm2, r.video_user, r.video_time, + r.video_batch, r.subject, r.identifier, r.title, r.priority, mlb.process_notes, + ca.case_id, ca.case_label, ca.case_description, en.entity_label, + cont.contact_id AS contact_id, cont.email AS contact_email, + cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, + cont.society AS contact_society, u.lastname AS user_lastname, + u.firstname AS user_firstname, list.item_id AS dest_user_from_listinstance, list.viewed, + r.is_frozen as res_is_frozen, COALESCE(att.count_attachment, 0::bigint) AS count_attachment + FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, + (((((((((((ar_batch a RIGHT JOIN res_letterbox r ON ((r.arbatch_id = a.arbatch_id))) + LEFT JOIN (SELECT res_attachments.res_id_master, count(res_attachments.res_id_master) AS count_attachment + FROM res_attachments GROUP BY res_attachments.res_id_master) att ON (r.res_id = att.res_id_master)) + LEFT JOIN entities en ON (((r.destination)::text = (en.entity_id)::text))) + LEFT JOIN folders f ON ((r.folders_system_id = f.folders_system_id))) + LEFT JOIN cases_res cr ON ((r.res_id = cr.res_id))) + LEFT JOIN mlb_coll_ext mlb ON ((mlb.res_id = r.res_id))) + LEFT JOIN foldertypes ft ON (((f.foldertype_id = ft.foldertype_id) + AND ((f.status)::text <> 'DEL'::text)))) + LEFT JOIN cases ca ON ((cr.case_id = ca.case_id))) + LEFT JOIN contacts cont ON (((mlb.exp_contact_id = cont.contact_id) + OR (mlb.dest_contact_id = cont.contact_id)))) + LEFT JOIN users u ON ((((mlb.exp_user_id)::text = (u.user_id)::text) + OR ((mlb.dest_user_id)::text = (u.user_id)::text)))) + LEFT JOIN listinstance list ON (((r.res_id = list.res_id) + AND ((list.item_mode)::text = 'dest'::text)))) + WHERE (((r.type_id = d.type_id) AND + (d.doctypes_first_level_id = dfl.doctypes_first_level_id)) + AND (d.doctypes_second_level_id = dsl.doctypes_second_level_id)); + +--view for postindexing +DROP VIEW IF EXISTS view_postindexing; +CREATE VIEW view_postindexing AS +SELECT res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text AS user_name, res_view_letterbox.video_batch, res_view_letterbox.video_time, count(res_view_letterbox.res_id) AS count_documents, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text AS folder_full_label, folders.video_status +FROM res_view_letterbox +LEFT JOIN users ON res_view_letterbox.video_user::text = users.user_id::text +LEFT JOIN folders ON folders.folders_system_id = res_view_letterbox.folders_system_id +WHERE res_view_letterbox.video_batch IS NOT NULL +GROUP BY res_view_letterbox.video_user, (users.firstname::text || ' '::text) || users.lastname::text, res_view_letterbox.video_batch, res_view_letterbox.video_time, res_view_letterbox.folders_system_id, (folders.folder_id::text || ' / '::text) || folders.folder_name::text, folders.video_status; + +--view for APA +DROP VIEW IF EXISTS res_view_apa; +CREATE VIEW res_view_apa AS +select * from res_apa; + +--views for autofoldering +-- Resource view used to fill af_target, we exclude from res_x the branches already in af_target table +DROP VIEW IF EXISTS af_view_year_view; +CREATE VIEW af_view_year_view AS +SELECT r.custom_t3 AS level1, date_part('year', r.doc_date) AS level2, r.custom_t4 AS level3, + r.res_id, r.creation_date, r.status -- for where clause +FROM res_x r +WHERE NOT (EXISTS (SELECT t.level1, t.level2, t.level3 + FROM af_view_year_target t + WHERE r.custom_t3::text = t.level1::text AND cast(date_part('year', r.doc_date) as character) = t.level2 AND r.custom_t4 = t.level3)); + +DROP VIEW IF EXISTS af_view_customer_view; +CREATE VIEW af_view_customer_view AS +SELECT substring(r.custom_t4, 1, 1) AS level1, r.custom_t4 AS level2, date_part('year', r.doc_date) AS level3, + r.res_id, r.creation_date, r.status -- for where clause +FROM res_x r +WHERE status <> 'DEL' and date_part('year', doc_date) is not null +AND NOT (EXISTS (SELECT t.level1, t.level2, t.level3 + FROM af_view_customer_target t + WHERE substring(r.custom_t4, 1, 1)::text = t.level1::text AND r.custom_t4::text = t.level2::text + AND cast(date_part('year', r.doc_date) as character) = t.level3)) ; + +-- View used to display trees +DROP VIEW IF EXISTS af_view_year_target_view; +CREATE VIEW af_view_year_target_view AS +SELECT af.level1, af.level1_id, af.level1 as level1_label, af.level2, af.level2_id, af.level2 as level2_label, af.level3, af.level3_id, af.level3 as level3_label +FROM af_view_year_target af; + +DROP VIEW IF EXISTS af_view_customer_target_view; +CREATE VIEW af_view_customer_target_view AS +SELECT af.level1, af.level1_id, af.level1 as level1_label, af.level2, af.level2_id, af.level2 as level2_label, af.level3, af.level3_id, af.level3 as level3_label +FROM af_view_customer_target af ; + +-- View folders +DROP VIEW IF EXISTS view_folders; +CREATE VIEW view_folders AS +SELECT folders.folders_system_id, folders.folder_id, folders.foldertype_id, foldertypes.foldertype_label, (folders.folder_id::text || ':'::text) || folders.folder_name::text AS folder_full_label, folders.parent_id, folders.folder_name, folders.subject, folders.description, folders.author, folders.typist, folders.status, folders.folder_level, folders.creation_date, folders.destination, folders.dest_user, folders.folder_out_id, folders.custom_t1, folders.custom_n1, folders.custom_f1, folders.custom_d1, folders.custom_t2, folders.custom_n2, folders.custom_f2, folders.custom_d2, folders.custom_t3, folders.custom_n3, folders.custom_f3, folders.custom_d3, folders.custom_t4, folders.custom_n4, folders.custom_f4, folders.custom_d4, folders.custom_t5, folders.custom_n5, folders.custom_f5, folders.custom_d5, folders.custom_t6, folders.custom_d6, folders.custom_t7, folders.custom_d7, folders.custom_t8, folders.custom_d8, folders.custom_t9, folders.custom_d9, folders.custom_t10, folders.custom_d10, folders.custom_t11, folders.custom_d11, folders.custom_t12, folders.custom_d12, folders.custom_t13, folders.custom_d13, folders.custom_t14, folders.custom_d14, folders.custom_t15, folders.is_complete, folders.is_folder_out, folders.last_modified_date, folders.video_status, COALESCE(r.count_document, 0::bigint) AS count_document +FROM foldertypes, folders +LEFT JOIN (SELECT res_letterbox.folders_system_id, count(res_letterbox.folders_system_id) AS count_document + FROM res_letterbox + GROUP BY res_letterbox.folders_system_id) r ON r.folders_system_id = folders.folders_system_id +WHERE folders.foldertype_id = foldertypes.foldertype_id;