183 |
*/ |
*/ |
184 |
function setValFAjout($val = array()) { |
function setValFAjout($val = array()) { |
185 |
|
|
186 |
/*Récupération de la lettre associé au type de dossier d'instruction*/ |
//Récupération de la lettre associé au type de dossier d'instruction |
187 |
$code = $this->getCode($this->getDossierInstructionType()); |
$code = $this->getCode($this->getDossierInstructionType()); |
188 |
|
|
189 |
/* Récupération de la valeur du suffixe ce dossier_instruction_type */ |
//Récupération de la valeur du suffixe ce dossier_instruction_type |
190 |
$suffixe = $this->getSuffixe($this->getDossierInstructionType()); |
$suffixe = $this->getSuffixe($this->getDossierInstructionType()); |
191 |
|
|
192 |
/*S'il est à TRUE, on récupère le numéro de version du dossier d'autorisation*/ |
//S'il est à TRUE, on récupère le numéro de version du dossier d'autorisation |
193 |
$numeroVersion = ""; |
$numeroVersion = ""; |
194 |
|
$numeroVersionDIT = ""; |
195 |
if ( $suffixe == 't' ){ |
if ( $suffixe == 't' ){ |
196 |
|
|
197 |
|
//Récupération du numéro de version |
198 |
$numeroVersion = $this->getNumeroVersion($val['dossier_autorisation']); |
$numeroVersion = $this->getNumeroVersion($val['dossier_autorisation']); |
199 |
|
|
200 |
/* Incrémentation du numéro de version */ |
//Incrémentation du numéro de version |
201 |
if ( is_numeric($numeroVersion) or $numeroVersion == -1 ){ |
if ( is_numeric($numeroVersion) or $numeroVersion == -1 ){ |
202 |
|
|
203 |
$this->incrementNumeroVersion($val['dossier_autorisation'], ++$numeroVersion); |
$this->incrementNumeroVersion($val['dossier_autorisation'], ++$numeroVersion); |
204 |
} |
} |
205 |
|
//Récupération du numéro de version en fonction du type de dossier d'instruction |
206 |
|
//Si c'est un modificatif ou un transfert, on utilise un numéro du type |
207 |
|
// 01 ou 02, etc. sinon on utilise le numéro de version comme auparavant |
208 |
|
$numeroVersionDossierInstructionType = $this->getNumeroVersionDossierInstructionType($val['dossier_autorisation'], $val['dossier_instruction_type'], $numeroVersion); |
209 |
} |
} |
210 |
|
|
211 |
/*Création du numéro de dossier*/ |
//Création du numéro de dossier |
212 |
$this->valF['dossier'] = $val['dossier_autorisation']."$code$numeroVersion"; |
$this->valF['dossier'] = $val['dossier_autorisation'].$code.$numeroVersionDossierInstructionType; |
213 |
$this->valF['version'] = $numeroVersion; |
$this->valF['version'] = $numeroVersion; |
214 |
|
|
215 |
// Identifiant du dossier d'instruction lisible |
// Identifiant du dossier d'instruction lisible |
216 |
// Ex : DP 013055 13 00002P0 |
// Ex : DP 013055 13 00002P0 |
217 |
$this->valF['dossier_libelle'] = $this->get_dossier_autorisation_libelle($val['dossier_autorisation']).$code.$numeroVersion; |
$this->valF['dossier_libelle'] = $this->get_dossier_autorisation_libelle($val['dossier_autorisation']).$code.$numeroVersionDossierInstructionType; |
218 |
} |
} |
219 |
|
|
220 |
/*Récupère la valeur du suffixe d'un dossier_instruction_type*/ |
/*Récupère la valeur du suffixe d'un dossier_instruction_type*/ |
315 |
} |
} |
316 |
|
|
317 |
/** |
/** |
318 |
|
* Retourne un numéro de version en fonction du type de dossier d'instruction |
319 |
|
* @param string $dossier_autorisation |
320 |
|
* @param integer $dossier_instruction_type |
321 |
|
* @return int |
322 |
|
*/ |
323 |
|
private function getNumeroVersionDossierInstructionType($dossier_autorisation, $dossier_instruction_type, $numero_version){ |
324 |
|
|
325 |
|
$numeroVersionDossierInstructionType = $numero_version; |
326 |
|
|
327 |
|
//On récupère le code correspondant au type de dossier d'instruction passé |
328 |
|
//en paramètre |
329 |
|
$sql = "SELECT |
330 |
|
code |
331 |
|
FROM |
332 |
|
".DB_PREFIXE."dossier_instruction_type |
333 |
|
WHERE |
334 |
|
dossier_instruction_type = ".$dossier_instruction_type; |
335 |
|
$codeDossierInstructionType = $this->db->getOne($sql); |
336 |
|
$this->f->addToLog("getNumeroVersionDossierInstructionType(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
337 |
|
if ( database::isError($codeDossierInstructionType)){ |
338 |
|
$this->f->addToError("", $codeDossierInstructionType, $codeDossierInstructionType); |
339 |
|
return false; |
340 |
|
} |
341 |
|
|
342 |
|
|
343 |
|
// Si c'est un dossier d'instruction de type "Initial", code "P", on retourne 0 |
344 |
|
if ( strcmp($codeDossierInstructionType, "P") == 0 ){ |
345 |
|
return 0; |
346 |
|
} |
347 |
|
//Si c'est un modificatif ou transfert on retourne un nombre correspondant au |
348 |
|
//nombre de dossier d'instruction de ce type, rattaché au dossier |
349 |
|
//d'autorisation complété par des 0 à gauche si besoin. Format du retour |
350 |
|
//attendu : 01 ou 02, etc. |
351 |
|
elseif ( strcmp($codeDossierInstructionType, "M") == 0 || |
352 |
|
strcmp($codeDossierInstructionType, "T") == 0 ){ |
353 |
|
|
354 |
|
//On récupère le nombre de dossier d'instruction de ce type rattaché au |
355 |
|
//dossier d'autorisation |
356 |
|
$sql = "SELECT |
357 |
|
count(*) |
358 |
|
FROM |
359 |
|
".DB_PREFIXE."dossier |
360 |
|
LEFT JOIN |
361 |
|
".DB_PREFIXE."dossier_autorisation |
362 |
|
ON |
363 |
|
dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation |
364 |
|
WHERE |
365 |
|
dossier_autorisation.dossier_autorisation = '".$dossier_autorisation."' |
366 |
|
AND |
367 |
|
dossier.dossier_instruction_type = ".$dossier_instruction_type; |
368 |
|
$numeroVersionDossierInstructionType = $this->db->getOne($sql); |
369 |
|
$this->f->addToLog("getNumeroVersionDossierInstructionType(): db->getOne(\"".$sql."\")", VERBOSE_MODE); |
370 |
|
if ( database::isError($numeroVersionDossierInstructionType)){ |
371 |
|
$this->f->addToError("", $numeroVersionDossierInstructionType, $numeroVersionDossierInstructionType); |
372 |
|
return false; |
373 |
|
} |
374 |
|
//On compléte par des 0 à gauche |
375 |
|
$numeroVersionDossierInstructionType = str_pad(++$numeroVersionDossierInstructionType, 2, "0", STR_PAD_LEFT); |
376 |
|
|
377 |
|
return $numeroVersionDossierInstructionType; |
378 |
|
} |
379 |
|
//Sinon on retourne le numéro de version |
380 |
|
else{ |
381 |
|
return $numeroVersionDossierInstructionType; |
382 |
|
} |
383 |
|
} |
384 |
|
/** |
385 |
* Retourne le libellé du dossier d'autorisation |
* Retourne le libellé du dossier d'autorisation |
386 |
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
* @param string $dossier_autorisation Identifiant du dossier d'autorisation |
387 |
* @return string Libellé dossier d'autorisation |
* @return string Libellé dossier d'autorisation |