12 |
* var $idxformulaire; |
* var $idxformulaire; |
13 |
* - modification des données dans dossier trigger avant |
* - modification des données dans dossier trigger avant |
14 |
* [modify dossier data with trigger function] |
* [modify dossier data with trigger function] |
15 |
* - function moisdate : pour ajouter des mois a une date |
* - function mois_date : pour ajouter des mois a une date |
16 |
* [add months (delay) and calculation final date] |
* [add months (delay) and calculation final date] |
17 |
* - voir script_lang.js : bible ... |
* - voir script_lang.js : bible ... |
18 |
* |
* |
52 |
); |
); |
53 |
|
|
54 |
|
|
55 |
function instruction($id, &$db, $debug) { |
function __construct($id, &$db, $debug) { |
56 |
$this->constructeur($id, $db, $debug); |
$this->constructeur($id, $db, $debug); |
57 |
} |
} |
58 |
|
|
125 |
|
|
126 |
//On récuppère le statut du dossier d'instruction |
//On récuppère le statut du dossier d'instruction |
127 |
$statut = $this->getStatutAutorisationDossier($idxformulaire); |
$statut = $this->getStatutAutorisationDossier($idxformulaire); |
128 |
if ( $this->f->isUserInstructeur() && $statut == "cloture" ){ |
// Si l'utilisateur est un instructeur, que le statut est clôturé |
129 |
|
// et que l'événement n'est pas identifié comme non verrouillable |
130 |
|
if ( $this->f->isUserInstructeur() && $statut == "cloture" |
131 |
|
&& $this->checkEvenementNonVerrouillable($this->getVal("instruction")) === false){ |
132 |
|
|
133 |
//On cache le lien de modification |
//On cache les liens du portlet |
134 |
$this->parameters["actions"]["modifier"] = NULL; |
$this->parameters["actions"]["modifier"] = NULL; |
135 |
$this->actions_sup["finalisation"] = NULL; |
$this->actions_sup["finalisation"] = NULL; |
136 |
$this->actions_sup["definalisation"] = NULL; |
$this->actions_sup["definalisation"] = NULL; |
154 |
} |
} |
155 |
|
|
156 |
$retourformulaire = $this->getParameter("retourformulaire"); |
$retourformulaire = $this->getParameter("retourformulaire"); |
157 |
// Si l'utilisateur est un instructeur et que le dossier est cloturé |
// Si l'utilisateur est un instructeur, que le dossier est cloturé, |
158 |
|
// que l'utilisateur est dans un sous formulaire précis, que le |
159 |
|
// formulaire n'est pas en mode consulter ou ajouter et que l'événement |
160 |
|
// n'est pas identifié comme non verrouillable |
161 |
if ( $this->f->isUserInstructeur() && |
if ( $this->f->isUserInstructeur() && |
162 |
$this->getStatutAutorisationDossier($this->getParameter("idxformulaire")) == "cloture" && |
$this->getStatutAutorisationDossier($this->getParameter("idxformulaire")) == "cloture" |
163 |
( |
&& ( |
164 |
$retourformulaire == 'dossier' || |
$retourformulaire == 'dossier' || |
165 |
$retourformulaire == 'dossier_instruction' || |
$retourformulaire == 'dossier_instruction' || |
166 |
$retourformulaire == 'dossier_instruction_mes_encours' || |
$retourformulaire == 'dossier_instruction_mes_encours' || |
168 |
$retourformulaire == 'dossier_instruction_mes_clotures' || |
$retourformulaire == 'dossier_instruction_mes_clotures' || |
169 |
$retourformulaire == 'dossier_instruction_tous_clotures' |
$retourformulaire == 'dossier_instruction_tous_clotures' |
170 |
) |
) |
171 |
&& $this->getParameter("maj") != 3 && $this->getParameter("maj") != 0 ) { |
&& $this->getParameter("maj") != 3 |
172 |
|
&& $this->getParameter("maj") != 0 |
173 |
|
&& $this->checkEvenementNonVerrouillable($this->getVal("instruction")) === false) { |
174 |
|
|
175 |
return false; |
return false; |
176 |
} |
} |
177 |
// |
// |
262 |
parent::setType($form, $maj); |
parent::setType($form, $maj); |
263 |
// On cache tous les champs |
// On cache tous les champs |
264 |
// XXX |
// XXX |
265 |
$form->setType('complement3', 'hidden'); |
$form->setType('complement3_om_html', 'hidden'); |
266 |
$form->setType('bible3', 'hidden'); |
$form->setType('bible3', 'hidden'); |
267 |
$form->setType('complement4', 'hidden'); |
$form->setType('complement4_om_html', 'hidden'); |
268 |
$form->setType('bible4', 'hidden'); |
$form->setType('bible4', 'hidden'); |
269 |
$form->setType('complement5', 'hidden'); |
$form->setType('complement5_om_html', 'hidden'); |
270 |
$form->setType('bible5', 'hidden'); |
$form->setType('bible5', 'hidden'); |
271 |
$form->setType('complement6', 'hidden'); |
$form->setType('complement6_om_html', 'hidden'); |
272 |
$form->setType('bible6', 'hidden'); |
$form->setType('bible6', 'hidden'); |
273 |
$form->setType('complement7', 'hidden'); |
$form->setType('complement7_om_html', 'hidden'); |
274 |
$form->setType('bible7', 'hidden'); |
$form->setType('bible7', 'hidden'); |
275 |
$form->setType('complement8', 'hidden'); |
$form->setType('complement8_om_html', 'hidden'); |
276 |
$form->setType('bible8', 'hidden'); |
$form->setType('bible8', 'hidden'); |
277 |
$form->setType('complement9', 'hidden'); |
$form->setType('complement9_om_html', 'hidden'); |
278 |
$form->setType('bible9', 'hidden'); |
$form->setType('bible9', 'hidden'); |
279 |
$form->setType('complement10', 'hidden'); |
$form->setType('complement10_om_html', 'hidden'); |
280 |
$form->setType('bible10', 'hidden'); |
$form->setType('bible10', 'hidden'); |
281 |
$form->setType('complement11', 'hidden'); |
$form->setType('complement11_om_html', 'hidden'); |
282 |
$form->setType('bible11', 'hidden'); |
$form->setType('bible11', 'hidden'); |
283 |
$form->setType('complement12', 'hidden'); |
$form->setType('complement12_om_html', 'hidden'); |
284 |
$form->setType('bible12', 'hidden'); |
$form->setType('bible12', 'hidden'); |
285 |
$form->setType('complement13', 'hidden'); |
$form->setType('complement13_om_html', 'hidden'); |
286 |
$form->setType('bible13', 'hidden'); |
$form->setType('bible13', 'hidden'); |
287 |
$form->setType('complement14', 'hidden'); |
$form->setType('complement14_om_html', 'hidden'); |
288 |
$form->setType('bible14', 'hidden'); |
$form->setType('bible14', 'hidden'); |
289 |
$form->setType('complement15', 'hidden'); |
$form->setType('complement15_om_html', 'hidden'); |
290 |
$form->setType('bible15', 'hidden'); |
$form->setType('bible15', 'hidden'); |
291 |
// |
// |
292 |
$form->setType('delai', 'hidden'); |
$form->setType('delai', 'hidden'); |
331 |
if ($maj < 2) { //ajouter et modifier |
if ($maj < 2) { //ajouter et modifier |
332 |
$form->setType('destinataire', 'hidden'); |
$form->setType('destinataire', 'hidden'); |
333 |
$form->setType('lettretype', 'hiddenstatic'); |
$form->setType('lettretype', 'hiddenstatic'); |
334 |
$form->setType('complement', 'textarea'); |
$form->setType('complement_om_html', 'html'); |
335 |
$form->setType('complement2', 'textarea'); |
$form->setType('complement2_om_html', 'html'); |
336 |
$form->setType('bible_auto', 'httpclick'); |
$form->setType('bible_auto', 'httpclick'); |
337 |
$form->setType('bible', 'httpclick'); |
$form->setType('bible', 'httpclick'); |
338 |
$form->setType('bible2', 'httpclick'); |
$form->setType('bible2', 'httpclick'); |
347 |
$form->setType('date_retour_controle_legalite','datedisabled'); |
$form->setType('date_retour_controle_legalite','datedisabled'); |
348 |
$form->setType('date_finalisation_courrier','datedisabled'); |
$form->setType('date_finalisation_courrier','datedisabled'); |
349 |
|
|
350 |
// l'administrateur peut modifier les champs de retour de date |
|
|
if ($this->f->user_is_admin == true) { |
|
|
$form->setType('date_retour_signature','date'); |
|
|
$form->setType('date_retour_rar','date'); |
|
|
$form->setType('date_retour_controle_legalite','date'); |
|
|
} |
|
351 |
|
|
352 |
if($maj==0){ // add |
if($maj==0){ // add |
353 |
$form->setType('instruction', 'hiddenstatic'); |
$form->setType('instruction', 'hidden'); |
354 |
|
$form->setType('lettretype', 'hidden'); |
355 |
$form->setType('evenement', 'select'); |
$form->setType('evenement', 'select'); |
356 |
$form->setType('date_evenement', 'date2'); |
$form->setType('date_evenement', 'date2'); |
357 |
}else{ // modify |
}else{ // modify |
361 |
$form->setType('date_evenement', 'date2'); |
$form->setType('date_evenement', 'date2'); |
362 |
// necessaire pour calcul de date en modification |
// necessaire pour calcul de date en modification |
363 |
//$form->setType('delai', 'hiddenstatic'); |
//$form->setType('delai', 'hiddenstatic'); |
364 |
|
// l'administrateur peut modifier les champs de retour de date |
365 |
|
if ($this->f->user_is_admin == true) { |
366 |
|
$form->setType('date_retour_signature','date'); |
367 |
|
$form->setType('date_retour_rar','date'); |
368 |
|
$form->setType('date_retour_controle_legalite','date'); |
369 |
|
} |
370 |
} |
} |
371 |
} elseif($maj==2){ |
} elseif($maj==2){ |
372 |
$form->setType('dossier', 'hidden'); |
$form->setType('dossier', 'hidden'); |
456 |
ON evenement.evenement = transition.evenement |
ON evenement.evenement = transition.evenement |
457 |
AND dossier.etat=transition.etat |
AND dossier.etat=transition.etat |
458 |
WHERE dossier.dossier='".$this->idxformulaire."' |
WHERE dossier.dossier='".$this->idxformulaire."' |
459 |
ORDER BY evenement.action"; |
ORDER BY evenement.libelle, evenement.action"; |
460 |
$res = $db->query($sql); |
$res = $db->query($sql); |
461 |
$this->addToLog("setSelect(): db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->addToLog("setSelect(): db->query(\"".$sql."\");", VERBOSE_MODE); |
462 |
if (database::isError($res)) { |
if (database::isError($res)) { |
508 |
// |
// |
509 |
parent::cleSecondaire($id, $db, $val, $DEBUG); |
parent::cleSecondaire($id, $db, $val, $DEBUG); |
510 |
|
|
511 |
// Aucune clé secondaire n'a été trouvée, l'instruction peut être supprimée |
$id = $this->getVal($this->clePrimaire); |
512 |
if ( $this->correct !== false ){ |
|
513 |
|
|
514 |
|
//Requête de vérification que cet événement d'instruction n'est pas lié |
515 |
|
//à la création d'un dossier d'instruction |
516 |
|
$sql = "SELECT demande_type.dossier_instruction_type |
517 |
|
FROM ".DB_PREFIXE."demande_type |
518 |
|
LEFT JOIN ".DB_PREFIXE."demande |
519 |
|
ON demande.demande_type = demande_type.demande_type |
520 |
|
WHERE demande.instruction_recepisse = ".$id; |
521 |
|
$res = $this->db->getOne($sql); |
522 |
|
$this->addToLog("cleSecondaire(): db->getone(\"".$sql."\");", VERBOSE_MODE); |
523 |
|
if (database::isError($res)) { |
524 |
|
die($res->getMessage()); |
525 |
|
} |
526 |
|
|
527 |
|
// Aucune clé secondaire n'a été trouvée ou c'est un événement sans |
528 |
|
//création de dossier d'instruction, l'événement d'instruction peut être |
529 |
|
//supprimé |
530 |
|
if ( $this->correct !== false || $res == null || $res == ""){ |
531 |
|
|
532 |
|
// Requête de vérification que cet événement d'instruction est lié |
533 |
|
// à une demande |
534 |
|
$sql = "SELECT demande |
535 |
|
FROM ".DB_PREFIXE."demande |
536 |
|
WHERE instruction_recepisse = ".$id; |
537 |
|
$res = $this->db->getOne($sql); |
538 |
|
$this->addToLog("cleSecondaire(): db->getone(\"".$sql."\");", VERBOSE_MODE); |
539 |
|
if (database::isError($res)) { |
540 |
|
die($res->getMessage()); |
541 |
|
} |
542 |
|
|
543 |
|
//Si c'est un événement d'instruction lié à une demande |
544 |
|
if ($res != null || $res != ""){ |
545 |
|
|
546 |
|
require_once "../obj/demande.class.php"; |
547 |
|
$demande = new demande($res, $this->db, DEBUG); |
548 |
|
|
549 |
|
//On met à jour la demande en supprimant la liaison vers |
550 |
|
//l'événement d'instruction |
551 |
|
$demande->setParameter("maj", 1); |
552 |
|
$valF = array(); |
553 |
|
foreach($demande->champs as $identifiant => $champ) { |
554 |
|
$valF[$champ] = $demande->val[$identifiant]; |
555 |
|
} |
556 |
|
$valF['date_demande']=$demande->dateDBToForm($valF['date_demande']); |
557 |
|
$valF['instruction_recepisse']=NULL; |
558 |
|
$ret = $demande->modifier($valF, $this->db, DEBUG); |
559 |
|
} |
560 |
|
|
561 |
/** |
/** |
562 |
* Vérification que l'élément supprimé est le dernier pour pouvoir |
* Vérification que l'élément supprimé est le dernier pour pouvoir |
563 |
* remodifier les données de manière itérative. |
* remodifier les données de manière itérative. |
593 |
*/ |
*/ |
594 |
function updateDate($champ) { |
function updateDate($champ) { |
595 |
|
|
596 |
// Vérification de la possibilité de modifier les dates si déjà éditées |
//Si le retourformulaire est "dossier_instruction" |
597 |
if($this->valF[$champ] != "" AND !$this->f->user_is_admin) { |
if ($this->retourformulaire == "dossier_instruction") { |
598 |
// si l'utilisateur n'est pas un admin |
|
599 |
if($this->getVal($champ) != "" AND $this->getVal($champ) != $this->valF[$champ]) { |
// Vérification de la possibilité de modifier les dates si déjà éditées |
600 |
$this->correct = false; |
if($this->valF[$champ] != "" AND !$this->f->user_is_admin) { |
601 |
$this->addToMessage(_("Les dates de suivis ne peuvent etre modifiees")); |
// si l'utilisateur n'est pas un admin |
602 |
|
if($this->getVal($champ) != "" AND $this->getVal($champ) != $this->valF[$champ]) { |
603 |
|
$this->correct = false; |
604 |
|
$this->addToMessage(_("Les dates de suivis ne peuvent etre modifiees")); |
605 |
|
} |
606 |
} |
} |
607 |
} |
} |
608 |
// Vérification de la possibilité d'ajouter des dates si le document est finalisé |
|
609 |
if($this->valF[$champ] != "" |
// |
|
AND $this->getVal($champ) == "" |
|
|
AND $this->valF["om_final_instruction"] === false) { |
|
|
|
|
|
$this->correct = false; |
|
|
$this->addToMessage(_("Les dates de suivis ne peuvent etre |
|
|
modifiees si le document n'est pas finalise")); |
|
|
} |
|
610 |
return true; |
return true; |
611 |
} |
} |
612 |
|
|
623 |
|
|
624 |
// Exécution de la requête |
// Exécution de la requête |
625 |
$res = $this->f->db->query($sql); |
$res = $this->f->db->query($sql); |
626 |
$this->f->addToLog("deleteAllLienDossierInstructionTypeEvenementEvenement(): db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog("setVal(): db->query(\"".$sql."\");", VERBOSE_MODE); |
627 |
if ( database::isError($res)){ |
if ( database::isError($res)){ |
628 |
die(); |
die(); |
629 |
} |
} |
676 |
|
|
677 |
$form->setBloc('date_retour_controle_legalite','F'); |
$form->setBloc('date_retour_controle_legalite','F'); |
678 |
|
|
679 |
$form->setBloc('complement','D',"","col_12"); |
$form->setBloc('complement_om_html','D',"","col_12"); |
680 |
$form->setFieldset('complement','D',_('Complement')); |
$form->setFieldset('complement_om_html','D',_('Complement')); |
681 |
$form->setFieldset('bible','F',''); |
$form->setFieldset('bible','F',''); |
682 |
$form->setBloc('bible','F'); |
$form->setBloc('bible','F'); |
683 |
|
|
684 |
$form->setBloc('complement2','D',"","col_12"); |
$form->setBloc('complement2_om_html','D',"","col_12"); |
685 |
$form->setFieldset('complement2','D',_('Complement 2')); |
$form->setFieldset('complement2_om_html','D',_('Complement 2')); |
686 |
$form->setFieldset('bible2','F',''); |
$form->setFieldset('bible2','F',''); |
687 |
$form->setBloc('bible2','F'); |
$form->setBloc('bible2','F'); |
688 |
} |
} |
783 |
if (database::isError($res)) { |
if (database::isError($res)) { |
784 |
die($res->getMessage()); |
die($res->getMessage()); |
785 |
} |
} |
786 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
$row=& $res->fetchRow(DB_FETCHMODE_ASSOC); |
787 |
// XXX On stocke la date de dépôt actuelle du dossier d'instruction |
$this->updateArchiveData($row); |
788 |
// dans un attribut de la classe |
$this->archive_date_depot = $row['date_depot']; |
789 |
$this->archive_date_depot = $row['date_depot']; |
|
|
// Récupération de la valeur actuelle du délai, de l'accord tacite, |
|
|
// de l'état et de l'avis du dossier d'instruction |
|
|
$this->valF['archive_delai']=$row['delai']; |
|
|
$this->valF['archive_accord_tacite']=$row['accord_tacite']; |
|
|
$this->valF['archive_etat']=$row['etat']; |
|
|
$this->valF['archive_avis']=$row['avis_decision']; |
|
|
// Récupération de la valeur actuelle des 9 dates du dossier |
|
|
// d'instruction |
|
|
if ($row['date_complet'] != '') { |
|
|
$this->valF['archive_date_complet']=$row['date_complet']; |
|
|
} |
|
|
if ($row['date_dernier_depot'] != '') { |
|
|
$this->valF['archive_date_dernier_depot']=$row['date_dernier_depot']; |
|
|
} |
|
|
if ($row['date_rejet']!='') { |
|
|
$this->valF['archive_date_rejet']= $row['date_rejet']; |
|
|
} |
|
|
if ($row['date_limite']!='') { |
|
|
$this->valF['archive_date_limite']= $row['date_limite']; |
|
|
} |
|
|
if ($row['date_notification_delai']!='') { |
|
|
$this->valF['archive_date_notification_delai']= $row['date_notification_delai']; |
|
|
} |
|
|
if ($row['date_decision']!='') { |
|
|
$this->valF['archive_date_decision']= $row['date_decision']; |
|
|
} |
|
|
if ($row['date_validite']!='') { |
|
|
$this->valF['archive_date_validite']= $row['date_validite']; |
|
|
} |
|
|
if ($row['date_achevement']!='') { |
|
|
$this->valF['archive_date_achevement']= $row['date_achevement']; |
|
|
} |
|
|
if ($row['date_chantier']!='') { |
|
|
$this->valF['archive_date_chantier']= $row['date_chantier']; |
|
|
} |
|
|
if ($row['date_conformite']!='') { |
|
|
$this->valF['archive_date_conformite']= $row['date_conformite']; |
|
|
} |
|
|
if ($row['incompletude']!='') { |
|
|
$this->valF['archive_incompletude']= $row['incompletude']; |
|
|
} |
|
|
if ($row['evenement_suivant_tacite']!='') { |
|
|
$this->valF['archive_evenement_suivant_tacite']= $row['evenement_suivant_tacite']; |
|
|
} |
|
|
if ($row['evenement_suivant_tacite_incompletude']!='') { |
|
|
$this->valF['archive_evenement_suivant_tacite_incompletude']= $row['evenement_suivant_tacite_incompletude']; |
|
|
} |
|
|
if ($row['etat_pendant_incompletude']!='') { |
|
|
$this->valF['archive_etat_pendant_incompletude']= $row['etat_pendant_incompletude']; |
|
|
} |
|
|
if ($row['date_limite_incompletude']!='') { |
|
|
$this->valF['archive_date_limite_incompletude']= $row['date_limite_incompletude']; |
|
|
} |
|
|
if ($row['delai_incompletude']!='') { |
|
|
$this->valF['archive_delai_incompletude']= $row['delai_incompletude']; |
|
|
} |
|
|
if ($row['autorite_competente']!='') { |
|
|
$this->valF['archive_autorite_competente']= $row['autorite_competente']; |
|
|
} |
|
|
if ($row['duree_validite']!='') { |
|
|
$this->valF['duree_validite']= $row['duree_validite']; |
|
|
} |
|
|
} |
|
790 |
// Récupération de la duree de validite du dossier d'autorisation |
// Récupération de la duree de validite du dossier d'autorisation |
791 |
$sql = "SELECT duree_validite_parametrage |
$sql = "SELECT duree_validite_parametrage |
792 |
FROM ".DB_PREFIXE."dossier_autorisation_type_detaille |
FROM ".DB_PREFIXE."dossier_autorisation_type_detaille |
837 |
// Booléen retourné |
// Booléen retourné |
838 |
$res_bool = true; |
$res_bool = true; |
839 |
|
|
840 |
// Si le tableau n'est pas vide |
// S'il y a un comparateur |
841 |
if (count($tabRestriction) > 0) { |
if (in_array(">=", $tabRestriction) |
842 |
|
|| in_array("<=", $tabRestriction)) { |
843 |
|
|
844 |
// Boucle dans le tableau pour récupérer seulement les valeurs |
// Si le tableau n'est pas vide |
845 |
foreach ($tabRestriction as $key => $value) { |
if (count($tabRestriction) > 0) { |
846 |
|
|
847 |
// |
// Boucle dans le tableau pour récupérer seulement les valeurs |
848 |
if (!in_array($value, $operateurs)) { |
foreach ($tabRestriction as $key => $value) { |
849 |
if ($this->getRestrictionValue($value) != false) { |
|
850 |
$res[] = $this->getRestrictionValue($value); |
// |
851 |
} else { |
if (!in_array($value, $operateurs)) { |
852 |
return false; |
if ($this->getRestrictionValue($value) != false) { |
853 |
|
$res[] = $this->getRestrictionValue($value); |
854 |
|
} else { |
855 |
|
// Message d'erreur |
856 |
|
$error_message = sprintf(_("Le champ %s de l'instruction %s est vide"), "<span class='bold'>".$value."</span>", "<span class='bold'>".$this->valF["instruction"]."</span>"); |
857 |
|
$this->addToMessage($error_message); |
858 |
|
// Arrête le traitement |
859 |
|
return false; |
860 |
|
} |
861 |
} |
} |
862 |
} |
} |
|
} |
|
863 |
|
|
864 |
// Boucle dans le tableau |
// Boucle dans le tableau |
865 |
// commence à 1 car le 0 doit rester inchangé tout au long du |
// commence à 1 car le 0 doit rester inchangé tout au long du |
866 |
// traitement |
// traitement |
867 |
for ($i = 1; $i<count($tabRestriction); $i++) { |
for ($i = 1; $i<count($tabRestriction); $i++) { |
868 |
|
|
869 |
// Récupère le comparateur |
// Récupère le comparateur |
870 |
if ($tabRestriction[$i] === ">=" |
if ($tabRestriction[$i] === ">=" |
871 |
|| $tabRestriction[$i] === "<=") { |
|| $tabRestriction[$i] === "<=") { |
872 |
$comparateur = $tabRestriction[$i]; |
$comparateur = $tabRestriction[$i]; |
873 |
} |
} |
874 |
|
|
875 |
// Si l'opérateur qui suit est un "+" |
// Si l'opérateur qui suit est un "+" |
876 |
if ($tabRestriction[$i] === "+") { |
if ($tabRestriction[$i] === "+") { |
877 |
$dateDep = strtotime($res[$j]); |
$dateDep = $res[$j]; |
878 |
unset($res[$j]);$j++; |
unset($res[$j]);$j++; |
879 |
$duree = $res[$j]; |
$duree = $res[$j]; |
880 |
unset($res[$j]); |
unset($res[$j]); |
881 |
$res[$j] = date('Y-m-d', |
$res[$j] = $this->f->mois_date($dateDep, $duree, "+"); |
882 |
strtotime('+'.$duree.' month', $dateDep)); |
} |
883 |
} |
|
884 |
|
// Si l'opérateur qui suit est un "-" |
885 |
// Si l'opérateur qui suit est un "-" |
if ($tabRestriction[$i] === "-") { |
886 |
if ($tabRestriction[$i] === "-") { |
$dateDep = $res[$j]; |
887 |
$dateDep = strtotime($res[$j]); |
unset($res[$j]);$j++; |
888 |
unset($res[$j]);$j++; |
$duree = $res[$j]; |
889 |
$duree = $res[$j]; |
unset($res[$j]); |
890 |
unset($res[$j]); |
$res[$j] = $this->f->mois_date($dateDep, $duree, "-"); |
891 |
$res[$j] = date('Y-m-d', |
} |
|
strtotime('-'.$duree.' month', $dateDep)); |
|
892 |
} |
} |
893 |
|
|
894 |
} |
} |
|
|
|
|
} |
|
895 |
|
|
896 |
// Si les tableau des résultats n'est pas vide |
// Si les tableau des résultats n'est pas vide |
897 |
if (count($res) > 0) { |
if (count($res) > 0) { |
|
// |
|
|
$res_bool = false; |
|
|
// Effectue le test |
|
|
if ($comparateur === ">=") { |
|
898 |
// |
// |
899 |
if (strtotime($res[0]) >= strtotime($res[$j])) { |
$res_bool = false; |
900 |
$res_bool = true; |
// Effectue le test |
901 |
|
if ($comparateur === ">=") { |
902 |
|
// |
903 |
|
if (strtotime($res[0]) >= strtotime($res[$j])) { |
904 |
|
$res_bool = true; |
905 |
|
} |
906 |
} |
} |
907 |
} |
if ($comparateur === "<=") { |
|
if ($comparateur === "<=") { |
|
908 |
|
|
909 |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
910 |
$res_bool = true; |
$res_bool = true; |
911 |
|
} |
912 |
} |
} |
913 |
} |
} |
914 |
|
// Sinon une erreur s'affiche |
915 |
|
} else { |
916 |
|
|
917 |
|
// Message d'erreur |
918 |
|
$error_message = _("La restriction est sans comparateur"); |
919 |
|
$this->addToMessage($error_message); |
920 |
|
// Arrête le traitement |
921 |
|
return false; |
922 |
} |
} |
923 |
|
|
924 |
return $res_bool; |
return $res_bool; |
950 |
// Retourne la valeur du champ |
// Retourne la valeur du champ |
951 |
return $return; |
return $return; |
952 |
} |
} |
953 |
|
|
954 |
function regle($regle){ |
/** |
955 |
$temp = explode ("+",$regle); |
* Calcul des règle d'action. |
956 |
//echo '|'.$regle; |
* @param string $rule Règle d'action |
957 |
// cas rejet |
* @param string $rule_name Nom de la règle |
958 |
if($regle=="null") // 1 dimension -> null |
* @param string $type Type de la règle |
959 |
|
* |
960 |
|
* @return mixed Résultat de la règle |
961 |
|
*/ |
962 |
|
function regle($rule, $rule_name, $type = null) { |
963 |
|
|
964 |
|
// Supprime tous les espaces de la chaîne de caractère |
965 |
|
$rule = str_replace(' ', '', $rule); |
966 |
|
// Coupe la chaîne au niveau de l'opérateur |
967 |
|
$operands = explode ("+", $rule); |
968 |
|
// Nombre d'opérande |
969 |
|
$nb_operands = count($operands); |
970 |
|
|
971 |
|
// Règle à null |
972 |
|
if ($rule == "null") { |
973 |
return null; |
return null; |
|
if(sizeof($temp)==1) // 1 dimension |
|
|
if($temp[0]=="archive_date_depot") // initialisation avec le depot |
|
|
return $this->$regle; |
|
|
else // cas general |
|
|
return $this->valF[$regle]; |
|
|
if(sizeof($temp)==2){ // 2 dimensions |
|
|
if($temp[0]=="archive_date_depot") //initialisation avec le depot |
|
|
if(is_numeric($temp[1])) |
|
|
return $this->moisdate($this->$temp[0], $temp[1]); |
|
|
else |
|
|
return $this->moisdate($this->$temp[0], $this->valF[$temp[1]]); |
|
|
if($temp[0]=="archive_delai") // majoration de delai |
|
|
return $this->valF[$temp[0]]+$this->valF[$temp[1]]; |
|
|
// cas general 2 dimensions |
|
|
if(is_numeric($temp[1])) |
|
|
return $this->moisdate($this->valF[$temp[0]], $temp[1]); |
|
|
else |
|
|
return $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]); |
|
|
} |
|
|
if(sizeof($temp)==3){ // 3 dimensions |
|
|
// cas date de validite de sursis |
|
|
if(is_numeric($temp[1])) |
|
|
$temp1 = $this->moisdate($this->valF[$temp[0]], $temp[1]); |
|
|
else |
|
|
$temp1 = $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]); |
|
|
if(is_numeric($temp[2])) |
|
|
return $this->moisdate($temp1, $temp[2]); |
|
|
else |
|
|
return $this->moisdate($temp1, $this->valF[$temp[2]]); |
|
974 |
} |
} |
975 |
|
|
976 |
|
// Si c'est une règle spécifique |
977 |
|
if ($rule_name == "regle_autorite_competente" |
978 |
|
|| $rule_name == "regle_etat" |
979 |
|
|| $rule_name == "regle_accord_tacite" |
980 |
|
|| $rule_name == "regle_avis") { |
981 |
|
// |
982 |
|
return $this->valF[$rule]; |
983 |
|
} |
984 |
|
|
985 |
|
// Tableau des champs de type date |
986 |
|
$rule_type_date = array( |
987 |
|
"regle_date_limite", |
988 |
|
"regle_date_notification_delai", |
989 |
|
"regle_date_complet", |
990 |
|
"regle_date_validite", |
991 |
|
"regle_date_decision", |
992 |
|
"regle_date_chantier", |
993 |
|
"regle_date_achevement", |
994 |
|
"regle_date_conformite", |
995 |
|
"regle_date_rejet", |
996 |
|
"regle_date_dernier_depot", |
997 |
|
"regle_date_limite_incompletude", |
998 |
|
); |
999 |
|
// Tableau des champs de type numérique |
1000 |
|
$rule_type_numeric = array( |
1001 |
|
"regle_delai", |
1002 |
|
"regle_delai_incompletude", |
1003 |
|
); |
1004 |
|
|
1005 |
|
// Définit le type du champ |
1006 |
|
if (in_array($rule_name, $rule_type_date) == true) { |
1007 |
|
$type = "date"; |
1008 |
|
} |
1009 |
|
if (in_array($rule_name, $rule_type_numeric) == true) { |
1010 |
|
$type = "numeric"; |
1011 |
|
} |
1012 |
|
|
1013 |
|
// Initialisation des variables |
1014 |
|
$key_date = 0; |
1015 |
|
$total_numeric = 0; |
1016 |
|
|
1017 |
|
// Pour chaque opérande |
1018 |
|
foreach ($operands as $key => $operand) { |
1019 |
|
|
1020 |
|
// Si c'est une règle de type date |
1021 |
|
if ($type == 'date') { |
1022 |
|
// Vérifie si au moins une des opérandes est une date |
1023 |
|
if (!is_numeric($operand) |
1024 |
|
&& isset($this->valF[$operand]) |
1025 |
|
&& $this->f->check_date($this->valF[$operand]) == true) { |
1026 |
|
// Récupère la position de la date |
1027 |
|
$key_date = $key; |
1028 |
|
} |
1029 |
|
// Les autres opérandes doivent être que des numériques |
1030 |
|
if (is_numeric($operand) == true) { |
1031 |
|
// Ajoute l'opérande au total |
1032 |
|
$total_numeric += $operand; |
1033 |
|
} |
1034 |
|
if (!is_numeric($operand) |
1035 |
|
&& isset($this->valF[$operand]) |
1036 |
|
&& is_numeric($this->valF[$operand]) == true) { |
1037 |
|
// Ajoute l'opérande au total |
1038 |
|
$total_numeric += $this->valF[$operand]; |
1039 |
|
} |
1040 |
|
} |
1041 |
|
|
1042 |
|
// Si c'est une règle de type numérique |
1043 |
|
if ($type == 'numeric') { |
1044 |
|
// Les opérandes doivent être que des numériques |
1045 |
|
if (is_numeric($operand) == true) { |
1046 |
|
// Ajoute l'opérande au total |
1047 |
|
$total_numeric += $operand; |
1048 |
|
} |
1049 |
|
if (!is_numeric($operand) |
1050 |
|
&& isset($this->valF[$operand]) |
1051 |
|
&& is_numeric($this->valF[$operand]) == true) { |
1052 |
|
// Ajoute l'opérande au total |
1053 |
|
$total_numeric += $this->valF[$operand]; |
1054 |
|
} |
1055 |
|
} |
1056 |
|
} |
1057 |
|
|
1058 |
|
// Résultat pour une règle de type date |
1059 |
|
if ($type == 'date') { |
1060 |
|
// Retourne le calcul de la date |
1061 |
|
return $this->f->mois_date($this->valF[$operands[$key_date]], |
1062 |
|
$total_numeric, "+"); |
1063 |
|
} |
1064 |
|
|
1065 |
|
// Résultat pour une règle de type numérique |
1066 |
|
if ($type == 'numeric') { |
1067 |
|
// Retourne le calcul |
1068 |
|
return $total_numeric; |
1069 |
|
} |
1070 |
|
|
1071 |
} |
} |
|
|
|
|
|
|
1072 |
|
|
1073 |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
1074 |
/** |
/** |
1121 |
|
|
1122 |
// pour chacune des regles, on applique la regle |
// pour chacune des regles, on applique la regle |
1123 |
if($row['regle_delai']!=''){ |
if($row['regle_delai']!=''){ |
1124 |
$valF['delai'] = $this->regle($row['regle_delai']); |
$valF['delai'] = $this->regle($row['regle_delai'], 'regle_delai'); |
1125 |
} |
} |
1126 |
if($row['regle_accord_tacite']!=''){ |
if($row['regle_accord_tacite']!=''){ |
1127 |
$valF['accord_tacite'] = $this->regle($row['regle_accord_tacite']); |
$valF['accord_tacite'] = $this->regle($row['regle_accord_tacite'], 'regle_accord_tacite'); |
1128 |
} |
} |
1129 |
if($row['regle_avis']!=''){ |
if($row['regle_avis']!=''){ |
1130 |
$valF['avis_decision'] = $this->regle($row['regle_avis']); |
$valF['avis_decision'] = $this->regle($row['regle_avis'], 'regle_avis'); |
1131 |
} |
} |
1132 |
if($row['regle_date_limite']!=''){ |
if($row['regle_date_limite']!=''){ |
1133 |
$valF['date_limite']= $this->regle($row['regle_date_limite']); |
$valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite'); |
1134 |
} |
} |
1135 |
if($row['regle_date_complet']!=''){ |
if($row['regle_date_complet']!=''){ |
1136 |
$valF['date_complet']= $this->regle($row['regle_date_complet']); |
$valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet'); |
1137 |
} |
} |
1138 |
if($row['regle_date_dernier_depot']!=''){ |
if($row['regle_date_dernier_depot']!=''){ |
1139 |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']); |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot'); |
1140 |
} |
} |
1141 |
if($row['regle_date_notification_delai']!=''){ |
if($row['regle_date_notification_delai']!=''){ |
1142 |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']); |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai'); |
1143 |
} |
} |
1144 |
if($row['regle_date_decision']!=''){ |
if($row['regle_date_decision']!=''){ |
1145 |
$valF['date_decision']= $this->regle($row['regle_date_decision']); |
$valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision'); |
1146 |
} |
} |
1147 |
if($row['regle_date_rejet']!=''){ |
if($row['regle_date_rejet']!=''){ |
1148 |
$valF['date_rejet']= $this->regle($row['regle_date_rejet']); |
$valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet'); |
1149 |
} |
} |
1150 |
if($row['regle_date_validite']!=''){ |
if($row['regle_date_validite']!=''){ |
1151 |
$valF['date_validite']= $this->regle($row['regle_date_validite']); |
$valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite'); |
1152 |
} |
} |
1153 |
if($row['regle_date_chantier']!=''){ |
if($row['regle_date_chantier']!=''){ |
1154 |
$valF['date_chantier']= $this->regle($row['regle_date_chantier']); |
$valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier'); |
1155 |
} |
} |
1156 |
if($row['regle_date_achevement']!=''){ |
if($row['regle_date_achevement']!=''){ |
1157 |
$valF['date_achevement']= $this->regle($row['regle_date_achevement']); |
$valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement'); |
1158 |
} |
} |
1159 |
if($row['regle_date_conformite']!=''){ |
if($row['regle_date_conformite']!=''){ |
1160 |
$valF['date_conformite']= $this->regle($row['regle_date_conformite']); |
$valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite'); |
1161 |
} |
} |
1162 |
if($row['regle_date_limite_incompletude']!=''){ |
if($row['regle_date_limite_incompletude']!=''){ |
1163 |
$valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude']); |
$valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude'], 'regle_date_limite_incompletude'); |
1164 |
} |
} |
1165 |
if($row['regle_delai_incompletude']!=''){ |
if($row['regle_delai_incompletude']!=''){ |
1166 |
$valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude']); |
$valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude'], 'regle_delai_incompletude'); |
1167 |
} |
} |
1168 |
if($row['regle_autorite_competente']!=''){ |
if($row['regle_autorite_competente']!=''){ |
1169 |
$valF['autorite_competente']= $this->regle($row['regle_autorite_competente']); |
$valF['autorite_competente']= $this->regle($row['regle_autorite_competente'], 'regle_autorite_competente'); |
1170 |
} |
} |
1171 |
if($row['regle_etat']!=''){ |
if($row['regle_etat']!=''){ |
1172 |
// Si on est dans le cas général ou qu'on est en incomplétude et |
// Si on est dans le cas général ou qu'on est en incomplétude et |
1173 |
// qu'on a un événement de type incomplétude alors : on stocke |
// qu'on a un événement de type incomplétude alors : on stocke |
1174 |
// l'état dans la variable courante |
// l'état dans la variable courante |
1175 |
if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") { |
if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") { |
1176 |
$valF['etat'] = $this->regle($row['regle_etat']); |
$valF['etat'] = $this->regle($row['regle_etat'], 'regle_etat'); |
1177 |
} else { |
} else { |
1178 |
$valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat']); |
$valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat'], 'regle_etat'); |
1179 |
} |
} |
1180 |
} |
} |
1181 |
if($this->valEvenement['evenement_suivant_tacite'] != '') { |
if($this->valEvenement['evenement_suivant_tacite'] != '') { |
1251 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1252 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1253 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1254 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1255 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1256 |
|
$this->correct = false; |
1257 |
|
return false; |
1258 |
|
} |
1259 |
} |
} |
1260 |
|
|
1261 |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
1265 |
*/ |
*/ |
1266 |
// Initialisation |
// Initialisation |
1267 |
$valF = ""; |
$valF = ""; |
1268 |
|
// Initialisation du type d'événement |
1269 |
|
$type_evmt = ""; |
1270 |
// Récupération de l'action correspondante à l'événement |
// Récupération de l'action correspondante à l'événement |
1271 |
$sql = "SELECT action |
$sql = "SELECT action |
1272 |
FROM ".DB_PREFIXE."evenement |
FROM ".DB_PREFIXE."evenement |
1277 |
die($action->getMessage()); |
die($action->getMessage()); |
1278 |
} |
} |
1279 |
|
|
|
// Récupération de tous les paramètres de l'événement sélectionné |
|
|
$sql = "SELECT * FROM ".DB_PREFIXE."evenement |
|
|
WHERE evenement=".$this->valF['evenement']; |
|
|
$res = $db->query($sql); |
|
|
$this->addToLog("triggerajouter(): db->query(\"".$sql."\");", VERBOSE_MODE); |
|
|
if (database::isError($res)) { |
|
|
die($res->getMessage()); |
|
|
} |
|
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
|
|
// Si la date de retour signature est éditée on vérifie si il existe un événement automatique |
|
|
if ($this->getVal('date_retour_signature') == "" AND |
|
|
$this->valF['date_retour_signature'] != "" AND |
|
|
$row['evenement_retour_signature'] != "") { |
|
|
$new_instruction = new instruction("]", $db, $DEBUG); |
|
|
// Création d'un tableau avec la liste des champs de l'instruction |
|
|
foreach($new_instruction->champs as $champ) { |
|
|
$valNewInstr[$champ] = ""; |
|
|
} |
|
|
// Définition des valeurs de la nouvelle instruction |
|
|
$valNewInstr["evenement"] = $row['evenement_retour_signature']; |
|
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
|
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
|
|
$valNewInstr["date_evenement"] = date("d/m/Y"); |
|
|
$new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
|
|
} |
|
|
// Si la date de retour AR est éditée on vérifie si il existe un événement automatique |
|
|
if ($this->getVal('date_retour_rar') == "" AND |
|
|
$this->valF['date_retour_rar'] != "" AND |
|
|
$row['evenement_retour_ar'] != "" ) { |
|
|
$new_instruction = new instruction("]", $db, $DEBUG); |
|
|
// Création d'un tableau avec la liste des champs de l'instruction |
|
|
foreach($new_instruction->champs as $champ) { |
|
|
$valNewInstr[$champ] = ""; |
|
|
} |
|
|
// Définition des valeurs de la nouvelle instruction |
|
|
$valNewInstr["evenement"] = $row['evenement_retour_ar']; |
|
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
|
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
|
|
$valNewInstr["date_evenement"] = date("d/m/Y"); |
|
|
$new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
|
|
} |
|
|
} |
|
|
|
|
1280 |
// Récupération des paramètres de l'action |
// Récupération des paramètres de l'action |
1281 |
$sql = "SELECT * FROM ".DB_PREFIXE."action |
$sql = "SELECT * FROM ".DB_PREFIXE."action |
1282 |
WHERE action='".$action."'"; |
WHERE action='".$action."'"; |
1288 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
1289 |
// application des regles sur le courrier + delai |
// application des regles sur le courrier + delai |
1290 |
if(preg_match("/date_evenement/",$row['regle_date_limite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_limite'])){ |
1291 |
$valF['date_limite']= $this->regle($row['regle_date_limite']); |
$valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite'); |
1292 |
} |
} |
1293 |
if(preg_match("/date_evenement/",$row['regle_date_complet'])){ |
if(preg_match("/date_evenement/",$row['regle_date_complet'])){ |
1294 |
$valF['date_complet']= $this->regle($row['regle_date_complet']); |
$valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet'); |
1295 |
} |
} |
1296 |
if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){ |
if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){ |
1297 |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']); |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot'); |
1298 |
} |
} |
1299 |
if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){ |
if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){ |
1300 |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']); |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai'); |
1301 |
} |
} |
1302 |
if(preg_match("/date_evenement/",$row['regle_date_decision'])){ |
if(preg_match("/date_evenement/",$row['regle_date_decision'])){ |
1303 |
$valF['date_decision']= $this->regle($row['regle_date_decision']); |
$valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision'); |
1304 |
} |
} |
1305 |
if(preg_match("/date_evenement/",$row['regle_date_rejet'])){ |
if(preg_match("/date_evenement/",$row['regle_date_rejet'])){ |
1306 |
$valF['date_rejet']= $this->regle($row['regle_date_rejet']); |
$valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet'); |
1307 |
} |
} |
1308 |
if(preg_match("/date_evenement/",$row['regle_date_validite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_validite'])){ |
1309 |
$valF['date_validite']= $this->regle($row['regle_date_validite']); |
$valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite'); |
1310 |
} |
} |
1311 |
if(preg_match("/date_evenement/",$row['regle_date_chantier'])){ |
if(preg_match("/date_evenement/",$row['regle_date_chantier'])){ |
1312 |
$valF['date_chantier']= $this->regle($row['regle_date_chantier']); |
$valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier'); |
1313 |
} |
} |
1314 |
if(preg_match("/date_evenement/",$row['regle_date_achevement'])){ |
if(preg_match("/date_evenement/",$row['regle_date_achevement'])){ |
1315 |
$valF['date_achevement']= $this->regle($row['regle_date_achevement']); |
$valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement'); |
1316 |
} |
} |
1317 |
if(preg_match("/date_evenement/",$row['regle_date_conformite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_conformite'])){ |
1318 |
$valF['date_conformite']= $this->regle($row['regle_date_conformite']); |
$valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite'); |
1319 |
} |
} |
1320 |
} |
} |
1321 |
// Si des valeurs ont été calculées alors on met à jour l'enregistrement |
// Si des valeurs ont été calculées alors on met à jour l'enregistrement |
1323 |
// On met à jour le dossier |
// On met à jour le dossier |
1324 |
$cle = " dossier='".$this->valF['dossier']."'"; |
$cle = " dossier='".$this->valF['dossier']."'"; |
1325 |
$res1 = $db->autoExecute(DB_PREFIXE.'dossier', $valF, DB_AUTOQUERY_UPDATE, $cle); |
$res1 = $db->autoExecute(DB_PREFIXE.'dossier', $valF, DB_AUTOQUERY_UPDATE, $cle); |
1326 |
$this->addToLog("triggerajouterapres(): db->autoexecute(\"".DB_PREFIXE."dossier\", ".print_r($valF, true).", DB_AUTOQUERY_UPDATE, \"".$cle."\");", VERBOSE_MODE); |
$this->addToLog("triggermodifierapres(): db->autoexecute(\"".DB_PREFIXE."dossier\", ".print_r($valF, true).", DB_AUTOQUERY_UPDATE, \"".$cle."\");", VERBOSE_MODE); |
1327 |
if (database::isError($res1)) { |
if (database::isError($res1)) { |
1328 |
die($res->getMessage()); |
die($res->getMessage()); |
1329 |
} |
} |
1331 |
$this->addToMessage(_('enregistrement')." ".$this->valF['dossier']." "._('table')." dossier [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]"); |
$this->addToMessage(_('enregistrement')." ".$this->valF['dossier']." "._('table')." dossier [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]"); |
1332 |
} |
} |
1333 |
|
|
1334 |
|
// Récupération de tous les paramètres de l'événement sélectionné |
1335 |
|
$sql = "SELECT * FROM ".DB_PREFIXE."evenement |
1336 |
|
WHERE evenement=".$this->valF['evenement']; |
1337 |
|
$res = $db->query($sql); |
1338 |
|
$this->addToLog("triggermodifierapres(): db->query(\"".$sql."\");", VERBOSE_MODE); |
1339 |
|
if (database::isError($res)) { |
1340 |
|
die($res->getMessage()); |
1341 |
|
} |
1342 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
1343 |
|
// Si la date de retour signature est éditée on vérifie si il existe un événement automatique |
1344 |
|
if ($this->getVal('date_retour_signature') == "" AND |
1345 |
|
$this->valF['date_retour_signature'] != "" AND |
1346 |
|
$row['evenement_retour_signature'] != "") { |
1347 |
|
$new_instruction = new instruction("]", $db, $DEBUG); |
1348 |
|
// Création d'un tableau avec la liste des champs de l'instruction |
1349 |
|
foreach($new_instruction->champs as $champ) { |
1350 |
|
$valNewInstr[$champ] = ""; |
1351 |
|
} |
1352 |
|
// Définition des valeurs de la nouvelle instruction |
1353 |
|
$valNewInstr["evenement"] = $row['evenement_retour_signature']; |
1354 |
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1355 |
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
1356 |
|
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1357 |
|
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1358 |
|
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1359 |
|
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1360 |
|
$valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1361 |
|
$valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']); |
1362 |
|
$valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']); |
1363 |
|
$new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
1364 |
|
} |
1365 |
|
// Si la date de retour AR est éditée on vérifie si il existe un événement automatique |
1366 |
|
if ($this->getVal('date_retour_rar') == "" AND |
1367 |
|
$this->valF['date_retour_rar'] != "" AND |
1368 |
|
$row['evenement_retour_ar'] != "" ) { |
1369 |
|
$new_instruction = new instruction("]", $db, $DEBUG); |
1370 |
|
// Création d'un tableau avec la liste des champs de l'instruction |
1371 |
|
foreach($new_instruction->champs as $champ) { |
1372 |
|
$valNewInstr[$champ] = ""; |
1373 |
|
} |
1374 |
|
// Définition des valeurs de la nouvelle instruction |
1375 |
|
$valNewInstr["evenement"] = $row['evenement_retour_ar']; |
1376 |
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1377 |
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
1378 |
|
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1379 |
|
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1380 |
|
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1381 |
|
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1382 |
|
$valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1383 |
|
$valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']); |
1384 |
|
$valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']); |
1385 |
|
$new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
1386 |
|
} |
1387 |
|
} |
1388 |
|
|
1389 |
/** |
/** |
1390 |
* REFERENTIEL ARRETE |
* REFERENTIEL ARRETE |
1391 |
*/ |
*/ |
1392 |
if ($this->f->getParameter('option_referentiel_arrete') != "") { |
// Si l'option référentiel arrêté est activé et l'événement est de type |
1393 |
|
// arrêté |
1394 |
|
if ($this->f->getParameter('option_referentiel_arrete') != "" AND |
1395 |
|
$type_evmt == "arrete") { |
1396 |
if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) { |
if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) { |
1397 |
$msgenque = new MessageEnqueuer(); |
$msgenque = new MessageEnqueuer(); |
1398 |
$sqlArrete = "SELECT instruction.signataire_arrete as \"ws_DA_In_Signataire\", |
$sqlArrete = "SELECT instruction.signataire_arrete as \"ws_DA_In_Signataire\", |
1405 |
'' as \"ws_DA_In_Sigle\", |
'' as \"ws_DA_In_Sigle\", |
1406 |
instruction.etat as \"ws_DA_In_Decision\", |
instruction.etat as \"ws_DA_In_Decision\", |
1407 |
dossier.date_depot as \"ws_DA_In_Dte_Depot_Dem\", |
dossier.date_depot as \"ws_DA_In_Dte_Depot_Dem\", |
1408 |
dossier.terrain_numero as \"ws_DA_In_N_Voie\", |
dossier.terrain_adresse_voie_numero as \"ws_DA_In_N_Voie\", |
1409 |
'' as \"ws_DA_In_Type_Voie\", |
'' as \"ws_DA_In_Type_Voie\", |
1410 |
dossier.terrain_adresse_voie as \"ws_DA_In_Adresse1\", |
dossier.terrain_adresse_voie as \"ws_DA_In_Adresse1\", |
1411 |
dossier.terrain_adresse_lieu_dit as \"ws_DA_In_Adresse2\", |
dossier.terrain_adresse_lieu_dit as \"ws_DA_In_Adresse2\", |
1438 |
donnees_techniques.dossier_instruction = dossier.dossier |
donnees_techniques.dossier_instruction = dossier.dossier |
1439 |
WHERE instruction.instruction = ".$this->valF['instruction']; |
WHERE instruction.instruction = ".$this->valF['instruction']; |
1440 |
$resArrete = $this->db->query($sqlArrete); |
$resArrete = $this->db->query($sqlArrete); |
1441 |
$this->f->addToLog("triggerModifierApres(): db->query(\"".$sqlArrete."\");", VERBOSE_MODE); |
$this->f->addToLog("triggermodifierapres(): db->query(\"".$sqlArrete."\");", VERBOSE_MODE); |
1442 |
if ( database::isError($resArrete)){ |
if ( database::isError($resArrete)){ |
1443 |
die(); |
die(); |
1444 |
} |
} |
1452 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1453 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1454 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1455 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1456 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1457 |
|
$this->correct = false; |
1458 |
|
return false; |
1459 |
|
} |
1460 |
} |
} |
1461 |
|
|
1462 |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
1465 |
* archive dans le dossier d'instruction avant de supprimer l'événement |
* archive dans le dossier d'instruction avant de supprimer l'événement |
1466 |
* d'instruction |
* d'instruction |
1467 |
*/ |
*/ |
1468 |
// Mise à jour des 4 valeurs modifiées par l'action |
|
1469 |
$valF['delai'] = $val['archive_delai']; |
// Mise à jour des 4 valeurs modifiées par l'action |
1470 |
$valF['accord_tacite'] = $val['archive_accord_tacite']; |
$valF['delai'] = $val['archive_delai']; |
1471 |
$valF['etat'] = $val['archive_etat']; |
$valF['accord_tacite'] = $val['archive_accord_tacite']; |
1472 |
if ($val['archive_avis'] != '') { |
$valF['etat'] = $val['archive_etat']; |
1473 |
$valF['avis_decision'] = $val['archive_avis']; |
if ($val['archive_avis'] != '') { |
1474 |
} else { |
$valF['avis_decision'] = $val['archive_avis']; |
1475 |
$valF['avis_decision'] = NULL; |
} else { |
1476 |
} |
$valF['avis_decision'] = NULL; |
1477 |
// Mise à jour des 10 dates avec la valeur présente dans le formulaire |
} |
1478 |
// de suppression. Si la valeur de la date est vide alors on fixe |
// Mise à jour des 10 dates avec la valeur présente dans le formulaire |
1479 |
// à la valeur NULL |
// de suppression. Si la valeur de la date est vide alors on fixe |
1480 |
// |
// à la valeur NULL |
1481 |
if ($val['archive_date_complet'] != '') { |
// |
1482 |
$valF['date_complet'] = $val['archive_date_complet']; |
if ($val['archive_date_complet'] != '') { |
1483 |
} else { |
$valF['date_complet'] = $val['archive_date_complet']; |
1484 |
$valF['date_complet'] = NULL; |
} else { |
1485 |
} |
$valF['date_complet'] = NULL; |
1486 |
if ($val['archive_date_dernier_depot'] != '') { |
} |
1487 |
$valF['date_dernier_depot'] = $val['archive_date_dernier_depot']; |
if ($val['archive_date_dernier_depot'] != '') { |
1488 |
} else { |
$valF['date_dernier_depot'] = $val['archive_date_dernier_depot']; |
1489 |
$valF['date_dernier_depot'] = NULL; |
} else { |
1490 |
} |
$valF['date_dernier_depot'] = NULL; |
1491 |
if ($val['archive_date_rejet'] != '') { |
} |
1492 |
$valF['date_rejet'] = $val['archive_date_rejet']; |
if ($val['archive_date_rejet'] != '') { |
1493 |
} else { |
$valF['date_rejet'] = $val['archive_date_rejet']; |
1494 |
$valF['date_rejet'] = NULL; |
} else { |
1495 |
} |
$valF['date_rejet'] = NULL; |
1496 |
if ($val['archive_date_limite'] != '') { |
} |
1497 |
$valF['date_limite'] = $val['archive_date_limite']; |
if ($val['archive_date_limite'] != '') { |
1498 |
} else { |
$valF['date_limite'] = $val['archive_date_limite']; |
1499 |
$valF['date_limite'] = NULL; |
} else { |
1500 |
} |
$valF['date_limite'] = NULL; |
1501 |
if ($val['archive_date_notification_delai'] != '') { |
} |
1502 |
$valF['date_notification_delai'] = $val['archive_date_notification_delai']; |
if ($val['archive_date_notification_delai'] != '') { |
1503 |
} else { |
$valF['date_notification_delai'] = $val['archive_date_notification_delai']; |
1504 |
$valF['date_notification_delai'] = NULL; |
} else { |
1505 |
} |
$valF['date_notification_delai'] = NULL; |
1506 |
if ($val['archive_date_decision'] != '') { |
} |
1507 |
$valF['date_decision'] = $val['archive_date_decision']; |
if ($val['archive_date_decision'] != '') { |
1508 |
} else { |
$valF['date_decision'] = $val['archive_date_decision']; |
1509 |
$valF['date_decision'] = NULL; |
} else { |
1510 |
} |
$valF['date_decision'] = NULL; |
1511 |
if ($val['archive_date_validite'] != '') { |
} |
1512 |
$valF['date_validite'] = $val['archive_date_validite']; |
if ($val['archive_date_validite'] != '') { |
1513 |
} else { |
$valF['date_validite'] = $val['archive_date_validite']; |
1514 |
$valF['date_validite'] = NULL; |
} else { |
1515 |
} |
$valF['date_validite'] = NULL; |
1516 |
if ($val['archive_date_achevement'] != '') { |
} |
1517 |
$valF['date_achevement'] = $val['archive_date_achevement']; |
if ($val['archive_date_achevement'] != '') { |
1518 |
} else { |
$valF['date_achevement'] = $val['archive_date_achevement']; |
1519 |
$valF['date_achevement'] = NULL; |
} else { |
1520 |
} |
$valF['date_achevement'] = NULL; |
1521 |
if ($val['archive_date_chantier'] != '') { |
} |
1522 |
$valF['date_chantier'] = $val['archive_date_chantier']; |
if ($val['archive_date_chantier'] != '') { |
1523 |
} else { |
$valF['date_chantier'] = $val['archive_date_chantier']; |
1524 |
$valF['date_chantier'] = NULL; |
} else { |
1525 |
} |
$valF['date_chantier'] = NULL; |
1526 |
if ($val['archive_date_conformite'] != '') { |
} |
1527 |
$valF['date_conformite'] = $val['archive_date_conformite']; |
if ($val['archive_date_conformite'] != '') { |
1528 |
} else { |
$valF['date_conformite'] = $val['archive_date_conformite']; |
1529 |
$valF['date_conformite'] = NULL; |
} else { |
1530 |
} |
$valF['date_conformite'] = NULL; |
1531 |
if ($val['archive_incompletude'] != '') { |
} |
1532 |
$valF['incompletude'] = $val['archive_incompletude']; |
if ($val['archive_incompletude'] != '') { |
1533 |
} else { |
$valF['incompletude'] = $val['archive_incompletude']; |
1534 |
$valF['incompletude'] = NULL; |
} else { |
1535 |
} |
$valF['incompletude'] = NULL; |
1536 |
if ($val['archive_evenement_suivant_tacite'] != '') { |
} |
1537 |
$valF['evenement_suivant_tacite'] = $val['archive_evenement_suivant_tacite']; |
if ($val['archive_evenement_suivant_tacite'] != '') { |
1538 |
} else { |
$valF['evenement_suivant_tacite'] = $val['archive_evenement_suivant_tacite']; |
1539 |
$valF['evenement_suivant_tacite'] = NULL; |
} else { |
1540 |
} |
$valF['evenement_suivant_tacite'] = NULL; |
1541 |
if ($val['archive_evenement_suivant_tacite_incompletude'] != '') { |
} |
1542 |
$valF['evenement_suivant_tacite_incompletude'] = $val['archive_evenement_suivant_tacite_incompletude']; |
if ($val['archive_evenement_suivant_tacite_incompletude'] != '') { |
1543 |
} else { |
$valF['evenement_suivant_tacite_incompletude'] = $val['archive_evenement_suivant_tacite_incompletude']; |
1544 |
$valF['evenement_suivant_tacite_incompletude'] = NULL; |
} else { |
1545 |
} |
$valF['evenement_suivant_tacite_incompletude'] = NULL; |
1546 |
if ($val['archive_etat_pendant_incompletude'] != '') { |
} |
1547 |
$valF['etat_pendant_incompletude'] = $val['archive_etat_pendant_incompletude']; |
if ($val['archive_etat_pendant_incompletude'] != '') { |
1548 |
} else { |
$valF['etat_pendant_incompletude'] = $val['archive_etat_pendant_incompletude']; |
1549 |
$valF['etat_pendant_incompletude'] = NULL; |
} else { |
1550 |
} |
$valF['etat_pendant_incompletude'] = NULL; |
1551 |
if ($val['archive_date_limite_incompletude'] != '') { |
} |
1552 |
$valF['date_limite_incompletude'] = $val['archive_date_limite_incompletude']; |
if ($val['archive_date_limite_incompletude'] != '') { |
1553 |
} else { |
$valF['date_limite_incompletude'] = $val['archive_date_limite_incompletude']; |
1554 |
$valF['date_limite_incompletude'] = NULL; |
} else { |
1555 |
} |
$valF['date_limite_incompletude'] = NULL; |
1556 |
if ($val['archive_delai_incompletude'] != '') { |
} |
1557 |
$valF['delai_incompletude'] = $val['archive_delai_incompletude']; |
if ($val['archive_delai_incompletude'] != '') { |
1558 |
} else { |
$valF['delai_incompletude'] = $val['archive_delai_incompletude']; |
1559 |
$valF['delai_incompletude'] = NULL; |
} else { |
1560 |
} |
$valF['delai_incompletude'] = NULL; |
1561 |
if ($val['archive_autorite_competente'] != '') { |
} |
1562 |
$valF['autorite_competente'] = $val['archive_autorite_competente']; |
if ($val['archive_autorite_competente'] != '') { |
1563 |
} else { |
$valF['autorite_competente'] = $val['archive_autorite_competente']; |
1564 |
$valF['autorite_competente'] = NULL; |
} else { |
1565 |
} |
$valF['autorite_competente'] = NULL; |
1566 |
// On met à jour le dossier |
} |
1567 |
$cle = " dossier='".$val['dossier']."'"; |
// On met à jour le dossier |
1568 |
$res = $db->autoExecute(DB_PREFIXE.'dossier', $valF, DB_AUTOQUERY_UPDATE, $cle); |
$cle = " dossier='".$val['dossier']."'"; |
1569 |
$this->addToLog("triggersupprimer(): db->autoexecute(\"".DB_PREFIXE."dossier\", ".print_r($valF, true).", DB_AUTOQUERY_UPDATE, \"".$cle."\");", VERBOSE_MODE); |
$res = $db->autoExecute(DB_PREFIXE.'dossier', $valF, DB_AUTOQUERY_UPDATE, $cle); |
1570 |
if (database::isError($res)) { |
$this->addToLog("triggersupprimer(): db->autoexecute(\"".DB_PREFIXE."dossier\", ".print_r($valF, true).", DB_AUTOQUERY_UPDATE, \"".$cle."\");", VERBOSE_MODE); |
1571 |
die($res->getMessage()); |
if (database::isError($res)) { |
1572 |
} |
die($res->getMessage()); |
1573 |
// Affichage d'informations à l'utilisateur |
} |
1574 |
$this->addToMessage(_("Suppression de l'instruction")." [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]"); |
// Affichage d'informations à l'utilisateur |
1575 |
|
$this->addToMessage(_("Suppression de l'instruction")." [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]"); |
1576 |
// Mise à jour de la demande si un récépissé d'instruction correspond à l'instruction à supprimer |
|
1577 |
|
// Mise à jour de la demande si un récépissé d'instruction correspond à l'instruction à supprimer |
1578 |
} |
} |
1579 |
|
|
1580 |
function triggersupprimerapres($id,&$db,$val,$DEBUG) { |
function triggersupprimerapres($id,&$db,$val,$DEBUG) { |
1582 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1583 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1584 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
1585 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1586 |
} |
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1587 |
|
$this->correct = false; |
1588 |
// ============================================= |
return false; |
1589 |
// calcul de date avec ajout de mois (delais) |
} |
|
// [add months (delay) and calculation final date] |
|
|
// LIMITE DE LA FONCTION si delai >24 MOIS |
|
|
// [limit : delay < 24 month] |
|
|
// ============================================= |
|
|
function moisdate($date,$delaimois) { |
|
|
$temp = explode("-" , $date); |
|
|
$jour = (int) $temp[2]; |
|
|
$mois = (int) $temp[1]; |
|
|
$annee = (int) $temp[0]; |
|
|
// calcul si delai superieur à 12 (limite 24) [delay > 24 month] |
|
|
if($delaimois>=12){ |
|
|
$delaimois=$delaimois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
if($delaimois>=12){ |
|
|
$delaimois=$delaimois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
// mois |
|
|
$mois=$mois+$delaimois; |
|
|
// calcul mois annee [calculation number of years if > 12 month] |
|
|
// nb de mois > à 12 |
|
|
if ($mois>12){ |
|
|
$mois=$mois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
// Calcul du nombre de jours dans le mois sélectionné [calculation number of days] |
|
|
switch($mois) { |
|
|
case "2": |
|
|
if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0) |
|
|
$jourmax = 29; |
|
|
else |
|
|
$jourmax = 28; |
|
|
break; |
|
|
case "4": |
|
|
case "6": |
|
|
case "9": |
|
|
case "11": |
|
|
$jourmax = 30; |
|
|
break; |
|
|
default: |
|
|
$jourmax = 31; |
|
|
} |
|
|
if ($jour > $jourmax) |
|
|
$jour = $jourmax; |
|
|
//$dateretour=$annee."-".$mois."-".$jour; |
|
|
return $annee."-".$mois."-".$jour ; |
|
1590 |
} |
} |
1591 |
|
|
1592 |
// Vérifie la restriction sur l'événement |
// Vérifie la restriction sur l'événement |
1773 |
$uid = $this->getVal("om_fichier_instruction"); |
$uid = $this->getVal("om_fichier_instruction"); |
1774 |
|
|
1775 |
//On dé-finalise avant de finaliser |
//On dé-finalise avant de finaliser |
1776 |
if ( $uid == '' ){ |
if ( $uid == '' || $uid == 'OP_FAILURE' ){ |
1777 |
return -1; |
return -1; |
1778 |
} |
} |
1779 |
} |
} |
1780 |
|
|
1781 |
//Mise à jour des données |
//Mise à jour des données |
1782 |
if ( $uid != '' ){ |
if ( $uid != '' && $uid != 'OP_FAILURE' ){ |
1783 |
// Logger |
// Logger |
1784 |
$this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE); |
$this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE); |
1785 |
// Recuperation de la valeur de la cle primaire de l'objet |
// Recuperation de la valeur de la cle primaire de l'objet |
2209 |
|
|
2210 |
} |
} |
2211 |
|
|
2212 |
|
/** |
2213 |
|
* Permet de vérifier qu'un événement est verrouillable |
2214 |
|
* @param integer $idx Identifiant de l'instruction |
2215 |
|
* @return boolean |
2216 |
|
*/ |
2217 |
|
function checkEvenementNonVerrouillable($idx) { |
2218 |
|
|
2219 |
|
// Initialisation du résultat |
2220 |
|
$non_verrouillable = false; |
2221 |
|
|
2222 |
|
// Si la condition n'est pas vide |
2223 |
|
if ($idx != "") { |
2224 |
|
|
2225 |
|
// Requête SQL |
2226 |
|
$sql = "SELECT evenement.non_verrouillable |
2227 |
|
FROM ".DB_PREFIXE."evenement |
2228 |
|
LEFT JOIN ".DB_PREFIXE."instruction |
2229 |
|
ON instruction.evenement = evenement.evenement |
2230 |
|
WHERE instruction.instruction = $idx"; |
2231 |
|
$this->f->addToLog("checkEvenementNonVerrouillable() : db->getOne(\"".$sql."\")", VERBOSE_MODE); |
2232 |
|
$res = $this->db->getOne($sql); |
2233 |
|
$this->f->isDatabaseError($res); |
2234 |
|
|
2235 |
|
// Si le retour de la requête est true |
2236 |
|
if ($res == 't') { |
2237 |
|
// |
2238 |
|
$non_verrouillable = true; |
2239 |
|
} |
2240 |
|
} |
2241 |
|
|
2242 |
|
// Retourne résultat |
2243 |
|
return $non_verrouillable; |
2244 |
|
} |
2245 |
|
|
2246 |
|
/** |
2247 |
|
* Mise à jour des champs archive_* |
2248 |
|
* @param mixed $row La ligne de données |
2249 |
|
*/ |
2250 |
|
public function updateArchiveData($row){ |
2251 |
|
|
2252 |
|
// Récupération de la valeur actuelle du délai, de l'accord tacite, |
2253 |
|
// de l'état et de l'avis du dossier d'instruction |
2254 |
|
$this->valF['archive_delai']=$row['delai']; |
2255 |
|
$this->valF['archive_accord_tacite']=$row['accord_tacite']; |
2256 |
|
$this->valF['archive_etat']=$row['etat']; |
2257 |
|
$this->valF['archive_avis']=$row['avis_decision']; |
2258 |
|
// Récupération de la valeur actuelle des 9 dates du dossier |
2259 |
|
// d'instruction |
2260 |
|
if ($row['date_complet'] != '') { |
2261 |
|
$this->valF['archive_date_complet']=$row['date_complet']; |
2262 |
|
} |
2263 |
|
if ($row['date_dernier_depot'] != '') { |
2264 |
|
$this->valF['archive_date_dernier_depot']=$row['date_dernier_depot']; |
2265 |
|
} |
2266 |
|
if ($row['date_rejet']!='') { |
2267 |
|
$this->valF['archive_date_rejet']= $row['date_rejet']; |
2268 |
|
} |
2269 |
|
if ($row['date_limite']!='') { |
2270 |
|
$this->valF['archive_date_limite']= $row['date_limite']; |
2271 |
|
} |
2272 |
|
if ($row['date_notification_delai']!='') { |
2273 |
|
$this->valF['archive_date_notification_delai']= $row['date_notification_delai']; |
2274 |
|
} |
2275 |
|
if ($row['date_decision']!='') { |
2276 |
|
$this->valF['archive_date_decision']= $row['date_decision']; |
2277 |
|
} |
2278 |
|
if ($row['date_validite']!='') { |
2279 |
|
$this->valF['archive_date_validite']= $row['date_validite']; |
2280 |
|
} |
2281 |
|
if ($row['date_achevement']!='') { |
2282 |
|
$this->valF['archive_date_achevement']= $row['date_achevement']; |
2283 |
|
} |
2284 |
|
if ($row['date_chantier']!='') { |
2285 |
|
$this->valF['archive_date_chantier']= $row['date_chantier']; |
2286 |
|
} |
2287 |
|
if ($row['date_conformite']!='') { |
2288 |
|
$this->valF['archive_date_conformite']= $row['date_conformite']; |
2289 |
|
} |
2290 |
|
if ($row['incompletude']!='') { |
2291 |
|
$this->valF['archive_incompletude']= $row['incompletude']; |
2292 |
|
} |
2293 |
|
if ($row['evenement_suivant_tacite']!='') { |
2294 |
|
$this->valF['archive_evenement_suivant_tacite']= $row['evenement_suivant_tacite']; |
2295 |
|
} |
2296 |
|
if ($row['evenement_suivant_tacite_incompletude']!='') { |
2297 |
|
$this->valF['archive_evenement_suivant_tacite_incompletude']= $row['evenement_suivant_tacite_incompletude']; |
2298 |
|
} |
2299 |
|
if ($row['etat_pendant_incompletude']!='') { |
2300 |
|
$this->valF['archive_etat_pendant_incompletude']= $row['etat_pendant_incompletude']; |
2301 |
|
} |
2302 |
|
if ($row['date_limite_incompletude']!='') { |
2303 |
|
$this->valF['archive_date_limite_incompletude']= $row['date_limite_incompletude']; |
2304 |
|
} |
2305 |
|
if ($row['delai_incompletude']!='') { |
2306 |
|
$this->valF['archive_delai_incompletude']= $row['delai_incompletude']; |
2307 |
|
} |
2308 |
|
if ($row['autorite_competente']!='') { |
2309 |
|
$this->valF['archive_autorite_competente']= $row['autorite_competente']; |
2310 |
|
} |
2311 |
|
if ($row['duree_validite']!='') { |
2312 |
|
$this->valF['duree_validite']= $row['duree_validite']; |
2313 |
|
} |
2314 |
|
} |
2315 |
}// fin classe |
}// fin classe |
2316 |
?> |
?> |