13 |
"delegataire" => "", |
"delegataire" => "", |
14 |
"petitionnaire" => array()); |
"petitionnaire" => array()); |
15 |
|
|
16 |
|
var $autreDossierEnCour; |
17 |
|
|
18 |
function demande($id,&$db,$debug) { |
function demande($id,&$db,$debug) { |
19 |
$this->constructeur($id,$db,$debug); |
$this->constructeur($id,$db,$debug); |
20 |
}// fin constructeur |
}// fin constructeur |
71 |
$this->addToMessage("La saisie d'un petitionnaire principal est obligatoire."); |
$this->addToMessage("La saisie d'un petitionnaire principal est obligatoire."); |
72 |
} |
} |
73 |
} |
} |
74 |
|
|
75 |
|
/** |
76 |
|
* Méthode permettant de vérifier si un autre dossier d'instruction est en cour |
77 |
|
* pour le même dossier d'autorisation. |
78 |
|
*/ |
79 |
|
function autreDossierEnCour() { |
80 |
|
|
81 |
|
$idx_dossier = $this->getParameter("idx_dossier"); |
82 |
|
|
83 |
|
// Lorsqu'on se trouve sur un dossier existant |
84 |
|
if(isset($idx_dossier) AND $idx_dossier != "") { |
85 |
|
|
86 |
|
// Si on a pas encore défini si un autre dossier est en cours |
87 |
|
if(!isset($this->autreDossierEnCour)) { |
88 |
|
|
89 |
|
if(file_exists ("../sql/".$this->db->phptype."/".$this->table.".form.inc.php")) |
90 |
|
include ("../sql/".$this->db->phptype."/".$this->table.".form.inc.php"); |
91 |
|
elseif(file_exists ("../sql/".$this->db->phptype."/".$this->table.".form.inc")) |
92 |
|
include ("../sql/".$this->db->phptype."/".$this->table.".form.inc"); |
93 |
|
$request = str_replace('<idx>', $idx_dossier, |
94 |
|
$sql_autreDossierEnCour); |
95 |
|
|
96 |
|
$nbDossier = $this->db->getOne($request); |
97 |
|
$this->f->addToLog("db->getone(\"".$request."\");", VERBOSE_MODE); |
98 |
|
$this->f->isDatabaseError($nbDossier); |
99 |
|
// Si un dossier est en cour return true |
100 |
|
if($nbDossier>0) { |
101 |
|
|
102 |
|
$this->autreDossierEnCour = true; |
103 |
|
} else { |
104 |
|
|
105 |
|
$this->autreDossierEnCour = false; |
106 |
|
} |
107 |
|
|
108 |
|
} |
109 |
|
} else { |
110 |
|
$this->autreDossierEnCour = false; |
111 |
|
} |
112 |
|
|
113 |
|
return $this->autreDossierEnCour; |
114 |
|
} |
115 |
|
|
116 |
|
/** |
117 |
|
* Configuration des select |
118 |
|
*/ |
119 |
|
function setSelect(&$form, $maj,&$db,$debug) { |
120 |
|
parent::setSelect($form, $maj,$db,$debug); |
121 |
|
|
122 |
|
if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php")) |
123 |
|
include ("../sql/".$db->phptype."/".$this->table.".form.inc.php"); |
124 |
|
elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc")) |
125 |
|
include ("../sql/".$db->phptype."/".$this->table.".form.inc"); |
126 |
|
|
127 |
|
//Récupération de paramètre pour le rechargement ajax du select |
128 |
|
$idx_dossier = $this->getParameter("idx_dossier"); |
129 |
|
$datd = $this->getParameter("datd"); |
130 |
|
|
131 |
|
$contenu = array(); |
132 |
|
|
133 |
|
// Ajout de filtre sur la requête (initial) |
134 |
|
if(isset($idx_dossier) AND $idx_dossier != "") { |
135 |
|
$sql_demande_type .= " WHERE demande_nature = 2 "; |
136 |
|
} else { |
137 |
|
$sql_demande_type .= " WHERE demande_nature = 1 "; |
138 |
|
} |
139 |
|
// Ajout de filtre sur la requête (dossier_autorisation_type_detaille) |
140 |
|
if(isset($datd) AND $datd != "") { |
141 |
|
$sql_demande_type .= " AND dossier_autorisation_type_detaille = ".$datd; |
142 |
|
} else { |
143 |
|
$sql_demande_type .= " AND dossier_autorisation_type_detaille = ".$this->getVal("dossier_autorisation_type_detaille"); |
144 |
|
} |
145 |
|
|
146 |
|
$res = $db->query($sql_demande_type); |
147 |
|
|
148 |
|
// logger |
149 |
|
$this->addToLog("setSelect()[gen/obj]: db->query(\"".$sql_demande_type."\");", |
150 |
|
VERBOSE_MODE); |
151 |
|
$this->f->isDatabaseError($res); |
152 |
|
|
153 |
|
$contenu[0][0] = ''; |
154 |
|
$contenu[1][0] = _('choisir')." "._("demande_type"); |
155 |
|
|
156 |
|
$k=1; |
157 |
|
while($row =& $res->fetchRow()){ |
158 |
|
$display = true; |
159 |
|
|
160 |
|
// Vérification des contraintes |
161 |
|
if($row[2] != "") { |
162 |
|
foreach(explode(";", $row[2]) as $meth) { |
163 |
|
if(method_exists($this, $row[2])) { |
164 |
|
// Si une des contrainte est validée on affiche pas l'option |
165 |
|
if($this->$row[2]() === true) { |
166 |
|
$display = false; |
167 |
|
} |
168 |
|
} |
169 |
|
} |
170 |
|
} |
171 |
|
// Affichage ou non de l'option |
172 |
|
if($display) { |
173 |
|
$contenu[0][$k] = $row[0]; |
174 |
|
$contenu[1][$k] = $row[1]; |
175 |
|
$k++; |
176 |
|
} |
177 |
|
} |
178 |
|
|
179 |
|
$form->setSelect("demande_type", $contenu); |
180 |
|
|
181 |
|
} |
182 |
/* |
/* |
183 |
* Ajout du fielset |
* Ajout du fielset |
184 |
* Add fieldset |
* Add fieldset |
211 |
$form->setBloc('terrain_superficie','F'); |
$form->setBloc('terrain_superficie','F'); |
212 |
/*Fin bloc 4*/ |
/*Fin bloc 4*/ |
213 |
|
|
|
/*Champ sur lequel s'ouvre le bloc 4 */ |
|
|
$form->setBloc('nombre_lots','D',"","lots col_12 demande_hidden_bloc"); |
|
|
$form->setFieldset('nombre_lots','D',_('Nombre de lots')); |
|
|
$form->setFieldset('nombre_lots','F',''); |
|
|
$form->setBloc('nombre_lots','F'); |
|
|
/*Fin bloc 5*/ |
|
214 |
} |
} |
215 |
} |
} |
216 |
|
|
250 |
$form->setType('terrain_adresse_bp', 'hiddenstatic'); |
$form->setType('terrain_adresse_bp', 'hiddenstatic'); |
251 |
$form->setType('terrain_adresse_cedex', 'hiddenstatic'); |
$form->setType('terrain_adresse_cedex', 'hiddenstatic'); |
252 |
$form->setType('terrain_superficie', 'hiddenstatic'); |
$form->setType('terrain_superficie', 'hiddenstatic'); |
|
$form->setType('nombre_lots', 'hiddenstatic'); |
|
253 |
} |
} |
254 |
if($maj == 1) { |
if($maj == 1) { |
255 |
$form->setType('dossier_autorisation_type_detaille', 'selecthiddenstatic'); |
$form->setType('dossier_autorisation_type_detaille', 'selecthiddenstatic'); |
272 |
$valAuto[$value] = NULL; |
$valAuto[$value] = NULL; |
273 |
} |
} |
274 |
$valAuto['dossier_autorisation']=NULL; |
$valAuto['dossier_autorisation']=NULL; |
|
$valAuto['nature']=NULL; |
|
275 |
$valAuto['exercice']=NULL; |
$valAuto['exercice']=NULL; |
276 |
$valAuto['insee']=NULL; |
$valAuto['insee']=NULL; |
277 |
$valAuto['arrondissement']=NULL; |
$valAuto['arrondissement']=NULL; |
278 |
$valAuto['etat']=NULL; |
$valAuto['etat_dossier_autorisation']=1; |
279 |
$valAuto['erp_numero_batiment']=NULL; |
$valAuto['erp_numero_batiment']=NULL; |
280 |
$valAuto['erp_ouvert']=NULL; |
$valAuto['erp_ouvert']=NULL; |
281 |
$valAuto['erp_arrete_decision']=NULL; |
$valAuto['erp_arrete_decision']=NULL; |
282 |
$valAuto['dossier_autorisation_type_detaille']=$this->valF['dossier_autorisation_type_detaille']; |
$valAuto['dossier_autorisation_type_detaille']=$this->valF['dossier_autorisation_type_detaille']; |
283 |
$valAuto['depot_initial']=$this->valF['date_demande']; |
$valAuto['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
284 |
$valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
$valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
285 |
$valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
$valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
286 |
$valAuto['complement']=$this->valF['complement']; |
$valAuto['complement']=$this->valF['complement']; |
297 |
$this->valF['dossier_autorisation'] = $dossier_autorisation->valF['dossier_autorisation']; |
$this->valF['dossier_autorisation'] = $dossier_autorisation->valF['dossier_autorisation']; |
298 |
} |
} |
299 |
|
|
300 |
|
function getCodeDemandeType($demande_type){ |
301 |
|
|
302 |
|
$sql = "SELECT |
303 |
|
code |
304 |
|
FROM |
305 |
|
".DB_PREFIXE."demande_type |
306 |
|
WHERE |
307 |
|
demande_type = ".$demande_type; |
308 |
|
$codeDemandeType = $this->db->getOne($sql); |
309 |
|
$this->addToLog("db->getone(\"".$sql."\");", VERBOSE_MODE); |
310 |
|
|
311 |
|
return $codeDemandeType; |
312 |
|
} |
313 |
|
|
314 |
/** |
/** |
315 |
* Méthode permettant d'ajouter un dossier d'instruction |
* Méthode permettant d'ajouter un dossier d'instruction |
316 |
*/ |
*/ |
330 |
$dossier->setDossierInstructionType($dossier_instruction_type); |
$dossier->setDossierInstructionType($dossier_instruction_type); |
331 |
|
|
332 |
// Définition des valeurs à entrée dans la table |
// Définition des valeurs à entrée dans la table |
333 |
$valInstr['dossier_autorisation_type_detaille']=$this->valF['dossier_autorisation_type_detaille']; |
$valInstr['dossier_instruction_type']=$dossier_instruction_type; |
334 |
$valInstr['date_depot']=$this->dateDBToForm($this->valF['date_demande']); |
$valInstr['date_depot']=$this->dateDBToForm($this->valF['date_demande']); |
335 |
$valInstr['date_demande']=$this->dateDBToForm($this->valF['date_demande']); |
$valInstr['date_demande']=$this->dateDBToForm($this->valF['date_demande']); |
336 |
$valInstr['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
$valInstr['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
345 |
$valInstr['terrain_superficie']=$this->valF['terrain_superficie']; |
$valInstr['terrain_superficie']=$this->valF['terrain_superficie']; |
346 |
$valInstr['description']=""; |
$valInstr['description']=""; |
347 |
$valInstr['dossier_autorisation']=$this->valF['dossier_autorisation']; |
$valInstr['dossier_autorisation']=$this->valF['dossier_autorisation']; |
348 |
|
|
349 |
|
/* |
350 |
|
* Gestion de la qualification |
351 |
|
* */ |
352 |
|
//Récupérer le code du type de la demande |
353 |
|
$codeDemandeType = $this->getCodeDemandeType($val['demande_type']); |
354 |
|
|
355 |
|
//Marque le dossier comme à qualifier selon le type de dossier d'instruction |
356 |
|
if ( strcasecmp($codeDemandeType, "DI") == 0 || |
357 |
|
strcasecmp($codeDemandeType, "DT") == 0 || |
358 |
|
strcasecmp($codeDemandeType, "DM") == 0 || |
359 |
|
strcasecmp($codeDemandeType, "DP") == 0 || |
360 |
|
strcasecmp($codeDemandeType, "DTP") == 0 || |
361 |
|
strcasecmp($codeDemandeType, "DAACT") == 0 || |
362 |
|
strcasecmp($codeDemandeType, "DOC") == 0 ){ |
363 |
|
|
364 |
|
$valInstr['a_qualifier'] = TRUE; |
365 |
|
} |
366 |
|
|
367 |
|
// Récupération du cerfa pour le type d'instruction sélectionnée et valide |
368 |
|
$sql = "SELECT |
369 |
|
dossier_instruction_type.cerfa |
370 |
|
FROM |
371 |
|
".DB_PREFIXE."dossier_instruction_type |
372 |
|
JOIN |
373 |
|
".DB_PREFIXE."cerfa |
374 |
|
ON |
375 |
|
dossier_instruction_type.cerfa = cerfa.cerfa |
376 |
|
WHERE |
377 |
|
now()<=om_validite_fin |
378 |
|
AND now()>=om_validite_debut |
379 |
|
AND dossier_instruction_type=".$dossier_instruction_type; |
380 |
|
$valInstr['cerfa'] = $db->getOne($sql); |
381 |
|
$this->addToLog("db->getone(\"".$sql."\");", VERBOSE_MODE); |
382 |
|
|
383 |
$dossier->ajouter($valInstr, $db, $DEBUG); |
$dossier->ajouter($valInstr, $db, $DEBUG); |
384 |
$this->f->isDatabaseError(); |
$this->f->isDatabaseError(); |
385 |
// Liaison du dossier ajouter à la demande |
// Liaison du dossier ajouter à la demande |
387 |
} |
} |
388 |
|
|
389 |
/** |
/** |
390 |
|
* Méthode permettant d'ajouter les données techniques au dossier d'instruction |
391 |
|
*/ |
392 |
|
function ajoutDonneesTechniques($id, &$db, $val, $DEBUG){ |
393 |
|
|
394 |
|
require_once '../obj/donnees_techniques.class.php'; |
395 |
|
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
396 |
|
|
397 |
|
// Champs tous à NULL car seul le champ concernant le dossier d'instruction sera rempli |
398 |
|
foreach($donnees_techniques->champs as $value) { |
399 |
|
$val[$value] = NULL; |
400 |
|
} |
401 |
|
|
402 |
|
// Ajout du numéro de dossier d'instruction |
403 |
|
$val['dossier_instruction']=$this->valF['dossier_instruction']; |
404 |
|
|
405 |
|
// Ajout des données techniques |
406 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
407 |
|
$this->f->isDatabaseError(); |
408 |
|
} |
409 |
|
|
410 |
|
/** |
411 |
* Ajout des liens demandeurs / dossier d'autorisation |
* Ajout des liens demandeurs / dossier d'autorisation |
412 |
**/ |
**/ |
413 |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
546 |
if($dossier_type['dossier_instruction_type'] != NULL) { |
if($dossier_type['dossier_instruction_type'] != NULL) { |
547 |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
548 |
$this -> addToMessage(_("Creation du dossier d'instruction no").$this->valF['dossier_instruction']); |
$this -> addToMessage(_("Creation du dossier d'instruction no").$this->valF['dossier_instruction']); |
549 |
|
|
550 |
|
//Ajout des données techniques au dossier d'instruction |
551 |
|
$this->ajoutDonneesTechniques($id, $db, $val, $DEBUG); |
552 |
} |
} |
553 |
|
|
554 |
/*Création du lien de téléchargement de récépissé de demande*/ |
/*Création du lien de téléchargement de récépissé de demande*/ |
613 |
$valInstr['date_retour_rar']=NULL; |
$valInstr['date_retour_rar']=NULL; |
614 |
$valInstr['date_envoi_controle_legalite']=NULL; |
$valInstr['date_envoi_controle_legalite']=NULL; |
615 |
$valInstr['date_retour_controle_legalite']=NULL; |
$valInstr['date_retour_controle_legalite']=NULL; |
616 |
|
$valInstr['signataire_arrete']=NULL; |
617 |
|
$valInstr['numero_arrete']=NULL; |
618 |
|
|
619 |
/*Fichier requis*/ |
/*Fichier requis*/ |
620 |
require_once '../obj/instruction.class.php'; |
require_once '../obj/instruction.class.php'; |
626 |
|
|
627 |
/*Si la création a réussie*/ |
/*Si la création a réussie*/ |
628 |
if ( $instruction->valF['instruction'] != "" ){ |
if ( $instruction->valF['instruction'] != "" ){ |
629 |
|
print_r($instruction->valF); |
630 |
|
|
631 |
/*Affichage du récépissé de la demande*/ |
/*Affichage du récépissé de la demande*/ |
632 |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
633 |
$this -> addToMessage("<br/><a |
$this -> addToMessage("<br/><a |
634 |
class='lien' |
class='lien' |
635 |
href='../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$this->valF['dossier_instruction']."' |
href='../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction']."' |
636 |
target='_blank'> |
target='_blank'> |
637 |
<span |
<span |
638 |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
672 |
if(!empty($this->valF['dossier_instruction'])) { |
if(!empty($this->valF['dossier_instruction'])) { |
673 |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
674 |
} |
} |
675 |
|
|
676 |
|
// Duplication des lots et liaison au nouveau dossier_d'instruction |
677 |
|
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
678 |
|
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
679 |
|
} |
680 |
} |
} |
681 |
|
|
682 |
/*Ajout du lien demande / demandeur(s)*/ |
/*Ajout du lien demande / demandeur(s)*/ |
688 |
} |
} |
689 |
|
|
690 |
/** |
/** |
691 |
|
* Gestion des liens entre les lots du DA et le nouveau dossier |
692 |
|
**/ |
693 |
|
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
694 |
|
require_once ("../obj/lot.class.php"); |
695 |
|
$lot = new lot("]", $db, $DEBUG); |
696 |
|
require_once ("../obj/lien_dossier_lot.class.php"); |
697 |
|
$ldl = new lien_dossier_lot("]", $db, $DEBUG); |
698 |
|
require_once ("../obj/lien_lot_demandeur.class.php"); |
699 |
|
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
700 |
|
|
701 |
|
|
702 |
|
$sqlLots = "SELECT * FROM ".DB_PREFIXE."lot |
703 |
|
WHERE dossier_autorisation = '".$this->valF['dossier_autorisation']."'"; |
704 |
|
$resLot = $db -> query($sqlLots); |
705 |
|
$this->f->addToLog("db->query(\"".$sqlLots."\");", VERBOSE_MODE); |
706 |
|
$this->f->isDatabaseError($resLot); |
707 |
|
while ($rowLot=& $resLot->fetchRow(DB_FETCHMODE_ASSOC)){ |
708 |
|
// Insertion du nouveau lot |
709 |
|
$valLot['lot'] = ""; |
710 |
|
$valLot['libelle'] = $rowLot['libelle']; |
711 |
|
$valLot['dossier_autorisation'] = NULL; |
712 |
|
$lot -> ajouter($valLot, $db, $DEBUG); |
713 |
|
|
714 |
|
//Insertion du lien entre le lot et le dossier d'instruction |
715 |
|
$valLdl['lien_dossier_lot'] = ""; |
716 |
|
$valLdl['dossier'] = $this->valF['dossier_instruction']; |
717 |
|
$valLdl['lot'] = $lot->valF['lot']; |
718 |
|
$ldl->ajouter($valLdl, $db, $DEBUG); |
719 |
|
|
720 |
|
//Insertion des liens entre dossier et les lots |
721 |
|
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
722 |
|
WHERE lot = ".$rowLot['lot']; |
723 |
|
$res = $db -> query($sqlDemandeurs); |
724 |
|
$this->f->addToLog("db->query(\"".$sqlDemandeurs."\");", VERBOSE_MODE); |
725 |
|
$this->f->isDatabaseError($res); |
726 |
|
|
727 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
728 |
|
$valLld["lien_lot_demandeur"] = ""; |
729 |
|
$valLld["lot"]=$lot->valF['lot']; |
730 |
|
$valLld["demandeur"] = $row['demandeur']; |
731 |
|
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
732 |
|
$lld->ajouter($valLld, $db, $DEBUG); |
733 |
|
} |
734 |
|
} |
735 |
|
} |
736 |
|
|
737 |
|
/** |
738 |
* Gestion des liens entre la demande et les demandeurs recemment ajoutés |
* Gestion des liens entre la demande et les demandeurs recemment ajoutés |
739 |
**/ |
**/ |
740 |
function insertLinkDemandeDemandeur($db, $DEBUG) { |
function insertLinkDemandeDemandeur($db, $DEBUG) { |