/[openfoncier]/trunk/app/transferer_lot_nouveaux_demandeurs.php
ViewVC logotype

Annotation of /trunk/app/transferer_lot_nouveaux_demandeurs.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 6561 byte(s)
Actualisation du trunk
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     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26