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']; |
384 |
|
|
385 |
// 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 |
386 |
$sql = "SELECT |
$sql = "SELECT |
387 |
dossier_instruction_type.cerfa |
dossier_autorisation_type_detaille.cerfa |
388 |
FROM |
FROM |
389 |
".DB_PREFIXE."dossier_instruction_type |
".DB_PREFIXE."dossier_autorisation_type_detaille |
390 |
JOIN |
JOIN |
391 |
".DB_PREFIXE."cerfa |
".DB_PREFIXE."cerfa |
392 |
ON |
ON |
393 |
dossier_instruction_type.cerfa = cerfa.cerfa |
dossier_autorisation_type_detaille.cerfa = cerfa.cerfa |
394 |
WHERE |
WHERE |
395 |
now()<=om_validite_fin |
now()<=om_validite_fin |
396 |
AND now()>=om_validite_debut |
AND now()>=om_validite_debut |
397 |
AND dossier_instruction_type=".$dossier_instruction_type; |
AND dossier_autorisation_type_detaille=".$this->valF['dossier_autorisation_type_detaille']; |
398 |
$valInstr['cerfa'] = $db->getOne($sql); |
$valInstr['cerfa'] = $db->getOne($sql); |
399 |
$this->f->addToLog("ajoutDossierInstruction() : db->getone(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("ajoutDossierInstruction() : db->getone(\"".$sql."\");", VERBOSE_MODE); |
400 |
if ( database::isError($valInstr['cerfa'])){ |
if ( database::isError($valInstr['cerfa'])){ |
401 |
die(); |
die(); |
402 |
} |
} |
403 |
$dossier->ajouter($valInstr, $db, $DEBUG); |
$dossier->ajouter($valInstr, $db, $DEBUG); |
404 |
|
|
405 |
|
//Affichage de message à l'utilisateur concernant un problème lors de |
406 |
|
//l'affectation de l'instructeur au dossier d'instruction |
407 |
|
if ($dossier->valF['dossier_autorisation'] === '' && |
408 |
|
$dossier->valF['instructeur'] === NULL){ |
409 |
|
$this->addToMessage(_("Aucun instructeur compatible avec ce dossier, contactez votre administrateur afin d'en assigner un a ce dossier.")); |
410 |
|
} |
411 |
|
elseif ( $dossier->valF['instructeur'] === NULL ){ |
412 |
|
if ($this->f->isAccredited("dossier_modifier_instructeur")) { |
413 |
|
$this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")); |
414 |
|
} else { |
415 |
|
$this->addToMessage(_("Aucun instructeur compatible avec ce dossier, contactez votre administrateur afin d'en assigner un a ce dossier.")); |
416 |
|
} |
417 |
|
} |
418 |
|
|
419 |
// Liaison du dossier ajouter à la demande |
// Liaison du dossier ajouter à la demande |
420 |
$this->valF['dossier_instruction'] = $dossier->valF['dossier']; |
$this->valF['dossier_instruction'] = $dossier->valF['dossier']; |
421 |
} |
} |
422 |
|
|
423 |
/** |
/** |
424 |
* 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 |
425 |
*/ |
*/ |
426 |
function ajoutDonneesTechniques($id, &$db, $val, $DEBUG){ |
function ajoutDonneesTechniquesDA($id, &$db, $val, $DEBUG){ |
427 |
|
|
428 |
require_once '../obj/donnees_techniques.class.php'; |
require_once '../obj/donnees_techniques.class.php'; |
429 |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
430 |
|
|
431 |
// 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 |
432 |
foreach($donnees_techniques->champs as $value) { |
foreach($donnees_techniques->champs as $value) { |
433 |
$val[$value] = NULL; |
$val[$value] = NULL; |
434 |
} |
} |
435 |
|
|
436 |
// Ajout du numéro de dossier d'instruction |
// Ajout du numéro de dossier d'instruction |
437 |
$val['dossier_instruction']=$this->valF['dossier_instruction']; |
$val['dossier_autorisation']=$this->valF['dossier_autorisation']; |
438 |
|
|
439 |
// Ajout des données techniques |
// Ajout des données techniques |
440 |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
441 |
} |
} |
442 |
|
|
443 |
/** |
/** |
444 |
* Ajout des liens demandeurs / dossier d'autorisation |
* Méthode permettant d'ajouter les données techniques au dossier d'autorisation |
445 |
|
*/ |
446 |
|
function ajoutDonneesTechniquesDI($id, &$db, $val, $DEBUG){ |
447 |
|
|
448 |
|
// Requête permettant de récupérer le dernier enregistrement en base des données techniques |
449 |
|
// liées au dossier d'autorisationdu dossier d'instruction en cours de création |
450 |
|
$sql_dt_from_da = "SELECT donnees_techniques |
451 |
|
FROM ".DB_PREFIXE."donnees_techniques |
452 |
|
WHERE dossier_autorisation = '".$this->valF['dossier_autorisation']."' |
453 |
|
ORDER BY donnees_techniques DESC"; |
454 |
|
// Récupération de l'id |
455 |
|
$id_da = $this->db->getOne($sql_dt_from_da); |
456 |
|
if ( database::isError($id_da)){ |
457 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
458 |
|
$this->addToErrors("", |
459 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite"), |
460 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite")); |
461 |
|
return false; |
462 |
|
} |
463 |
|
require_once '../obj/donnees_techniques.class.php'; |
464 |
|
$donnees_techniques = new donnees_techniques($id_da,$db,$DEBUG); |
465 |
|
|
466 |
|
// Récupération des données du DA |
467 |
|
foreach($donnees_techniques->champs as $value) { |
468 |
|
$val[$value] = $donnees_techniques->getVal($value); |
469 |
|
} |
470 |
|
|
471 |
|
// Ajout du numéro de dossier d'instruction |
472 |
|
$val['dossier_instruction'] = $this->valF['dossier_instruction']; |
473 |
|
// Suppression du numéro de dossier d'autorisation |
474 |
|
$val['dossier_autorisation'] = NULL; |
475 |
|
|
476 |
|
// Ajout des données techniques |
477 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
478 |
|
} |
479 |
|
|
480 |
|
/** |
481 |
|
* Ajout des liens demandeurs / dossier d'autorisation s'ils n'y sont pas déjà |
482 |
**/ |
**/ |
483 |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
484 |
// Création des liens entre le dossier autorisation et les demandeurs |
// Création des liens entre le dossier autorisation et les demandeurs |
486 |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
487 |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
488 |
// Recupération des demandeurs liés à la demande |
// Recupération des demandeurs liés à la demande |
489 |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur); |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur. |
490 |
|
" AND lien_demande_demandeur.demandeur NOT IN ( |
491 |
|
SELECT lien_dossier_autorisation_demandeur.demandeur |
492 |
|
FROM ".DB_PREFIXE."lien_dossier_autorisation_demandeur |
493 |
|
WHERE lien_dossier_autorisation_demandeur.dossier_autorisation = |
494 |
|
'".$this->valF['dossier_autorisation']."' |
495 |
|
)"); |
496 |
$res = $db->query($sql); |
$res = $db->query($sql); |
497 |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
498 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
616 |
|
|
617 |
return $lettretype; |
return $lettretype; |
618 |
} |
} |
619 |
|
|
620 |
|
/** |
621 |
|
* Retourne le libellé du dossier d'autorisation |
622 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
623 |
|
* @return string Libellé dossier d'autorisation |
624 |
|
*/ |
625 |
|
function get_dossier_autorisation_libelle($dossier_autorisation) { |
626 |
|
|
627 |
|
$dossier_autorisation_libelle = ""; |
628 |
|
|
629 |
|
// Requête SQL |
630 |
|
$sql = "SELECT |
631 |
|
dossier_autorisation_libelle |
632 |
|
FROM |
633 |
|
".DB_PREFIXE."dossier_autorisation |
634 |
|
WHERE |
635 |
|
dossier_autorisation = '$dossier_autorisation'"; |
636 |
|
|
637 |
|
$dossier_autorisation_libelle = $this->db->getOne($sql); |
638 |
|
$this->addToLog("get_dossier_autorisation_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
639 |
|
database::isError($dossier_autorisation_libelle); |
640 |
|
|
641 |
|
// Retourne le résultat |
642 |
|
return $dossier_autorisation_libelle; |
643 |
|
} |
644 |
|
|
645 |
|
/** |
646 |
|
* Retourne le libellé du dossier d'autorisation |
647 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
648 |
|
* @return string Libellé dossier d'autorisation |
649 |
|
*/ |
650 |
|
function get_dossier_libelle($dossier) { |
651 |
|
|
652 |
|
$dossier_libelle = ""; |
653 |
|
|
654 |
|
// Requête SQL |
655 |
|
$sql = "SELECT |
656 |
|
dossier_libelle |
657 |
|
FROM |
658 |
|
".DB_PREFIXE."dossier |
659 |
|
WHERE |
660 |
|
dossier = '$dossier'"; |
661 |
|
|
662 |
|
$dossier_libelle = $this->db->getOne($sql); |
663 |
|
$this->addToLog("get_dossier_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
664 |
|
database::isError($dossier_libelle); |
665 |
|
|
666 |
|
// Retourne le résultat |
667 |
|
return $dossier_libelle; |
668 |
|
} |
669 |
|
|
670 |
/** |
/** |
671 |
* Ajout des dossiers |
* Ajout des dossiers |
672 |
**/ |
**/ |
673 |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
674 |
|
|
675 |
include '../sql/pgsql/demande.form.inc.php'; |
include '../sql/pgsql/demande.form.inc.php'; |
676 |
|
|
677 |
if($this->valF["demande_type"] != NULL) { |
if($this->valF["demande_type"] != NULL) { |
678 |
$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)); |
679 |
$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); |
680 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
681 |
die(); |
die(); |
682 |
} |
} |
683 |
|
// Attribut permettant de définir si un dossier a été créé |
684 |
|
$this->ajoutDI = FALSE; |
685 |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
686 |
// Création du dossier_autorisation |
// Création du dossier_autorisation |
687 |
if($this->valF['dossier_autorisation'] == "") { |
if($this->valF['dossier_autorisation'] == "") { |
688 |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
689 |
$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'])); |
690 |
|
//Ajout des données techniques au dossier d'autorisation |
691 |
|
$this->ajoutDonneesTechniquesDA($id, $db, $val, $DEBUG); |
692 |
|
} |
693 |
|
// Enregistrement du numéro dossier existant (il sera écrasé si un DI est créé) |
694 |
|
if ($this->getParameter("idx_dossier") != "") { |
695 |
|
$this->valF['dossier_instruction'] = $this->getParameter("idx_dossier"); |
696 |
} |
} |
697 |
// Création du dossier d'instruction |
// Création du dossier d'instruction |
698 |
if($dossier_type['dossier_instruction_type'] != NULL) { |
if($dossier_type['dossier_instruction_type'] != NULL) { |
699 |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
700 |
$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'])); |
701 |
|
// Attribut permettant de définir si un dossier a été créé. |
702 |
|
$this->ajoutDI = TRUE; |
703 |
|
|
704 |
//Ajout des données techniques au dossier d'instruction |
//Ajout des données techniques au dossier d'instruction |
705 |
$this->ajoutDonneesTechniques($id, $db, $val, $DEBUG); |
$this->ajoutDonneesTechniquesDI($id, $db, $val, $DEBUG); |
706 |
|
} |
707 |
|
|
708 |
|
// Si le dossier_instruction existe |
709 |
|
if (isset($this->valF['dossier_instruction']) && $this->valF['dossier_instruction'] !== "" ) { |
710 |
|
// Récupère les informations nécessaire pour créer le répertoire de numérisation |
711 |
|
$getInfosForFoldername = $this->getInfosForFoldername($this->valF['dossier_instruction']); |
712 |
|
// Création du répertoire pour la numérisation |
713 |
|
if ($this->createFolder($getInfosForFoldername['dossier_autorisation'], $getInfosForFoldername['code'], $getInfosForFoldername['version']) === false) { |
714 |
|
$this->correct = false; |
715 |
|
// efface les messages précédents |
716 |
|
$this->msg = ''; |
717 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
718 |
|
$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.")); |
719 |
|
// arrête le traitement entier |
720 |
|
return false; |
721 |
|
} |
722 |
} |
} |
723 |
|
|
724 |
/*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*/ |
769 |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
770 |
$valInstr['archive_date_limite_incompletude']=NULL; |
$valInstr['archive_date_limite_incompletude']=NULL; |
771 |
$valInstr['archive_delai_incompletude']=NULL; |
$valInstr['archive_delai_incompletude']=NULL; |
772 |
|
$valInstr['archive_autorite_competente']=NULL; |
773 |
$valInstr['complement3']=""; |
$valInstr['complement3']=""; |
774 |
$valInstr['complement4']=""; |
$valInstr['complement4']=""; |
775 |
$valInstr['complement5']=""; |
$valInstr['complement5']=""; |
794 |
$valInstr['signataire_arrete']=NULL; |
$valInstr['signataire_arrete']=NULL; |
795 |
$valInstr['numero_arrete']=NULL; |
$valInstr['numero_arrete']=NULL; |
796 |
$valInstr['code_barres']=NULL; |
$valInstr['code_barres']=NULL; |
797 |
|
$valInstr['om_fichier_instruction']=NULL; |
798 |
|
$valInstr['om_final_instruction']=NULL; |
799 |
|
$valInstr['document_numerise']=NULL; |
800 |
|
$valInstr['autorite_competente']=NULL; |
801 |
|
$valInstr['duree_validite_parametrage']="0"; |
802 |
|
$valInstr['duree_validite']="0"; |
803 |
|
|
804 |
/*Fichier requis*/ |
/*Fichier requis*/ |
805 |
require_once '../obj/instruction.class.php'; |
require_once '../obj/instruction.class.php'; |
809 |
$instruction->valF = ""; |
$instruction->valF = ""; |
810 |
$instruction->ajouter($valInstr, $db, $DEBUG); |
$instruction->ajouter($valInstr, $db, $DEBUG); |
811 |
|
|
812 |
|
//Finalisation du document |
813 |
|
$_GET['obj']='instruction'; |
814 |
|
$_GET['idx']=$instruction->valF[$instruction->clePrimaire]; |
815 |
|
$instruction = new instruction($_GET['idx'],$db,$DEBUG); |
816 |
|
$res = $instruction->finaliser('', 1, '', ''); |
817 |
|
|
818 |
/*Si la création a réussie*/ |
/*Si la création a réussie*/ |
819 |
if ( $instruction->valF['instruction'] != "" ){ |
if ( $instruction->valF['instruction'] != "" ){ |
820 |
|
|
822 |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
823 |
$this -> addToMessage("<br/><a |
$this -> addToMessage("<br/><a |
824 |
class='lien' |
class='lien' |
825 |
href='../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction']."' |
href='" |
826 |
|
.((isset($res['pdf'])&&$instruction->valF['om_final_instruction'])?$res['pdf']: |
827 |
|
"../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction'])."' |
828 |
target='_blank'> |
target='_blank'> |
829 |
<span |
<span |
830 |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
854 |
* Ajout des délégataires et pétitionnaires |
* Ajout des délégataires et pétitionnaires |
855 |
**/ |
**/ |
856 |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
857 |
|
|
858 |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
859 |
|
|
860 |
// Ajout des lliens entre dossier_autorisation et demandeur |
// Ajout des lliens entre dossier_autorisation et demandeur |
861 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] == "" ) { |
if(!empty($this->valF['dossier_autorisation'])) { |
862 |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
863 |
} |
} |
864 |
// Ajout des lliens entre dossier et demandeur |
// Ajout des lliens entre dossier et demandeur |
865 |
if(!empty($this->valF['dossier_instruction'])) { |
if($this->ajoutDI === TRUE) { |
866 |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
867 |
} |
} |
868 |
|
|
869 |
// Duplication des lots et liaison au nouveau dossier_d'instruction |
// Duplication des lots (et leurs données techniques) et |
870 |
|
// liaison au nouveau dossier_d'instruction |
871 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
872 |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
873 |
} |
} |
887 |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
888 |
require_once ("../obj/lot.class.php"); |
require_once ("../obj/lot.class.php"); |
889 |
$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); |
|
890 |
require_once ("../obj/lien_lot_demandeur.class.php"); |
require_once ("../obj/lien_lot_demandeur.class.php"); |
891 |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
892 |
|
|
901 |
$valLot['lot'] = ""; |
$valLot['lot'] = ""; |
902 |
$valLot['libelle'] = $rowLot['libelle']; |
$valLot['libelle'] = $rowLot['libelle']; |
903 |
$valLot['dossier_autorisation'] = NULL; |
$valLot['dossier_autorisation'] = NULL; |
904 |
|
$valLot['dossier'] = $this->valF['dossier_instruction']; |
905 |
$lot -> ajouter($valLot, $db, $DEBUG); |
$lot -> ajouter($valLot, $db, $DEBUG); |
906 |
|
|
|
//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); |
|
|
|
|
907 |
//Insertion des liens entre dossier et les lots |
//Insertion des liens entre dossier et les lots |
908 |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
909 |
WHERE lot = ".$rowLot['lot']; |
WHERE lot = ".$rowLot['lot']; |
920 |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
921 |
$lld->ajouter($valLld, $db, $DEBUG); |
$lld->ajouter($valLld, $db, $DEBUG); |
922 |
} |
} |
923 |
|
|
924 |
|
// Récupération des données techniques du nouveau lots |
925 |
|
$this->ajoutDonneesTechniquesLots($id, $db, $val, $DEBUG, $rowLot['lot'], $lot->valF['lot']); |
926 |
|
|
927 |
|
} |
928 |
|
} |
929 |
|
|
930 |
|
|
931 |
|
/** |
932 |
|
* Méthode permettant d'ajouter les données techniques aux lots |
933 |
|
*/ |
934 |
|
function ajoutDonneesTechniquesLots($id, &$db, $val, $DEBUG, $lotInit, $lotDest){ |
935 |
|
// Requete permettant de recupérer les données techniques du lot passé en paramètre ($lotInit) |
936 |
|
$sql_get_dt = "SELECT donnees_techniques FROM ".DB_PREFIXE."donnees_techniques WHERE lot=".$lotInit; |
937 |
|
$id_dt = $this->f->db->getOne($sql_get_dt); |
938 |
|
// Si des données techniques sont liées au lots on les "copie" et on les lies au lot passé en paramètre (lotDest) |
939 |
|
if(isset($id_dt) AND !empty($id_dt)) { |
940 |
|
$this->f->addToLog("ajoutDonneesTechniquesLots() : db->getone(\"".$sql_get_dt."\");", VERBOSE_MODE); |
941 |
|
if ( database::isError($id_dt)){ |
942 |
|
// Appel de la methode de recuperation des erreurs |
943 |
|
$this->erreur_db($id_dt->getDebugInfo(), $id_dt->getMessage(), ''); |
944 |
|
return false; |
945 |
|
} |
946 |
|
require_once '../obj/donnees_techniques.class.php'; |
947 |
|
$donnees_techniques = new donnees_techniques($id_dt,$db,$DEBUG); |
948 |
|
|
949 |
|
// Récupération des données dans le tableau des valeurs à insérer |
950 |
|
foreach($donnees_techniques->champs as $value) { |
951 |
|
$val[$value] = $donnees_techniques->getVal($value); |
952 |
|
} |
953 |
|
// Modification du lien vers le nouveau lot |
954 |
|
$val["lot"] = $lotDest; |
955 |
|
// Ajout des données techniques |
956 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
957 |
} |
} |
958 |
} |
} |
959 |
|
|
1143 |
echo "obj=".get_class($this); |
echo "obj=".get_class($this); |
1144 |
if($this->getParameter("retour")=="form") { |
if($this->getParameter("retour")=="form") { |
1145 |
echo "&idx=".$this->getParameter("idx"); |
echo "&idx=".$this->getParameter("idx"); |
1146 |
|
echo "&idz=".$this->getParameter("idz"); |
1147 |
echo "&action=3"; |
echo "&action=3"; |
1148 |
} |
} |
1149 |
} |
} |
1294 |
echo "</div>"; |
echo "</div>"; |
1295 |
echo "</fieldset>"; |
echo "</fieldset>"; |
1296 |
echo "</div>"; |
echo "</div>"; |
1297 |
|
|
1298 |
|
// Champ flag permettant de récupérer la valeur de l'option sig pour |
1299 |
|
// l'utiliser en javascript, notamment lors du chargement de l'interface |
1300 |
|
// pour les références cadastrales |
1301 |
|
// XXX Si un widget pour les références cadastrales existait, il n'y |
1302 |
|
// aurait pas besoin de faire cela |
1303 |
|
echo "<input id='option_sig' type='hidden' value='".$this->f->getParameter("option_sig")."' name='option_sig'>"; |
1304 |
} |
} |
1305 |
|
|
1306 |
// {{{ |
// {{{ |
1331 |
} |
} |
1332 |
|
|
1333 |
// }}} |
// }}} |
1334 |
|
|
1335 |
|
|
1336 |
|
/** |
1337 |
|
* Cette fonction permet de récupérer les informations nécessaires |
1338 |
|
* à la génération du nom du répertoire |
1339 |
|
* @param string $dossier Identifiant du dossier |
1340 |
|
* @return array Tableau des résultats |
1341 |
|
*/ |
1342 |
|
private function getInfosForFoldername($dossier) { |
1343 |
|
|
1344 |
|
//Requête SQL |
1345 |
|
$sql = "SELECT dossier.dossier_autorisation, dossier_instruction_type.code, dossier.version |
1346 |
|
FROM ".DB_PREFIXE."dossier |
1347 |
|
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
1348 |
|
ON dossier_instruction_type.dossier_instruction_type = dossier.dossier_instruction_type |
1349 |
|
WHERE dossier.dossier = '".$dossier."'"; |
1350 |
|
$res = $this->f->db->query($sql); |
1351 |
|
$this->addToLog("getInfosForFoldername() : db->query(".$sql.")", VERBOSE_MODE); |
1352 |
|
database::isError($res); |
1353 |
|
|
1354 |
|
// tableau des résultats |
1355 |
|
$row = $res->fetchRow(DB_FETCHMODE_ASSOC); |
1356 |
|
|
1357 |
|
//Formatage du numéro de version |
1358 |
|
require_once '../obj/dossier.class.php'; |
1359 |
|
$dossier = new dossier($dossier,$this->db,DEBUG); |
1360 |
|
$row['version'] = $dossier->getNumeroVersionDossierInstructionType($dossier->getVal('dossier_autorisation'), $dossier->getVal('dossier_instruction_type'), $row['version'], false); |
1361 |
|
|
1362 |
|
// retourne le tableau des résultats |
1363 |
|
return $row; |
1364 |
|
} |
1365 |
|
|
1366 |
|
/** |
1367 |
|
* Cette fonction permet la création du répertoire dans le dossier de numérisation |
1368 |
|
* @param string $dossier_autorisation Identifiant dossier d'autorisation |
1369 |
|
* @param string $code Type du dossier d'instruction |
1370 |
|
* @param int $version Numéro de version du dossier |
1371 |
|
* @return boolean Vrai ou Faux |
1372 |
|
*/ |
1373 |
|
private function createFolder($dossier_autorisation, $code, $version) { |
1374 |
|
|
1375 |
|
// génération du nom du répertoire |
1376 |
|
$foldername = $dossier_autorisation.".".$code.$version; |
1377 |
|
|
1378 |
|
// création du répertoire dans le dossier de numérisation |
1379 |
|
if (isset($this->f->config["path_scan"])) { |
1380 |
|
$dir = $this->f->config["path_scan"]."Todo/"; |
1381 |
|
// vérifie que le répêrtoire des "à traiter" existe |
1382 |
|
// et qu'un répertoire du dossier n'existe pas déjà |
1383 |
|
if (is_dir($dir) && !file_exists($dir.$foldername)) { |
1384 |
|
mkdir($dir.$foldername, 0777); |
1385 |
|
// si la création a réussi |
1386 |
|
$this->addToLog("createFolder() : Success", VERBOSE_MODE); |
1387 |
|
return true; |
1388 |
|
} |
1389 |
|
} |
1390 |
|
|
1391 |
|
// en cas d'échec |
1392 |
|
$this->addToLog("createFolder() : Failure", VERBOSE_MODE); |
1393 |
|
return false; |
1394 |
|
} |
1395 |
|
|
1396 |
}// fin classe |
}// fin classe |
1397 |
?> |
?> |