Import de MCC valide renvoie un objet, il reste à déployer les données
This commit is contained in:
parent
6d522a2de8
commit
47bba6cc75
|
@ -132,24 +132,103 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
// Get sur la première case
|
// Get sur la première case
|
||||||
$sheet = $objPHPExcel->getSheet(0);
|
$sheet = $objPHPExcel->getSheet(0);
|
||||||
|
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||||
|
|
||||||
|
$uelist = array();
|
||||||
|
|
||||||
// Lecture rang MAX (A,B,C..)
|
// permet d'éviter les doublons
|
||||||
$highestRow = $sheet->getHighestRow();
|
$ueuid = array();
|
||||||
|
|
||||||
// Lecture de la colonne MAX (1)
|
foreach($mccData as $line){
|
||||||
$highestColumn = $sheet->getHighestColumn();
|
if( $line[0] != null ){
|
||||||
|
|
||||||
// Boucle sur chaque rang
|
|
||||||
for ($row = 1; $row <= $highestRow; $row++) {
|
|
||||||
|
|
||||||
for( $col = 'A' ; $col <= $highestColumn ; $col++ )
|
/* [1] On récupère les données de l'UE, si les champs sont définis
|
||||||
echo $col.''.$row.' = '.$sheet->rangeToArray($col.''.$row.':'.$col.''.$row)[0][0].'<br>';
|
=========================================================================*/
|
||||||
|
if( $line[0] != null && $line[1] != null && $line[2] != null ){
|
||||||
|
|
||||||
|
if( !in_array($line[0], $ueuid) ){ // on créé l'UE dans la liste s'il n'y est pas déjà
|
||||||
|
|
||||||
|
array_push( // on ajoute l'UE
|
||||||
|
$uelist,
|
||||||
|
array(
|
||||||
|
'nom' => $line[0],
|
||||||
|
'libelle' => $line[1],
|
||||||
|
'coefficient' => $line[2],
|
||||||
|
'modules' => array(),
|
||||||
|
'moduid' => array()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
array_push($ueuid, $line[0]); // on dis qu'on a déjà enregistré l'ue
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$ueIndex = array_search($line[0], $ueuid);
|
||||||
|
|
||||||
|
/* [2] On récupère les données du module, si les champs sont définis
|
||||||
|
=========================================================================*/
|
||||||
|
if( $line[3] != null && $line[4] != null && $line[5] != null ){
|
||||||
|
|
||||||
|
if( !in_array($line[3], $uelist[$ueIndex]['moduid']) ){ // on créé le module dans la liste de cet UE s'il n'y est pas déjà
|
||||||
|
array_push( // on ajoute l'UE
|
||||||
|
$uelist[$ueIndex]['modules'],
|
||||||
|
array(
|
||||||
|
'nom' => $line[3],
|
||||||
|
'libelle' => $line[4],
|
||||||
|
'coefficient' => $line[5],
|
||||||
|
'controles' => array(),
|
||||||
|
'ctrluid' => array()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
array_push($uelist[$ueIndex]['moduid'], $line[3]); // on dis qu'on a déjà enregistré le module
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$modIndex = array_search($line[3], $uelist[$ueIndex]['moduid']);
|
||||||
|
|
||||||
|
/* [3] On récupère les contrôles du module, si les champs sont définis
|
||||||
|
=========================================================================*/
|
||||||
|
if( $line[6] != null && $line[7] != null && $line[8] != null ){
|
||||||
|
|
||||||
|
if( !in_array($line[6], $uelist[$ueIndex]['modules'][$modIndex]['ctrluid']) ){ // on créé le contrôle dans la liste de ce module s'il n'y est pas déjà
|
||||||
|
array_push( // on ajoute l'UE
|
||||||
|
$uelist[$ueIndex]['modules'][$modIndex]['controles'],
|
||||||
|
array(
|
||||||
|
'nom' => $line[6],
|
||||||
|
'libelle' => $line[7],
|
||||||
|
'coefficient' => $line[8]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
array_push($uelist[$ueIndex]['modules'][$modIndex]['ctrluid'], $line[6]); // on dis qu'on a déjà enregistré le module
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
/* [4] Affinage des données, on supprime les données temporaires
|
||||||
|
=========================================================================*/
|
||||||
|
foreach($uelist as $iter_ue=>$ue){
|
||||||
|
unset( $uelist[$iter_ue]['moduid'] );
|
||||||
|
|
||||||
|
foreach($uelist[$iter_ue]['modules'] as $iter_m=>$mod)
|
||||||
|
unset( $uelist[$iter_ue]['modules'][$iter_m]['ctrluid'] );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$answer->uelist = $uelist;
|
||||||
|
$answer->request = 'success';
|
||||||
|
|
||||||
|
|
||||||
|
}else
|
||||||
$answer->request = 'param_error';
|
$answer->request = 'param_error';
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -465,6 +465,58 @@ if( permission('admin') ){ // si l'utilisateur est un admin
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if( permission('admin') ){
|
||||||
|
require_once __ROOT__.'/manager/phpExcel.php';
|
||||||
|
|
||||||
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
|
$request->level_1 = 'import_mcc';
|
||||||
|
$request->docPath = __ROOT__.'/src/excelTemplates/mcc.xlsx';
|
||||||
|
|
||||||
|
xlsx_switch_lvl1($request, $answer);
|
||||||
|
|
||||||
|
|
||||||
|
// si aucune erreur
|
||||||
|
if( $answer->request == 'success' ){
|
||||||
|
echo "<section name='mcc' data-title='IMPORT / EXPORT'>";
|
||||||
|
|
||||||
|
var_dump( $answer->uelist );
|
||||||
|
|
||||||
|
echo "</section>";
|
||||||
|
}else
|
||||||
|
echo "<section name='mcc' data-title='IMPORT / EXPORT' class='basic'><table class='basic'><tbody><tr><td>Données erronées</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
,xdrm,linux,20.11.2015 13:13,file:///home/xdrm/.config/libreoffice/4;
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,25 +0,0 @@
|
||||||
*** [NORMAL] ***
|
|
||||||
|
|
||||||
S1 - 1, 2000
|
|
||||||
S2 - 2, 2000
|
|
||||||
S3 - 3, 2000
|
|
||||||
S4 - 4, 2000
|
|
||||||
|
|
||||||
*** [S1/S2 RATE] ***
|
|
||||||
|
|
||||||
S1 - 1, 2000
|
|
||||||
S2 - 2, 2000
|
|
||||||
S1 - 1, 2001
|
|
||||||
S2 - 2, 2001
|
|
||||||
S3 - 3, 2001
|
|
||||||
S4 - 4, 2001
|
|
||||||
|
|
||||||
|
|
||||||
*** [S3/S4 RATE] ***
|
|
||||||
|
|
||||||
S1 - 1, 2000
|
|
||||||
S2 - 2, 2000
|
|
||||||
S3 - 3, 2000
|
|
||||||
S4 - 4, 2000
|
|
||||||
S3 - 3, 2001
|
|
||||||
S4 - 4, 2001
|
|
Loading…
Reference in New Issue