/*
 * 
 * ________________ INIT_METIER_________________
 *
 *
*/
--
--

-- SET statement_timeout = 0;
-- SET lock_timeout = 0;
-- SET client_encoding = 'UTF8';
-- SET standard_conforming_strings = on;
-- SET check_function_bodies = false;
-- SET client_min_messages = warning;

--
-- Name: openexemple; Type: SCHEMA; Schema: -; Owner: -
--

-- CREATE SCHEMA openBdx;


--
-- Name: bordereau; Type: TABLE; Schema: openads_bdx; Owner: postgres; Tablespace: 
--

CREATE TABLE num_bordereau (
    num_bordereau integer NOT NULL,
    libelle character varying(20),
    envoi date NOT NULL
);
ALTER TABLE ONLY num_bordereau
    ADD CONSTRAINT num_bordereau_pkey PRIMARY KEY (num_bordereau);
    
    
--
-- Name: COLUMN bordereau.bor_id; Type: COMMENT; Schema: openads_bdx; Owner: postgres
--
COMMENT ON COLUMN num_bordereau.num_bordereau IS 'Identifiant technique ';
COMMENT ON COLUMN num_bordereau.libelle IS 'Libelleé = Date d''envoi , éventuellement suivi d''un n° d''ordre';
COMMENT ON COLUMN num_bordereau.envoi IS 'Date d"envoi';
-- COMMENT ON COLUMN bordereau.bor_flag IS 'Flag dernier bordereau';

--
-- Name: bordereau_seq; Type: SEQUENCE; Schema: openads_bdx; Owner: postgres
--
CREATE SEQUENCE num_bordereau_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
ALTER SEQUENCE num_bordereau_seq OWNED BY num_bordereau.num_bordereau;


--
-- Name: dossier; Type: TABLE; Schema: openads_bdx; Owner: postgres; Tablespace: 
--

CREATE TABLE num_dossier (
    num_dossier integer NOT NULL,
    ref character varying(30) NOT NULL,
    code character varying(20) NOT NULL,
    petition character varying(200) NOT NULL,
    total_pages integer,
    pa3a4 integer,
    pa0 integer,
    date_depot date,
    num_bordereau integer,
    datenum date,
    num_commande integer
);
ALTER TABLE ONLY num_dossier
    ADD CONSTRAINT num_dossier_pkey PRIMARY KEY (num_dossier);

--
-- Name: COLUMN dossier.dos_id; Type: COMMENT; Schema: openads_bdx; Owner: postgres
--
COMMENT ON COLUMN num_dossier.num_dossier IS 'Identifiant technique ';
COMMENT ON COLUMN num_dossier.ref IS 'Référence ';
COMMENT ON COLUMN num_dossier.code IS 'Code  ';
COMMENT ON COLUMN num_dossier.petition IS 'Nom du pétitionnaire ';
COMMENT ON COLUMN num_dossier.total_pages IS 'Nombre total de pages  ';
COMMENT ON COLUMN num_dossier.pa3a4 IS 'Nombre de pages A3 et A4  ';
COMMENT ON COLUMN num_dossier.pa0 IS 'Nombre de pages A0';
COMMENT ON COLUMN num_dossier.date_depot IS 'Date de dépôt';
COMMENT ON COLUMN num_dossier.num_bordereau IS 'Bordereau associé';
COMMENT ON COLUMN num_dossier.datenum IS 'Date de numérisation ';
COMMENT ON COLUMN num_dossier.num_commande IS 'Numéro de commande';

--
-- Name: dossier_seq; Type: SEQUENCE; Schema: openads_bdx; Owner: postgres
--
CREATE SEQUENCE num_dossier_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

ALTER SEQUENCE num_dossier_seq OWNED BY num_dossier.num_dossier;

-- Clé étrangère
ALTER TABLE ONLY num_dossier
    ADD CONSTRAINT num_dossier_num_bordereau FOREIGN KEY (num_bordereau) REFERENCES num_bordereau(num_bordereau);


/*
 * 
 * ________________ INIT_PARAMETRAGE_________________
 *
 *
*/

    -- MàJ de la version en BDD
UPDATE om_version SET om_version = '4.11.0-vdm0' WHERE EXISTS (SELECT 1 FROM om_version);
INSERT INTO om_version
SELECT ('4.11.0-vdm0') WHERE NOT EXISTS (SELECT 1 FROM om_version);

-- ajout des droits 

-- les droits globaux au profil administrateur
INSERT INTO om_droit (om_droit, libelle, om_profil) 
SELECT nextval('om_droit_seq'), 'num_bordereau', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;
INSERT INTO om_droit (om_droit, libelle, om_profil)
SELECT nextval('om_droit_seq'), 'num_dossier', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;
INSERT INTO om_droit (om_droit, libelle, om_profil)
SELECT nextval('om_droit_seq'), 'num_dossier_recuperation', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;
INSERT INTO om_droit (om_droit, libelle, om_profil)
SELECT nextval('om_droit_seq'), 'num_dossier_a_attribuer', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;
INSERT INTO om_droit (om_droit, libelle, om_profil)
SELECT nextval('om_droit_seq'), 'num_dossier_a_numeriser', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;
INSERT INTO om_droit (om_droit, libelle, om_profil)
SELECT nextval('om_droit_seq'), 'num_dossier_traite', om_profil FROM om_profil WHERE libelle = 'ADMINISTRATEUR TECHNIQUE ET FONCTIONNEL'
;

-- ajout d'un profil SUIVI NUMERISATION
-- Data for Name: om_SUIVI NUMERISATION; Type: TABLE DATA; Schema: openexemple; Owner: -
--
INSERT INTO om_profil (om_profil, libelle, hierarchie, om_validite_debut, om_validite_fin) 
VALUES (nextval('om_profil_seq'), 'SUIVI NUMERISATION', 0, NULL, NULL)
;

