1 |
-- |
2 |
-- Ajout de table: avis_consultation_tmp; |
3 |
-- |
4 |
|
5 |
|
6 |
CREATE TABLE avis_consultation_tmp ( |
7 |
avis character varying(2) NOT NULL, |
8 |
libelle character varying(30) NOT NULL, |
9 |
typeavis character(1) DEFAULT ''::bpchar NOT NULL, |
10 |
sitadel character(1) DEFAULT ''::bpchar NOT NULL, |
11 |
sitadel_motif character(1) DEFAULT ''::bpchar NOT NULL |
12 |
); |
13 |
|
14 |
|
15 |
-- |
16 |
-- Data for Name: avis_consultation_tmp; |
17 |
-- |
18 |
|
19 |
INSERT INTO avis_consultation_tmp VALUES ('D', 'Defavorable', 'D', '6', ' '); |
20 |
INSERT INTO avis_consultation_tmp VALUES ('F', 'Favorable', 'F', '4', ' '); |
21 |
INSERT INTO avis_consultation_tmp VALUES ('F1', 'Favorable avec Reserve', 'F', '4', ' '); |
22 |
INSERT INTO avis_consultation_tmp VALUES ('T', 'Tacite', 'F', '2', ' '); |
23 |
INSERT INTO avis_consultation_tmp VALUES ('A', 'Autre', ' ', '7', ' '); |
24 |
|
25 |
|
26 |
-- |
27 |
-- Ajout de la table 'service_categorie' |
28 |
-- |
29 |
CREATE TABLE service_categorie ( |
30 |
service_categorie integer, |
31 |
libelle varchar(70) NOT NULL default '' |
32 |
); |
33 |
|
34 |
ALTER TABLE ONLY service_categorie |
35 |
ADD CONSTRAINT service_categorie_pkey PRIMARY KEY (service_categorie); |
36 |
|
37 |
CREATE SEQUENCE service_categorie_seq |
38 |
INCREMENT 1 |
39 |
MINVALUE 1 |
40 |
MAXVALUE 9223372036854775807 |
41 |
START 1 |
42 |
CACHE 1; |
43 |
|
44 |
-- |
45 |
-- Modification de la table 'service' et des clés étangères |
46 |
-- |
47 |
ALTER TABLE consultation DROP CONSTRAINT consultation_service_fkey; |
48 |
ALTER TABLE service DROP CONSTRAINT service_pkey; |
49 |
|
50 |
ALTER TABLE consultation RENAME COLUMN service TO service_old; |
51 |
ALTER TABLE service RENAME COLUMN service TO service_old; |
52 |
|
53 |
CREATE SEQUENCE service_seq |
54 |
START WITH 1 |
55 |
INCREMENT BY 1 |
56 |
NO MAXVALUE |
57 |
NO MINVALUE |
58 |
CACHE 1; |
59 |
|
60 |
ALTER TABLE service ADD COLUMN service integer NOT NULL DEFAULT nextval('service_seq'::regclass); |
61 |
ALTER TABLE consultation ADD COLUMN service integer; |
62 |
|
63 |
UPDATE consultation SET service=(select service.service from service where service_old=service.service_old); |
64 |
|
65 |
ALTER TABLE service ADD COLUMN consultation_papier boolean; |
66 |
ALTER TABLE service ADD COLUMN notification_email boolean; |
67 |
ALTER TABLE service ADD COLUMN om_validite_debut date; |
68 |
ALTER TABLE service ADD COLUMN om_validite_fin date; |
69 |
ALTER TABLE service ADD COLUMN type_consultation varchar(70) NOT NULL DEFAULT 'avec_avis_attendu'; |
70 |
|
71 |
ALTER TABLE service RENAME COLUMN service_old TO abrege; |
72 |
ALTER TABLE consultation DROP COLUMN service_old; |
73 |
|
74 |
ALTER TABLE ONLY service |
75 |
ADD CONSTRAINT service_pkey PRIMARY KEY (service); |
76 |
|
77 |
ALTER TABLE ONLY consultation |
78 |
ADD CONSTRAINT consultation_service_fkey FOREIGN KEY (service) REFERENCES service(service); |
79 |
|
80 |
ALTER SEQUENCE service_seq OWNED BY service.service; |
81 |
|
82 |
ALTER TABLE service ALTER COLUMN service DROP DEFAULT; |
83 |
|
84 |
-- |
85 |
-- Ajout de la table 'lien_service_service_categorie' |
86 |
-- |
87 |
|
88 |
CREATE TABLE lien_service_service_categorie ( |
89 |
lien_service_service_categorie integer, |
90 |
service_categorie integer, |
91 |
service integer |
92 |
); |
93 |
|
94 |
ALTER TABLE ONLY lien_service_service_categorie |
95 |
ADD CONSTRAINT lien_service_service_categorie_pkey PRIMARY KEY (lien_service_service_categorie); |
96 |
ALTER TABLE ONLY lien_service_service_categorie |
97 |
ADD CONSTRAINT lien_service_service_categorie_service_categorie_fkey FOREIGN KEY (service_categorie) REFERENCES service_categorie(service_categorie); |
98 |
ALTER TABLE ONLY lien_service_service_categorie |
99 |
ADD CONSTRAINT lien_service_service_categorie_service_fkey FOREIGN KEY (service) REFERENCES service(service); |
100 |
|
101 |
CREATE SEQUENCE lien_service_service_categorie_seq |
102 |
INCREMENT 1 |
103 |
MINVALUE 1 |
104 |
MAXVALUE 9223372036854775807 |
105 |
START 1 |
106 |
CACHE 1; |
107 |
|
108 |
-- |
109 |
-- Ajout de la table 'lien_service_utilisateur' |
110 |
-- |
111 |
|
112 |
CREATE TABLE lien_service_om_utilisateur ( |
113 |
lien_service_om_utilisateur integer, |
114 |
om_utilisateur bigint, |
115 |
service integer |
116 |
); |
117 |
|
118 |
ALTER TABLE ONLY lien_service_om_utilisateur |
119 |
ADD CONSTRAINT lien_service_om_utilisateur_pkey PRIMARY KEY (lien_service_om_utilisateur); |
120 |
ALTER TABLE ONLY lien_service_om_utilisateur |
121 |
ADD CONSTRAINT lien_service_om_utilisateur_om_utilisateur_fkey FOREIGN KEY (om_utilisateur) REFERENCES om_utilisateur(om_utilisateur); |
122 |
ALTER TABLE ONLY lien_service_om_utilisateur |
123 |
ADD CONSTRAINT lien_service_om_utilisateur_service_fkey FOREIGN KEY (service) REFERENCES service(service); |
124 |
|
125 |
CREATE SEQUENCE lien_service_om_utilisateur_seq |
126 |
INCREMENT 1 |
127 |
MINVALUE 1 |
128 |
MAXVALUE 9223372036854775807 |
129 |
START 1 |
130 |
CACHE 1; |
131 |
|
132 |
-- |
133 |
-- Ajout des tables 'avis_consultation' et 'avis_decision' |
134 |
-- |
135 |
|
136 |
CREATE TABLE avis_decision ( |
137 |
avis_old character varying(2) NOT NULL, |
138 |
libelle character varying(30) NOT NULL, |
139 |
typeavis character(1) DEFAULT ''::bpchar NOT NULL, |
140 |
sitadel character(1) DEFAULT ''::bpchar NOT NULL, |
141 |
sitadel_motif character(1) DEFAULT ''::bpchar NOT NULL |
142 |
); |
143 |
|
144 |
CREATE SEQUENCE avis_decision_seq |
145 |
INCREMENT 1 |
146 |
MINVALUE 1 |
147 |
MAXVALUE 9223372036854775807 |
148 |
START 1 |
149 |
CACHE 1; |
150 |
|
151 |
CREATE TABLE avis_consultation ( |
152 |
avis_old character varying(2) NOT NULL, |
153 |
libelle character varying(30) NOT NULL, |
154 |
abrege character varying(10), |
155 |
om_validite_debut date, |
156 |
om_validite_fin date |
157 |
); |
158 |
|
159 |
CREATE SEQUENCE avis_consultation_seq |
160 |
INCREMENT 1 |
161 |
MINVALUE 1 |
162 |
MAXVALUE 9223372036854775807 |
163 |
START 1 |
164 |
CACHE 1; |
165 |
|
166 |
ALTER TABLE avis_decision ADD COLUMN avis_decision integer NOT NULL DEFAULT nextval('avis_decision_seq'::regclass); |
167 |
INSERT INTO avis_decision(avis_old, libelle, typeavis, sitadel, sitadel_motif) SELECT avis, libelle, typeavis, sitadel, sitadel_motif |
168 |
FROM avis; |
169 |
|
170 |
ALTER TABLE avis_consultation ADD COLUMN avis_consultation integer NOT NULL DEFAULT nextval('avis_consultation_seq'::regclass); |
171 |
INSERT INTO avis_consultation(avis_old, libelle) SELECT avis, libelle |
172 |
FROM avis_consultation_tmp; |
173 |
|
174 |
|
175 |
ALTER TABLE ONLY avis_decision |
176 |
ADD CONSTRAINT avis_decision_pkey PRIMARY KEY (avis_decision); |
177 |
ALTER TABLE ONLY avis_consultation |
178 |
ADD CONSTRAINT avis_consultation_pkey PRIMARY KEY (avis_consultation); |
179 |
ALTER SEQUENCE avis_consultation_seq OWNED BY avis_consultation.avis_consultation; |
180 |
ALTER SEQUENCE avis_decision_seq OWNED BY avis_decision.avis_decision; |
181 |
ALTER TABLE avis_decision ALTER COLUMN avis_decision DROP DEFAULT; |
182 |
ALTER TABLE avis_consultation ALTER COLUMN avis_consultation DROP DEFAULT; |
183 |
|
184 |
-- Changement des clés étrangères pour 'avis' |
185 |
ALTER TABLE consultation DROP CONSTRAINT consultation_avis_fkey; |
186 |
ALTER TABLE evenement DROP CONSTRAINT evenement_avis_fkey; |
187 |
ALTER TABLE instruction DROP CONSTRAINT instruction_avis_fkey; |
188 |
ALTER TABLE dossier DROP CONSTRAINT dossier_avis_fkey; |
189 |
|
190 |
ALTER TABLE consultation ADD COLUMN avis_consultation integer; |
191 |
ALTER TABLE evenement ADD COLUMN avis_decision integer; |
192 |
ALTER TABLE instruction ADD COLUMN avis_decision integer; |
193 |
ALTER TABLE dossier ADD COLUMN avis_decision integer; |
194 |
|
195 |
|
196 |
UPDATE consultation SET avis_consultation=(select avis_consultation.avis_consultation from avis_consultation where avis=avis_consultation.avis_old); |
197 |
|
198 |
-- |
199 |
-- Modification de la table 'consultation' |
200 |
-- |
201 |
ALTER TABLE consultation ADD COLUMN date_reception date; |
202 |
ALTER TABLE consultation ADD COLUMN motivation text DEFAULT ''; |
203 |
ALTER TABLE consultation ADD COLUMN fichier character varying(100); |
204 |
ALTER TABLE consultation ADD COLUMN lu boolean; |
205 |
|
206 |
|
207 |
|
208 |
UPDATE evenement SET avis_decision=(select avis_decision.avis_decision from avis_decision where avis=avis_decision.avis_old); |
209 |
UPDATE instruction SET avis_decision=(select avis_decision.avis_decision from avis_decision where avis=avis_decision.avis_old); |
210 |
UPDATE dossier SET avis_decision=(select avis_decision.avis_decision from avis_decision where avis=avis_decision.avis_old); |
211 |
|
212 |
ALTER TABLE consultation DROP COLUMN avis; |
213 |
ALTER TABLE evenement DROP COLUMN avis; |
214 |
ALTER TABLE instruction DROP COLUMN avis; |
215 |
ALTER TABLE dossier DROP COLUMN avis; |
216 |
|
217 |
ALTER TABLE ONLY consultation |
218 |
ADD CONSTRAINT consultation_avis_consultation_fkey FOREIGN KEY (avis_consultation) REFERENCES avis_consultation(avis_consultation); |
219 |
ALTER TABLE ONLY evenement |
220 |
ADD CONSTRAINT evenement_avis_decision_fkey FOREIGN KEY (avis_decision) REFERENCES avis_decision(avis_decision); |
221 |
ALTER TABLE ONLY instruction |
222 |
ADD CONSTRAINT instruction_avis_decision_fkey FOREIGN KEY (avis_decision) REFERENCES avis_decision(avis_decision); |
223 |
ALTER TABLE ONLY dossier |
224 |
ADD CONSTRAINT dossier_avis_decision_fkey FOREIGN KEY (avis_decision) REFERENCES avis_decision(avis_decision); |
225 |
ALTER TABLE avis_decision DROP COLUMN avis_old; |
226 |
ALTER TABLE avis_consultation DROP COLUMN avis_old; |
227 |
DROP TABLE avis; |
228 |
DROP TABLE avis_consultation_tmp; |
229 |
|
230 |
-- |
231 |
-- Ajout des droits sur l'objet consultation_encours |
232 |
-- |
233 |
|
234 |
|
235 |
INSERT INTO om_widget VALUES (1, 1, 'Retours de consultations', '../scr/tab.php?obj=consultation_mes_retours', '<script type=''text/javascript''> |
236 |
$.ajax({ |
237 |
type: ''GET'', |
238 |
url:''../app/get_num_consult.php'', |
239 |
cache: false, |
240 |
success: function(html){ |
241 |
$(''#number_return'').append(html); |
242 |
} |
243 |
}); |
244 |
</script> |
245 |
<div id="number_return"></div>',2); |
246 |
|
247 |
-- |
248 |
-- Ajout des droits sur les nouvelles tables |
249 |
-- |
250 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'service_categorie', '4'); |
251 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'avis_decision', '4'); |
252 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'avis_consultation', '4'); |
253 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'lien_service_service_categorie', '4'); |
254 |
|
255 |
ALTER TABLE consultation ALTER service SET NOT NULL; |
256 |
ALTER TABLE dossier ADD COLUMN enjeu boolean; |
257 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'consultation_mes_retours', 4); |
258 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'consultation_tous_retours', 4); |
259 |
|
260 |
-- |
261 |
-- Modification de la structure des instructeurs |
262 |
-- |
263 |
CREATE SEQUENCE direction_seq |
264 |
START WITH 1 |
265 |
INCREMENT BY 1 |
266 |
NO MINVALUE |
267 |
NO MAXVALUE |
268 |
CACHE 1; |
269 |
|
270 |
CREATE TABLE direction ( |
271 |
direction integer NOT NULL, |
272 |
code character varying(20) NOT NULL, |
273 |
libelle character varying(40) NOT NULL, |
274 |
description text, |
275 |
chef character varying(30) NOT NULL, |
276 |
PRIMARY KEY (direction) |
277 |
); |
278 |
|
279 |
INSERT INTO direction VALUES (nextval('direction_seq'::regclass),'ADS', 'Direction ADS', 'Direction des autorisations des droits du sol', 'Mme Dupont'); |
280 |
|
281 |
CREATE SEQUENCE division_seq |
282 |
START WITH 1 |
283 |
INCREMENT BY 1 |
284 |
NO MINVALUE |
285 |
NO MAXVALUE |
286 |
CACHE 1; |
287 |
|
288 |
CREATE TABLE division ( |
289 |
division integer NOT NULL, |
290 |
code character varying(20) NOT NULL, |
291 |
libelle character varying(40) NOT NULL, |
292 |
description text, |
293 |
chef character varying(30) NOT NULL, |
294 |
direction integer NOT NULL, |
295 |
PRIMARY KEY (division), |
296 |
FOREIGN KEY ( direction ) REFERENCES direction ( direction ) |
297 |
); |
298 |
|
299 |
INSERT INTO division VALUES (nextval('division_seq'::regclass),'Defaut', 'Division par defaut', '', 'Mme Dupont',1); |
300 |
|
301 |
CREATE SEQUENCE instructeur_seq |
302 |
START WITH 1 |
303 |
INCREMENT BY 1 |
304 |
NO MINVALUE |
305 |
NO MAXVALUE |
306 |
CACHE 1; |
307 |
|
308 |
CREATE TABLE instructeur ( |
309 |
instructeur integer NOT NULL, |
310 |
nom character varying(30) NOT NULL, |
311 |
telephone character varying(14), |
312 |
division integer NOT NULL, |
313 |
om_utilisateur integer, |
314 |
PRIMARY KEY ( instructeur ), |
315 |
FOREIGN KEY ( division ) REFERENCES division ( division ), |
316 |
FOREIGN KEY ( om_utilisateur ) REFERENCES om_utilisateur ( om_utilisateur ) |
317 |
); |
318 |
|
319 |
-- Insertion des utilisateurs instructeurs dans la table instructeur |
320 |
INSERT INTO instructeur (instructeur,nom,telephone,division,om_utilisateur) |
321 |
(SELECT om_utilisateur,nom,telephone,1,om_utilisateur FROM om_utilisateur WHERE instructeur='Oui'); |
322 |
-- Mise a jour de la sequence |
323 |
SELECT setval('instructeur_seq',(SELECT MAX(instructeur) FROM instructeur)); |
324 |
|
325 |
-- Creation du parametre pour afficher ou non la division dans les dossiers |
326 |
INSERT INTO om_parametre VALUES (nextval('om_parametre_seq'::regclass),'afficher_division','false',1); |
327 |
|
328 |
-- Ajout des droits sur les tables d'organisation |
329 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'direction', '2'); |
330 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'division', '2'); |
331 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'instructeur', '2'); |
332 |
|
333 |
-- Modification de la clé étrangère dossier -> om_utilisateur par dossier -> instructeur |
334 |
ALTER TABLE dossier DROP CONSTRAINT dossier_instructeur_fkey; |
335 |
ALTER TABLE dossier ADD CONSTRAINT |
336 |
dossier_instructeur_fkey FOREIGN KEY (instructeur) REFERENCES instructeur(instructeur); |
337 |
|
338 |
-- Ajout des parametres des liens dans la table om_parametre |
339 |
INSERT INTO om_parametre VALUES (nextval('om_parametre_seq'::regclass),'lien_interne_vdm', '',1); |
340 |
INSERT INTO om_parametre VALUES (nextval('om_parametre_seq'::regclass),'lien_externe', '',1); |
341 |
ALTER TABLE om_parametre ALTER COLUMN valeur TYPE character varying(150); |
342 |
|
343 |
|
344 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'avis_code_barre', '2'); |
345 |
|
346 |
-- |
347 |
-- Ajout des tables arrondissement, quartier et lien_localisation_nature |
348 |
-- |
349 |
CREATE TABLE arrondissement ( |
350 |
arrondissement integer NOT NULL, |
351 |
libelle character varying(3) NOT NULL |
352 |
); |
353 |
|
354 |
ALTER TABLE ONLY arrondissement |
355 |
ADD CONSTRAINT arrondissement_pkey PRIMARY KEY (arrondissement); |
356 |
|
357 |
CREATE TABLE quartier ( |
358 |
quartier integer NOT NULL, |
359 |
arrondissement integer NOT NULL, |
360 |
code_impots character varying(3) NOT NULL, |
361 |
libelle character varying(40) NOT NULL |
362 |
); |
363 |
|
364 |
ALTER TABLE ONLY quartier |
365 |
ADD CONSTRAINT quartier_pkey PRIMARY KEY (quartier); |
366 |
ALTER TABLE ONLY quartier |
367 |
ADD CONSTRAINT quartier_arrondissement_fkey FOREIGN KEY (arrondissement) REFERENCES arrondissement(arrondissement); |
368 |
|
369 |
CREATE TABLE lien_localisation_nature ( |
370 |
lien_localisation_nature integer NOT NULL, |
371 |
nature character varying(2), |
372 |
arrondissement integer, |
373 |
quartier integer , |
374 |
section varchar(2), |
375 |
instructeur integer NOT NULL |
376 |
); |
377 |
|
378 |
ALTER TABLE ONLY lien_localisation_nature |
379 |
ADD CONSTRAINT lien_localisation_nature_pkey PRIMARY KEY (lien_localisation_nature); |
380 |
ALTER TABLE ONLY lien_localisation_nature |
381 |
ADD CONSTRAINT lien_localisation_nature_nature_fkey FOREIGN KEY (nature) REFERENCES nature(nature); |
382 |
ALTER TABLE ONLY lien_localisation_nature |
383 |
ADD CONSTRAINT lien_localisation_nature_arrondissement_fkey FOREIGN KEY (arrondissement) REFERENCES arrondissement(arrondissement); |
384 |
ALTER TABLE ONLY lien_localisation_nature |
385 |
ADD CONSTRAINT lien_localisation_nature_quartier_fkey FOREIGN KEY (quartier) REFERENCES quartier(quartier); |
386 |
ALTER TABLE ONLY lien_localisation_nature |
387 |
ADD CONSTRAINT lien_localisation_nature_instructeur_fkey FOREIGN KEY (instructeur) REFERENCES instructeur(instructeur); |
388 |
|
389 |
-- Ajout des droits pour le retour des services |
390 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'demande_avis_encours', '2'); |
391 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'consultation_retour_service', '2'); |
392 |
|
393 |
-- Suppression des colonnes inutiles dans la table om_utilisateur |
394 |
ALTER TABLE om_utilisateur DROP instructeur; |
395 |
|
396 |
ALTER TABLE om_utilisateur DROP telephone; |
397 |
|
398 |
-- Ajout des droits sur lien_service_om_utilisateur |
399 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'lien_service_om_utilisateur', '2'); |
400 |
-- Ajout des droits pour le retour des services |
401 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'demande_avis_passee', '2'); |
402 |
|
403 |
-- Ajout des droits sur lien_localisation_nature |
404 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'lien_localisation_nature', '2'); |
405 |
|
406 |
-- Ajout du droit pour changer l'état (lu/non lu) d'une consultation |
407 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'consultation_modifier_lu', '2'); |
408 |
|
409 |
-- Changement de taille du champs parcelle de la table parcelle et terrain |
410 |
ALTER TABLE parcelle ALTER COLUMN parcelle TYPE character varying(20); |
411 |
ALTER TABLE terrain ALTER COLUMN parcelle TYPE character varying(20); |
412 |
|
413 |
|
414 |
-- |
415 |
-- Messages |
416 |
-- |
417 |
|
418 |
-- create sequence for the message ID generation |
419 |
CREATE SEQUENCE messages_seq |
420 |
START WITH 1 |
421 |
INCREMENT BY 1 |
422 |
NO MINVALUE |
423 |
NO MAXVALUE |
424 |
CACHE 1; |
425 |
|
426 |
-- Create table messages |
427 |
CREATE TABLE messages ( |
428 |
message integer PRIMARY KEY DEFAULT nextval('messages_seq'), |
429 |
dossier character varying(12), |
430 |
type character varying(60), |
431 |
emetteur character varying(40), |
432 |
date_envoi DATE NOT NULL, |
433 |
enjeux boolean, |
434 |
lu boolean default FALSE, |
435 |
FOREIGN KEY ( dossier ) REFERENCES dossier ( dossier ) -- add this |
436 |
); |
437 |
ALTER SEQUENCE messages_seq OWNED BY messages.message; |
438 |
|
439 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'menu_suivi', '2'); |
440 |
|
441 |
-- Droit de l'ajout forcé d'un instructeur |
442 |
INSERT INTO om_droit VALUES (nextval('om_droit_seq'),'dossier_modifier_instructeur', '2'); |