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