6 |
|
|
7 |
class consultation extends consultation_gen { |
class consultation extends consultation_gen { |
8 |
|
|
9 |
|
var $abstract_type = array( |
10 |
|
"fichier" => "file", |
11 |
|
); |
12 |
|
|
13 |
function consultation($id,&$db,$debug) { |
function consultation($id,&$db,$debug) { |
14 |
$this->constructeur($id,$db,$debug); |
$this->constructeur($id,$db,$debug); |
15 |
}// fin constructeur |
}// fin constructeur |
73 |
} |
} |
74 |
|
|
75 |
/** |
/** |
76 |
* Cette méthode permet de récupérer la division d'un dossier |
* Cette variable permet de stocker le résultat de la méthode |
77 |
|
* getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de |
78 |
|
* ces appels. |
79 |
|
* @var string Code de la division du dossier en cours |
80 |
|
*/ |
81 |
|
var $_division_from_dossier = NULL; |
82 |
|
|
83 |
|
/** |
84 |
|
* Cette méthode permet de récupérer le code de division correspondant |
85 |
|
* au dossier sur lequel on se trouve. |
86 |
|
* |
87 |
|
* @return string Code de la division du dossier en cours |
88 |
*/ |
*/ |
89 |
function getDivisionFromDossier() { |
function getDivisionFromDossier() { |
90 |
// Si on se trouve en mode MODIFIER ou SUPPRIMER ou CONSULTER alors on |
|
91 |
// récupère le numéro de dossier dans la consultation et on en retourne |
// Cette méthode peut être appelée plusieurs fois lors d'une requête. |
92 |
// sa division |
// Pour éviter de refaire le traitement de recherche de la division |
93 |
if ($this->getParameter("maj") == 1 || $this->getParameter("maj") == 2 |
// alors on vérifie si nous ne l'avons pas déjà calculé. |
94 |
|| $this->getParameter("maj") == 3) { |
if ($this->_division_from_dossier != NULL) { |
95 |
// |
// Logger |
96 |
if (!isset($this->val[array_search("dossier", $this->champs)])) { |
$this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE); |
97 |
return NULL; |
// On retourne la valeur déjà calculée |
98 |
} |
return $this->_division_from_dossier; |
99 |
// |
} |
100 |
$sql = "select division from ".DB_PREFIXE."dossier "; |
|
101 |
$sql .= " where dossier='".$this->val[array_search("dossier", $this->champs)]."'"; |
// Par défaut, on définit la valeur du dossier à NULL |
102 |
// |
$dossier = NULL; |
103 |
$division = $this->db->getOne($sql); |
// Test sur le mode et le contexte du formulaire |
104 |
$this->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE); |
if ($this->getParameter("maj") == 0 |
105 |
database::isError($division); |
&& ($this->getParameter("retourformulaire") == "dossier" |
106 |
// |
|| $this->getParameter("retourformulaire") == "dossier_instruction" |
107 |
return $division; |
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours" |
108 |
} elseif ($this->getParameter("maj") == 0 |
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours" |
109 |
&& ($this->getParameter("retourformulaire") == "dossier" |
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures" |
110 |
|| $this->getParameter("retourformulaire") == "dossier_instruction" |
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) { |
111 |
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours" |
// Si on se trouve en mode AJOUT (seul mode où l'enregistrement |
112 |
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours" |
// n'existe pas en base de données) ET que nous nous trouvons |
113 |
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures" |
// dans le contexte d'un dossier d'instruction alors on récupère |
114 |
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) { |
// le numéro de dossier depuis le paramètre 'idxformulaire' |
115 |
// Si on se trouve en mode AJOUTER et en sous formulaire alors on |
$dossier = $this->getParameter("idxformulaire"); |
|
// récupère le numéro de dossier dans les paramètres de sous |
|
|
// formulaires et on en retourne sa division |
|
|
$sql = "select division from ".DB_PREFIXE."dossier "; |
|
|
$sql .= " where dossier='".$this->getParameter("idxformulaire")."'"; |
|
|
// |
|
|
$division = $this->db->getOne($sql); |
|
|
$this->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE); |
|
|
database::isError($division); |
|
|
// |
|
|
return $division; |
|
116 |
} else { |
} else { |
117 |
return NULL; |
// Sinon on récupère le numéro de dossier dans le champs dossier de |
118 |
|
// l'enregistrement (en base de données) |
119 |
|
$dossier = $this->getVal("dossier"); |
120 |
} |
} |
121 |
|
|
122 |
|
// On appelle la méthode de la classe utils qui renvoi le code de la |
123 |
|
// division d'un dossier, on la stocke pour ne pas refaire le calcul au |
124 |
|
// prochain appel de cette méthode |
125 |
|
$this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier); |
126 |
|
// Logger |
127 |
|
$this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE); |
128 |
|
// On retourne la valeur retournée |
129 |
|
return $this->_division_from_dossier; |
130 |
|
|
131 |
} |
} |
132 |
|
|
133 |
// }}} |
// }}} |
263 |
$form->setType('lu', 'hidden'); |
$form->setType('lu', 'hidden'); |
264 |
|
|
265 |
} |
} |
266 |
|
|
267 |
|
} |
268 |
|
// Mode supprimer |
269 |
|
if ($maj == 2) { |
270 |
|
$form->setType('fichier', 'filestatic'); |
271 |
} |
} |
272 |
// MODE - CONSULTER |
// MODE - CONSULTER |
273 |
if ( $maj == 3 ) { |
if ( $maj == 3 ) { |
285 |
// |
// |
286 |
$form->setType('dossier', 'hidden'); |
$form->setType('dossier', 'hidden'); |
287 |
} |
} |
288 |
|
|
289 |
|
$form->setType('code_barres', 'hidden'); |
290 |
|
|
291 |
|
//Cache les champs pour la finalisation |
292 |
|
$form->setType('om_fichier_consultation', 'hidden'); |
293 |
|
$form->setType('om_final_consultation', 'hidden'); |
294 |
} |
} |
295 |
|
|
296 |
// Cette méthode permet de calculer la date limite en fonction de la date |
// Cette méthode permet de calculer la date limite en fonction de la date |
318 |
function triggerajouter($id,&$db,$val,$DEBUG) { |
function triggerajouter($id,&$db,$val,$DEBUG) { |
319 |
// |
// |
320 |
$this->calculDateLimite(); |
$this->calculDateLimite(); |
321 |
|
|
322 |
|
// Identifiant du type de courrier |
323 |
|
$idTypeCourrier = '12'; |
324 |
|
$idCourrier = str_pad($this->valF["consultation"], 10, "0", STR_PAD_LEFT); |
325 |
|
// Code barres |
326 |
|
$this->valF["code_barres"] = $idTypeCourrier . $idCourrier; |
327 |
} |
} |
328 |
|
|
329 |
// |
// |
416 |
function getFromDB($sql) { |
function getFromDB($sql) { |
417 |
//$sql = "SELECT libelle FROM ".DB_PREFIXE."dossier WHERE dossier = '" . $dossier . "'"; |
//$sql = "SELECT libelle FROM ".DB_PREFIXE."dossier WHERE dossier = '" . $dossier . "'"; |
418 |
$res = $this->db->limitquery($sql, 0, 1); |
$res = $this->db->limitquery($sql, 0, 1); |
419 |
$this->addToLog("getDossierERPSpecification(): db->limitquery(\"". |
$this->f->addToLog("getDossierERPSpecification(): db->limitquery(\"". |
420 |
str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE); |
str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE); |
421 |
// Si une erreur survient on die |
// Si une erreur survient on die |
422 |
if (database::isError($res, true)) { |
if (database::isError($res, true)) { |
563 |
$idx, $maj, $retour); |
$idx, $maj, $retour); |
564 |
} |
} |
565 |
} |
} |
566 |
|
|
567 |
|
/** |
568 |
|
* Ajout des contraintes spécifiques pour l'ajout d'un fichier en retour de |
569 |
|
* consultation |
570 |
|
*/ |
571 |
|
function setSelect(&$form, $maj,&$db,$debug) { |
572 |
|
parent::setSelect($form, $maj,$db,$debug); |
573 |
|
|
574 |
|
//Seulement dans le cas d'un retour d'avis |
575 |
|
if($this->retourformulaire == "demande_avis_encours") { |
576 |
|
|
577 |
|
//Tableau des contraintes spécifiques |
578 |
|
$params = array( |
579 |
|
"constraint" => array( |
580 |
|
"size_max" => 2, |
581 |
|
"extension" => ".pdf" |
582 |
|
), |
583 |
|
"metadata" => array() |
584 |
|
); |
585 |
|
|
586 |
|
$form->setSelect("fichier", $params); |
587 |
|
} |
588 |
|
} |
589 |
}// fin classe |
}// fin classe |
590 |
?> |
?> |