Compare commits
115 Commits
features/f
...
faf56ec592
| Author | SHA1 | Date | |
|---|---|---|---|
| faf56ec592 | |||
| 5279da4f31 | |||
| 66eef2c669 | |||
| f976beabb8 | |||
| 38c0d04a19 | |||
| 6595e003ae | |||
| a2283a835b | |||
| ea7e693759 | |||
| 6b954c7467 | |||
| 2b2805a125 | |||
| 49aea6e50a | |||
| 3e105855f0 | |||
| 5b73474192 | |||
| 13ce1f31e2 | |||
| d8dd0ed95e | |||
| ada442ffa4 | |||
| 5d519855a7 | |||
| 8bcae0751a | |||
| 34d1502334 | |||
| e2468328fd | |||
| 41e55da1df | |||
| 705af14b4e | |||
| 9063162c33 | |||
| 3f9cdcdad3 | |||
| e58e338123 | |||
| 253332bbd3 | |||
| 6dcd549889 | |||
| 0d27aaebac | |||
| afbf525af5 | |||
| 8ee2f7c9b0 | |||
| 6bdfa3ad1e | |||
| b8ba15c6fb | |||
| 698b7e7c99 | |||
| 9e597386f8 | |||
| cb2faeea32 | |||
| 6b3ab8fc43 | |||
| 906a74571f | |||
| 6494fe235e | |||
| 28da361054 | |||
| 3993d28d51 | |||
| 09d8b21909 | |||
| 274b47d116 | |||
| bdb08b88fd | |||
| b86c685cd0 | |||
| d46a14626e | |||
| 920c70c877 | |||
| 2ab5b9299c | |||
| bf19ab6e6a | |||
| 84451d5a15 | |||
| e687a9a904 | |||
| 9685c73513 | |||
| 650470efff | |||
| 9f5cc61726 | |||
| 41175d93f0 | |||
| 1ecaecdee3 | |||
| 122dfcbead | |||
| d168b68d4b | |||
| 2af14dd4cd | |||
| 76f0d34e79 | |||
| 666779ecce | |||
| 7fcd676fc0 | |||
| fffdef7103 | |||
| 95c0dacd1e | |||
| 7ac6b953d3 | |||
| e010100472 | |||
| 177a9c7b56 | |||
| 3054930a86 | |||
| 4397abd041 | |||
| a4b403ca20 | |||
| ff7b88f9f8 | |||
| 37fdba1d85 | |||
| f50ed9aa5f | |||
| 966fd2ca7a | |||
| a10253b2e8 | |||
| 08b68f9e08 | |||
| be487d6a03 | |||
| 3be64e7f44 | |||
| 03a661cdc0 | |||
| a68ec444cc | |||
| 58f517bf31 | |||
| 7f18f22efb | |||
| af3218412f | |||
| f35670c72e | |||
| a77c0e854d | |||
| e75eff4e20 | |||
| 40d078c653 | |||
| 31dd11d017 | |||
| 6dfd12fae8 | |||
| a4ad0a4556 | |||
| 411a6c0c2d | |||
| bed73b2b16 | |||
| 5a0814a0ba | |||
| 126254ea94 | |||
| f9e4681af4 | |||
| 84089d3639 | |||
| 02b0a937b4 | |||
| c0096457fb | |||
| b6062ba4d1 | |||
| 8dc8c974d3 | |||
| 957416df9e | |||
| 8d8af75108 | |||
| 555f13508e | |||
| d92a2b2503 | |||
| 5ccfdb6a3f | |||
| 87b3bfbe83 | |||
| 62f25ea726 | |||
| 6125fcbd0b | |||
| 211af6103a | |||
| d27b622db8 | |||
| c80b40082c | |||
| 4a88af6487 | |||
| 966b0af1c2 | |||
| 58aa088ac3 | |||
| 033b430051 | |||
| b8dbc7f625 |
@@ -34,7 +34,7 @@ public class FonctionnaliteController {
|
|||||||
|
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@PreAuthorize("hasAuthority('CREATE_FONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('CREATE_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> createFonctionnalite(@RequestBody @Valid @Validated FonctionnalitePayloadWeb fonctionnalitePayLoadWeb) {
|
public ResponseEntity<?> createFonctionnalite(@RequestBody @Valid @Validated FonctionnalitePayloadWeb fonctionnalitePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
fonctionnalitePayLoadWeb = fonctionnaliteService.createFonctionnalite(fonctionnalitePayLoadWeb);
|
fonctionnalitePayLoadWeb = fonctionnaliteService.createFonctionnalite(fonctionnalitePayLoadWeb);
|
||||||
@@ -59,7 +59,7 @@ public class FonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update/{id}")
|
@PutMapping("/update/{id}")
|
||||||
@PreAuthorize("hasAuthority('UPDATE_FONCTIONNALITE')")
|
// @PreAuthorize("hasAuthority('UPDATE_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> updateFonctionnalite(@PathVariable Long id, @RequestBody FonctionnalitePayloadWeb fonctionnalitePayLoadWeb) {
|
public ResponseEntity<?> updateFonctionnalite(@PathVariable Long id, @RequestBody FonctionnalitePayloadWeb fonctionnalitePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -83,7 +83,7 @@ public class FonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/delete/{id}")
|
@DeleteMapping("/delete/{id}")
|
||||||
@PreAuthorize("hasAuthority('DELETE_FONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('DELETE_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> deleteFonctionnalite(@PathVariable Long id) {
|
public ResponseEntity<?> deleteFonctionnalite(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
fonctionnaliteService.deleteFonctionnalite(id);
|
fonctionnaliteService.deleteFonctionnalite(id);
|
||||||
@@ -108,7 +108,7 @@ public class FonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
// @PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getAllFonctionnaliteList() {
|
public ResponseEntity<?> getAllFonctionnaliteList() {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -132,7 +132,7 @@ public class FonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all/by-profil-id/{profilId}")
|
@GetMapping("/all/by-profil-id/{profilId}")
|
||||||
@PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getAllFonctionnaliteByProfilList(@PathVariable Long profilId) {
|
public ResponseEntity<?> getAllFonctionnaliteByProfilList(@PathVariable Long profilId) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -158,7 +158,7 @@ public class FonctionnaliteController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/id/{id}")
|
@GetMapping("/id/{id}")
|
||||||
@PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('READ_FONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getFonctionnaliteById(@PathVariable Long id) {
|
public ResponseEntity<?> getFonctionnaliteById(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class ModuleController {
|
|||||||
|
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@PreAuthorize("hasAuthority('CREATE_MODULE')")
|
// @PreAuthorize("hasAuthority('CREATE_MODULE')")
|
||||||
public ResponseEntity<?> createModule(@RequestBody @Valid @Validated ModulePayloadWeb modulePayLoadWeb) {
|
public ResponseEntity<?> createModule(@RequestBody @Valid @Validated ModulePayloadWeb modulePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
modulePayLoadWeb = moduleService.createModule(modulePayLoadWeb);
|
modulePayLoadWeb = moduleService.createModule(modulePayLoadWeb);
|
||||||
@@ -61,7 +61,7 @@ public class ModuleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update/{id}")
|
@PutMapping("/update/{id}")
|
||||||
@PreAuthorize("hasAuthority('UPDATE_MODULE')")
|
//@PreAuthorize("hasAuthority('UPDATE_MODULE')")
|
||||||
public ResponseEntity<?> updateModule(@PathVariable Long id, @RequestBody ModulePayloadWeb modulePayLoadWeb) {
|
public ResponseEntity<?> updateModule(@PathVariable Long id, @RequestBody ModulePayloadWeb modulePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -85,7 +85,7 @@ public class ModuleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/delete/{id}")
|
@DeleteMapping("/delete/{id}")
|
||||||
@PreAuthorize("hasAuthority('DELETE_MODULE')")
|
// @PreAuthorize("hasAuthority('DELETE_MODULE')")
|
||||||
public ResponseEntity<?> deleteModule(@PathVariable Long id) {
|
public ResponseEntity<?> deleteModule(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
moduleService.deleteModule(id);
|
moduleService.deleteModule(id);
|
||||||
@@ -110,7 +110,7 @@ public class ModuleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@PreAuthorize("hasAuthority('READ_MODULE')")
|
//@PreAuthorize("hasAuthority('READ_MODULE')")
|
||||||
public ResponseEntity<?> getAllModuleList() {
|
public ResponseEntity<?> getAllModuleList() {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -134,7 +134,7 @@ public class ModuleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all/by-profil-id/{profilId}")
|
@GetMapping("/all/by-profil-id/{profilId}")
|
||||||
@PreAuthorize("hasAuthority('READ_MODULE')")
|
//@PreAuthorize("hasAuthority('READ_MODULE')")
|
||||||
public ResponseEntity<?> getAllModuleByProfilList(@PathVariable Long profilId) {
|
public ResponseEntity<?> getAllModuleByProfilList(@PathVariable Long profilId) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -160,7 +160,7 @@ public class ModuleController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/id/{id}")
|
@GetMapping("/id/{id}")
|
||||||
@PreAuthorize("hasAuthority('READ_MODULE')")
|
//@PreAuthorize("hasAuthority('READ_MODULE')")
|
||||||
public ResponseEntity<?> getModuleById(@PathVariable Long id) {
|
public ResponseEntity<?> getModuleById(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
|
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@PreAuthorize("hasAuthority('CREATE_PROFILEMODULEFONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('CREATE_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> createProfileModuleFonctionnalite(@RequestBody @Valid @Validated ProfileModuleFonctionnalitePayloadWeb modulePayLoadWeb) {
|
public ResponseEntity<?> createProfileModuleFonctionnalite(@RequestBody @Valid @Validated ProfileModuleFonctionnalitePayloadWeb modulePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
modulePayLoadWeb = profileModuleFonctionnaliteService.createProfileModuleFonctionnalite(modulePayLoadWeb);
|
modulePayLoadWeb = profileModuleFonctionnaliteService.createProfileModuleFonctionnalite(modulePayLoadWeb);
|
||||||
@@ -60,7 +60,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update/{id}")
|
@PutMapping("/update/{id}")
|
||||||
@PreAuthorize("hasAuthority('UPDATE_PROFILEMODULEFONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('UPDATE_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> updateProfileModuleFonctionnalite(@PathVariable Long id, @RequestBody ProfileModuleFonctionnalitePayloadWeb modulePayLoadWeb) {
|
public ResponseEntity<?> updateProfileModuleFonctionnalite(@PathVariable Long id, @RequestBody ProfileModuleFonctionnalitePayloadWeb modulePayLoadWeb) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -84,7 +84,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/delete/{id}")
|
@DeleteMapping("/delete/{id}")
|
||||||
@PreAuthorize("hasAuthority('DELETE_PROFILEMODULEFONCTIONNALITE')")
|
// @PreAuthorize("hasAuthority('DELETE_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> deleteProfileModuleFonctionnalite(@PathVariable Long id) {
|
public ResponseEntity<?> deleteProfileModuleFonctionnalite(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
profileModuleFonctionnaliteService.deleteProfileModuleFonctionnalite(id);
|
profileModuleFonctionnaliteService.deleteProfileModuleFonctionnalite(id);
|
||||||
@@ -109,7 +109,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getAllProfileModuleFonctionnaliteList() {
|
public ResponseEntity<?> getAllProfileModuleFonctionnaliteList() {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -133,7 +133,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all/by-profil-id/{profilId}")
|
@GetMapping("/all/by-profil-id/{profilId}")
|
||||||
@PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
// @PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getAllProfileModuleFonctionnaliteByProfilList(@PathVariable Long profilId) {
|
public ResponseEntity<?> getAllProfileModuleFonctionnaliteByProfilList(@PathVariable Long profilId) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
@@ -159,7 +159,7 @@ public class ProfileModuleFonctionnaliteController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/id/{id}")
|
@GetMapping("/id/{id}")
|
||||||
@PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
//@PreAuthorize("hasAuthority('READ_PROFILEMODULEFONCTIONNALITE')")
|
||||||
public ResponseEntity<?> getProfileModuleFonctionnaliteById(@PathVariable Long id) {
|
public ResponseEntity<?> getProfileModuleFonctionnaliteById(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
|
|||||||
@@ -264,18 +264,6 @@ public enum UserRole {
|
|||||||
CREATE_SECTEUR_DECOUPAGE,
|
CREATE_SECTEUR_DECOUPAGE,
|
||||||
READ_SECTEUR_DECOUPAGE,
|
READ_SECTEUR_DECOUPAGE,
|
||||||
UPDATE_SECTEUR_DECOUPAGE,
|
UPDATE_SECTEUR_DECOUPAGE,
|
||||||
DELETE_SECTEUR_DECOUPAGE,
|
DELETE_SECTEUR_DECOUPAGE
|
||||||
CREATE_MODULE,
|
|
||||||
READ_MODULE,
|
|
||||||
UPDATE_MODULE,
|
|
||||||
DELETE_MODULE,
|
|
||||||
CREATE_FONCTIONNALITE,
|
|
||||||
READ_FONCTIONNALITE,
|
|
||||||
UPDATE_FONCTIONNALITE,
|
|
||||||
DELETE_FONCTIONNALITE,
|
|
||||||
CREATE_PROFILEMODULEFONCTIONNALITE,
|
|
||||||
READ_PROFILEMODULEFONCTIONNALITE,
|
|
||||||
UPDATE_PROFILEMODULEFONCTIONNALITE,
|
|
||||||
DELETE_PROFILEMODULEFONCTIONNALITE
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
--SELECT pg_size_pretty(pg_database_size('rfu'));
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_assignation_centre_personne_from_rfu_cotonou()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.commune_centre_assignation (
|
|
||||||
nc,
|
|
||||||
ifu,
|
|
||||||
commune_id,
|
|
||||||
structure_id,
|
|
||||||
personne_id,
|
|
||||||
parcelle_id,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
c.n0_contrib,
|
|
||||||
c.ifu,
|
|
||||||
70,
|
|
||||||
case rcdi
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end,
|
|
||||||
pers.id,
|
|
||||||
parc.id,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT distinct on (ifu,rcdi)
|
|
||||||
trim(ifu),
|
|
||||||
trim(n0_contrib),
|
|
||||||
trim(rcdi),
|
|
||||||
trim(quartier_c),
|
|
||||||
trim(ilot_c),
|
|
||||||
trim(parcel_c)
|
|
||||||
FROM stemichel.contrib
|
|
||||||
order by ifu,rcdi
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
rcdi varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar
|
|
||||||
)
|
|
||||||
LEFT JOIN personne pers on trim(pers.ifu)=trim(c.ifu)
|
|
||||||
LEFT JOIN parcelle parc on (trim(parc.q) = trim(c.quartier_c)
|
|
||||||
and trim(parc.i) = trim(c.ilot_c)
|
|
||||||
and trim(parc.p) = trim(c.parcel_c))
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.commune_centre_assignation cca
|
|
||||||
WHERE cca.personne_id = pers.id
|
|
||||||
and cca.structure_id = case trim(c.rcdi)
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end
|
|
||||||
and cca.commune_id = 70
|
|
||||||
)
|
|
||||||
ON CONFLICT (structure_id, commune_id, personne_id) DO NOTHING;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
|
|
||||||
call import_assignation_centre_personne_from_rfu_cotonou();
|
|
||||||
|
|
||||||
--delete from commune_centre_assignation;
|
|
||||||
|
|
||||||
|
|
||||||
--select * from commune_centre_assignation;
|
|
||||||
@@ -1,287 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_batiment_and_enquetebati_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
batiment_rfu record;
|
|
||||||
l_batiment_id_parent bigint;
|
|
||||||
l_parcelle_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR batiment_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
--dtconst,
|
|
||||||
CASE
|
|
||||||
WHEN c.dtconst IS NULL OR c.dtconst = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.dtconst !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.dtconst, 'YYYYMMDD'), 'YYYYMMDD') <> c.dtconst THEN NULL
|
|
||||||
ELSE to_date(c.dtconst, 'YYYYMMDD')
|
|
||||||
end as dtconst,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.valloest,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.valloest), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.valloest, ',', '.')::numeric
|
|
||||||
end as valloest,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.nbunitlo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunitlo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunitlo, ',', '.')::numeric
|
|
||||||
end as nbunitlo,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
b.n0bat,
|
|
||||||
b.dtconst,
|
|
||||||
b.quartier,
|
|
||||||
b.n0_ilot,
|
|
||||||
b.n0_parcel,
|
|
||||||
b.surfsol,
|
|
||||||
b.surfacelo,
|
|
||||||
b.vllcalcule,
|
|
||||||
b.bail,
|
|
||||||
b.valloest,
|
|
||||||
b.nbetage,
|
|
||||||
b.vlcalcule,
|
|
||||||
b.utilisat,
|
|
||||||
b.finexempt,
|
|
||||||
b.nbunitlo,
|
|
||||||
b.toit,
|
|
||||||
b.nbhabit,
|
|
||||||
b.nbmenage,
|
|
||||||
b.nbmois,
|
|
||||||
b.electric,
|
|
||||||
b.eau,
|
|
||||||
b.nbpiece,
|
|
||||||
b.nbunite,
|
|
||||||
b.mdate,
|
|
||||||
b.murs,
|
|
||||||
b.standing
|
|
||||||
FROM stemichel.batiment b
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
dtconst varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID parcelle locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_parcelle_id_parent
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion bâtiment local
|
|
||||||
INSERT INTO public.batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nub,
|
|
||||||
date_construction,
|
|
||||||
parcelle_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nombre_etage,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
nbre_unite_logement,
|
|
||||||
id_toit_rfu
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)||'-'||trim(batiment_rfu.n0bat),
|
|
||||||
batiment_rfu.n0bat,
|
|
||||||
batiment_rfu.dtconst,
|
|
||||||
l_parcelle_id_parent,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
--------- batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.toit
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO l_batiment_id_parent ;
|
|
||||||
|
|
||||||
call public.import_enquetebati_from_rfu_cipe(batiment_rfu,l_batiment_id_parent);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de bâtiments insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$$;
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enquetebati_from_rfu_cipe(
|
|
||||||
IN batiment_rfu record,
|
|
||||||
IN batiment_id_param numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_batiment_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_fin_excemption,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_mois_location,
|
|
||||||
nbre_unite_location,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
batiment_id,
|
|
||||||
personne_id,
|
|
||||||
user_id,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_etage,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
usage_id,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nbre_piece,
|
|
||||||
nbre_unite_logement,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
nbre_lot_unite
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbhabit,
|
|
||||||
batiment_rfu.nbmenage,
|
|
||||||
batiment_rfu.nbmois,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.electric,
|
|
||||||
batiment_rfu.eau,
|
|
||||||
batiment_id_param,
|
|
||||||
e.personne_id,
|
|
||||||
35,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
--batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
end,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbpiece,
|
|
||||||
batiment_rfu.nbunite,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
batiment_rfu.nbunitlo
|
|
||||||
from batiment b
|
|
||||||
left join parcelle p on p.id=b.parcelle_id
|
|
||||||
left join enquete e on e.parcelle_id=p.id
|
|
||||||
where b.id = batiment_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_batiment eb
|
|
||||||
where eb.batiment_id = b.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_batiment_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_batiment (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_batiment_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.utilisat IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_batiment eb
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eb.id = enquete_batiment_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteparc_from_rfu_cipe(
|
|
||||||
IN parcelle_rfu record,
|
|
||||||
IN p_parcelle_id numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_enquete,
|
|
||||||
litige,
|
|
||||||
parcelle_id,
|
|
||||||
user_id,
|
|
||||||
date_finalisation,
|
|
||||||
date_synchronisation,
|
|
||||||
date_validation,
|
|
||||||
status_enquete,
|
|
||||||
synchronise,
|
|
||||||
code_parcelle,
|
|
||||||
nbre_batiment,
|
|
||||||
nbre_co_proprietaire,
|
|
||||||
nom_rue,
|
|
||||||
num_enter_parcelle,
|
|
||||||
num_rue,
|
|
||||||
superficie,
|
|
||||||
equipe_id,
|
|
||||||
zone_rfu_id,
|
|
||||||
campagne_id,
|
|
||||||
origine_enquete,
|
|
||||||
nc_proprietaire,
|
|
||||||
source
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
false,
|
|
||||||
p_parcelle_id,
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
'CLOTURE',
|
|
||||||
true,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_bat) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_bat::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_prop) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_prop::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.surface) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.surface::float
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
CASE parcelle_rfu.zones
|
|
||||||
WHEN '1' THEN 1
|
|
||||||
WHEN '2' THEN 2
|
|
||||||
WHEN '3' THEN 3
|
|
||||||
WHEN '4' THEN 4
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
'RFU',
|
|
||||||
parcelle_rfu.n0_contrib,
|
|
||||||
'RFU'
|
|
||||||
--from parcelle p
|
|
||||||
where not exists (
|
|
||||||
select 1
|
|
||||||
from enquete e
|
|
||||||
where e.parcelle_id= p_parcelle_id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_parcelle (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(), false,
|
|
||||||
CASE parcelle_rfu.acces
|
|
||||||
WHEN '1' THEN 31
|
|
||||||
WHEN '2' THEN 32
|
|
||||||
WHEN '3' THEN 33
|
|
||||||
WHEN '4' THEN 34
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.acces IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE parcelle_rfu.cloture
|
|
||||||
WHEN '1' THEN 28
|
|
||||||
WHEN '2' THEN 29
|
|
||||||
WHEN '3' THEN 30
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.cloture IS NOT NULL;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete q
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
------MAJ prietaire
|
|
||||||
UPDATE enquete q
|
|
||||||
SET personne_id = p.id,
|
|
||||||
proprietaire_id = p.id,
|
|
||||||
nom_proprietaire_parcelle = coalesce (trim(p.raison_sociale), trim(p.nom) || ' '|| trim(p.prenom) )
|
|
||||||
FROM personne p
|
|
||||||
WHERE p.nc = parcelle_rfu.n0_contrib
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
--quartier_id --commune_id --departement_id --arrondissement_id
|
|
||||||
UPDATE enquete e
|
|
||||||
SET quartier_id = q.id,
|
|
||||||
commune_id=c.id,
|
|
||||||
departement_id=c.departement_id,
|
|
||||||
arrondissement_id= a.id
|
|
||||||
FROM parcelle p
|
|
||||||
inner join quartier q on q.id = p.quartier_id
|
|
||||||
inner join arrondissement a on a.id = q.arrondissement_id
|
|
||||||
inner join commune c on c.id = a.commune_id
|
|
||||||
WHERE p.id = p_parcelle_id
|
|
||||||
AND e.id = enquete_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
IN uniteLogement_rfu record,
|
|
||||||
IN uniteLogement_id_param numeric,
|
|
||||||
IN l_personne_id_parent numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_uniteLogement_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_unite_logement (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
en_location,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_piece,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
personne_id,
|
|
||||||
unite_logement_id,
|
|
||||||
user_id,
|
|
||||||
nbre_mois_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
date_fin_exemption,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_mensuel_location,
|
|
||||||
usage_id,
|
|
||||||
valeur_unite_logement_calcule
|
|
||||||
)select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
case
|
|
||||||
when uniteLogement_rfu.nbmois=0 then false
|
|
||||||
else true
|
|
||||||
end,
|
|
||||||
uniteLogement_rfu.montmenl*12,
|
|
||||||
uniteLogement_rfu.nbhabit,
|
|
||||||
uniteLogement_rfu.nbmenage,
|
|
||||||
uniteLogement_rfu.nbpiece,
|
|
||||||
uniteLogement_rfu.electric,
|
|
||||||
uniteLogement_rfu.eau,
|
|
||||||
l_personne_id_parent,
|
|
||||||
uniteLogement_id_param,
|
|
||||||
35,
|
|
||||||
uniteLogement_rfu.nbmois,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.n0etage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.vlcalcule
|
|
||||||
from unite_logement ul
|
|
||||||
where ul.id = uniteLogement_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_unite_logement eul
|
|
||||||
where eul.unite_logement_id = ul.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_uniteLogement_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique Unite de logement
|
|
||||||
INSERT INTO caracteristique_unite_logement (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_unite_logement_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_unite_logement eul
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eul.id = enquete_uniteLogement_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_imposition_rfu_cotonou(in exercice varchar(10), in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
imposition_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR imposition_rfu IN (
|
|
||||||
SELECT FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
i.article ,
|
|
||||||
i.ifu ,
|
|
||||||
i.n0_contrib ,
|
|
||||||
i.denome ,
|
|
||||||
i.annees ,
|
|
||||||
i.nature ,
|
|
||||||
n.libnature ,
|
|
||||||
i.quartier,
|
|
||||||
q.libquart ,
|
|
||||||
i.n0_ilot ,
|
|
||||||
i.n0_parcel ,
|
|
||||||
i.nn,
|
|
||||||
COALESCE(i.montant,0) droit_simple,
|
|
||||||
COALESCE(i.penalite,0) penalite,
|
|
||||||
COALESCE(i.majorat,0) majoration,
|
|
||||||
COALESCE(i.montant,0)+COALESCE(i.penalite,0)+COALESCE(i.majorat,0) total_imposition
|
|
||||||
FROM stemichel.impotsra i
|
|
||||||
join agla.nature n on n.nature=i.nature
|
|
||||||
left join (select distinct
|
|
||||||
n0_ilot,
|
|
||||||
quartier,
|
|
||||||
libquart
|
|
||||||
from agla.quartier)q on (q.n0_ilot=i.n0_ilot and q.quartier=i.quartier)
|
|
||||||
-- WHERE i.annees = '2025' or (i.annees ='2024' and trim(i.nature) in ('3N', '4N', 'YN'))
|
|
||||||
limit 100
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
parcelle_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_id,
|
|
||||||
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre impositions migrées : %', l_count;
|
|
||||||
END ;
|
|
||||||
END LOOP ;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,250 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_parcelle_and_enqueteparc_from_rfu_cipe(in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
parcelle_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR parcelle_rfu IN (
|
|
||||||
SELECT
|
|
||||||
trim(quartier)||'-'||trim(n0_ilot)||'-'||trim(n0_parcel) AS numero_parcelle,
|
|
||||||
terrain,
|
|
||||||
trim(n0_ilot) AS i,
|
|
||||||
trim(n0_parcel) AS p,
|
|
||||||
trim(quartier) AS q,
|
|
||||||
hauteur,
|
|
||||||
rue AS numero_rue,
|
|
||||||
entree AS num_entree_parcelle,
|
|
||||||
surface,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
terrain,
|
|
||||||
n0_ilot,
|
|
||||||
n0_parcel,
|
|
||||||
quartier,
|
|
||||||
hauteur,
|
|
||||||
rue,
|
|
||||||
entree,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
surface,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM stemichel.parcelle
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
loue varchar,
|
|
||||||
zones varchar,
|
|
||||||
acces varchar,
|
|
||||||
cloture varchar,
|
|
||||||
inonde varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
habite varchar,
|
|
||||||
ordures varchar,
|
|
||||||
surface varchar,
|
|
||||||
"usage" varchar,
|
|
||||||
wc varchar,
|
|
||||||
choix varchar,
|
|
||||||
occupant varchar,
|
|
||||||
nb_bat varchar,
|
|
||||||
nb_prop varchar,
|
|
||||||
nb_log varchar,
|
|
||||||
nb_unit varchar,
|
|
||||||
nb_mena varchar,
|
|
||||||
nb_habit varchar,
|
|
||||||
nb_act varchar,
|
|
||||||
nb_contrib varchar,
|
|
||||||
typeparc varchar,
|
|
||||||
prixm2ne varchar,
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
secteur varchar,
|
|
||||||
cipe varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
numero_parcelle,
|
|
||||||
qip,
|
|
||||||
type_domaine_id,
|
|
||||||
i,
|
|
||||||
p,
|
|
||||||
q,
|
|
||||||
code_quartier,
|
|
||||||
nature_domaine_id,
|
|
||||||
superficie,
|
|
||||||
altitude,
|
|
||||||
num_entree_parcelle,
|
|
||||||
numero_rue,
|
|
||||||
usage_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE parcelle_rfu.terrain
|
|
||||||
WHEN '1' THEN 2
|
|
||||||
WHEN '2' THEN 5
|
|
||||||
WHEN '3' THEN 4
|
|
||||||
END,
|
|
||||||
parcelle_rfu.i,
|
|
||||||
parcelle_rfu.p,
|
|
||||||
parcelle_rfu.q,
|
|
||||||
rq.code_quartier,
|
|
||||||
CASE parcelle_rfu.typeparc
|
|
||||||
WHEN '1' THEN 23
|
|
||||||
WHEN '2' THEN 27
|
|
||||||
WHEN '3' THEN 28
|
|
||||||
WHEN '4' THEN 29
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.surface), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.surface, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.hauteur), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.hauteur, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
case parcelle_rfu.usage
|
|
||||||
WHEN '01' THEN 3
|
|
||||||
WHEN '02' THEN 4
|
|
||||||
WHEN '03' THEN 5
|
|
||||||
WHEN '04' THEN 6
|
|
||||||
WHEN '05' THEN 7
|
|
||||||
WHEN '11' THEN 8
|
|
||||||
WHEN '12' THEN 9
|
|
||||||
WHEN '13' THEN 10
|
|
||||||
WHEN '14' THEN 11
|
|
||||||
WHEN '21' THEN 12
|
|
||||||
WHEN '22' THEN 13
|
|
||||||
WHEN '23' THEN 14
|
|
||||||
WHEN '24' THEN 15
|
|
||||||
WHEN '25' THEN 16
|
|
||||||
END,
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
||||||
RAISE NOTICE 'Quartier RFU non trouvé pour %', parcelle_rfu.q;
|
|
||||||
CONTINUE;
|
|
||||||
--RAISE NOTICE 'Parcelle insérée : %, %', l_parcelle_id_parent, parcelle_rfu.q;
|
|
||||||
END;
|
|
||||||
------------------------------appel de enquete_parcelle------------------
|
|
||||||
CALL import_enqueteparc_from_rfu_cipe(parcelle_rfu, l_parcelle_id_parent);
|
|
||||||
|
|
||||||
INSERT INTO secteur_decoupage (
|
|
||||||
created_at, created_by, deleted, updated_at, updated_by,
|
|
||||||
date_debut, quartier_id, secteur_id, arrondissement_id, source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(), 35, false, now(), 35,
|
|
||||||
now(), q.id, s.id,a.id, 'RFU'
|
|
||||||
FROM ref_cipe_secteur_rfu_cotonou rcs
|
|
||||||
JOIN secteur s ON s.code= rcs.code_secteur
|
|
||||||
JOIN quartier q ON q.code = l_code_quartier
|
|
||||||
left join arrondissement a on a.id=q.arrondissement_id
|
|
||||||
WHERE rcs.cipe = parcelle_rfu.cipe
|
|
||||||
AND rcs.secteur = parcelle_rfu.secteur
|
|
||||||
ON CONFLICT (quartier_id, secteur_id) DO NOTHING;
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
UPDATE parcelle p
|
|
||||||
SET quartier_id = q.id
|
|
||||||
FROM quartier q
|
|
||||||
WHERE q.code = p.code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de parcelles migrées : %', l_count;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_personne_from_rfu()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.personne (
|
|
||||||
date_naissance_ou_consti,
|
|
||||||
ifu,
|
|
||||||
lieu_naissance,
|
|
||||||
nom,
|
|
||||||
prenom,
|
|
||||||
raison_sociale,
|
|
||||||
npi,
|
|
||||||
num_ravip,
|
|
||||||
tel1,
|
|
||||||
tel2,
|
|
||||||
adresse,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
nc,
|
|
||||||
sexe,
|
|
||||||
profession,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
CASE
|
|
||||||
WHEN c.date_nais IS NULL OR c.date_nais = '' THEN NULL
|
|
||||||
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.date_nais !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.date_nais, 'YYYYMMDD'), 'YYYYMMDD') <> c.date_nais THEN NULL
|
|
||||||
|
|
||||||
ELSE to_date(c.date_nais, 'YYYYMMDD')
|
|
||||||
END,
|
|
||||||
c.ifu,
|
|
||||||
c.lieu_nais,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.nom_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.nom
|
|
||||||
end as nom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.prenoms_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.prenoms
|
|
||||||
end as prenom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)='') then c.nom
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'' and trim(c.prenoms)='') then c.nom
|
|
||||||
end as raison_sociale,
|
|
||||||
--c.nom,
|
|
||||||
NULL::varchar,
|
|
||||||
NULL::varchar,
|
|
||||||
--c.prenoms,
|
|
||||||
c.autradr1,
|
|
||||||
c.autradr2,
|
|
||||||
COALESCE(c.quartier_c, '') || '_' ||
|
|
||||||
COALESCE(c.ilot_c, '') || '_' ||
|
|
||||||
COALESCE(c.parcel_c, ''),
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
c.n0_contrib,
|
|
||||||
CASE c.sexe
|
|
||||||
WHEN '1' THEN 'MASCULIN'
|
|
||||||
WHEN '2' THEN 'FEMININ'
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
c.profession,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
date_nais,
|
|
||||||
ifu,
|
|
||||||
lieu_nais,
|
|
||||||
nom,
|
|
||||||
prenoms,
|
|
||||||
nom_c,
|
|
||||||
prenoms_c,
|
|
||||||
autradr1,
|
|
||||||
autradr2,
|
|
||||||
quartier_c,
|
|
||||||
ilot_c,
|
|
||||||
parcel_c,
|
|
||||||
n0_contrib,
|
|
||||||
sexe,
|
|
||||||
profession
|
|
||||||
FROM stemichel.contrib
|
|
||||||
-- WHERE ifu IS NOT NULL
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
date_nais varchar,
|
|
||||||
ifu varchar,
|
|
||||||
lieu_nais varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenoms varchar,
|
|
||||||
nom_c varchar,
|
|
||||||
prenoms_c varchar,
|
|
||||||
autradr1 varchar,
|
|
||||||
autradr2 varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
sexe varchar,
|
|
||||||
profession varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc = c.n0_contrib
|
|
||||||
);
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'host=10.4.80.71 port=5433 dbname=sigibe user=sigibe_lecture password=lec243R6Khsg'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.maj_personne_from_sigibe()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
UPDATE personne p
|
|
||||||
SET
|
|
||||||
nom = CASE
|
|
||||||
WHEN s.nom IS NOT NULL THEN s.nom
|
|
||||||
ELSE p.nom
|
|
||||||
END,
|
|
||||||
prenom = CASE
|
|
||||||
WHEN s.prenom IS NOT NULL THEN s.prenom
|
|
||||||
ELSE p.prenom
|
|
||||||
END,
|
|
||||||
raison_sociale = CASE
|
|
||||||
WHEN s.id_tiers_type = 'PM'
|
|
||||||
AND s.l_contribuable IS NOT NULL
|
|
||||||
THEN s.l_contribuable
|
|
||||||
ELSE p.raison_sociale
|
|
||||||
END,
|
|
||||||
tel1 = s.telephone,
|
|
||||||
numero_rccm = s.numero_rccm,
|
|
||||||
date_rccm = CASE
|
|
||||||
WHEN s.date_rccm IS NOT NULL
|
|
||||||
AND trim(s.date_rccm) <> ''
|
|
||||||
THEN s.date_rccm::date
|
|
||||||
ELSE p.date_rccm
|
|
||||||
END,
|
|
||||||
email = s.email,
|
|
||||||
npi = s.numero_piece_identite,
|
|
||||||
etat_identification_personne = 'IFU'
|
|
||||||
FROM (
|
|
||||||
SELECT *
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'
|
|
||||||
SELECT
|
|
||||||
c.r_contribuable,
|
|
||||||
t.nom,
|
|
||||||
t.prenom,
|
|
||||||
t.id_tiers_type,
|
|
||||||
t.telephone,
|
|
||||||
t.numero_rccm,
|
|
||||||
t.date_rccm,
|
|
||||||
t.email,
|
|
||||||
t.numero_piece_identite,
|
|
||||||
c.l_contribuable
|
|
||||||
FROM t_contribuable c
|
|
||||||
JOIN t_tiers t ON t.id_tiers = c.id_tiers
|
|
||||||
'
|
|
||||||
)
|
|
||||||
AS s(
|
|
||||||
r_contribuable varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenom varchar,
|
|
||||||
id_tiers_type varchar,
|
|
||||||
telephone varchar,
|
|
||||||
numero_rccm varchar,
|
|
||||||
date_rccm varchar,
|
|
||||||
email varchar,
|
|
||||||
numero_piece_identite varchar,
|
|
||||||
l_contribuable varchar
|
|
||||||
)
|
|
||||||
) s
|
|
||||||
WHERE trim(p.ifu) = s.r_contribuable;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_uniteLogement_and_enqueteUnitLog_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
uniteLogement_rfu record;
|
|
||||||
l_uniteLogement_id_parent bigint;
|
|
||||||
l_batiment_id_parent bigint ;
|
|
||||||
l_personne_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR uniteLogement_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
c.n0ul,
|
|
||||||
--c.n0etage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.n0etage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.n0etage, ',', '.')::numeric
|
|
||||||
end as n0etage,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
c.n0_contrib,
|
|
||||||
--c.montmenl,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.montmenl), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.montmenl, ',', '.')::numeric
|
|
||||||
end as montmenl,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
select distinct
|
|
||||||
ul.n0bat,
|
|
||||||
ul.n0ul,
|
|
||||||
ul.n0etage,
|
|
||||||
ul.quartier,
|
|
||||||
ul.n0_ilot,
|
|
||||||
ul.n0_parcel,
|
|
||||||
ul.n0_contrib,
|
|
||||||
ul.montmenl,
|
|
||||||
ul.surfsol,
|
|
||||||
ul.surfacelo,
|
|
||||||
ul.vllcalcule,
|
|
||||||
ul.bail,
|
|
||||||
--ul.valloest,
|
|
||||||
ul.nbetage,
|
|
||||||
ul.vlcalcule,
|
|
||||||
ul.utilisat,
|
|
||||||
ul.finexempt,
|
|
||||||
ul.nbunitlo,
|
|
||||||
ul.toit,
|
|
||||||
ul.nbhabit,
|
|
||||||
ul.nbmenage,
|
|
||||||
ul.nbmois,
|
|
||||||
ul.electric,
|
|
||||||
ul.eau,
|
|
||||||
ul.nbpiece,
|
|
||||||
ul.nbunite,
|
|
||||||
ul.mdate,
|
|
||||||
ul.murs,
|
|
||||||
ul.standing
|
|
||||||
FROM akpakpa.unitlog ul
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
n0ul varchar,
|
|
||||||
n0etage varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
montmenl varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
--valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.unite_logement ul
|
|
||||||
WHERE ul.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)||'-'||trim(c.n0ul)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID batiment locale
|
|
||||||
SELECT b.id
|
|
||||||
INTO l_batiment_id_parent
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
-- Récupération ID personne locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_personne_id_parent
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc =trim(uniteLogement_rfu.n0_contrib)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion unite logement local
|
|
||||||
INSERT INTO public.unite_logement(
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nul,
|
|
||||||
numero_etage,
|
|
||||||
batiment_id,
|
|
||||||
--personne_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_mensuel_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
id_toit_rfu,
|
|
||||||
valeur_unite_logement_calcule,
|
|
||||||
nombre_etage
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)||'-'||trim(uniteLogement_rfu.n0ul),
|
|
||||||
uniteLogement_rfu.n0ul,
|
|
||||||
uniteLogement_rfu.n0etage,
|
|
||||||
l_batiment_id_parent,
|
|
||||||
-- l_personne_id_parent,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.nbetage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.bail,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.toit,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
uniteLogement_rfu.nbetage
|
|
||||||
)
|
|
||||||
RETURNING id INTO l_uniteLogement_id_parent;
|
|
||||||
|
|
||||||
call public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
uniteLogement_rfu,
|
|
||||||
l_uniteLogement_id_parent,
|
|
||||||
l_personne_id_parent
|
|
||||||
);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de unité de logement insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
--SELECT pg_size_pretty(pg_database_size('rfu'));
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_assignation_centre_personne_from_rfu_cotonou()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.commune_centre_assignation (
|
|
||||||
nc,
|
|
||||||
ifu,
|
|
||||||
commune_id,
|
|
||||||
structure_id,
|
|
||||||
personne_id,
|
|
||||||
parcelle_id,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
c.n0_contrib,
|
|
||||||
c.ifu,
|
|
||||||
70,
|
|
||||||
case rcdi
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end,
|
|
||||||
pers.id,
|
|
||||||
parc.id,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT distinct on (ifu,rcdi)
|
|
||||||
trim(ifu),
|
|
||||||
trim(n0_contrib),
|
|
||||||
trim(rcdi),
|
|
||||||
trim(quartier_c),
|
|
||||||
trim(ilot_c),
|
|
||||||
trim(parcel_c)
|
|
||||||
FROM stemichel.contrib
|
|
||||||
order by ifu,rcdi
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
rcdi varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar
|
|
||||||
)
|
|
||||||
LEFT JOIN personne pers on trim(pers.ifu)=trim(c.ifu)
|
|
||||||
LEFT JOIN parcelle parc on (trim(parc.q) = trim(c.quartier_c)
|
|
||||||
and trim(parc.i) = trim(c.ilot_c)
|
|
||||||
and trim(parc.p) = trim(c.parcel_c))
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.commune_centre_assignation cca
|
|
||||||
WHERE cca.personne_id = pers.id
|
|
||||||
and cca.structure_id = case trim(c.rcdi)
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end
|
|
||||||
and cca.commune_id = 70
|
|
||||||
)
|
|
||||||
ON CONFLICT (structure_id, commune_id, personne_id) DO NOTHING;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
|
|
||||||
call import_assignation_centre_personne_from_rfu_cotonou();
|
|
||||||
|
|
||||||
--delete from commune_centre_assignation;
|
|
||||||
|
|
||||||
|
|
||||||
--select * from commune_centre_assignation;
|
|
||||||
@@ -1,287 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_batiment_and_enquetebati_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
batiment_rfu record;
|
|
||||||
l_batiment_id_parent bigint;
|
|
||||||
l_parcelle_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR batiment_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
--dtconst,
|
|
||||||
CASE
|
|
||||||
WHEN c.dtconst IS NULL OR c.dtconst = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.dtconst !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.dtconst, 'YYYYMMDD'), 'YYYYMMDD') <> c.dtconst THEN NULL
|
|
||||||
ELSE to_date(c.dtconst, 'YYYYMMDD')
|
|
||||||
end as dtconst,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.valloest,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.valloest), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.valloest, ',', '.')::numeric
|
|
||||||
end as valloest,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.nbunitlo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunitlo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunitlo, ',', '.')::numeric
|
|
||||||
end as nbunitlo,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
b.n0bat,
|
|
||||||
b.dtconst,
|
|
||||||
b.quartier,
|
|
||||||
b.n0_ilot,
|
|
||||||
b.n0_parcel,
|
|
||||||
b.surfsol,
|
|
||||||
b.surfacelo,
|
|
||||||
b.vllcalcule,
|
|
||||||
b.bail,
|
|
||||||
b.valloest,
|
|
||||||
b.nbetage,
|
|
||||||
b.vlcalcule,
|
|
||||||
b.utilisat,
|
|
||||||
b.finexempt,
|
|
||||||
b.nbunitlo,
|
|
||||||
b.toit,
|
|
||||||
b.nbhabit,
|
|
||||||
b.nbmenage,
|
|
||||||
b.nbmois,
|
|
||||||
b.electric,
|
|
||||||
b.eau,
|
|
||||||
b.nbpiece,
|
|
||||||
b.nbunite,
|
|
||||||
b.mdate,
|
|
||||||
b.murs,
|
|
||||||
b.standing
|
|
||||||
FROM stemichel.batiment b
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
dtconst varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID parcelle locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_parcelle_id_parent
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion bâtiment local
|
|
||||||
INSERT INTO public.batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nub,
|
|
||||||
date_construction,
|
|
||||||
parcelle_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nombre_etage,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
nbre_unite_logement,
|
|
||||||
id_toit_rfu
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)||'-'||trim(batiment_rfu.n0bat),
|
|
||||||
batiment_rfu.n0bat,
|
|
||||||
batiment_rfu.dtconst,
|
|
||||||
l_parcelle_id_parent,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
--------- batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.toit
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO l_batiment_id_parent ;
|
|
||||||
|
|
||||||
call public.import_enquetebati_from_rfu_cipe(batiment_rfu,l_batiment_id_parent);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de bâtiments insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$$;
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enquetebati_from_rfu_cipe(
|
|
||||||
IN batiment_rfu record,
|
|
||||||
IN batiment_id_param numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_batiment_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_fin_excemption,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_mois_location,
|
|
||||||
nbre_unite_location,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
batiment_id,
|
|
||||||
personne_id,
|
|
||||||
user_id,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_etage,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
usage_id,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nbre_piece,
|
|
||||||
nbre_unite_logement,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
nbre_lot_unite
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbhabit,
|
|
||||||
batiment_rfu.nbmenage,
|
|
||||||
batiment_rfu.nbmois,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.electric,
|
|
||||||
batiment_rfu.eau,
|
|
||||||
batiment_id_param,
|
|
||||||
e.personne_id,
|
|
||||||
35,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
--batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
end,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbpiece,
|
|
||||||
batiment_rfu.nbunite,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
batiment_rfu.nbunitlo
|
|
||||||
from batiment b
|
|
||||||
left join parcelle p on p.id=b.parcelle_id
|
|
||||||
left join enquete e on e.parcelle_id=p.id
|
|
||||||
where b.id = batiment_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_batiment eb
|
|
||||||
where eb.batiment_id = b.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_batiment_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_batiment (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_batiment_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.utilisat IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_batiment eb
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eb.id = enquete_batiment_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteparc_from_rfu_cipe(
|
|
||||||
IN parcelle_rfu record,
|
|
||||||
IN p_parcelle_id numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_enquete,
|
|
||||||
litige,
|
|
||||||
parcelle_id,
|
|
||||||
user_id,
|
|
||||||
date_finalisation,
|
|
||||||
date_synchronisation,
|
|
||||||
date_validation,
|
|
||||||
status_enquete,
|
|
||||||
synchronise,
|
|
||||||
code_parcelle,
|
|
||||||
nbre_batiment,
|
|
||||||
nbre_co_proprietaire,
|
|
||||||
nom_rue,
|
|
||||||
num_enter_parcelle,
|
|
||||||
num_rue,
|
|
||||||
superficie,
|
|
||||||
equipe_id,
|
|
||||||
zone_rfu_id,
|
|
||||||
campagne_id,
|
|
||||||
origine_enquete,
|
|
||||||
nc_proprietaire,
|
|
||||||
source
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
false,
|
|
||||||
p_parcelle_id,
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
'CLOTURE',
|
|
||||||
true,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_bat) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_bat::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_prop) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_prop::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.surface) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.surface::float
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
CASE parcelle_rfu.zones
|
|
||||||
WHEN '1' THEN 1
|
|
||||||
WHEN '2' THEN 2
|
|
||||||
WHEN '3' THEN 3
|
|
||||||
WHEN '4' THEN 4
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
'RFU',
|
|
||||||
parcelle_rfu.n0_contrib,
|
|
||||||
'RFU'
|
|
||||||
--from parcelle p
|
|
||||||
where not exists (
|
|
||||||
select 1
|
|
||||||
from enquete e
|
|
||||||
where e.parcelle_id= p_parcelle_id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_parcelle (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(), false,
|
|
||||||
CASE parcelle_rfu.acces
|
|
||||||
WHEN '1' THEN 31
|
|
||||||
WHEN '2' THEN 32
|
|
||||||
WHEN '3' THEN 33
|
|
||||||
WHEN '4' THEN 34
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.acces IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE parcelle_rfu.cloture
|
|
||||||
WHEN '1' THEN 28
|
|
||||||
WHEN '2' THEN 29
|
|
||||||
WHEN '3' THEN 30
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.cloture IS NOT NULL;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete q
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
------MAJ prietaire
|
|
||||||
UPDATE enquete q
|
|
||||||
SET personne_id = p.id,
|
|
||||||
proprietaire_id = p.id,
|
|
||||||
nom_proprietaire_parcelle = coalesce (trim(p.raison_sociale), trim(p.nom) || ' '|| trim(p.prenom) )
|
|
||||||
FROM personne p
|
|
||||||
WHERE p.nc = parcelle_rfu.n0_contrib
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
--quartier_id --commune_id --departement_id --arrondissement_id
|
|
||||||
UPDATE enquete e
|
|
||||||
SET quartier_id = q.id,
|
|
||||||
commune_id=c.id,
|
|
||||||
departement_id=c.departement_id,
|
|
||||||
arrondissement_id= a.id
|
|
||||||
FROM parcelle p
|
|
||||||
inner join quartier q on q.id = p.quartier_id
|
|
||||||
inner join arrondissement a on a.id = q.arrondissement_id
|
|
||||||
inner join commune c on c.id = a.commune_id
|
|
||||||
WHERE p.id = p_parcelle_id
|
|
||||||
AND e.id = enquete_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
IN uniteLogement_rfu record,
|
|
||||||
IN uniteLogement_id_param numeric,
|
|
||||||
IN l_personne_id_parent numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_uniteLogement_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_unite_logement (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
en_location,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_piece,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
personne_id,
|
|
||||||
unite_logement_id,
|
|
||||||
user_id,
|
|
||||||
nbre_mois_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
date_fin_exemption,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_mensuel_location,
|
|
||||||
usage_id,
|
|
||||||
valeur_unite_logement_calcule
|
|
||||||
)select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
case
|
|
||||||
when uniteLogement_rfu.nbmois=0 then false
|
|
||||||
else true
|
|
||||||
end,
|
|
||||||
uniteLogement_rfu.montmenl*12,
|
|
||||||
uniteLogement_rfu.nbhabit,
|
|
||||||
uniteLogement_rfu.nbmenage,
|
|
||||||
uniteLogement_rfu.nbpiece,
|
|
||||||
uniteLogement_rfu.electric,
|
|
||||||
uniteLogement_rfu.eau,
|
|
||||||
l_personne_id_parent,
|
|
||||||
uniteLogement_id_param,
|
|
||||||
35,
|
|
||||||
uniteLogement_rfu.nbmois,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.n0etage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.vlcalcule
|
|
||||||
from unite_logement ul
|
|
||||||
where ul.id = uniteLogement_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_unite_logement eul
|
|
||||||
where eul.unite_logement_id = ul.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_uniteLogement_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique Unite de logement
|
|
||||||
INSERT INTO caracteristique_unite_logement (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_unite_logement_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_unite_logement eul
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eul.id = enquete_uniteLogement_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_imposition_rfu_cotonou(in exercice varchar(10), in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
imposition_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR imposition_rfu IN (
|
|
||||||
SELECT FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
i.article ,
|
|
||||||
i.ifu ,
|
|
||||||
i.n0_contrib ,
|
|
||||||
i.denome ,
|
|
||||||
i.annees ,
|
|
||||||
i.nature ,
|
|
||||||
n.libnature ,
|
|
||||||
i.quartier,
|
|
||||||
q.libquart ,
|
|
||||||
i.n0_ilot ,
|
|
||||||
i.n0_parcel ,
|
|
||||||
i.nn,
|
|
||||||
COALESCE(i.montant,0) droit_simple,
|
|
||||||
COALESCE(i.penalite,0) penalite,
|
|
||||||
COALESCE(i.majorat,0) majoration,
|
|
||||||
COALESCE(i.montant,0)+COALESCE(i.penalite,0)+COALESCE(i.majorat,0) total_imposition
|
|
||||||
FROM stemichel.impotsra i
|
|
||||||
join agla.nature n on n.nature=i.nature
|
|
||||||
left join (select distinct
|
|
||||||
n0_ilot,
|
|
||||||
quartier,
|
|
||||||
libquart
|
|
||||||
from agla.quartier)q on (q.n0_ilot=i.n0_ilot and q.quartier=i.quartier)
|
|
||||||
-- WHERE i.annees = '2025' or (i.annees ='2024' and trim(i.nature) in ('3N', '4N', 'YN'))
|
|
||||||
limit 100
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
parcelle_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_id,
|
|
||||||
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre impositions migrées : %', l_count;
|
|
||||||
END ;
|
|
||||||
END LOOP ;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,250 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_parcelle_and_enqueteparc_from_rfu_cipe(in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
parcelle_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR parcelle_rfu IN (
|
|
||||||
SELECT
|
|
||||||
trim(quartier)||'-'||trim(n0_ilot)||'-'||trim(n0_parcel) AS numero_parcelle,
|
|
||||||
terrain,
|
|
||||||
trim(n0_ilot) AS i,
|
|
||||||
trim(n0_parcel) AS p,
|
|
||||||
trim(quartier) AS q,
|
|
||||||
hauteur,
|
|
||||||
rue AS numero_rue,
|
|
||||||
entree AS num_entree_parcelle,
|
|
||||||
surface,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
terrain,
|
|
||||||
n0_ilot,
|
|
||||||
n0_parcel,
|
|
||||||
quartier,
|
|
||||||
hauteur,
|
|
||||||
rue,
|
|
||||||
entree,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
surface,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM stemichel.parcelle
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
loue varchar,
|
|
||||||
zones varchar,
|
|
||||||
acces varchar,
|
|
||||||
cloture varchar,
|
|
||||||
inonde varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
habite varchar,
|
|
||||||
ordures varchar,
|
|
||||||
surface varchar,
|
|
||||||
"usage" varchar,
|
|
||||||
wc varchar,
|
|
||||||
choix varchar,
|
|
||||||
occupant varchar,
|
|
||||||
nb_bat varchar,
|
|
||||||
nb_prop varchar,
|
|
||||||
nb_log varchar,
|
|
||||||
nb_unit varchar,
|
|
||||||
nb_mena varchar,
|
|
||||||
nb_habit varchar,
|
|
||||||
nb_act varchar,
|
|
||||||
nb_contrib varchar,
|
|
||||||
typeparc varchar,
|
|
||||||
prixm2ne varchar,
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
secteur varchar,
|
|
||||||
cipe varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
numero_parcelle,
|
|
||||||
qip,
|
|
||||||
type_domaine_id,
|
|
||||||
i,
|
|
||||||
p,
|
|
||||||
q,
|
|
||||||
code_quartier,
|
|
||||||
nature_domaine_id,
|
|
||||||
superficie,
|
|
||||||
altitude,
|
|
||||||
num_entree_parcelle,
|
|
||||||
numero_rue,
|
|
||||||
usage_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE parcelle_rfu.terrain
|
|
||||||
WHEN '1' THEN 2
|
|
||||||
WHEN '2' THEN 5
|
|
||||||
WHEN '3' THEN 4
|
|
||||||
END,
|
|
||||||
parcelle_rfu.i,
|
|
||||||
parcelle_rfu.p,
|
|
||||||
parcelle_rfu.q,
|
|
||||||
rq.code_quartier,
|
|
||||||
CASE parcelle_rfu.typeparc
|
|
||||||
WHEN '1' THEN 23
|
|
||||||
WHEN '2' THEN 27
|
|
||||||
WHEN '3' THEN 28
|
|
||||||
WHEN '4' THEN 29
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.surface), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.surface, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.hauteur), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.hauteur, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
case parcelle_rfu.usage
|
|
||||||
WHEN '01' THEN 3
|
|
||||||
WHEN '02' THEN 4
|
|
||||||
WHEN '03' THEN 5
|
|
||||||
WHEN '04' THEN 6
|
|
||||||
WHEN '05' THEN 7
|
|
||||||
WHEN '11' THEN 8
|
|
||||||
WHEN '12' THEN 9
|
|
||||||
WHEN '13' THEN 10
|
|
||||||
WHEN '14' THEN 11
|
|
||||||
WHEN '21' THEN 12
|
|
||||||
WHEN '22' THEN 13
|
|
||||||
WHEN '23' THEN 14
|
|
||||||
WHEN '24' THEN 15
|
|
||||||
WHEN '25' THEN 16
|
|
||||||
END,
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
||||||
RAISE NOTICE 'Quartier RFU non trouvé pour %', parcelle_rfu.q;
|
|
||||||
CONTINUE;
|
|
||||||
--RAISE NOTICE 'Parcelle insérée : %, %', l_parcelle_id_parent, parcelle_rfu.q;
|
|
||||||
END;
|
|
||||||
------------------------------appel de enquete_parcelle------------------
|
|
||||||
CALL import_enqueteparc_from_rfu_cipe(parcelle_rfu, l_parcelle_id_parent);
|
|
||||||
|
|
||||||
INSERT INTO secteur_decoupage (
|
|
||||||
created_at, created_by, deleted, updated_at, updated_by,
|
|
||||||
date_debut, quartier_id, secteur_id, arrondissement_id, source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(), 35, false, now(), 35,
|
|
||||||
now(), q.id, s.id,a.id, 'RFU'
|
|
||||||
FROM ref_cipe_secteur_rfu_cotonou rcs
|
|
||||||
JOIN secteur s ON s.code= rcs.code_secteur
|
|
||||||
JOIN quartier q ON q.code = l_code_quartier
|
|
||||||
left join arrondissement a on a.id=q.arrondissement_id
|
|
||||||
WHERE rcs.cipe = parcelle_rfu.cipe
|
|
||||||
AND rcs.secteur = parcelle_rfu.secteur
|
|
||||||
ON CONFLICT (quartier_id, secteur_id) DO NOTHING;
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
UPDATE parcelle p
|
|
||||||
SET quartier_id = q.id
|
|
||||||
FROM quartier q
|
|
||||||
WHERE q.code = p.code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de parcelles migrées : %', l_count;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_personne_from_rfu()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.personne (
|
|
||||||
date_naissance_ou_consti,
|
|
||||||
ifu,
|
|
||||||
lieu_naissance,
|
|
||||||
nom,
|
|
||||||
prenom,
|
|
||||||
raison_sociale,
|
|
||||||
npi,
|
|
||||||
num_ravip,
|
|
||||||
tel1,
|
|
||||||
tel2,
|
|
||||||
adresse,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
nc,
|
|
||||||
sexe,
|
|
||||||
profession,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
CASE
|
|
||||||
WHEN c.date_nais IS NULL OR c.date_nais = '' THEN NULL
|
|
||||||
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.date_nais !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.date_nais, 'YYYYMMDD'), 'YYYYMMDD') <> c.date_nais THEN NULL
|
|
||||||
|
|
||||||
ELSE to_date(c.date_nais, 'YYYYMMDD')
|
|
||||||
END,
|
|
||||||
c.ifu,
|
|
||||||
c.lieu_nais,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.nom_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.nom
|
|
||||||
end as nom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.prenoms_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.prenoms
|
|
||||||
end as prenom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)='') then c.nom
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'' and trim(c.prenoms)='') then c.nom
|
|
||||||
end as raison_sociale,
|
|
||||||
--c.nom,
|
|
||||||
NULL::varchar,
|
|
||||||
NULL::varchar,
|
|
||||||
--c.prenoms,
|
|
||||||
c.autradr1,
|
|
||||||
c.autradr2,
|
|
||||||
COALESCE(c.quartier_c, '') || '_' ||
|
|
||||||
COALESCE(c.ilot_c, '') || '_' ||
|
|
||||||
COALESCE(c.parcel_c, ''),
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
c.n0_contrib,
|
|
||||||
CASE c.sexe
|
|
||||||
WHEN '1' THEN 'MASCULIN'
|
|
||||||
WHEN '2' THEN 'FEMININ'
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
c.profession,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
date_nais,
|
|
||||||
ifu,
|
|
||||||
lieu_nais,
|
|
||||||
nom,
|
|
||||||
prenoms,
|
|
||||||
nom_c,
|
|
||||||
prenoms_c,
|
|
||||||
autradr1,
|
|
||||||
autradr2,
|
|
||||||
quartier_c,
|
|
||||||
ilot_c,
|
|
||||||
parcel_c,
|
|
||||||
n0_contrib,
|
|
||||||
sexe,
|
|
||||||
profession
|
|
||||||
FROM stemichel.contrib
|
|
||||||
-- WHERE ifu IS NOT NULL
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
date_nais varchar,
|
|
||||||
ifu varchar,
|
|
||||||
lieu_nais varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenoms varchar,
|
|
||||||
nom_c varchar,
|
|
||||||
prenoms_c varchar,
|
|
||||||
autradr1 varchar,
|
|
||||||
autradr2 varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
sexe varchar,
|
|
||||||
profession varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc = c.n0_contrib
|
|
||||||
);
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'host=10.4.80.71 port=5433 dbname=sigibe user=sigibe_lecture password=lec243R6Khsg'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.maj_personne_from_sigibe()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
UPDATE personne p
|
|
||||||
SET
|
|
||||||
nom = CASE
|
|
||||||
WHEN s.nom IS NOT NULL THEN s.nom
|
|
||||||
ELSE p.nom
|
|
||||||
END,
|
|
||||||
prenom = CASE
|
|
||||||
WHEN s.prenom IS NOT NULL THEN s.prenom
|
|
||||||
ELSE p.prenom
|
|
||||||
END,
|
|
||||||
raison_sociale = CASE
|
|
||||||
WHEN s.id_tiers_type = 'PM'
|
|
||||||
AND s.l_contribuable IS NOT NULL
|
|
||||||
THEN s.l_contribuable
|
|
||||||
ELSE p.raison_sociale
|
|
||||||
END,
|
|
||||||
tel1 = s.telephone,
|
|
||||||
numero_rccm = s.numero_rccm,
|
|
||||||
date_rccm = CASE
|
|
||||||
WHEN s.date_rccm IS NOT NULL
|
|
||||||
AND trim(s.date_rccm) <> ''
|
|
||||||
THEN s.date_rccm::date
|
|
||||||
ELSE p.date_rccm
|
|
||||||
END,
|
|
||||||
email = s.email,
|
|
||||||
npi = s.numero_piece_identite,
|
|
||||||
etat_identification_personne = 'IFU'
|
|
||||||
FROM (
|
|
||||||
SELECT *
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'
|
|
||||||
SELECT
|
|
||||||
c.r_contribuable,
|
|
||||||
t.nom,
|
|
||||||
t.prenom,
|
|
||||||
t.id_tiers_type,
|
|
||||||
t.telephone,
|
|
||||||
t.numero_rccm,
|
|
||||||
t.date_rccm,
|
|
||||||
t.email,
|
|
||||||
t.numero_piece_identite,
|
|
||||||
c.l_contribuable
|
|
||||||
FROM t_contribuable c
|
|
||||||
JOIN t_tiers t ON t.id_tiers = c.id_tiers
|
|
||||||
'
|
|
||||||
)
|
|
||||||
AS s(
|
|
||||||
r_contribuable varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenom varchar,
|
|
||||||
id_tiers_type varchar,
|
|
||||||
telephone varchar,
|
|
||||||
numero_rccm varchar,
|
|
||||||
date_rccm varchar,
|
|
||||||
email varchar,
|
|
||||||
numero_piece_identite varchar,
|
|
||||||
l_contribuable varchar
|
|
||||||
)
|
|
||||||
) s
|
|
||||||
WHERE trim(p.ifu) = s.r_contribuable;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_uniteLogement_and_enqueteUnitLog_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
uniteLogement_rfu record;
|
|
||||||
l_uniteLogement_id_parent bigint;
|
|
||||||
l_batiment_id_parent bigint ;
|
|
||||||
l_personne_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR uniteLogement_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
c.n0ul,
|
|
||||||
--c.n0etage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.n0etage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.n0etage, ',', '.')::numeric
|
|
||||||
end as n0etage,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
c.n0_contrib,
|
|
||||||
--c.montmenl,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.montmenl), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.montmenl, ',', '.')::numeric
|
|
||||||
end as montmenl,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
select distinct
|
|
||||||
ul.n0bat,
|
|
||||||
ul.n0ul,
|
|
||||||
ul.n0etage,
|
|
||||||
ul.quartier,
|
|
||||||
ul.n0_ilot,
|
|
||||||
ul.n0_parcel,
|
|
||||||
ul.n0_contrib,
|
|
||||||
ul.montmenl,
|
|
||||||
ul.surfsol,
|
|
||||||
ul.surfacelo,
|
|
||||||
ul.vllcalcule,
|
|
||||||
ul.bail,
|
|
||||||
--ul.valloest,
|
|
||||||
ul.nbetage,
|
|
||||||
ul.vlcalcule,
|
|
||||||
ul.utilisat,
|
|
||||||
ul.finexempt,
|
|
||||||
ul.nbunitlo,
|
|
||||||
ul.toit,
|
|
||||||
ul.nbhabit,
|
|
||||||
ul.nbmenage,
|
|
||||||
ul.nbmois,
|
|
||||||
ul.electric,
|
|
||||||
ul.eau,
|
|
||||||
ul.nbpiece,
|
|
||||||
ul.nbunite,
|
|
||||||
ul.mdate,
|
|
||||||
ul.murs,
|
|
||||||
ul.standing
|
|
||||||
FROM akpakpa.unitlog ul
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
n0ul varchar,
|
|
||||||
n0etage varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
montmenl varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
--valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.unite_logement ul
|
|
||||||
WHERE ul.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)||'-'||trim(c.n0ul)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID batiment locale
|
|
||||||
SELECT b.id
|
|
||||||
INTO l_batiment_id_parent
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
-- Récupération ID personne locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_personne_id_parent
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc =trim(uniteLogement_rfu.n0_contrib)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion unite logement local
|
|
||||||
INSERT INTO public.unite_logement(
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nul,
|
|
||||||
numero_etage,
|
|
||||||
batiment_id,
|
|
||||||
--personne_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_mensuel_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
id_toit_rfu,
|
|
||||||
valeur_unite_logement_calcule,
|
|
||||||
nombre_etage
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)||'-'||trim(uniteLogement_rfu.n0ul),
|
|
||||||
uniteLogement_rfu.n0ul,
|
|
||||||
uniteLogement_rfu.n0etage,
|
|
||||||
l_batiment_id_parent,
|
|
||||||
-- l_personne_id_parent,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.nbetage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.bail,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.toit,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
uniteLogement_rfu.nbetage
|
|
||||||
)
|
|
||||||
RETURNING id INTO l_uniteLogement_id_parent;
|
|
||||||
|
|
||||||
call public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
uniteLogement_rfu,
|
|
||||||
l_uniteLogement_id_parent,
|
|
||||||
l_personne_id_parent
|
|
||||||
);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de unité de logement insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
--SELECT pg_size_pretty(pg_database_size('rfu'));
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_assignation_centre_personne_from_rfu_cotonou()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.commune_centre_assignation (
|
|
||||||
nc,
|
|
||||||
ifu,
|
|
||||||
commune_id,
|
|
||||||
structure_id,
|
|
||||||
personne_id,
|
|
||||||
parcelle_id,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
c.n0_contrib,
|
|
||||||
c.ifu,
|
|
||||||
70,
|
|
||||||
case rcdi
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end,
|
|
||||||
pers.id,
|
|
||||||
parc.id,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT distinct on (ifu,rcdi)
|
|
||||||
trim(ifu),
|
|
||||||
trim(n0_contrib),
|
|
||||||
trim(rcdi),
|
|
||||||
trim(quartier_c),
|
|
||||||
trim(ilot_c),
|
|
||||||
trim(parcel_c)
|
|
||||||
FROM stemichel.contrib
|
|
||||||
order by ifu,rcdi
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
rcdi varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar
|
|
||||||
)
|
|
||||||
LEFT JOIN personne pers on trim(pers.ifu)=trim(c.ifu)
|
|
||||||
LEFT JOIN parcelle parc on (trim(parc.q) = trim(c.quartier_c)
|
|
||||||
and trim(parc.i) = trim(c.ilot_c)
|
|
||||||
and trim(parc.p) = trim(c.parcel_c))
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.commune_centre_assignation cca
|
|
||||||
WHERE cca.personne_id = pers.id
|
|
||||||
and cca.structure_id = case trim(c.rcdi)
|
|
||||||
when 'A' then 61
|
|
||||||
when 'B' then 62
|
|
||||||
when 'C' then 63
|
|
||||||
when 'D' then 64
|
|
||||||
else null
|
|
||||||
end
|
|
||||||
and cca.commune_id = 70
|
|
||||||
)
|
|
||||||
ON CONFLICT (structure_id, commune_id, personne_id) DO NOTHING;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
|
|
||||||
call import_assignation_centre_personne_from_rfu_cotonou();
|
|
||||||
|
|
||||||
--delete from commune_centre_assignation;
|
|
||||||
|
|
||||||
|
|
||||||
--select * from commune_centre_assignation;
|
|
||||||
@@ -1,287 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_batiment_and_enquetebati_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
batiment_rfu record;
|
|
||||||
l_batiment_id_parent bigint;
|
|
||||||
l_parcelle_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR batiment_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
--dtconst,
|
|
||||||
CASE
|
|
||||||
WHEN c.dtconst IS NULL OR c.dtconst = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.dtconst !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.dtconst, 'YYYYMMDD'), 'YYYYMMDD') <> c.dtconst THEN NULL
|
|
||||||
ELSE to_date(c.dtconst, 'YYYYMMDD')
|
|
||||||
end as dtconst,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.valloest,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.valloest), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.valloest, ',', '.')::numeric
|
|
||||||
end as valloest,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.nbunitlo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunitlo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunitlo, ',', '.')::numeric
|
|
||||||
end as nbunitlo,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
b.n0bat,
|
|
||||||
b.dtconst,
|
|
||||||
b.quartier,
|
|
||||||
b.n0_ilot,
|
|
||||||
b.n0_parcel,
|
|
||||||
b.surfsol,
|
|
||||||
b.surfacelo,
|
|
||||||
b.vllcalcule,
|
|
||||||
b.bail,
|
|
||||||
b.valloest,
|
|
||||||
b.nbetage,
|
|
||||||
b.vlcalcule,
|
|
||||||
b.utilisat,
|
|
||||||
b.finexempt,
|
|
||||||
b.nbunitlo,
|
|
||||||
b.toit,
|
|
||||||
b.nbhabit,
|
|
||||||
b.nbmenage,
|
|
||||||
b.nbmois,
|
|
||||||
b.electric,
|
|
||||||
b.eau,
|
|
||||||
b.nbpiece,
|
|
||||||
b.nbunite,
|
|
||||||
b.mdate,
|
|
||||||
b.murs,
|
|
||||||
b.standing
|
|
||||||
FROM stemichel.batiment b
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
dtconst varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID parcelle locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_parcelle_id_parent
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion bâtiment local
|
|
||||||
INSERT INTO public.batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nub,
|
|
||||||
date_construction,
|
|
||||||
parcelle_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nombre_etage,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
nbre_unite_logement,
|
|
||||||
id_toit_rfu
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(batiment_rfu.quartier)||'-'||trim(batiment_rfu.n0_ilot)||'-'||trim(batiment_rfu.n0_parcel)||'-'||trim(batiment_rfu.n0bat),
|
|
||||||
batiment_rfu.n0bat,
|
|
||||||
batiment_rfu.dtconst,
|
|
||||||
l_parcelle_id_parent,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
--------- batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.toit
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO l_batiment_id_parent ;
|
|
||||||
|
|
||||||
call public.import_enquetebati_from_rfu_cipe(batiment_rfu,l_batiment_id_parent);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de bâtiments insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$$;
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enquetebati_from_rfu_cipe(
|
|
||||||
IN batiment_rfu record,
|
|
||||||
IN batiment_id_param numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_batiment_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_batiment (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_fin_excemption,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_mois_location,
|
|
||||||
nbre_unite_location,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
batiment_id,
|
|
||||||
personne_id,
|
|
||||||
user_id,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_etage,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
usage_id,
|
|
||||||
montant_locatif_annuel_estime,
|
|
||||||
nbre_piece,
|
|
||||||
nbre_unite_logement,
|
|
||||||
valeur_batiment_calcule,
|
|
||||||
nbre_lot_unite
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
batiment_rfu.finexempt,
|
|
||||||
batiment_rfu.nbhabit,
|
|
||||||
batiment_rfu.nbmenage,
|
|
||||||
batiment_rfu.nbmois,
|
|
||||||
batiment_rfu.nbunitlo,
|
|
||||||
batiment_rfu.electric,
|
|
||||||
batiment_rfu.eau,
|
|
||||||
batiment_id_param,
|
|
||||||
e.personne_id,
|
|
||||||
35,
|
|
||||||
batiment_rfu.bail,
|
|
||||||
batiment_rfu.nbetage,
|
|
||||||
'RFU',
|
|
||||||
batiment_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
batiment_rfu.surfsol,
|
|
||||||
batiment_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(batiment_rfu.nbetage::integer,batiment_rfu.toit::integer),
|
|
||||||
batiment_rfu.vllcalcule,
|
|
||||||
--batiment_rfu.utilisat,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
end,
|
|
||||||
batiment_rfu.valloest,
|
|
||||||
batiment_rfu.nbpiece,
|
|
||||||
batiment_rfu.nbunite,
|
|
||||||
batiment_rfu.vlcalcule,
|
|
||||||
batiment_rfu.nbunitlo
|
|
||||||
from batiment b
|
|
||||||
left join parcelle p on p.id=b.parcelle_id
|
|
||||||
left join enquete e on e.parcelle_id=p.id
|
|
||||||
where b.id = batiment_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_batiment eb
|
|
||||||
where eb.batiment_id = b.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_batiment_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_batiment (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_batiment_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE batiment_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_batiment_id_parent
|
|
||||||
WHERE batiment_rfu.utilisat IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_batiment eb
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eb.id = enquete_batiment_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteparc_from_rfu_cipe(
|
|
||||||
IN parcelle_rfu record,
|
|
||||||
IN p_parcelle_id numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
date_enquete,
|
|
||||||
litige,
|
|
||||||
parcelle_id,
|
|
||||||
user_id,
|
|
||||||
date_finalisation,
|
|
||||||
date_synchronisation,
|
|
||||||
date_validation,
|
|
||||||
status_enquete,
|
|
||||||
synchronise,
|
|
||||||
code_parcelle,
|
|
||||||
nbre_batiment,
|
|
||||||
nbre_co_proprietaire,
|
|
||||||
nom_rue,
|
|
||||||
num_enter_parcelle,
|
|
||||||
num_rue,
|
|
||||||
superficie,
|
|
||||||
equipe_id,
|
|
||||||
zone_rfu_id,
|
|
||||||
campagne_id,
|
|
||||||
origine_enquete,
|
|
||||||
nc_proprietaire,
|
|
||||||
source
|
|
||||||
) select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
false,
|
|
||||||
p_parcelle_id,
|
|
||||||
35,
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
now(),
|
|
||||||
'CLOTURE',
|
|
||||||
true,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_bat) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_bat::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.nb_prop) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.nb_prop::integer
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
CASE
|
|
||||||
WHEN trim(parcelle_rfu.surface) ~ '^[0-9]+$'
|
|
||||||
THEN parcelle_rfu.surface::float
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
CASE parcelle_rfu.zones
|
|
||||||
WHEN '1' THEN 1
|
|
||||||
WHEN '2' THEN 2
|
|
||||||
WHEN '3' THEN 3
|
|
||||||
WHEN '4' THEN 4
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
1,
|
|
||||||
'RFU',
|
|
||||||
parcelle_rfu.n0_contrib,
|
|
||||||
'RFU'
|
|
||||||
--from parcelle p
|
|
||||||
where not exists (
|
|
||||||
select 1
|
|
||||||
from enquete e
|
|
||||||
where e.parcelle_id= p_parcelle_id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique parcelle
|
|
||||||
INSERT INTO caracteristique_parcelle (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(), false,
|
|
||||||
CASE parcelle_rfu.acces
|
|
||||||
WHEN '1' THEN 31
|
|
||||||
WHEN '2' THEN 32
|
|
||||||
WHEN '3' THEN 33
|
|
||||||
WHEN '4' THEN 34
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.acces IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE parcelle_rfu.cloture
|
|
||||||
WHEN '1' THEN 28
|
|
||||||
WHEN '2' THEN 29
|
|
||||||
WHEN '3' THEN 30
|
|
||||||
END,
|
|
||||||
enquete_id_parent
|
|
||||||
WHERE parcelle_rfu.cloture IS NOT NULL;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete q
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
------MAJ prietaire
|
|
||||||
UPDATE enquete q
|
|
||||||
SET personne_id = p.id,
|
|
||||||
proprietaire_id = p.id,
|
|
||||||
nom_proprietaire_parcelle = coalesce (trim(p.raison_sociale), trim(p.nom) || ' '|| trim(p.prenom) )
|
|
||||||
FROM personne p
|
|
||||||
WHERE p.nc = parcelle_rfu.n0_contrib
|
|
||||||
AND q.id = enquete_id_parent;
|
|
||||||
|
|
||||||
--quartier_id --commune_id --departement_id --arrondissement_id
|
|
||||||
UPDATE enquete e
|
|
||||||
SET quartier_id = q.id,
|
|
||||||
commune_id=c.id,
|
|
||||||
departement_id=c.departement_id,
|
|
||||||
arrondissement_id= a.id
|
|
||||||
FROM parcelle p
|
|
||||||
inner join quartier q on q.id = p.quartier_id
|
|
||||||
inner join arrondissement a on a.id = q.arrondissement_id
|
|
||||||
inner join commune c on c.id = a.commune_id
|
|
||||||
WHERE p.id = p_parcelle_id
|
|
||||||
AND e.id = enquete_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
IN uniteLogement_rfu record,
|
|
||||||
IN uniteLogement_id_param numeric,
|
|
||||||
IN l_personne_id_parent numeric
|
|
||||||
)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
enquete_uniteLogement_id_parent bigint;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO enquete_unite_logement (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
en_location,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
nbre_habitant,
|
|
||||||
nbre_menage,
|
|
||||||
nbre_piece,
|
|
||||||
sbee,
|
|
||||||
soneb,
|
|
||||||
personne_id,
|
|
||||||
unite_logement_id,
|
|
||||||
user_id,
|
|
||||||
nbre_mois_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
source,
|
|
||||||
date_enquete,
|
|
||||||
observation,
|
|
||||||
date_fin_exemption,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
statut_enquete,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_mensuel_location,
|
|
||||||
usage_id,
|
|
||||||
valeur_unite_logement_calcule
|
|
||||||
)select
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
case
|
|
||||||
when uniteLogement_rfu.nbmois=0 then false
|
|
||||||
else true
|
|
||||||
end,
|
|
||||||
uniteLogement_rfu.montmenl*12,
|
|
||||||
uniteLogement_rfu.nbhabit,
|
|
||||||
uniteLogement_rfu.nbmenage,
|
|
||||||
uniteLogement_rfu.nbpiece,
|
|
||||||
uniteLogement_rfu.electric,
|
|
||||||
uniteLogement_rfu.eau,
|
|
||||||
l_personne_id_parent,
|
|
||||||
uniteLogement_id_param,
|
|
||||||
35,
|
|
||||||
uniteLogement_rfu.nbmois,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.mdate,
|
|
||||||
'MIGRATION',
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
'CLOTURE',
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.n0etage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.vlcalcule
|
|
||||||
from unite_logement ul
|
|
||||||
where ul.id = uniteLogement_id_param
|
|
||||||
and not exists (
|
|
||||||
select 1
|
|
||||||
from enquete_unite_logement eul
|
|
||||||
where eul.unite_logement_id = ul.id
|
|
||||||
)
|
|
||||||
|
|
||||||
RETURNING id INTO enquete_uniteLogement_id_parent ;
|
|
||||||
|
|
||||||
----------MAJ Caractéristique Unite de logement
|
|
||||||
INSERT INTO caracteristique_unite_logement (
|
|
||||||
created_by,
|
|
||||||
created_at,
|
|
||||||
updated_by,
|
|
||||||
updated_at,
|
|
||||||
deleted,
|
|
||||||
caracteristique_id,
|
|
||||||
enquete_unite_logement_id
|
|
||||||
)
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.toit
|
|
||||||
WHEN 1 THEN 55
|
|
||||||
WHEN 2 THEN 56
|
|
||||||
WHEN 3 THEN 57
|
|
||||||
WHEN 4 THEN 58
|
|
||||||
WHEN 5 THEN 59
|
|
||||||
WHEN 6 THEN 60
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.toit IS NOT NULL
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.murs
|
|
||||||
WHEN 1 THEN 49
|
|
||||||
WHEN 2 THEN 50
|
|
||||||
WHEN 3 THEN 51
|
|
||||||
WHEN 4 THEN 52
|
|
||||||
WHEN 5 THEN 53
|
|
||||||
else
|
|
||||||
54
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.murs IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.standing
|
|
||||||
WHEN 1 THEN 81
|
|
||||||
WHEN 2 THEN 82
|
|
||||||
WHEN 3 THEN 83
|
|
||||||
WHEN 4 THEN 84
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null
|
|
||||||
|
|
||||||
UNION ALL
|
|
||||||
|
|
||||||
|
|
||||||
SELECT 35, now(), 35, now(),false,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 35
|
|
||||||
WHEN 2 THEN 36
|
|
||||||
WHEN 3 THEN 37
|
|
||||||
END,
|
|
||||||
enquete_uniteLogement_id_parent
|
|
||||||
WHERE uniteLogement_rfu.standing IS NOT null;
|
|
||||||
|
|
||||||
------MAJ Exercice
|
|
||||||
UPDATE enquete_unite_logement eul
|
|
||||||
SET exercice_id = e.id
|
|
||||||
FROM exercice e
|
|
||||||
WHERE e.annee = 2025
|
|
||||||
AND eul.id = enquete_uniteLogement_id_parent;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_imposition_rfu_cotonou(in exercice varchar(10), in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
imposition_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR imposition_rfu IN (
|
|
||||||
SELECT FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
i.article ,
|
|
||||||
i.ifu ,
|
|
||||||
i.n0_contrib ,
|
|
||||||
i.denome ,
|
|
||||||
i.annees ,
|
|
||||||
i.nature ,
|
|
||||||
n.libnature ,
|
|
||||||
i.quartier,
|
|
||||||
q.libquart ,
|
|
||||||
i.n0_ilot ,
|
|
||||||
i.n0_parcel ,
|
|
||||||
i.nn,
|
|
||||||
COALESCE(i.montant,0) droit_simple,
|
|
||||||
COALESCE(i.penalite,0) penalite,
|
|
||||||
COALESCE(i.majorat,0) majoration,
|
|
||||||
COALESCE(i.montant,0)+COALESCE(i.penalite,0)+COALESCE(i.majorat,0) total_imposition
|
|
||||||
FROM stemichel.impotsra i
|
|
||||||
join agla.nature n on n.nature=i.nature
|
|
||||||
left join (select distinct
|
|
||||||
n0_ilot,
|
|
||||||
quartier,
|
|
||||||
libquart
|
|
||||||
from agla.quartier)q on (q.n0_ilot=i.n0_ilot and q.quartier=i.quartier)
|
|
||||||
-- WHERE i.annees = '2025' or (i.annees ='2024' and trim(i.nature) in ('3N', '4N', 'YN'))
|
|
||||||
limit 100
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
parcelle_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_id,
|
|
||||||
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre impositions migrées : %', l_count;
|
|
||||||
END ;
|
|
||||||
END LOOP ;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,250 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_parcelle_and_enqueteparc_from_rfu_cipe(in nombreLimit numeric)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
parcelle_rfu record;
|
|
||||||
l_parcelle_id_parent bigint;
|
|
||||||
l_code_quartier varchar(20);
|
|
||||||
BEGIN
|
|
||||||
FOR parcelle_rfu IN (
|
|
||||||
SELECT
|
|
||||||
trim(quartier)||'-'||trim(n0_ilot)||'-'||trim(n0_parcel) AS numero_parcelle,
|
|
||||||
terrain,
|
|
||||||
trim(n0_ilot) AS i,
|
|
||||||
trim(n0_parcel) AS p,
|
|
||||||
trim(quartier) AS q,
|
|
||||||
hauteur,
|
|
||||||
rue AS numero_rue,
|
|
||||||
entree AS num_entree_parcelle,
|
|
||||||
surface,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
terrain,
|
|
||||||
n0_ilot,
|
|
||||||
n0_parcel,
|
|
||||||
quartier,
|
|
||||||
hauteur,
|
|
||||||
rue,
|
|
||||||
entree,
|
|
||||||
vlcalcule,
|
|
||||||
vllcalcule,
|
|
||||||
loue,
|
|
||||||
zones,
|
|
||||||
acces,
|
|
||||||
cloture,
|
|
||||||
inonde,
|
|
||||||
finexempt,
|
|
||||||
habite,
|
|
||||||
ordures,
|
|
||||||
surface,
|
|
||||||
"usage",
|
|
||||||
wc,
|
|
||||||
choix,
|
|
||||||
occupant,
|
|
||||||
nb_bat,
|
|
||||||
nb_prop,
|
|
||||||
nb_log,
|
|
||||||
nb_unit,
|
|
||||||
nb_mena,
|
|
||||||
nb_habit,
|
|
||||||
nb_act,
|
|
||||||
nb_contrib,
|
|
||||||
typeparc,
|
|
||||||
prixm2ne,
|
|
||||||
ifu,
|
|
||||||
n0_contrib,
|
|
||||||
secteur,
|
|
||||||
cipe
|
|
||||||
FROM stemichel.parcelle
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
terrain varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
quartier varchar,
|
|
||||||
hauteur varchar,
|
|
||||||
rue varchar,
|
|
||||||
entree varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
loue varchar,
|
|
||||||
zones varchar,
|
|
||||||
acces varchar,
|
|
||||||
cloture varchar,
|
|
||||||
inonde varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
habite varchar,
|
|
||||||
ordures varchar,
|
|
||||||
surface varchar,
|
|
||||||
"usage" varchar,
|
|
||||||
wc varchar,
|
|
||||||
choix varchar,
|
|
||||||
occupant varchar,
|
|
||||||
nb_bat varchar,
|
|
||||||
nb_prop varchar,
|
|
||||||
nb_log varchar,
|
|
||||||
nb_unit varchar,
|
|
||||||
nb_mena varchar,
|
|
||||||
nb_habit varchar,
|
|
||||||
nb_act varchar,
|
|
||||||
nb_contrib varchar,
|
|
||||||
typeparc varchar,
|
|
||||||
prixm2ne varchar,
|
|
||||||
ifu varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
secteur varchar,
|
|
||||||
cipe varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.parcelle p
|
|
||||||
WHERE p.numero_parcelle =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)
|
|
||||||
) and exists (
|
|
||||||
select 1
|
|
||||||
from public.ref_rfu_q_quartier_cotonou rq
|
|
||||||
where rq.rfu_q = trim(c.quartier)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
) LOOP
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO parcelle (
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
numero_parcelle,
|
|
||||||
qip,
|
|
||||||
type_domaine_id,
|
|
||||||
i,
|
|
||||||
p,
|
|
||||||
q,
|
|
||||||
code_quartier,
|
|
||||||
nature_domaine_id,
|
|
||||||
superficie,
|
|
||||||
altitude,
|
|
||||||
num_entree_parcelle,
|
|
||||||
numero_rue,
|
|
||||||
usage_id,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
parcelle_rfu.numero_parcelle,
|
|
||||||
CASE parcelle_rfu.terrain
|
|
||||||
WHEN '1' THEN 2
|
|
||||||
WHEN '2' THEN 5
|
|
||||||
WHEN '3' THEN 4
|
|
||||||
END,
|
|
||||||
parcelle_rfu.i,
|
|
||||||
parcelle_rfu.p,
|
|
||||||
parcelle_rfu.q,
|
|
||||||
rq.code_quartier,
|
|
||||||
CASE parcelle_rfu.typeparc
|
|
||||||
WHEN '1' THEN 23
|
|
||||||
WHEN '2' THEN 27
|
|
||||||
WHEN '3' THEN 28
|
|
||||||
WHEN '4' THEN 29
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.surface), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.surface, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(parcelle_rfu.hauteur), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(parcelle_rfu.hauteur, ',', '.')::numeric
|
|
||||||
END,
|
|
||||||
parcelle_rfu.num_entree_parcelle,
|
|
||||||
parcelle_rfu.numero_rue,
|
|
||||||
case parcelle_rfu.usage
|
|
||||||
WHEN '01' THEN 3
|
|
||||||
WHEN '02' THEN 4
|
|
||||||
WHEN '03' THEN 5
|
|
||||||
WHEN '04' THEN 6
|
|
||||||
WHEN '05' THEN 7
|
|
||||||
WHEN '11' THEN 8
|
|
||||||
WHEN '12' THEN 9
|
|
||||||
WHEN '13' THEN 10
|
|
||||||
WHEN '14' THEN 11
|
|
||||||
WHEN '21' THEN 12
|
|
||||||
WHEN '22' THEN 13
|
|
||||||
WHEN '23' THEN 14
|
|
||||||
WHEN '24' THEN 15
|
|
||||||
WHEN '25' THEN 16
|
|
||||||
END,
|
|
||||||
'RFU'
|
|
||||||
FROM ref_rfu_q_quartier_cotonou rq
|
|
||||||
WHERE rq.rfu_q = parcelle_rfu.q
|
|
||||||
RETURNING id, code_quartier
|
|
||||||
INTO l_parcelle_id_parent, l_code_quartier;
|
|
||||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
||||||
RAISE NOTICE 'Quartier RFU non trouvé pour %', parcelle_rfu.q;
|
|
||||||
CONTINUE;
|
|
||||||
--RAISE NOTICE 'Parcelle insérée : %, %', l_parcelle_id_parent, parcelle_rfu.q;
|
|
||||||
END;
|
|
||||||
------------------------------appel de enquete_parcelle------------------
|
|
||||||
CALL import_enqueteparc_from_rfu_cipe(parcelle_rfu, l_parcelle_id_parent);
|
|
||||||
|
|
||||||
INSERT INTO secteur_decoupage (
|
|
||||||
created_at, created_by, deleted, updated_at, updated_by,
|
|
||||||
date_debut, quartier_id, secteur_id, arrondissement_id, source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
now(), 35, false, now(), 35,
|
|
||||||
now(), q.id, s.id,a.id, 'RFU'
|
|
||||||
FROM ref_cipe_secteur_rfu_cotonou rcs
|
|
||||||
JOIN secteur s ON s.code= rcs.code_secteur
|
|
||||||
JOIN quartier q ON q.code = l_code_quartier
|
|
||||||
left join arrondissement a on a.id=q.arrondissement_id
|
|
||||||
WHERE rcs.cipe = parcelle_rfu.cipe
|
|
||||||
AND rcs.secteur = parcelle_rfu.secteur
|
|
||||||
ON CONFLICT (quartier_id, secteur_id) DO NOTHING;
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
UPDATE parcelle p
|
|
||||||
SET quartier_id = q.id
|
|
||||||
FROM quartier q
|
|
||||||
WHERE q.code = p.code_quartier;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de parcelles migrées : %', l_count;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.import_personne_from_rfu()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO public.personne (
|
|
||||||
date_naissance_ou_consti,
|
|
||||||
ifu,
|
|
||||||
lieu_naissance,
|
|
||||||
nom,
|
|
||||||
prenom,
|
|
||||||
raison_sociale,
|
|
||||||
npi,
|
|
||||||
num_ravip,
|
|
||||||
tel1,
|
|
||||||
tel2,
|
|
||||||
adresse,
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
nc,
|
|
||||||
sexe,
|
|
||||||
profession,
|
|
||||||
source
|
|
||||||
)
|
|
||||||
SELECT
|
|
||||||
CASE
|
|
||||||
WHEN c.date_nais IS NULL OR c.date_nais = '' THEN NULL
|
|
||||||
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.date_nais !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.date_nais, 'YYYYMMDD'), 'YYYYMMDD') <> c.date_nais THEN NULL
|
|
||||||
|
|
||||||
ELSE to_date(c.date_nais, 'YYYYMMDD')
|
|
||||||
END,
|
|
||||||
c.ifu,
|
|
||||||
c.lieu_nais,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.nom_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.nom
|
|
||||||
end as nom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'') then c.prenoms_c
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)<>'') then c.prenoms
|
|
||||||
end as prenom,
|
|
||||||
case
|
|
||||||
when (trim(c.nom_c)='' and trim(c.prenoms_c)='' and trim(c.prenoms)='') then c.nom
|
|
||||||
when (trim(c.nom_c)<>'' and trim(c.prenoms_c)<>'' and trim(c.prenoms)='') then c.nom
|
|
||||||
end as raison_sociale,
|
|
||||||
--c.nom,
|
|
||||||
NULL::varchar,
|
|
||||||
NULL::varchar,
|
|
||||||
--c.prenoms,
|
|
||||||
c.autradr1,
|
|
||||||
c.autradr2,
|
|
||||||
COALESCE(c.quartier_c, '') || '_' ||
|
|
||||||
COALESCE(c.ilot_c, '') || '_' ||
|
|
||||||
COALESCE(c.parcel_c, ''),
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
NULL::bigint,
|
|
||||||
c.n0_contrib,
|
|
||||||
CASE c.sexe
|
|
||||||
WHEN '1' THEN 'MASCULIN'
|
|
||||||
WHEN '2' THEN 'FEMININ'
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
c.profession,
|
|
||||||
'RFU'
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
SELECT
|
|
||||||
date_nais,
|
|
||||||
ifu,
|
|
||||||
lieu_nais,
|
|
||||||
nom,
|
|
||||||
prenoms,
|
|
||||||
nom_c,
|
|
||||||
prenoms_c,
|
|
||||||
autradr1,
|
|
||||||
autradr2,
|
|
||||||
quartier_c,
|
|
||||||
ilot_c,
|
|
||||||
parcel_c,
|
|
||||||
n0_contrib,
|
|
||||||
sexe,
|
|
||||||
profession
|
|
||||||
FROM stemichel.contrib
|
|
||||||
-- WHERE ifu IS NOT NULL
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
date_nais varchar,
|
|
||||||
ifu varchar,
|
|
||||||
lieu_nais varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenoms varchar,
|
|
||||||
nom_c varchar,
|
|
||||||
prenoms_c varchar,
|
|
||||||
autradr1 varchar,
|
|
||||||
autradr2 varchar,
|
|
||||||
quartier_c varchar,
|
|
||||||
ilot_c varchar,
|
|
||||||
parcel_c varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
sexe varchar,
|
|
||||||
profession varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc = c.n0_contrib
|
|
||||||
);
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_rfu',
|
|
||||||
'host=10.4.6.103 port=5432 dbname=rfu user=postgres password=Rfu@dm1N2@25TeMp0'
|
|
||||||
);
|
|
||||||
|
|
||||||
--SELECT dblink_disconnect('connexion_rfu');
|
|
||||||
|
|
||||||
SELECT dblink_connect(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'host=10.4.80.71 port=5433 dbname=sigibe user=sigibe_lecture password=lec243R6Khsg'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE public.maj_personne_from_sigibe()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
UPDATE personne p
|
|
||||||
SET
|
|
||||||
nom = CASE
|
|
||||||
WHEN s.nom IS NOT NULL THEN s.nom
|
|
||||||
ELSE p.nom
|
|
||||||
END,
|
|
||||||
prenom = CASE
|
|
||||||
WHEN s.prenom IS NOT NULL THEN s.prenom
|
|
||||||
ELSE p.prenom
|
|
||||||
END,
|
|
||||||
raison_sociale = CASE
|
|
||||||
WHEN s.id_tiers_type = 'PM'
|
|
||||||
AND s.l_contribuable IS NOT NULL
|
|
||||||
THEN s.l_contribuable
|
|
||||||
ELSE p.raison_sociale
|
|
||||||
END,
|
|
||||||
tel1 = s.telephone,
|
|
||||||
numero_rccm = s.numero_rccm,
|
|
||||||
date_rccm = CASE
|
|
||||||
WHEN s.date_rccm IS NOT NULL
|
|
||||||
AND trim(s.date_rccm) <> ''
|
|
||||||
THEN s.date_rccm::date
|
|
||||||
ELSE p.date_rccm
|
|
||||||
END,
|
|
||||||
email = s.email,
|
|
||||||
npi = s.numero_piece_identite,
|
|
||||||
etat_identification_personne = 'IFU'
|
|
||||||
FROM (
|
|
||||||
SELECT *
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_sigibe_lecture',
|
|
||||||
'
|
|
||||||
SELECT
|
|
||||||
c.r_contribuable,
|
|
||||||
t.nom,
|
|
||||||
t.prenom,
|
|
||||||
t.id_tiers_type,
|
|
||||||
t.telephone,
|
|
||||||
t.numero_rccm,
|
|
||||||
t.date_rccm,
|
|
||||||
t.email,
|
|
||||||
t.numero_piece_identite,
|
|
||||||
c.l_contribuable
|
|
||||||
FROM t_contribuable c
|
|
||||||
JOIN t_tiers t ON t.id_tiers = c.id_tiers
|
|
||||||
'
|
|
||||||
)
|
|
||||||
AS s(
|
|
||||||
r_contribuable varchar,
|
|
||||||
nom varchar,
|
|
||||||
prenom varchar,
|
|
||||||
id_tiers_type varchar,
|
|
||||||
telephone varchar,
|
|
||||||
numero_rccm varchar,
|
|
||||||
date_rccm varchar,
|
|
||||||
email varchar,
|
|
||||||
numero_piece_identite varchar,
|
|
||||||
l_contribuable varchar
|
|
||||||
)
|
|
||||||
) s
|
|
||||||
WHERE trim(p.ifu) = s.r_contribuable;
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
CREATE OR REPLACE PROCEDURE public.import_uniteLogement_and_enqueteUnitLog_from_rfu(nombreLimit integer)
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $procedure$
|
|
||||||
DECLARE
|
|
||||||
l_count numeric := 0;
|
|
||||||
uniteLogement_rfu record;
|
|
||||||
l_uniteLogement_id_parent bigint;
|
|
||||||
l_batiment_id_parent bigint ;
|
|
||||||
l_personne_id_parent bigint ;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR uniteLogement_rfu IN (
|
|
||||||
SELECT
|
|
||||||
c.n0bat,
|
|
||||||
c.n0ul,
|
|
||||||
--c.n0etage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.n0etage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.n0etage, ',', '.')::numeric
|
|
||||||
end as n0etage,
|
|
||||||
c.quartier,
|
|
||||||
c.n0_ilot,
|
|
||||||
c.n0_parcel,
|
|
||||||
c.n0_contrib,
|
|
||||||
--c.montmenl,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.montmenl), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.montmenl, ',', '.')::numeric
|
|
||||||
end as montmenl,
|
|
||||||
--c.surfsol,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfsol), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfsol, ',', '.')::numeric
|
|
||||||
end as surfsol,
|
|
||||||
--c.surfacelo,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.surfacelo), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.surfacelo, ',', '.')::numeric
|
|
||||||
end as surfacelo,
|
|
||||||
--c.vllcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vllcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vllcalcule, ',', '.')::numeric
|
|
||||||
end as vllcalcule,
|
|
||||||
--c.bail,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.bail), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.bail, ',', '.')::numeric
|
|
||||||
end as bail,
|
|
||||||
--c.nbetage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbetage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbetage, ',', '.')::numeric
|
|
||||||
end as nbetage,
|
|
||||||
--c.vlcalcule,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.vlcalcule), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.vlcalcule, ',', '.')::numeric
|
|
||||||
end as vlcalcule,
|
|
||||||
--c.utilisat,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.utilisat), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.utilisat, ',', '.')::numeric
|
|
||||||
end as utilisat,
|
|
||||||
--c.finexempt,
|
|
||||||
CASE
|
|
||||||
WHEN c.finexempt IS NULL OR c.finexempt = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.finexempt !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.finexempt, 'YYYYMMDD'), 'YYYYMMDD') <> c.finexempt THEN NULL
|
|
||||||
ELSE to_date(c.finexempt, 'YYYYMMDD')
|
|
||||||
end as finexempt,
|
|
||||||
--c.toit
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.toit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.toit, ',', '.')::numeric
|
|
||||||
end as toit,
|
|
||||||
--nbhabit,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbhabit), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbhabit, ',', '.')::numeric
|
|
||||||
end as nbhabit,
|
|
||||||
--nbmenage,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmenage), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmenage, ',', '.')::numeric
|
|
||||||
end as nbmenage,
|
|
||||||
--nbmois,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbmois), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbmois, ',', '.')::numeric
|
|
||||||
end as nbmois,
|
|
||||||
--electric,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.electric)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as electric,
|
|
||||||
--eau,
|
|
||||||
CASE
|
|
||||||
WHEN trim(c.eau)='Non'
|
|
||||||
THEN false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
end as eau,
|
|
||||||
--nbpiece,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbpiece), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbpiece, ',', '.')::numeric
|
|
||||||
end as nbpiece,
|
|
||||||
--nbunite
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.nbunite), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.nbunite, ',', '.')::numeric
|
|
||||||
end as nbunite,
|
|
||||||
CASE
|
|
||||||
WHEN c.mdate IS NULL OR c.mdate = '' THEN NULL
|
|
||||||
-- format incorrect (pas exactement 8 chiffres)
|
|
||||||
WHEN c.mdate !~ '^[0-9]{8}$' THEN NULL
|
|
||||||
-- date invalide réelle
|
|
||||||
WHEN to_char(to_date(c.mdate, 'YYYYMMDD'), 'YYYYMMDD') <> c.mdate THEN NULL
|
|
||||||
ELSE to_date(c.mdate, 'YYYYMMDD')
|
|
||||||
end as mdate,
|
|
||||||
--c.murs,
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.murs), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.murs, ',', '.')::numeric
|
|
||||||
end as murs,
|
|
||||||
--standing
|
|
||||||
CASE
|
|
||||||
WHEN replace(trim(c.standing), ',', '.') ~ '^[0-9]+(\.[0-9]+)?$'
|
|
||||||
THEN replace(c.standing, ',', '.')::numeric
|
|
||||||
end as standing
|
|
||||||
FROM dblink(
|
|
||||||
'connexion_rfu',
|
|
||||||
$db$
|
|
||||||
select distinct
|
|
||||||
ul.n0bat,
|
|
||||||
ul.n0ul,
|
|
||||||
ul.n0etage,
|
|
||||||
ul.quartier,
|
|
||||||
ul.n0_ilot,
|
|
||||||
ul.n0_parcel,
|
|
||||||
ul.n0_contrib,
|
|
||||||
ul.montmenl,
|
|
||||||
ul.surfsol,
|
|
||||||
ul.surfacelo,
|
|
||||||
ul.vllcalcule,
|
|
||||||
ul.bail,
|
|
||||||
--ul.valloest,
|
|
||||||
ul.nbetage,
|
|
||||||
ul.vlcalcule,
|
|
||||||
ul.utilisat,
|
|
||||||
ul.finexempt,
|
|
||||||
ul.nbunitlo,
|
|
||||||
ul.toit,
|
|
||||||
ul.nbhabit,
|
|
||||||
ul.nbmenage,
|
|
||||||
ul.nbmois,
|
|
||||||
ul.electric,
|
|
||||||
ul.eau,
|
|
||||||
ul.nbpiece,
|
|
||||||
ul.nbunite,
|
|
||||||
ul.mdate,
|
|
||||||
ul.murs,
|
|
||||||
ul.standing
|
|
||||||
FROM akpakpa.unitlog ul
|
|
||||||
$db$
|
|
||||||
) AS c (
|
|
||||||
n0bat varchar,
|
|
||||||
n0ul varchar,
|
|
||||||
n0etage varchar,
|
|
||||||
quartier varchar,
|
|
||||||
n0_ilot varchar,
|
|
||||||
n0_parcel varchar,
|
|
||||||
n0_contrib varchar,
|
|
||||||
montmenl varchar,
|
|
||||||
surfsol varchar,
|
|
||||||
surfacelo varchar,
|
|
||||||
vllcalcule varchar,
|
|
||||||
bail varchar,
|
|
||||||
--valloest varchar,
|
|
||||||
nbetage varchar,
|
|
||||||
vlcalcule varchar,
|
|
||||||
utilisat varchar,
|
|
||||||
finexempt varchar,
|
|
||||||
nbunitlo varchar,
|
|
||||||
toit varchar,
|
|
||||||
nbhabit varchar,
|
|
||||||
nbmenage varchar,
|
|
||||||
nbmois varchar,
|
|
||||||
electric varchar,
|
|
||||||
eau varchar,
|
|
||||||
nbpiece varchar,
|
|
||||||
nbunite varchar,
|
|
||||||
mdate varchar,
|
|
||||||
murs varchar,
|
|
||||||
standing varchar
|
|
||||||
)
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1
|
|
||||||
FROM public.unite_logement ul
|
|
||||||
WHERE ul.code =
|
|
||||||
trim(c.quartier)||'-'||trim(c.n0_ilot)||'-'||trim(c.n0_parcel)||'-'||trim(c.n0bat)||'-'||trim(c.n0ul)
|
|
||||||
)
|
|
||||||
limit nombreLimit
|
|
||||||
)
|
|
||||||
LOOP
|
|
||||||
-- Récupération ID batiment locale
|
|
||||||
SELECT b.id
|
|
||||||
INTO l_batiment_id_parent
|
|
||||||
FROM public.batiment b
|
|
||||||
WHERE b.code =
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
-- Récupération ID personne locale
|
|
||||||
SELECT p.id
|
|
||||||
INTO l_personne_id_parent
|
|
||||||
FROM public.personne p
|
|
||||||
WHERE p.nc =trim(uniteLogement_rfu.n0_contrib)
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
|
|
||||||
-- Insertion unite logement local
|
|
||||||
INSERT INTO public.unite_logement(
|
|
||||||
created_at,
|
|
||||||
created_by,
|
|
||||||
deleted,
|
|
||||||
updated_at,
|
|
||||||
updated_by,
|
|
||||||
code,
|
|
||||||
nul,
|
|
||||||
numero_etage,
|
|
||||||
batiment_id,
|
|
||||||
--personne_id,
|
|
||||||
source,
|
|
||||||
superficie_au_sol,
|
|
||||||
superficie_louee,
|
|
||||||
categorie_batiment_id,
|
|
||||||
montant_locatif_annuel_calcule,
|
|
||||||
montant_locatif_annuel_declare,
|
|
||||||
montant_mensuel_location,
|
|
||||||
valeur_unite_logement_estime,
|
|
||||||
usage_id,
|
|
||||||
date_fin_exemption,
|
|
||||||
id_toit_rfu,
|
|
||||||
valeur_unite_logement_calcule,
|
|
||||||
nombre_etage
|
|
||||||
)
|
|
||||||
VALUES (
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
false,
|
|
||||||
now(),
|
|
||||||
35,
|
|
||||||
trim(uniteLogement_rfu.quartier)||'-'||trim(uniteLogement_rfu.n0_ilot)||'-'||trim(uniteLogement_rfu.n0_parcel)||'-'||trim(uniteLogement_rfu.n0bat)||'-'||trim(uniteLogement_rfu.n0ul),
|
|
||||||
uniteLogement_rfu.n0ul,
|
|
||||||
uniteLogement_rfu.n0etage,
|
|
||||||
l_batiment_id_parent,
|
|
||||||
-- l_personne_id_parent,
|
|
||||||
'RFU',
|
|
||||||
uniteLogement_rfu.surfsol,
|
|
||||||
uniteLogement_rfu.surfacelo,
|
|
||||||
ProcedureRecupCategorieRFU(uniteLogement_rfu.nbetage::integer,uniteLogement_rfu.toit::integer),
|
|
||||||
uniteLogement_rfu.vllcalcule,
|
|
||||||
uniteLogement_rfu.bail,
|
|
||||||
uniteLogement_rfu.montmenl,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
CASE uniteLogement_rfu.utilisat
|
|
||||||
WHEN 1 THEN 8
|
|
||||||
WHEN 2 THEN 14
|
|
||||||
WHEN 3 THEN 9
|
|
||||||
END,
|
|
||||||
uniteLogement_rfu.finexempt,
|
|
||||||
uniteLogement_rfu.toit,
|
|
||||||
uniteLogement_rfu.vlcalcule,
|
|
||||||
uniteLogement_rfu.nbetage
|
|
||||||
)
|
|
||||||
RETURNING id INTO l_uniteLogement_id_parent;
|
|
||||||
|
|
||||||
call public.import_enqueteUnitLog_from_rfu_cipe(
|
|
||||||
uniteLogement_rfu,
|
|
||||||
l_uniteLogement_id_parent,
|
|
||||||
l_personne_id_parent
|
|
||||||
);
|
|
||||||
|
|
||||||
l_count := l_count + 1;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
RAISE NOTICE 'Nombre de unité de logement insérés : %', l_count;
|
|
||||||
|
|
||||||
END;
|
|
||||||
$procedure$;
|
|
||||||
@@ -450,10 +450,10 @@ public class EntityFromPayLoadService {
|
|||||||
|
|
||||||
avoirFonction.setFonction(optionalFonction.orElse(null));
|
avoirFonction.setFonction(optionalFonction.orElse(null));
|
||||||
avoirFonction.setUser(optionalUser.orElse(null));
|
avoirFonction.setUser(optionalUser.orElse(null));
|
||||||
avoirFonction.setTitre(avoirFonctionPaylaodWeb.getTitre());
|
avoirFonction.setTitre(avoirFonction.getTitre());
|
||||||
avoirFonction.setId(avoirFonctionPaylaodWeb.getId());
|
avoirFonction.setId(avoirFonction.getId());
|
||||||
avoirFonction.setDateDebut(avoirFonctionPaylaodWeb.getDateDebut());
|
avoirFonction.setDateDebut(avoirFonction.getDateDebut());
|
||||||
avoirFonction.setDateFin(avoirFonctionPaylaodWeb.getDateFin());
|
avoirFonction.setDateFin(avoirFonction.getDateFin());
|
||||||
|
|
||||||
return avoirFonction;
|
return avoirFonction;
|
||||||
}
|
}
|
||||||
@@ -1050,7 +1050,7 @@ public class EntityFromPayLoadService {
|
|||||||
moduleApp.setId(modulePayloadWeb.getId());
|
moduleApp.setId(modulePayloadWeb.getId());
|
||||||
moduleApp.setCode(modulePayloadWeb.getCode());
|
moduleApp.setCode(modulePayloadWeb.getCode());
|
||||||
moduleApp.setNom(modulePayloadWeb.getNom());
|
moduleApp.setNom(modulePayloadWeb.getNom());
|
||||||
moduleApp.setActif(modulePayloadWeb.getActif());
|
moduleApp.setActif(true);
|
||||||
return moduleApp ;
|
return moduleApp ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1068,7 +1068,7 @@ public class EntityFromPayLoadService {
|
|||||||
fonctionnalite.setId(fonctionnalitePayloadWeb.getId());
|
fonctionnalite.setId(fonctionnalitePayloadWeb.getId());
|
||||||
fonctionnalite.setCode(fonctionnalitePayloadWeb.getCode());
|
fonctionnalite.setCode(fonctionnalitePayloadWeb.getCode());
|
||||||
fonctionnalite.setNom(fonctionnalitePayloadWeb.getNom());
|
fonctionnalite.setNom(fonctionnalitePayloadWeb.getNom());
|
||||||
fonctionnalite.setActif(fonctionnalitePayloadWeb.getActif());
|
fonctionnalite.setActif(true);
|
||||||
return fonctionnalite ;
|
return fonctionnalite ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1094,7 +1094,7 @@ public class EntityFromPayLoadService {
|
|||||||
fonctionnalite.setId(profileModuleFonctionnalitePayloadWeb.getFonctionnaliteId());
|
fonctionnalite.setId(profileModuleFonctionnalitePayloadWeb.getFonctionnaliteId());
|
||||||
profileModuleFonctionnalite.setFonctionnalite(fonctionnalite);
|
profileModuleFonctionnalite.setFonctionnalite(fonctionnalite);
|
||||||
}
|
}
|
||||||
profileModuleFonctionnalite.setActif(profileModuleFonctionnalitePayloadWeb.getActif());
|
profileModuleFonctionnalite.setActif(true);
|
||||||
return profileModuleFonctionnalite ;
|
return profileModuleFonctionnalite ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user