f->clean_break($id); //{{{Vérification des données fournies //Récupération de données liées au dossier d'instruction passé en paramètre $sql = "SELECT dossier.dossier, etat.etat, etat.statut FROM ".DB_PREFIXE."dossier LEFT JOIN ".DB_PREFIXE."etat ON dossier.etat = etat.etat WHERE dossier.dossier = '".$id."'"; $res = $this->db->query($sql); $this->addToLog("updateDossierInstructionAT(): db->query(\"".$sql."\");", VERBOSE_MODE); if (database::isError($res)) { die($res->getMessage()); } //Vérifie que le dossier d'instruction existe if ( $res->numrows() == 0 ){ $this->msg = _("Ce dossier n'existe pas"); return "400 Bad Request"; } //Vérifie que le dossier est bien de type AT $sql = "SELECT dossier_autorisation_type_detaille.dossier_autorisation_type_detaille FROM ".DB_PREFIXE."dossier_autorisation_type_detaille LEFT JOIN ".DB_PREFIXE."dossier_instruction_type ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille LEFT JOIN ".DB_PREFIXE."dossier ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type WHERE dossier.dossier = '".$id."' AND dossier_autorisation_type_detaille.code = 'AT'"; $resTemp = $this->db->query($sql); $this->addToLog("updateDossierInstructionAT(): db->query(\"".$sql."\");", VERBOSE_MODE); if (database::isError($resTemp)) { die($resTemp->getMessage()); return "400 Bad Request"; } if ( $resTemp->numrows() == 0 ){ $this->msg = _("Ce dossier n'est pas un dossier de type AT"); return "400 Bad Request"; } //Vérifie qu'un message a été fourni if (!isset($data["message"]) || is_null($data["message"]) || $data["message"] == '' ){ $this->msg = _("Aucun message fourni"); return "400 Bad Request"; } //Vérifie que le message fourni est correct if ( $data["message"] !== "complet" && $data["message"] !== "clos" ){ $this->msg = _("Message fourni incorrect"); return "400 Bad Request"; } //Vérifie qu'une date a été fournie if ( !isset($data["date"]) || is_null($data["date"] || $data["date"] == '' ) ){ $this->msg = _("Aucune date fournie"); return "400 Bad Request"; } //Vérifie le format de la date if ( !preg_match( '`^\d{1,2}/\d{1,2}/\d{4}$`' , $data["date"]) ){ $this->msg = _("Date fournie au mauvais format"); return "400 Bad Request"; } $row=&$res->fetchRow(DB_FETCHMODE_ASSOC); //Vérifie qu'un message "complet" n'est pas fourni alors que le dossier //d'instruction est déjà complet if ( $data["message"] === "complet" && $row["etat"] !== "incomplet" ){ $this->msg = _("Ce dossier est deja complet"); return "400 Bad Request"; } //Vérifie qu'un message "clos" n'est pas fourni alors que le dossier //d'instruction est déjà clos if ( $data["message"] === "clos" && $row["etat"] === "cloturer" ){ $this->msg = _("Ce dossier est deja clos"); return "400 Bad Request"; } //Vérifie que le dossier d'instruction est toujours en cours d'instruction if( $row["statut"]!== "encours" ){ $this->msg = _("Dossier cloture. Aucune modification possible"); return "400 Bad Request"; } //}}} //Mise à jour du dossier d'instruction $ret = $this->updateDossierAT($id, $data["message"], $data["date"]); //Si la mise à jour du dossier d'instruction s'est bien passée if ( $ret ){ $this->msg = _("Mise a jour des donnees realisees avec succes"); return "200 OK"; } else { $this->msg = _("Une erreur s'est produite"); return "200 OK"; } } /** * Mise à jour d'un dossier d'instruction de type AT * * @param string $id L'identifiant du dossier d'instruction * @return boolean Si la mise à jour s'est correctement effectuée */ private function updateDossierAT($id, $message, $date){ $ret = false; //L'identifiant de l'événement à rajouter au dossier d'instruction $evenement = ( $message == "clos" ) ? $this->f->getParameter("id_evenement_cloture_at") : $this->f->getParameter("id_evenement_completude_at"); //Données //Récupération de la lettre type de l'événement $lettretype = $this->f->getLettreType($evenement); $value['instruction']=NULL; $value['destinataire']=$id; $value['dossier']=$id; $value['date_evenement']=$date; $value['evenement']=$evenement; $value['lettretype']=$lettretype; $value['complement_om_html']=""; $value['complement2_om_html']=""; //Ces données seront mises à jour dans l'instruction $value['action']="initialisation"; $value['delai']="2"; $value['etat']="notifier"; $value['accord_tacite']="Oui"; $value['delai_notification']="1"; $value['archive_delai']="0"; $value['archive_date_complet']=NULL; $value['archive_date_dernier_depot']=NULL; $value['archive_date_rejet']=NULL; $value['archive_date_limite']=NULL; $value['archive_date_notification_delai']=NULL; $value['archive_accord_tacite']="Non"; $value['archive_etat']="initialiser"; $value['archive_date_decision']=NULL; $value['archive_avis']=""; $value['archive_date_validite']=NULL; $value['archive_date_achevement']=NULL; $value['archive_date_chantier']=NULL; $value['archive_date_conformite']=NULL; $value['archive_incompletude']=NULL; $value['archive_incomplet_notifie']=NULL; $value['archive_evenement_suivant_tacite']=""; $value['archive_evenement_suivant_tacite_incompletude']=NULL; $value['archive_etat_pendant_incompletude']=NULL; $value['archive_date_limite_incompletude']=NULL; $value['archive_delai_incompletude']=NULL; $value['archive_autorite_competente']=NULL; $value['complement3_om_html']=""; $value['complement4_om_html']=""; $value['complement5_om_html']=""; $value['complement6_om_html']=""; $value['complement7_om_html']=""; $value['complement8_om_html']=""; $value['complement9_om_html']=""; $value['complement10_om_html']=""; $value['complement11_om_html']=""; $value['complement12_om_html']=""; $value['complement13_om_html']=""; $value['complement14_om_html']=""; $value['complement15_om_html']=""; $value['avis_decision']=NULL; $value['date_finalisation_courrier']=NULL; $value['date_envoi_signature']=NULL; $value['date_retour_signature']=NULL; $value['date_envoi_rar']=NULL; $value['date_retour_rar']=NULL; $value['date_envoi_controle_legalite']=NULL; $value['date_retour_controle_legalite']=NULL; $value['signataire_arrete']=NULL; $value['numero_arrete']=NULL; $value['code_barres']=NULL; $value['om_fichier_instruction']=NULL; $value['om_final_instruction']=NULL; $value['om_final_instruction_utilisateur']=NULL; $value['document_numerise']=NULL; $value['autorite_competente']=NULL; $value['duree_validite_parametrage']="0"; $value['duree_validite']="0"; $value['created_by_commune']=NULL; //Création de l'instruction $instruction = new instruction("]",$this->db,DEBUG); $instruction->valF = ""; $ret = $instruction->ajouter($value, $this->db, DEBUG); return $ret; } } ?>