1 |
mbroquet |
3730 |
<?php |
2 |
|
|
/** |
3 |
|
|
* Ce script a pour objet d'effectuer le traitement de transfert de lot. |
4 |
|
|
* |
5 |
|
|
* @package openfoncier |
6 |
|
|
* @version SVN : $Id: transferer_lot_nouveaux_demandeurs.php 4418 2015-02-24 17:30:28Z tbenita $ |
7 |
|
|
*/ |
8 |
|
|
|
9 |
|
|
// |
10 |
|
|
require_once "../obj/utils.class.php"; |
11 |
|
|
$f = new utils("nohtml", "lot"); |
12 |
|
|
$f->disableLog(); |
13 |
|
|
|
14 |
|
|
/*Donnees*/ |
15 |
|
|
$ido = ($f->get_submitted_get_value('ido')!==null ? $f->get_submitted_get_value('ido') : "" ); |
16 |
|
|
$obj = ($f->get_submitted_get_value('obj')!==null ? $f->get_submitted_get_value('obj') : "" ); |
17 |
|
|
$objk = ($f->get_submitted_get_value('objk')!==null ? $f->get_submitted_get_value('objk') : "" ); |
18 |
|
|
$idxDossier = ($f->get_submitted_get_value('idxDossier')!==null ? $f->get_submitted_get_value('idxDossier') : "" ); |
19 |
|
|
|
20 |
|
|
//Vérifie que l'utilisateur a les droits de transférer les lots |
21 |
|
|
if ($f->isAccredited($obj . "_transferer")) { |
22 |
|
|
|
23 |
|
|
//Vérifie que l'identifiant passé est correcte |
24 |
|
|
if ( is_numeric($ido) && $ido != "" && $obj != "" && $objk != "" ){ |
25 |
|
|
|
26 |
|
|
//Vérifie que l'identifiant existe |
27 |
|
|
$sql = "SELECT |
28 |
|
|
$objk |
29 |
|
|
FROM |
30 |
|
|
".DB_PREFIXE."$obj |
31 |
|
|
WHERE $objk = $ido"; |
32 |
|
|
|
33 |
|
|
$res = $f->db->query($sql); |
34 |
|
|
$f->isDatabaseError($res); |
35 |
|
|
|
36 |
|
|
//Si l'identifiant existe bien, transfère |
37 |
|
|
if ( $res->numrows() > 0 ){ |
38 |
|
|
|
39 |
|
|
//Si les liaisons n'existent pas déjà |
40 |
|
|
$sql = "SELECT |
41 |
|
|
$obj.$objk as $objk, lien_lot_demandeur.demandeur as demandeur |
42 |
|
|
FROM |
43 |
|
|
".DB_PREFIXE."lien_dossier_demandeur |
44 |
|
|
INNER JOIN ".DB_PREFIXE."lien_lot_demandeur |
45 |
|
|
ON |
46 |
|
|
lien_lot_demandeur.demandeur = lien_dossier_demandeur.demandeur |
47 |
|
|
INNER JOIN ".DB_PREFIXE."$obj |
48 |
|
|
ON |
49 |
|
|
$obj.$objk = $ido |
50 |
|
|
WHERE lien_dossier_demandeur.dossier = '$idxDossier'"; |
51 |
|
|
|
52 |
|
|
$res = $f->db->query($sql); |
53 |
|
|
$f->isDatabaseError($res); |
54 |
|
|
|
55 |
|
|
// Récupère la liste des demandeurs associés aux lot et dossier d'instruction |
56 |
|
|
$listDemandeurLie = array(); |
57 |
|
|
if ( $res->numrows() > 0 ) { |
58 |
|
|
|
59 |
|
|
$i = 0; |
60 |
|
|
while($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
61 |
|
|
|
62 |
|
|
$listDemandeurLie[$i++] = $row['demandeur']; |
63 |
|
|
} |
64 |
|
|
} |
65 |
|
|
|
66 |
|
|
// Récupère les demandeurs du dossier d'instruction |
67 |
|
|
$sql = "SELECT |
68 |
|
|
lien_dossier_demandeur.demandeur as demandeur, |
69 |
|
|
lien_dossier_demandeur.petitionnaire_principal as pp |
70 |
|
|
FROM |
71 |
|
|
".DB_PREFIXE."lien_dossier_demandeur |
72 |
|
|
WHERE lien_dossier_demandeur.dossier = '$idxDossier'"; |
73 |
|
|
|
74 |
|
|
$res = $f->db->query($sql); |
75 |
|
|
$f->isDatabaseError($res); |
76 |
|
|
|
77 |
|
|
|
78 |
|
|
// Transfert des demandeurs entre le dossier et le lot |
79 |
|
|
if ( count($listDemandeurLie) != $res->numrows() ){ |
80 |
|
|
|
81 |
|
|
//Supprime les anciens liens |
82 |
|
|
$sql = "DELETE FROM ".DB_PREFIXE."lien_lot_demandeur |
83 |
|
|
WHERE lien_lot_demandeur.lot = $ido"; |
84 |
|
|
|
85 |
|
|
$res2 = $f->db->query($sql); |
86 |
|
|
$f->isDatabaseError($res2); |
87 |
|
|
|
88 |
|
|
$ret = ""; |
89 |
|
|
|
90 |
|
|
// Créé autant de liaisons que de demandeurs liés au dossier d'instruction |
91 |
|
|
while($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
92 |
|
|
|
93 |
|
|
if ( !in_array($row['demandeur'], $listDemandeurLie)){ |
94 |
|
|
|
95 |
|
|
$valLLD = array(); |
96 |
|
|
$valLLD['lien_lot_demandeur'] = NULL; |
97 |
|
|
$valLLD['lot'] = $ido; |
98 |
|
|
$valLLD['demandeur'] = $row['demandeur']; |
99 |
|
|
$valLLD['petitionnaire_principal'] = $row['pp']; |
100 |
|
|
|
101 |
|
|
require_once '../obj/lien_lot_demandeur.class.php'; |
102 |
|
|
$lld = new lien_lot_demandeur("]", $f->db, DEBUG); |
103 |
|
|
$lld->valF = ""; |
104 |
|
|
|
105 |
|
|
$lld->ajouter($valLLD, $f->db, DEBUG) ; |
106 |
|
|
|
107 |
|
|
$sql = "SELECT |
108 |
|
|
civilite.code as code, |
109 |
|
|
CASE WHEN demandeur.qualite='particulier' |
110 |
|
|
THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom)) |
111 |
|
|
ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination)) |
112 |
|
|
END as nom |
113 |
|
|
FROM |
114 |
|
|
".DB_PREFIXE."demandeur |
115 |
|
|
LEFT JOIN |
116 |
|
|
".DB_PREFIXE."civilite |
117 |
|
|
ON |
118 |
|
|
demandeur.particulier_civilite = civilite.civilite OR |
119 |
|
|
demandeur.personne_morale_civilite = civilite.civilite |
120 |
|
|
WHERE demandeur.demandeur = ".$row['demandeur']; |
121 |
|
|
|
122 |
|
|
$res2 = $f->db->query($sql); |
123 |
|
|
$f->isDatabaseError($res2); |
124 |
|
|
$row=& $res2->fetchRow(DB_FETCHMODE_ASSOC); |
125 |
|
|
$ret .= $row['code']. " " . $row['nom'] . "<br/>" ; |
126 |
|
|
} |
127 |
|
|
} |
128 |
|
|
|
129 |
|
|
//Envoie du message de retour |
130 |
|
|
echo json_encode($ret.";Transfert effectue avec succes"); |
131 |
|
|
} |
132 |
|
|
//Sinon |
133 |
|
|
else { |
134 |
|
|
//Envoie du message de retour |
135 |
|
|
echo json_encode("Les demandeurs ont deja ete transferes"); |
136 |
|
|
} |
137 |
|
|
|
138 |
|
|
} |
139 |
|
|
//Sinon |
140 |
|
|
else { |
141 |
|
|
|
142 |
|
|
//Envoie du message de retour |
143 |
|
|
echo json_encode("Cet identifiant n'existe pas"); |
144 |
|
|
} |
145 |
|
|
} |
146 |
|
|
//Sinon |
147 |
|
|
else { |
148 |
|
|
|
149 |
|
|
//Envoie du message de retour |
150 |
|
|
echo json_encode("Identifiant de $obj incorrect"); |
151 |
|
|
} |
152 |
|
|
} |
153 |
|
|
//Sinon |
154 |
|
|
else { |
155 |
|
|
|
156 |
|
|
//Envoie du message de retour |
157 |
|
|
echo json_encode("Droits insuffisants. Vous n'avez pas suffisamment de droits pour acceder a cette page."); |
158 |
|
|
} |
159 |
|
|
|
160 |
|
|
?> |