93 |
elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc")) |
elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc")) |
94 |
include ("../sql/".$db->phptype."/".$this->table.".form.inc"); |
include ("../sql/".$db->phptype."/".$this->table.".form.inc"); |
95 |
|
|
96 |
//Récupération de paramètre pour le rechargement ajax du select |
// Si en ajout |
97 |
$idx_dossier = $this->getParameter("idx_dossier"); |
if ($maj == 0) { |
98 |
$datd = $this->getParameter("datd"); |
//Récupération de paramètre pour le rechargement ajax du select |
99 |
|
$idx_dossier = $this->getParameter("idx_dossier"); |
100 |
$contenu = array(); |
$datd = $this->getParameter("datd"); |
101 |
|
|
102 |
// Ajout de filtre sur la requête (initial) |
$contenu = array(); |
103 |
if(isset($idx_dossier) AND $idx_dossier != "") { |
|
104 |
$sql_demande_type .= " WHERE demande_type.demande_nature = 2 "; |
$sql_demande_type = "SELECT demande_type.demande_type, demande_type.libelle FROM ".DB_PREFIXE."demande_type |
105 |
|
LEFT OUTER JOIN ".DB_PREFIXE."lien_demande_type_etat_dossier_autorisation |
106 |
|
ON lien_demande_type_etat_dossier_autorisation.demande_type=demande_type.demande_type |
107 |
|
LEFT OUTER JOIN ".DB_PREFIXE."dossier_autorisation |
108 |
|
ON lien_demande_type_etat_dossier_autorisation.etat_dossier_autorisation= |
109 |
|
dossier_autorisation.etat_dossier_autorisation |
110 |
|
LEFT OUTER JOIN ".DB_PREFIXE."dossier |
111 |
|
ON dossier.dossier_autorisation=dossier_autorisation.dossier_autorisation"; |
112 |
|
|
113 |
|
|
114 |
|
// Ajout de filtre sur la requête (initial) |
115 |
|
if(isset($idx_dossier) AND $idx_dossier != "") { |
116 |
|
$sql_demande_type .= " WHERE demande_type.demande_nature = 2 "; |
117 |
|
|
118 |
// ajout du numéro de dossier existant pour tester l'état du DA |
// ajout du numéro de dossier existant pour tester l'état du DA |
119 |
$sql_demande_type .= "AND dossier.dossier = '".$idx_dossier."' "; |
$sql_demande_type .= "AND dossier.dossier = '".$idx_dossier."' "; |
120 |
} else { |
} else { |
121 |
$sql_demande_type .= " WHERE demande_type.demande_nature = 1 "; |
$sql_demande_type .= " WHERE demande_type.demande_nature = 1 "; |
122 |
} |
} |
123 |
if(isset($_POST["dossier_autorisation_type_detaille"]) AND $_POST["dossier_autorisation_type_detaille"] != "") { |
if(isset($_POST["dossier_autorisation_type_detaille"]) AND $_POST["dossier_autorisation_type_detaille"] != "") { |
124 |
$datd = $_POST["dossier_autorisation_type_detaille"]; |
$datd = $_POST["dossier_autorisation_type_detaille"]; |
125 |
} |
} |
126 |
// Ajout de filtre sur la requête (dossier_autorisation_type_detaille) |
// Ajout de filtre sur la requête (dossier_autorisation_type_detaille) |
127 |
if(isset($datd) AND $datd != "") { |
if(isset($datd) AND $datd != "") { |
|
$sql_demande_type .= " AND demande_type.dossier_autorisation_type_detaille = ".$datd; |
|
|
} else { |
|
|
$datd = $this->getVal("dossier_autorisation_type_detaille"); |
|
|
if ($datd != "") { |
|
128 |
$sql_demande_type .= " AND demande_type.dossier_autorisation_type_detaille = ".$datd; |
$sql_demande_type .= " AND demande_type.dossier_autorisation_type_detaille = ".$datd; |
129 |
|
} else { |
130 |
|
$datd = $this->getVal("dossier_autorisation_type_detaille"); |
131 |
|
if ($datd != "") { |
132 |
|
$sql_demande_type .= " AND demande_type.dossier_autorisation_type_detaille = ".$datd; |
133 |
|
} |
134 |
} |
} |
135 |
} |
$sql_demande_type .= " ORDER BY demande_type.libelle"; |
136 |
|
$res = $db->query($sql_demande_type); |
137 |
|
|
138 |
$res = $db->query($sql_demande_type); |
// logger |
139 |
|
$this->f->addToLog("setSelect(): db->query(\"".$sql_demande_type."\");", |
140 |
|
VERBOSE_MODE); |
141 |
|
if ( database::isError($res)){ |
142 |
|
die(); |
143 |
|
} |
144 |
|
|
145 |
// logger |
$contenu[0][0] = ''; |
146 |
$this->f->addToLog("setSelect(): db->query(\"".$sql_demande_type."\");", |
$contenu[1][0] = _('choisir')." "._("demande_type"); |
|
VERBOSE_MODE); |
|
|
if ( database::isError($res)){ |
|
|
die(); |
|
|
} |
|
147 |
|
|
148 |
$contenu[0][0] = ''; |
$k=1; |
149 |
$contenu[1][0] = _('choisir')." "._("demande_type"); |
while($row =& $res->fetchRow()){ |
150 |
|
|
151 |
$k=1; |
$contenu[0][$k] = $row[0]; |
152 |
while($row =& $res->fetchRow()){ |
$contenu[1][$k] = $row[1]; |
153 |
|
$k++; |
154 |
|
} |
155 |
|
|
156 |
$contenu[0][$k] = $row[0]; |
$form->setSelect("demande_type", $contenu); |
|
$contenu[1][$k] = $row[1]; |
|
|
$k++; |
|
157 |
} |
} |
158 |
|
|
|
$form->setSelect("demande_type", $contenu); |
|
|
|
|
159 |
} |
} |
160 |
/* |
/* |
161 |
* Ajout du fielset |
* Ajout du fielset |
198 |
*/ |
*/ |
199 |
function setOnchange(&$form,$maj){ |
function setOnchange(&$form,$maj){ |
200 |
parent::setOnchange($form,$maj); |
parent::setOnchange($form,$maj); |
201 |
|
|
202 |
$form->setOnchange("dossier_autorisation_type_detaille","changeDemandeType();"); |
$form->setOnchange("dossier_autorisation_type_detaille","changeDemandeType();"); |
203 |
$form->setOnchange("demande_type","showFormsDemande();"); |
$form->setOnchange("demande_type","showFormsDemande();"); |
204 |
} |
} |
207 |
parent::setLib($form,$maj); |
parent::setLib($form,$maj); |
208 |
//libelle des champs |
//libelle des champs |
209 |
|
|
210 |
$form->setLib('complement',_('terrain_adresse')); |
$form->setLib('terrain_adresse_voie',_('terrain_adresse')); |
211 |
} |
} |
212 |
/* |
/* |
213 |
* Cache le champ terrain_references_cadastrales |
* Cache le champ terrain_references_cadastrales |
228 |
$form->setType('dossier_autorisation_type_detaille', 'selecthiddenstatic'); |
$form->setType('dossier_autorisation_type_detaille', 'selecthiddenstatic'); |
229 |
$form->setType('terrain_references_cadastrales', 'hiddenstatic'); |
$form->setType('terrain_references_cadastrales', 'hiddenstatic'); |
230 |
$form->setType('terrain_adresse_voie_numero', 'hiddenstatic'); |
$form->setType('terrain_adresse_voie_numero', 'hiddenstatic'); |
231 |
$form->setType('complement', 'hiddenstatic'); |
$form->setType('terrain_adresse_voie', 'hiddenstatic'); |
232 |
$form->setType('terrain_adresse_lieu_dit', 'hiddenstatic'); |
$form->setType('terrain_adresse_lieu_dit', 'hiddenstatic'); |
233 |
$form->setType('terrain_adresse_localite', 'hiddenstatic'); |
$form->setType('terrain_adresse_localite', 'hiddenstatic'); |
234 |
$form->setType('terrain_adresse_code_postal', 'hiddenstatic'); |
$form->setType('terrain_adresse_code_postal', 'hiddenstatic'); |
252 |
function ajoutDossierAutorisation($id, &$db, $val, $DEBUG){ |
function ajoutDossierAutorisation($id, &$db, $val, $DEBUG){ |
253 |
require_once '../obj/dossier_autorisation.class.php'; |
require_once '../obj/dossier_autorisation.class.php'; |
254 |
$dossier_autorisation = new dossier_autorisation("]",$db,$DEBUG); |
$dossier_autorisation = new dossier_autorisation("]",$db,$DEBUG); |
255 |
$id_etat_initial_da = $this->f->getParameter('etat_initial_dossier_autorisation'); |
$id_etat_initial_da = $this->f->getParameter('id_etat_initial_dossier_autorisation'); |
256 |
$error = false; |
$error = false; |
257 |
|
|
258 |
// Vérification de l'existance d'un état initial des DA dans la table om_parametre |
// Vérification de l'existance d'un état initial des DA dans la table om_parametre |
279 |
$valAuto['exercice']=NULL; |
$valAuto['exercice']=NULL; |
280 |
$valAuto['insee']=NULL; |
$valAuto['insee']=NULL; |
281 |
$valAuto['arrondissement']=NULL; |
$valAuto['arrondissement']=NULL; |
282 |
$valAuto['etat_dossier_autorisation']=$this->f->getParameter('etat_initial_dossier_autorisation'); |
$valAuto['etat_dossier_autorisation']=$this->f->getParameter('id_etat_initial_dossier_autorisation'); |
283 |
$valAuto['erp_numero_batiment']=NULL; |
$valAuto['erp_numero_batiment']=NULL; |
284 |
$valAuto['erp_ouvert']=NULL; |
$valAuto['erp_ouvert']=NULL; |
285 |
$valAuto['erp_arrete_decision']=NULL; |
$valAuto['erp_arrete_decision']=NULL; |
287 |
$valAuto['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
$valAuto['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
288 |
$valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
$valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
289 |
$valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
$valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
290 |
$valAuto['complement']=$this->valF['complement']; |
$valAuto['terrain_adresse_voie']=$this->valF['terrain_adresse_voie']; |
291 |
$valAuto['terrain_adresse_lieu_dit']=$this->valF['terrain_adresse_lieu_dit']; |
$valAuto['terrain_adresse_lieu_dit']=$this->valF['terrain_adresse_lieu_dit']; |
292 |
$valAuto['terrain_adresse_localite']=$this->valF['terrain_adresse_localite']; |
$valAuto['terrain_adresse_localite']=$this->valF['terrain_adresse_localite']; |
293 |
$valAuto['terrain_adresse_code_postal']=$this->valF['terrain_adresse_code_postal']; |
$valAuto['terrain_adresse_code_postal']=$this->valF['terrain_adresse_code_postal']; |
354 |
$valInstr['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
$valInstr['depot_initial']=$this->dateDBToForm($this->valF['date_demande']); |
355 |
$valInstr['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
$valInstr['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales']; |
356 |
$valInstr['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
$valInstr['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero']; |
357 |
$valInstr['complement']=$this->valF['complement']; |
$valInstr['terrain_adresse_voie']=$this->valF['terrain_adresse_voie']; |
358 |
$valInstr['terrain_adresse_lieu_dit']=$this->valF['terrain_adresse_lieu_dit']; |
$valInstr['terrain_adresse_lieu_dit']=$this->valF['terrain_adresse_lieu_dit']; |
359 |
$valInstr['terrain_adresse_localite']=$this->valF['terrain_adresse_localite']; |
$valInstr['terrain_adresse_localite']=$this->valF['terrain_adresse_localite']; |
360 |
$valInstr['terrain_adresse_code_postal']=$this->valF['terrain_adresse_code_postal']; |
$valInstr['terrain_adresse_code_postal']=$this->valF['terrain_adresse_code_postal']; |
367 |
/* |
/* |
368 |
* Gestion de la qualification |
* Gestion de la qualification |
369 |
* */ |
* */ |
370 |
//Récupérer le code du type de la demande |
// Initialise le champ à false |
371 |
$codeDemandeType = $this->getCodeDemandeType($val['demande_type']); |
$valInstr['a_qualifier'] = false; |
372 |
|
|
373 |
//Marque le dossier comme à qualifier selon le type de dossier d'instruction |
// Récupère l'information depuis le type de la demande |
374 |
if ( strcasecmp($codeDemandeType, "DI") == 0 || |
$qualification = $this->get_qualification($val['demande_type']); |
375 |
strcasecmp($codeDemandeType, "DT") == 0 || |
|
376 |
strcasecmp($codeDemandeType, "DM") == 0 || |
// Si le dossier doit être à qualifier |
377 |
strcasecmp($codeDemandeType, "DP") == 0 || |
if ($qualification === 't') { |
378 |
strcasecmp($codeDemandeType, "DTP") == 0 || |
// Met le champ à true |
379 |
strcasecmp($codeDemandeType, "DAACT") == 0 || |
$valInstr['a_qualifier'] = true; |
|
strcasecmp($codeDemandeType, "DOC") == 0 ){ |
|
|
|
|
|
$valInstr['a_qualifier'] = TRUE; |
|
380 |
} |
} |
381 |
|
|
382 |
// Récupération du cerfa pour le type d'instruction sélectionnée et valide |
// Récupération du cerfa pour le type d'instruction sélectionnée et valide |
383 |
$sql = "SELECT |
$sql = "SELECT |
384 |
dossier_instruction_type.cerfa |
dossier_autorisation_type_detaille.cerfa |
385 |
FROM |
FROM |
386 |
".DB_PREFIXE."dossier_instruction_type |
".DB_PREFIXE."dossier_autorisation_type_detaille |
387 |
JOIN |
JOIN |
388 |
".DB_PREFIXE."cerfa |
".DB_PREFIXE."cerfa |
389 |
ON |
ON |
390 |
dossier_instruction_type.cerfa = cerfa.cerfa |
dossier_autorisation_type_detaille.cerfa = cerfa.cerfa |
391 |
WHERE |
WHERE |
392 |
now()<=om_validite_fin |
now()<=om_validite_fin |
393 |
AND now()>=om_validite_debut |
AND now()>=om_validite_debut |
394 |
AND dossier_instruction_type=".$dossier_instruction_type; |
AND dossier_autorisation_type_detaille=".$this->valF['dossier_autorisation_type_detaille']; |
395 |
$valInstr['cerfa'] = $db->getOne($sql); |
$valInstr['cerfa'] = $db->getOne($sql); |
396 |
$this->f->addToLog("ajoutDossierInstruction() : db->getone(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("ajoutDossierInstruction() : db->getone(\"".$sql."\");", VERBOSE_MODE); |
397 |
if ( database::isError($valInstr['cerfa'])){ |
if ( database::isError($valInstr['cerfa'])){ |
398 |
die(); |
die(); |
399 |
} |
} |
400 |
$dossier->ajouter($valInstr, $db, $DEBUG); |
$dossier->ajouter($valInstr, $db, $DEBUG); |
401 |
|
|
402 |
|
//Affichage de message à l'utilisateur concernant un problème lors de |
403 |
|
//l'affectation de l'instructeur au dossier d'instruction |
404 |
|
if ($dossier->valF['dossier_autorisation'] === '' && |
405 |
|
$dossier->valF['instructeur'] === NULL){ |
406 |
|
$this->addToMessage(_("Aucun instructeur compatible avec ce dossier, contactez votre administrateur afin d'en assigner un a ce dossier.")); |
407 |
|
} |
408 |
|
elseif ( $dossier->valF['instructeur'] === NULL ){ |
409 |
|
if ($this->f->isAccredited("dossier_modifier_instructeur")) { |
410 |
|
$this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")); |
411 |
|
} else { |
412 |
|
$this->addToMessage(_("Aucun instructeur compatible avec ce dossier, contactez votre administrateur afin d'en assigner un a ce dossier.")); |
413 |
|
} |
414 |
|
} |
415 |
|
|
416 |
// Liaison du dossier ajouter à la demande |
// Liaison du dossier ajouter à la demande |
417 |
$this->valF['dossier_instruction'] = $dossier->valF['dossier']; |
$this->valF['dossier_instruction'] = $dossier->valF['dossier']; |
418 |
} |
} |
419 |
|
|
420 |
/** |
/** |
421 |
* Méthode permettant d'ajouter les données techniques au dossier d'instruction |
* Méthode permettant d'ajouter les données techniques au dossier d'autorisation |
422 |
*/ |
*/ |
423 |
function ajoutDonneesTechniques($id, &$db, $val, $DEBUG){ |
function ajoutDonneesTechniquesDA($id, &$db, $val, $DEBUG){ |
424 |
|
|
425 |
require_once '../obj/donnees_techniques.class.php'; |
require_once '../obj/donnees_techniques.class.php'; |
426 |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
427 |
|
|
428 |
// Champs tous à NULL car seul le champ concernant le dossier d'instruction sera rempli |
// Champs tous à NULL car seul le champ concernant le dossier d'autorisation sera rempli |
429 |
foreach($donnees_techniques->champs as $value) { |
foreach($donnees_techniques->champs as $value) { |
430 |
$val[$value] = NULL; |
$val[$value] = NULL; |
431 |
} |
} |
432 |
|
|
433 |
// Ajout du numéro de dossier d'instruction |
// Ajout du numéro de dossier d'instruction |
434 |
$val['dossier_instruction']=$this->valF['dossier_instruction']; |
$val['dossier_autorisation']=$this->valF['dossier_autorisation']; |
435 |
|
|
436 |
// Ajout des données techniques |
// Ajout des données techniques |
437 |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
438 |
} |
} |
439 |
|
|
440 |
/** |
/** |
441 |
* Ajout des liens demandeurs / dossier d'autorisation |
* Méthode permettant d'ajouter les données techniques au dossier d'autorisation |
442 |
|
*/ |
443 |
|
function ajoutDonneesTechniquesDI($id, &$db, $val, $DEBUG){ |
444 |
|
|
445 |
|
// Requête permettant de récupérer le dernier enregistrement en base des données techniques |
446 |
|
// liées au dossier d'autorisationdu dossier d'instruction en cours de création |
447 |
|
$sql_dt_from_da = "SELECT donnees_techniques |
448 |
|
FROM ".DB_PREFIXE."donnees_techniques |
449 |
|
WHERE dossier_autorisation = '".$this->valF['dossier_autorisation']."' |
450 |
|
ORDER BY donnees_techniques DESC"; |
451 |
|
// Récupération de l'id |
452 |
|
$id_da = $this->db->getOne($sql_dt_from_da); |
453 |
|
if ( database::isError($id_da)){ |
454 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
455 |
|
$this->addToErrors("", |
456 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite"), |
457 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite")); |
458 |
|
return false; |
459 |
|
} |
460 |
|
require_once '../obj/donnees_techniques.class.php'; |
461 |
|
$donnees_techniques = new donnees_techniques($id_da,$db,$DEBUG); |
462 |
|
|
463 |
|
// Récupération des données du DA |
464 |
|
foreach($donnees_techniques->champs as $value) { |
465 |
|
$val[$value] = $donnees_techniques->getVal($value); |
466 |
|
} |
467 |
|
|
468 |
|
// Ajout du numéro de dossier d'instruction |
469 |
|
$val['dossier_instruction'] = $this->valF['dossier_instruction']; |
470 |
|
// Suppression du numéro de dossier d'autorisation |
471 |
|
$val['dossier_autorisation'] = NULL; |
472 |
|
|
473 |
|
// Ajout des données techniques |
474 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
475 |
|
} |
476 |
|
|
477 |
|
/** |
478 |
|
* Ajout des liens demandeurs / dossier d'autorisation s'ils n'y sont pas déjà |
479 |
**/ |
**/ |
480 |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
481 |
// Création des liens entre le dossier autorisation et les demandeurs |
// Création des liens entre le dossier autorisation et les demandeurs |
483 |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
484 |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
485 |
// Recupération des demandeurs liés à la demande |
// Recupération des demandeurs liés à la demande |
486 |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur); |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur. |
487 |
|
" AND lien_demande_demandeur.demandeur NOT IN ( |
488 |
|
SELECT lien_dossier_autorisation_demandeur.demandeur |
489 |
|
FROM ".DB_PREFIXE."lien_dossier_autorisation_demandeur |
490 |
|
WHERE lien_dossier_autorisation_demandeur.dossier_autorisation = |
491 |
|
'".$this->valF['dossier_autorisation']."' |
492 |
|
)"); |
493 |
$res = $db->query($sql); |
$res = $db->query($sql); |
494 |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
495 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
613 |
|
|
614 |
return $lettretype; |
return $lettretype; |
615 |
} |
} |
616 |
|
|
617 |
|
/** |
618 |
|
* Retourne le libellé du dossier d'autorisation |
619 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
620 |
|
* @return string Libellé dossier d'autorisation |
621 |
|
*/ |
622 |
|
function get_dossier_autorisation_libelle($dossier_autorisation) { |
623 |
|
|
624 |
|
$dossier_autorisation_libelle = ""; |
625 |
|
|
626 |
|
// Requête SQL |
627 |
|
$sql = "SELECT |
628 |
|
dossier_autorisation_libelle |
629 |
|
FROM |
630 |
|
".DB_PREFIXE."dossier_autorisation |
631 |
|
WHERE |
632 |
|
dossier_autorisation = '$dossier_autorisation'"; |
633 |
|
|
634 |
|
$dossier_autorisation_libelle = $this->db->getOne($sql); |
635 |
|
$this->addToLog("get_dossier_autorisation_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
636 |
|
database::isError($dossier_autorisation_libelle); |
637 |
|
|
638 |
|
// Retourne le résultat |
639 |
|
return $dossier_autorisation_libelle; |
640 |
|
} |
641 |
|
|
642 |
|
/** |
643 |
|
* Retourne le libellé du dossier d'autorisation |
644 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
645 |
|
* @return string Libellé dossier d'autorisation |
646 |
|
*/ |
647 |
|
function get_dossier_libelle($dossier) { |
648 |
|
|
649 |
|
$dossier_libelle = ""; |
650 |
|
|
651 |
|
// Requête SQL |
652 |
|
$sql = "SELECT |
653 |
|
dossier_libelle |
654 |
|
FROM |
655 |
|
".DB_PREFIXE."dossier |
656 |
|
WHERE |
657 |
|
dossier = '$dossier'"; |
658 |
|
|
659 |
|
$dossier_libelle = $this->db->getOne($sql); |
660 |
|
$this->addToLog("get_dossier_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
661 |
|
database::isError($dossier_libelle); |
662 |
|
|
663 |
|
// Retourne le résultat |
664 |
|
return $dossier_libelle; |
665 |
|
} |
666 |
|
|
667 |
/** |
/** |
668 |
* Ajout des dossiers |
* Ajout des dossiers |
669 |
**/ |
**/ |
670 |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
671 |
|
|
672 |
include '../sql/pgsql/demande.form.inc.php'; |
include '../sql/pgsql/demande.form.inc.php'; |
673 |
|
|
674 |
if($this->valF["demande_type"] != NULL) { |
if($this->valF["demande_type"] != NULL) { |
675 |
$res = $db->query(str_replace('<idx>', $this->valF['demande_type'], $sql_demande_type_details_by_id)); |
$res = $db->query(str_replace('<idx>', $this->valF['demande_type'], $sql_demande_type_details_by_id)); |
676 |
$this->f->addToLog("triggerAjouter() : db->query(\"".str_replace('<idx>', $this->valF['demande_type'], $sql_demande_type_details_by_id)."\")", VERBOSE_MODE); |
$this->f->addToLog("triggerAjouter() : db->query(\"".str_replace('<idx>', $this->valF['demande_type'], $sql_demande_type_details_by_id)."\")", VERBOSE_MODE); |
677 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
678 |
die(); |
die(); |
679 |
} |
} |
680 |
|
// Attribut permettant de définir si un dossier a été créé |
681 |
|
$this->ajoutDI = FALSE; |
682 |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
683 |
// Création du dossier_autorisation |
// Création du dossier_autorisation |
684 |
if($this->valF['dossier_autorisation'] == "") { |
if($this->valF['dossier_autorisation'] == "") { |
685 |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
686 |
$this -> addToMessage(_("Creation du dossier d'autorisation no").$this->valF['dossier_autorisation']); |
$this -> addToMessage(_("Creation du dossier d'autorisation no").$this->get_dossier_autorisation_libelle($this->valF['dossier_autorisation'])); |
687 |
|
//Ajout des données techniques au dossier d'autorisation |
688 |
|
$this->ajoutDonneesTechniquesDA($id, $db, $val, $DEBUG); |
689 |
|
} |
690 |
|
// Enregistrement du numéro dossier existant (il sera écrasé si un DI est créé) |
691 |
|
if ($this->getParameter("idx_dossier") != "") { |
692 |
|
$this->valF['dossier_instruction'] = $this->getParameter("idx_dossier"); |
693 |
} |
} |
694 |
// Création du dossier d'instruction |
// Création du dossier d'instruction |
695 |
if($dossier_type['dossier_instruction_type'] != NULL) { |
if($dossier_type['dossier_instruction_type'] != NULL) { |
696 |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
697 |
$this -> addToMessage(_("Creation du dossier d'instruction no").$this->valF['dossier_instruction']); |
$this -> addToMessage(_("Creation du dossier d'instruction no").$this->get_dossier_libelle($this->valF['dossier_instruction'])); |
698 |
|
// Attribut permettant de définir si un dossier a été créé. |
699 |
|
$this->ajoutDI = TRUE; |
700 |
|
|
701 |
//Ajout des données techniques au dossier d'instruction |
//Ajout des données techniques au dossier d'instruction |
702 |
$this->ajoutDonneesTechniques($id, $db, $val, $DEBUG); |
$this->ajoutDonneesTechniquesDI($id, $db, $val, $DEBUG); |
703 |
|
} |
704 |
|
|
705 |
|
// Si le dossier_instruction existe |
706 |
|
if (isset($this->valF['dossier_instruction']) && $this->valF['dossier_instruction'] !== "" ) { |
707 |
|
// Récupère les informations nécessaire pour créer le répertoire de numérisation |
708 |
|
$getInfosForFoldername = $this->getInfosForFoldername($this->valF['dossier_instruction']); |
709 |
|
// Création du répertoire pour la numérisation |
710 |
|
if ($this->createFolder($getInfosForFoldername['dossier_autorisation'], $getInfosForFoldername['code'], $getInfosForFoldername['version']) === false) { |
711 |
|
$this->correct = false; |
712 |
|
// efface les messages précédents |
713 |
|
$this->msg = ''; |
714 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
715 |
|
$this->addToErrors('', _("Le repertoire du dossier d'instruction ne s'est pas cree dans le repertoire de numerisation.")." "._("Veuillez contacter votre administrateur."), _("Le repertoire du dossier d'instruction ne s'est pas cree dans le repertoire de numerisation.")); |
716 |
|
// arrête le traitement entier |
717 |
|
return false; |
718 |
|
} |
719 |
} |
} |
720 |
|
|
721 |
/*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*/ |
766 |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
767 |
$valInstr['archive_date_limite_incompletude']=NULL; |
$valInstr['archive_date_limite_incompletude']=NULL; |
768 |
$valInstr['archive_delai_incompletude']=NULL; |
$valInstr['archive_delai_incompletude']=NULL; |
769 |
|
$valInstr['archive_autorite_competente']=NULL; |
770 |
$valInstr['complement3']=""; |
$valInstr['complement3']=""; |
771 |
$valInstr['complement4']=""; |
$valInstr['complement4']=""; |
772 |
$valInstr['complement5']=""; |
$valInstr['complement5']=""; |
791 |
$valInstr['signataire_arrete']=NULL; |
$valInstr['signataire_arrete']=NULL; |
792 |
$valInstr['numero_arrete']=NULL; |
$valInstr['numero_arrete']=NULL; |
793 |
$valInstr['code_barres']=NULL; |
$valInstr['code_barres']=NULL; |
794 |
|
$valInstr['om_fichier_instruction']=NULL; |
795 |
|
$valInstr['om_final_instruction']=NULL; |
796 |
|
$valInstr['document_numerise']=NULL; |
797 |
|
$valInstr['autorite_competente']=NULL; |
798 |
|
$valInstr['duree_validite_parametrage']="0"; |
799 |
|
$valInstr['duree_validite']="0"; |
800 |
|
|
801 |
/*Fichier requis*/ |
/*Fichier requis*/ |
802 |
require_once '../obj/instruction.class.php'; |
require_once '../obj/instruction.class.php'; |
806 |
$instruction->valF = ""; |
$instruction->valF = ""; |
807 |
$instruction->ajouter($valInstr, $db, $DEBUG); |
$instruction->ajouter($valInstr, $db, $DEBUG); |
808 |
|
|
809 |
|
//Finalisation du document |
810 |
|
$_GET['obj']='instruction'; |
811 |
|
$_GET['idx']=$instruction->valF[$instruction->clePrimaire]; |
812 |
|
$instruction = new instruction($_GET['idx'],$db,$DEBUG); |
813 |
|
$res = $instruction->finaliser('', 1, '', ''); |
814 |
|
|
815 |
/*Si la création a réussie*/ |
/*Si la création a réussie*/ |
816 |
if ( $instruction->valF['instruction'] != "" ){ |
if ( $instruction->valF['instruction'] != "" ){ |
817 |
|
|
819 |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
820 |
$this -> addToMessage("<br/><a |
$this -> addToMessage("<br/><a |
821 |
class='lien' |
class='lien' |
822 |
href='../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction']."' |
href='" |
823 |
|
.((isset($res['pdf'])&&$instruction->valF['om_final_instruction'])?$res['pdf']: |
824 |
|
"../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction'])."' |
825 |
target='_blank'> |
target='_blank'> |
826 |
<span |
<span |
827 |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
851 |
* Ajout des délégataires et pétitionnaires |
* Ajout des délégataires et pétitionnaires |
852 |
**/ |
**/ |
853 |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
854 |
|
|
855 |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
856 |
|
|
857 |
// Ajout des lliens entre dossier_autorisation et demandeur |
// Ajout des lliens entre dossier_autorisation et demandeur |
858 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] == "" ) { |
if(!empty($this->valF['dossier_autorisation'])) { |
859 |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
860 |
} |
} |
861 |
// Ajout des lliens entre dossier et demandeur |
// Ajout des lliens entre dossier et demandeur |
862 |
if(!empty($this->valF['dossier_instruction'])) { |
if($this->ajoutDI === TRUE) { |
863 |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
864 |
} |
} |
865 |
|
|
866 |
// Duplication des lots et liaison au nouveau dossier_d'instruction |
// Duplication des lots (et leurs données techniques) et |
867 |
|
// liaison au nouveau dossier_d'instruction |
868 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
869 |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
870 |
} |
} |
884 |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
885 |
require_once ("../obj/lot.class.php"); |
require_once ("../obj/lot.class.php"); |
886 |
$lot = new lot("]", $db, $DEBUG); |
$lot = new lot("]", $db, $DEBUG); |
|
require_once ("../obj/lien_dossier_lot.class.php"); |
|
|
$ldl = new lien_dossier_lot("]", $db, $DEBUG); |
|
887 |
require_once ("../obj/lien_lot_demandeur.class.php"); |
require_once ("../obj/lien_lot_demandeur.class.php"); |
888 |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
889 |
|
|
898 |
$valLot['lot'] = ""; |
$valLot['lot'] = ""; |
899 |
$valLot['libelle'] = $rowLot['libelle']; |
$valLot['libelle'] = $rowLot['libelle']; |
900 |
$valLot['dossier_autorisation'] = NULL; |
$valLot['dossier_autorisation'] = NULL; |
901 |
|
$valLot['dossier'] = $this->valF['dossier_instruction']; |
902 |
$lot -> ajouter($valLot, $db, $DEBUG); |
$lot -> ajouter($valLot, $db, $DEBUG); |
903 |
|
|
|
//Insertion du lien entre le lot et le dossier d'instruction |
|
|
$valLdl['lien_dossier_lot'] = ""; |
|
|
$valLdl['dossier'] = $this->valF['dossier_instruction']; |
|
|
$valLdl['lot'] = $lot->valF['lot']; |
|
|
$ldl->ajouter($valLdl, $db, $DEBUG); |
|
|
|
|
904 |
//Insertion des liens entre dossier et les lots |
//Insertion des liens entre dossier et les lots |
905 |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
906 |
WHERE lot = ".$rowLot['lot']; |
WHERE lot = ".$rowLot['lot']; |
917 |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
918 |
$lld->ajouter($valLld, $db, $DEBUG); |
$lld->ajouter($valLld, $db, $DEBUG); |
919 |
} |
} |
920 |
|
|
921 |
|
// Récupération des données techniques du nouveau lots |
922 |
|
$this->ajoutDonneesTechniquesLots($id, $db, $val, $DEBUG, $rowLot['lot'], $lot->valF['lot']); |
923 |
|
|
924 |
|
} |
925 |
|
} |
926 |
|
|
927 |
|
|
928 |
|
/** |
929 |
|
* Méthode permettant d'ajouter les données techniques aux lots |
930 |
|
*/ |
931 |
|
function ajoutDonneesTechniquesLots($id, &$db, $val, $DEBUG, $lotInit, $lotDest){ |
932 |
|
// Requete permettant de recupérer les données techniques du lot passé en paramètre ($lotInit) |
933 |
|
$sql_get_dt = "SELECT donnees_techniques FROM ".DB_PREFIXE."donnees_techniques WHERE lot=".$lotInit; |
934 |
|
$id_dt = $this->f->db->getOne($sql_get_dt); |
935 |
|
// Si des données techniques sont liées au lots on les "copie" et on les lies au lot passé en paramètre (lotDest) |
936 |
|
if(isset($id_dt) AND !empty($id_dt)) { |
937 |
|
$this->f->addToLog("ajoutDonneesTechniquesLots() : db->getone(\"".$sql_get_dt."\");", VERBOSE_MODE); |
938 |
|
if ( database::isError($id_dt)){ |
939 |
|
// Appel de la methode de recuperation des erreurs |
940 |
|
$this->erreur_db($id_dt->getDebugInfo(), $id_dt->getMessage(), ''); |
941 |
|
return false; |
942 |
|
} |
943 |
|
require_once '../obj/donnees_techniques.class.php'; |
944 |
|
$donnees_techniques = new donnees_techniques($id_dt,$db,$DEBUG); |
945 |
|
|
946 |
|
// Récupération des données dans le tableau des valeurs à insérer |
947 |
|
foreach($donnees_techniques->champs as $value) { |
948 |
|
$val[$value] = $donnees_techniques->getVal($value); |
949 |
|
} |
950 |
|
// Modification du lien vers le nouveau lot |
951 |
|
$val["lot"] = $lotDest; |
952 |
|
// Ajout des données techniques |
953 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
954 |
} |
} |
955 |
} |
} |
956 |
|
|
1140 |
echo "obj=".get_class($this); |
echo "obj=".get_class($this); |
1141 |
if($this->getParameter("retour")=="form") { |
if($this->getParameter("retour")=="form") { |
1142 |
echo "&idx=".$this->getParameter("idx"); |
echo "&idx=".$this->getParameter("idx"); |
1143 |
|
echo "&idz=".$this->getParameter("idz"); |
1144 |
echo "&action=3"; |
echo "&action=3"; |
1145 |
} |
} |
1146 |
} |
} |
1290 |
} |
} |
1291 |
echo "</div>"; |
echo "</div>"; |
1292 |
echo "</fieldset>"; |
echo "</fieldset>"; |
1293 |
|
// Champ flag permettant de récupérer la valeur de l'option sig pour |
1294 |
|
// l'utiliser en javascript, notamment lors du chargement de l'interface |
1295 |
|
// pour les références cadastrales |
1296 |
|
// XXX Si un widget pour les références cadastrales existait, il n'y |
1297 |
|
// aurait pas besoin de faire cela |
1298 |
|
echo "<input id='option_sig' type='hidden' value='".$this->f->getParameter("option_sig")."' name='option_sig'>"; |
1299 |
echo "</div>"; |
echo "</div>"; |
1300 |
} |
} |
1301 |
|
|
1327 |
} |
} |
1328 |
|
|
1329 |
// }}} |
// }}} |
1330 |
|
|
1331 |
|
|
1332 |
|
/** |
1333 |
|
* Cette fonction permet de récupérer les informations nécessaires |
1334 |
|
* à la génération du nom du répertoire |
1335 |
|
* @param string $dossier Identifiant du dossier |
1336 |
|
* @return array Tableau des résultats |
1337 |
|
*/ |
1338 |
|
private function getInfosForFoldername($dossier) { |
1339 |
|
|
1340 |
|
//Requête SQL |
1341 |
|
$sql = "SELECT dossier.dossier_autorisation, dossier_instruction_type.code, dossier.version |
1342 |
|
FROM ".DB_PREFIXE."dossier |
1343 |
|
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
1344 |
|
ON dossier_instruction_type.dossier_instruction_type = dossier.dossier_instruction_type |
1345 |
|
WHERE dossier.dossier = '".$dossier."'"; |
1346 |
|
$res = $this->f->db->query($sql); |
1347 |
|
$this->addToLog("getInfosForFoldername() : db->query(".$sql.")", VERBOSE_MODE); |
1348 |
|
database::isError($res); |
1349 |
|
|
1350 |
|
// tableau des résultats |
1351 |
|
$row = $res->fetchRow(DB_FETCHMODE_ASSOC); |
1352 |
|
|
1353 |
|
//Formatage du numéro de version |
1354 |
|
require_once '../obj/dossier.class.php'; |
1355 |
|
$dossier = new dossier($dossier,$this->db,DEBUG); |
1356 |
|
$row['version'] = $dossier->getNumeroVersionDossierInstructionType($dossier->getVal('dossier_autorisation'), $dossier->getVal('dossier_instruction_type'), $row['version'], false); |
1357 |
|
|
1358 |
|
// retourne le tableau des résultats |
1359 |
|
return $row; |
1360 |
|
} |
1361 |
|
|
1362 |
|
/** |
1363 |
|
* Cette fonction permet la création du répertoire dans le dossier de numérisation |
1364 |
|
* @param string $dossier_autorisation Identifiant dossier d'autorisation |
1365 |
|
* @param string $code Type du dossier d'instruction |
1366 |
|
* @param int $version Numéro de version du dossier |
1367 |
|
* @return boolean Vrai ou Faux |
1368 |
|
*/ |
1369 |
|
private function createFolder($dossier_autorisation, $code, $version) { |
1370 |
|
|
1371 |
|
// génération du nom du répertoire |
1372 |
|
$foldername = $dossier_autorisation.".".$code.$version; |
1373 |
|
|
1374 |
|
// création du répertoire dans le dossier de numérisation |
1375 |
|
if (isset($this->f->config["path_scan"])) { |
1376 |
|
$dir = $this->f->config["path_scan"]."Todo/"; |
1377 |
|
// vérifie que le répêrtoire des "à traiter" existe |
1378 |
|
// et qu'un répertoire du dossier n'existe pas déjà |
1379 |
|
if (is_dir($dir) && !file_exists($dir.$foldername)) { |
1380 |
|
mkdir($dir.$foldername, 0777); |
1381 |
|
// si la création a réussi |
1382 |
|
$this->addToLog("createFolder() : Success", VERBOSE_MODE); |
1383 |
|
return true; |
1384 |
|
} |
1385 |
|
} |
1386 |
|
|
1387 |
|
// en cas d'échec |
1388 |
|
$this->addToLog("createFolder() : Failure", VERBOSE_MODE); |
1389 |
|
return false; |
1390 |
|
} |
1391 |
|
|
1392 |
|
/** |
1393 |
|
* Récupère le champ "qualification" du type de la demande |
1394 |
|
* @param integer $demande_type Identifiant du type de la demande |
1395 |
|
* @return boolean |
1396 |
|
*/ |
1397 |
|
function get_qualification($demande_type) { |
1398 |
|
|
1399 |
|
// Initialise le résultat |
1400 |
|
$qualification = ""; |
1401 |
|
|
1402 |
|
// Si la condition existe |
1403 |
|
if ($demande_type != '' |
1404 |
|
&& $demande_type != NULL |
1405 |
|
&& is_numeric($demande_type)) { |
1406 |
|
|
1407 |
|
// Requête SQL |
1408 |
|
$sql = "SELECT qualification |
1409 |
|
FROM ".DB_PREFIXE."demande_type |
1410 |
|
WHERE demande_type = $demande_type"; |
1411 |
|
$qualification = $this->db->getOne($sql); |
1412 |
|
$this->f->addToLog("get_qualification() : db->getOne(\"".$sql."\")", VERBOSE_MODE); |
1413 |
|
$this->f->isDatabaseError($qualification); |
1414 |
|
} |
1415 |
|
|
1416 |
|
// Retourne le résultat |
1417 |
|
return $qualification; |
1418 |
|
} |
1419 |
|
|
1420 |
}// fin classe |
}// fin classe |
1421 |
?> |
?> |