-- ajout des droits
--

-- bordereau
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_bordereau_tab', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_bordereau_consulter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_bordereau_ajouter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_bordereau_modifier_dossier', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
-- dossier
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_recuperation', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_tab', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_consulter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_copier', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_attribuer_tab', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_attribuer_consulter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_attribuer_modifier', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_numeriser_tab', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_numeriser_consulter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_a_numeriser_modifier', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_traite_tab', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_traite_consulter', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';
INSERT INTO om_droit (om_droit, libelle, om_profil) SELECT nextval('om_droit_seq'),'num_dossier_traite_modifier', om_profil FROM om_profil WHERE libelle = 'SUIVI NUMERISATION';


-- ajout de l'édition : requête + sous-état + lettre-type
-- 

-- requete
INSERT INTO om_requete (om_requete, code, libelle, description, requete, merge_fields, type, classe, methode) 
VALUES (nextval('om_requete_seq'), 'req_bordereau', 'Requête pour le bordereau', NULL
    , 'SELECT CURRENT_DATE as date_jour
             ,num_bordereau as num_bordereau
             ,libelle as libelle
             ,TO_CHAR(envoi,''TMDay DD TMMonth YYYY'') as envoi
        FROM &DB_PREFIXEnum_bordereau
        WHERE num_bordereau = &idx'
    , '[date_jour], [libelle], [num_bordereau], [envoi]', 'sql', NULL, NULL);

-- sous-état
INSERT INTO om_sousetat (om_sousetat, om_collectivite, id, libelle, actif
 , titre, titrehauteur, titrefont, titreattribut, titretaille, titrebordure, titrealign, titrefond, titrefondcouleur, titretextecouleur
 , intervalle_debut, intervalle_fin
 , entete_flag, entete_fond, entete_orientation, entete_hauteur, entetecolone_bordure, entetecolone_align, entete_fondcouleur, entete_textecouleur
 , tableau_largeur, tableau_bordure, tableau_fontaille, bordure_couleur, se_fond1, se_fond2
 , cellule_fond, cellule_hauteur, cellule_largeur, cellule_bordure_un, cellule_bordure, cellule_align
 , cellule_fond_total, cellule_fontaille_total, cellule_hauteur_total, cellule_fondcouleur_total, cellule_bordure_total, cellule_align_total
 , cellule_fond_moyenne, cellule_fontaille_moyenne, cellule_hauteur_moyenne, cellule_fondcouleur_moyenne, cellule_bordure_moyenne, cellule_align_moyenne
 , cellule_fond_nbr, cellule_fontaille_nbr, cellule_hauteur_nbr, cellule_fondcouleur_nbr, cellule_bordure_nbr, cellule_align_nbr
 , cellule_numerique, cellule_total, cellule_moyenne, cellule_compteur
 , om_sql)
VALUES (nextval('om_sousetat_seq'), 1, 'bordereau', 'Dossiers d''un bordereau', true
, ' ', 10, 'helvetica', 'B', 12, '0', 'L', '0', '243-246-246', '0-0-0'
, 10, 15
, '1', '1', '0|0|0|0|0', 15, 'TLB|LTB|LTB|LTB|LTBR', 'C|C|C|C|C', '34-112-192', '0-0-0'
, 195, '1', 13, '0-0-0', '243-243-243', '255-255-255'
, '1', 13, '65|55|25|25|25', 'TLB|LTB|LTB|LTB|LTBR', 'TLB|LTB|LTB|LTB|LTBR', 'L|C|C|C|C'
, '1', 10, 15, '196-213-213', 'TLB|LTB|LTB|LTB|LTBR', 'L|C|C|C|C'
, '1', 10, 15, '196-213-213', 'TLB|LTB|LTB|LTB|LTBR', 'L|C|C|C|C'
, '1', 10, 15, '196-213-213', 'TLB|LTB|LTB|LTB|LTBR', 'L|C|C|C|C'
, '999|999|999|999|999', '0|0|0|0|0', '0|0|0|0|0', '0|0|0|0|0'
, 'SELECT ref as dossier
        , date_depot as "date dépôt"
        , SUM(pa3a4) as "a3/a4"
        , SUM(pa0) as a0
        , SUM(total_pages) as "total pages"
   FROM &DB_PREFIXEnum_dossier 
  WHERE num_bordereau=&idx
  GROUP BY ref, date_depot
  ORDER BY 1,2 '
  );


-- lettre-type
INSERT INTO om_lettretype (om_lettretype, om_collectivite, id, libelle, actif, 
orientation, format, logo, logoleft, logotop, 
titre_om_htmletat, 
titreleft, titretop, titrelargeur, titrehauteur, titrebordure, 
corps_om_htmletatex, 
om_sql, margeleft, margetop, margeright, margebottom, se_font, se_couleurtexte, 
 header_om_htmletat, header_offset, 
 footer_om_htmletat, footer_offset) 
 VALUES (nextval('om_lettretype_seq'), 1, 'bordereau', 'Bordereau quotidien', true,
 'P', 'A4', null, 10, 10,
 '<p><span style="font-weight: bold;">Bordereau du [envoi]</span></p>'
,100, 25, 95, 10, 1, 
'<p><span style="font-weight: bold;">Bordereau : [libelle]</span></p>
<p><span id="bordereau" class="mce_sousetat">Dossiers d''un bordereau</span></p>',
(select om_requete from om_requete where code = 'req_bordereau')
, 10, 25, 10, 25, 'helvetica', '0-0-0', 
'', 10, 
'<p style="text-align: center; font-size: 8pt;"><em>Page &amp;numpage/&amp;nbpages Imprimé le : [date_jour]<br /></em></p>', 12)
;