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'); |
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'])){ |
406 |
} |
} |
407 |
|
|
408 |
/** |
/** |
409 |
* 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 |
410 |
*/ |
*/ |
411 |
function ajoutDonneesTechniques($id, &$db, $val, $DEBUG){ |
function ajoutDonneesTechniquesDA($id, &$db, $val, $DEBUG){ |
412 |
|
|
413 |
require_once '../obj/donnees_techniques.class.php'; |
require_once '../obj/donnees_techniques.class.php'; |
414 |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
$donnees_techniques = new donnees_techniques("]",$db,$DEBUG); |
415 |
|
|
416 |
// 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 |
417 |
foreach($donnees_techniques->champs as $value) { |
foreach($donnees_techniques->champs as $value) { |
418 |
$val[$value] = NULL; |
$val[$value] = NULL; |
419 |
} |
} |
420 |
|
|
421 |
// Ajout du numéro de dossier d'instruction |
// Ajout du numéro de dossier d'instruction |
422 |
$val['dossier_instruction']=$this->valF['dossier_instruction']; |
$val['dossier_autorisation']=$this->valF['dossier_autorisation']; |
423 |
|
|
424 |
// Ajout des données techniques |
// Ajout des données techniques |
425 |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
$donnees_techniques->ajouter($val, $db, $DEBUG); |
426 |
} |
} |
427 |
|
|
428 |
/** |
/** |
429 |
* Ajout des liens demandeurs / dossier d'autorisation |
* Méthode permettant d'ajouter les données techniques au dossier d'autorisation |
430 |
|
*/ |
431 |
|
function ajoutDonneesTechniquesDI($id, &$db, $val, $DEBUG){ |
432 |
|
|
433 |
|
// Requête permettant de récupérer le dernier enregistrement en base des données techniques |
434 |
|
// liées au dossier d'autorisationdu dossier d'instruction en cours de création |
435 |
|
$sql_dt_from_da = "SELECT donnees_techniques |
436 |
|
FROM ".DB_PREFIXE."donnees_techniques |
437 |
|
WHERE dossier_autorisation = '".$this->valF['dossier_autorisation']."' |
438 |
|
ORDER BY donnees_techniques DESC"; |
439 |
|
// Récupération de l'id |
440 |
|
$id_da = $this->db->getOne($sql_dt_from_da); |
441 |
|
if ( database::isError($id_da)){ |
442 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
443 |
|
$this->addToErrors("", |
444 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite"), |
445 |
|
_("Erreur lors de la recuperation des donnees techniques en cours de validite")); |
446 |
|
return false; |
447 |
|
} |
448 |
|
require_once '../obj/donnees_techniques.class.php'; |
449 |
|
$donnees_techniques = new donnees_techniques($id_da,$db,$DEBUG); |
450 |
|
|
451 |
|
// Récupération des données du DA |
452 |
|
foreach($donnees_techniques->champs as $value) { |
453 |
|
$val[$value] = $donnees_techniques->getVal($value); |
454 |
|
} |
455 |
|
|
456 |
|
// Ajout du numéro de dossier d'instruction |
457 |
|
$val['dossier_instruction'] = $this->valF['dossier_instruction']; |
458 |
|
// Suppression du numéro de dossier d'autorisation |
459 |
|
$val['dossier_autorisation'] = NULL; |
460 |
|
|
461 |
|
// Ajout des données techniques |
462 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
463 |
|
} |
464 |
|
|
465 |
|
/** |
466 |
|
* Ajout des liens demandeurs / dossier d'autorisation s'ils n'y sont pas déjà |
467 |
**/ |
**/ |
468 |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) { |
469 |
// Création des liens entre le dossier autorisation et les demandeurs |
// Création des liens entre le dossier autorisation et les demandeurs |
471 |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
require_once '../obj/lien_dossier_autorisation_demandeur.class.php'; |
472 |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
$ldad = new lien_dossier_autorisation_demandeur("]",$db,$DEBUG); |
473 |
// Recupération des demandeurs liés à la demande |
// Recupération des demandeurs liés à la demande |
474 |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur); |
$sql = str_replace("<demande>",$this->valF['demande'],$sql_lien_demande_demandeur. |
475 |
|
" AND lien_demande_demandeur.demandeur NOT IN ( |
476 |
|
SELECT lien_dossier_autorisation_demandeur.demandeur |
477 |
|
FROM ".DB_PREFIXE."lien_dossier_autorisation_demandeur |
478 |
|
WHERE lien_dossier_autorisation_demandeur.dossier_autorisation = |
479 |
|
'".$this->valF['dossier_autorisation']."' |
480 |
|
)"); |
481 |
$res = $db->query($sql); |
$res = $db->query($sql); |
482 |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("ajoutLiensDossierAutorisation() : db->query(\"".$sql."\");", VERBOSE_MODE); |
483 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
601 |
|
|
602 |
return $lettretype; |
return $lettretype; |
603 |
} |
} |
604 |
|
|
605 |
|
/** |
606 |
|
* Retourne le libellé du dossier d'autorisation |
607 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
608 |
|
* @return string Libellé dossier d'autorisation |
609 |
|
*/ |
610 |
|
function get_dossier_autorisation_libelle($dossier_autorisation) { |
611 |
|
|
612 |
|
$dossier_autorisation_libelle = ""; |
613 |
|
|
614 |
|
// Requête SQL |
615 |
|
$sql = "SELECT |
616 |
|
dossier_autorisation_libelle |
617 |
|
FROM |
618 |
|
".DB_PREFIXE."dossier_autorisation |
619 |
|
WHERE |
620 |
|
dossier_autorisation = '$dossier_autorisation'"; |
621 |
|
|
622 |
|
$dossier_autorisation_libelle = $this->db->getOne($sql); |
623 |
|
$this->addToLog("get_dossier_autorisation_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
624 |
|
database::isError($dossier_autorisation_libelle); |
625 |
|
|
626 |
|
// Retourne le résultat |
627 |
|
return $dossier_autorisation_libelle; |
628 |
|
} |
629 |
|
|
630 |
|
/** |
631 |
|
* Retourne le libellé du dossier d'autorisation |
632 |
|
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
633 |
|
* @return string Libellé dossier d'autorisation |
634 |
|
*/ |
635 |
|
function get_dossier_libelle($dossier) { |
636 |
|
|
637 |
|
$dossier_libelle = ""; |
638 |
|
|
639 |
|
// Requête SQL |
640 |
|
$sql = "SELECT |
641 |
|
dossier_libelle |
642 |
|
FROM |
643 |
|
".DB_PREFIXE."dossier |
644 |
|
WHERE |
645 |
|
dossier = '$dossier'"; |
646 |
|
|
647 |
|
$dossier_libelle = $this->db->getOne($sql); |
648 |
|
$this->addToLog("get_dossier_libelle(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
649 |
|
database::isError($dossier_libelle); |
650 |
|
|
651 |
|
// Retourne le résultat |
652 |
|
return $dossier_libelle; |
653 |
|
} |
654 |
|
|
655 |
/** |
/** |
656 |
* Ajout des dossiers |
* Ajout des dossiers |
657 |
**/ |
**/ |
658 |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
function triggerAjouter($id, &$db, $val, $DEBUG){ |
659 |
|
|
660 |
include '../sql/pgsql/demande.form.inc.php'; |
include '../sql/pgsql/demande.form.inc.php'; |
661 |
|
|
662 |
if($this->valF["demande_type"] != NULL) { |
if($this->valF["demande_type"] != NULL) { |
663 |
$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)); |
664 |
$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); |
665 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
666 |
die(); |
die(); |
667 |
} |
} |
668 |
|
// Attribut permettant de définir si un dossier a été créé |
669 |
|
$this->ajoutDI = FALSE; |
670 |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
$dossier_type = $res->fetchRow(DB_FETCHMODE_ASSOC); |
671 |
// Création du dossier_autorisation |
// Création du dossier_autorisation |
672 |
if($this->valF['dossier_autorisation'] == "") { |
if($this->valF['dossier_autorisation'] == "") { |
673 |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutDossierAutorisation($id, $db, $val, $DEBUG); |
674 |
$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'])); |
675 |
|
//Ajout des données techniques au dossier d'autorisation |
676 |
|
$this->ajoutDonneesTechniquesDA($id, $db, $val, $DEBUG); |
677 |
|
} |
678 |
|
// Enregistrement du numéro dossier existant (il sera écrasé si un DI est créé) |
679 |
|
if ($this->getParameter("idx_dossier") != "") { |
680 |
|
$this->valF['dossier_instruction'] = $this->getParameter("idx_dossier"); |
681 |
} |
} |
682 |
// Création du dossier d'instruction |
// Création du dossier d'instruction |
683 |
if($dossier_type['dossier_instruction_type'] != NULL) { |
if($dossier_type['dossier_instruction_type'] != NULL) { |
684 |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
$this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']); |
685 |
$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'])); |
686 |
|
// Attribut permettant de définir si un dossier a été créé. |
687 |
|
$this->ajoutDI = TRUE; |
688 |
|
|
689 |
//Ajout des données techniques au dossier d'instruction |
//Ajout des données techniques au dossier d'instruction |
690 |
$this->ajoutDonneesTechniques($id, $db, $val, $DEBUG); |
$this->ajoutDonneesTechniquesDI($id, $db, $val, $DEBUG); |
691 |
|
} |
692 |
|
|
693 |
|
// Si le dossier_instruction existe |
694 |
|
if (isset($this->valF['dossier_instruction']) && $this->valF['dossier_instruction'] !== "" ) { |
695 |
|
// Récupère les informations nécessaire pour créer le répertoire de numérisation |
696 |
|
$getInfosForFoldername = $this->getInfosForFoldername($this->valF['dossier_instruction']); |
697 |
|
// Création du répertoire pour la numérisation |
698 |
|
if ($this->createFolder($getInfosForFoldername['dossier_autorisation'], $getInfosForFoldername['code'], $getInfosForFoldername['version']) === false) { |
699 |
|
$this->correct = false; |
700 |
|
// efface les messages précédents |
701 |
|
$this->msg = ''; |
702 |
|
// affiche l'erreur pour l'utilisateur et dans le log |
703 |
|
$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.")); |
704 |
|
// arrête le traitement entier |
705 |
|
return false; |
706 |
|
} |
707 |
} |
} |
708 |
|
|
709 |
/*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*/ |
754 |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
$valInstr['archive_etat_pendant_incompletude']=NULL; |
755 |
$valInstr['archive_date_limite_incompletude']=NULL; |
$valInstr['archive_date_limite_incompletude']=NULL; |
756 |
$valInstr['archive_delai_incompletude']=NULL; |
$valInstr['archive_delai_incompletude']=NULL; |
757 |
|
$valInstr['archive_autorite_competente']=NULL; |
758 |
$valInstr['complement3']=""; |
$valInstr['complement3']=""; |
759 |
$valInstr['complement4']=""; |
$valInstr['complement4']=""; |
760 |
$valInstr['complement5']=""; |
$valInstr['complement5']=""; |
779 |
$valInstr['signataire_arrete']=NULL; |
$valInstr['signataire_arrete']=NULL; |
780 |
$valInstr['numero_arrete']=NULL; |
$valInstr['numero_arrete']=NULL; |
781 |
$valInstr['code_barres']=NULL; |
$valInstr['code_barres']=NULL; |
782 |
|
$valInstr['om_fichier_instruction']=NULL; |
783 |
|
$valInstr['om_final_instruction']=NULL; |
784 |
|
$valInstr['document_numerise']=NULL; |
785 |
|
$valInstr['autorite_competente']=NULL; |
786 |
|
$valInstr['duree_validite_parametrage']="0"; |
787 |
|
$valInstr['duree_validite']="0"; |
788 |
|
|
789 |
/*Fichier requis*/ |
/*Fichier requis*/ |
790 |
require_once '../obj/instruction.class.php'; |
require_once '../obj/instruction.class.php'; |
794 |
$instruction->valF = ""; |
$instruction->valF = ""; |
795 |
$instruction->ajouter($valInstr, $db, $DEBUG); |
$instruction->ajouter($valInstr, $db, $DEBUG); |
796 |
|
|
797 |
|
//Finalisation du document |
798 |
|
$_GET['obj']='instruction'; |
799 |
|
$_GET['idx']=$instruction->valF[$instruction->clePrimaire]; |
800 |
|
$instruction = new instruction($_GET['idx'],$db,$DEBUG); |
801 |
|
$res = $instruction->finaliser('', 1, '', ''); |
802 |
|
|
803 |
/*Si la création a réussie*/ |
/*Si la création a réussie*/ |
804 |
if ( $instruction->valF['instruction'] != "" ){ |
if ( $instruction->valF['instruction'] != "" ){ |
805 |
|
|
807 |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
$this->valF['instruction_recepisse'] = $instruction->valF['instruction']; |
808 |
$this -> addToMessage("<br/><a |
$this -> addToMessage("<br/><a |
809 |
class='lien' |
class='lien' |
810 |
href='../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction']."' |
href='" |
811 |
|
.((isset($res['pdf'])&&$instruction->valF['om_final_instruction'])?$res['pdf']: |
812 |
|
"../pdf/pdflettretype.php?obj=".$lettretype."&idx=".$instruction->valF['instruction'])."' |
813 |
target='_blank'> |
target='_blank'> |
814 |
<span |
<span |
815 |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
839 |
* Ajout des délégataires et pétitionnaires |
* Ajout des délégataires et pétitionnaires |
840 |
**/ |
**/ |
841 |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
842 |
|
|
843 |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
844 |
|
|
845 |
// Ajout des lliens entre dossier_autorisation et demandeur |
// Ajout des lliens entre dossier_autorisation et demandeur |
846 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] == "" ) { |
if(!empty($this->valF['dossier_autorisation'])) { |
847 |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierAutorisation($id, $db, $val, $DEBUG); |
848 |
} |
} |
849 |
// Ajout des lliens entre dossier et demandeur |
// Ajout des lliens entre dossier et demandeur |
850 |
if(!empty($this->valF['dossier_instruction'])) { |
if($this->ajoutDI === TRUE) { |
851 |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
$this->ajoutLiensDossierInstruction($id, $db, $val, $DEBUG); |
852 |
} |
} |
853 |
|
|
854 |
// Duplication des lots et liaison au nouveau dossier_d'instruction |
// Duplication des lots (et leurs données techniques) et |
855 |
|
// liaison au nouveau dossier_d'instruction |
856 |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
if(!empty($this->valF['dossier_autorisation']) AND $val['dossier_autorisation'] != "" ) { |
857 |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
$this->lienLotDossierInstruction($id, $db, $val, $DEBUG); |
858 |
} |
} |
872 |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
function lienLotDossierInstruction($id, $db, $val, $DEBUG) { |
873 |
require_once ("../obj/lot.class.php"); |
require_once ("../obj/lot.class.php"); |
874 |
$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); |
|
875 |
require_once ("../obj/lien_lot_demandeur.class.php"); |
require_once ("../obj/lien_lot_demandeur.class.php"); |
876 |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
$lld = new lien_lot_demandeur("]", $db, $DEBUG); |
877 |
|
|
886 |
$valLot['lot'] = ""; |
$valLot['lot'] = ""; |
887 |
$valLot['libelle'] = $rowLot['libelle']; |
$valLot['libelle'] = $rowLot['libelle']; |
888 |
$valLot['dossier_autorisation'] = NULL; |
$valLot['dossier_autorisation'] = NULL; |
889 |
|
$valLot['dossier'] = $this->valF['dossier_instruction']; |
890 |
$lot -> ajouter($valLot, $db, $DEBUG); |
$lot -> ajouter($valLot, $db, $DEBUG); |
891 |
|
|
|
//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); |
|
|
|
|
892 |
//Insertion des liens entre dossier et les lots |
//Insertion des liens entre dossier et les lots |
893 |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
$sqlDemandeurs = "SELECT * FROM ".DB_PREFIXE."lien_lot_demandeur |
894 |
WHERE lot = ".$rowLot['lot']; |
WHERE lot = ".$rowLot['lot']; |
905 |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
$valLld["petitionnaire_principal"] = $row['petitionnaire_principal']; |
906 |
$lld->ajouter($valLld, $db, $DEBUG); |
$lld->ajouter($valLld, $db, $DEBUG); |
907 |
} |
} |
908 |
|
|
909 |
|
// Récupération des données techniques du nouveau lots |
910 |
|
$this->ajoutDonneesTechniquesLots($id, $db, $val, $DEBUG, $rowLot['lot'], $lot->valF['lot']); |
911 |
|
|
912 |
|
} |
913 |
|
} |
914 |
|
|
915 |
|
|
916 |
|
/** |
917 |
|
* Méthode permettant d'ajouter les données techniques aux lots |
918 |
|
*/ |
919 |
|
function ajoutDonneesTechniquesLots($id, &$db, $val, $DEBUG, $lotInit, $lotDest){ |
920 |
|
// Requete permettant de recupérer les données techniques du lot passé en paramètre ($lotInit) |
921 |
|
$sql_get_dt = "SELECT donnees_techniques FROM ".DB_PREFIXE."donnees_techniques WHERE lot=".$lotInit; |
922 |
|
$id_dt = $this->f->db->getOne($sql_get_dt); |
923 |
|
// Si des données techniques sont liées au lots on les "copie" et on les lies au lot passé en paramètre (lotDest) |
924 |
|
if(isset($id_dt) AND !empty($id_dt)) { |
925 |
|
$this->f->addToLog("ajoutDonneesTechniquesLots() : db->getone(\"".$sql_get_dt."\");", VERBOSE_MODE); |
926 |
|
if ( database::isError($id_dt)){ |
927 |
|
// Appel de la methode de recuperation des erreurs |
928 |
|
$this->erreur_db($id_dt->getDebugInfo(), $id_dt->getMessage(), ''); |
929 |
|
return false; |
930 |
|
} |
931 |
|
require_once '../obj/donnees_techniques.class.php'; |
932 |
|
$donnees_techniques = new donnees_techniques($id_dt,$db,$DEBUG); |
933 |
|
|
934 |
|
// Récupération des données dans le tableau des valeurs à insérer |
935 |
|
foreach($donnees_techniques->champs as $value) { |
936 |
|
$val[$value] = $donnees_techniques->getVal($value); |
937 |
|
} |
938 |
|
// Modification du lien vers le nouveau lot |
939 |
|
$val["lot"] = $lotDest; |
940 |
|
// Ajout des données techniques |
941 |
|
$donnees_techniques->ajouter($val, $db, $DEBUG); |
942 |
} |
} |
943 |
} |
} |
944 |
|
|
1128 |
echo "obj=".get_class($this); |
echo "obj=".get_class($this); |
1129 |
if($this->getParameter("retour")=="form") { |
if($this->getParameter("retour")=="form") { |
1130 |
echo "&idx=".$this->getParameter("idx"); |
echo "&idx=".$this->getParameter("idx"); |
1131 |
|
echo "&idz=".$this->getParameter("idz"); |
1132 |
echo "&action=3"; |
echo "&action=3"; |
1133 |
} |
} |
1134 |
} |
} |
1309 |
} |
} |
1310 |
|
|
1311 |
// }}} |
// }}} |
1312 |
|
|
1313 |
|
|
1314 |
|
/** |
1315 |
|
* Cette fonction permet de récupérer les informations nécessaires |
1316 |
|
* à la génération du nom du répertoire |
1317 |
|
* @param string $dossier Identifiant du dossier |
1318 |
|
* @return array Tableau des résultats |
1319 |
|
*/ |
1320 |
|
private function getInfosForFoldername($dossier) { |
1321 |
|
|
1322 |
|
//Requête SQL |
1323 |
|
$sql = "SELECT dossier.dossier_autorisation, dossier_instruction_type.code |
1324 |
|
FROM ".DB_PREFIXE."dossier |
1325 |
|
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
1326 |
|
ON dossier_instruction_type.dossier_instruction_type = dossier.dossier_instruction_type |
1327 |
|
WHERE dossier.dossier = '".$dossier."'"; |
1328 |
|
$res = $this->f->db->query($sql); |
1329 |
|
$this->addToLog("getInfosForFoldername() : db->query(".$sql.")", VERBOSE_MODE); |
1330 |
|
database::isError($res); |
1331 |
|
|
1332 |
|
// tableau des résultats |
1333 |
|
$row = $res->fetchRow(DB_FETCHMODE_ASSOC); |
1334 |
|
|
1335 |
|
//Génération du numéro de version |
1336 |
|
$sql = "SELECT |
1337 |
|
count(*) |
1338 |
|
FROM |
1339 |
|
".DB_PREFIXE."dossier |
1340 |
|
LEFT JOIN |
1341 |
|
".DB_PREFIXE."dossier_autorisation |
1342 |
|
ON |
1343 |
|
dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation |
1344 |
|
LEFT JOIN |
1345 |
|
".DB_PREFIXE."dossier_instruction_type |
1346 |
|
ON |
1347 |
|
dossier_instruction_type.dossier_instruction_type = dossier.dossier_instruction_type |
1348 |
|
WHERE |
1349 |
|
dossier_autorisation.dossier_autorisation = '".$row['dossier_autorisation']."' |
1350 |
|
AND |
1351 |
|
dossier_instruction_type.code = '".$row['code']."'"; |
1352 |
|
$row['version'] = $this->db->getOne($sql); |
1353 |
|
$this->f->addToLog("getInfosForFoldername(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
1354 |
|
if ( database::isError($row['version'])){ |
1355 |
|
$this->f->addToError("", $row['version'], $row['version']); |
1356 |
|
return false; |
1357 |
|
} |
1358 |
|
|
1359 |
|
//Formatage du numéro de version |
1360 |
|
require_once '../obj/dossier.class.php'; |
1361 |
|
$dossier = new dossier($dossier,$this->db,DEBUG); |
1362 |
|
$row['version'] = $dossier->getNumeroVersionDossierInstructionType($dossier->getVal('dossier_autorisation'), $dossier->getVal('dossier_instruction_type'), $row['version']); |
1363 |
|
|
1364 |
|
// retourne le tableau des résultats |
1365 |
|
return $row; |
1366 |
|
} |
1367 |
|
|
1368 |
|
/** |
1369 |
|
* Cette fonction permet la création du répertoire dans le dossier de numérisation |
1370 |
|
* @param string $dossier_autorisation Identifiant dossier d'autorisation |
1371 |
|
* @param string $code Type du dossier d'instruction |
1372 |
|
* @param int $version Numéro de version du dossier |
1373 |
|
* @return boolean Vrai ou Faux |
1374 |
|
*/ |
1375 |
|
private function createFolder($dossier_autorisation, $code, $version) { |
1376 |
|
|
1377 |
|
// génération du nom du répertoire |
1378 |
|
$foldername = $dossier_autorisation.".".$code.$version; |
1379 |
|
|
1380 |
|
// création du répertoire dans le dossier de numérisation |
1381 |
|
if (isset($this->f->config["path_scan"])) { |
1382 |
|
$dir = $this->f->config["path_scan"]."Todo/"; |
1383 |
|
// vérifie que le répêrtoire des "à traiter" existe |
1384 |
|
// et qu'un répertoire du dossier n'existe pas déjà |
1385 |
|
if (is_dir($dir) && !file_exists($dir.$foldername)) { |
1386 |
|
mkdir($dir.$foldername, 0777); |
1387 |
|
// si la création a réussi |
1388 |
|
$this->addToLog("createFolder() : Success", VERBOSE_MODE); |
1389 |
|
return true; |
1390 |
|
} |
1391 |
|
} |
1392 |
|
|
1393 |
|
// en cas d'échec |
1394 |
|
$this->addToLog("createFolder() : Failure", VERBOSE_MODE); |
1395 |
|
return false; |
1396 |
|
} |
1397 |
|
|
1398 |
}// fin classe |
}// fin classe |
1399 |
?> |
?> |