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
|
||||
$sheet = $objPHPExcel->getSheet(0);
|
||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||
|
||||
// Lecture rang MAX (A,B,C..)
|
||||
$highestRow = $sheet->getHighestRow();
|
||||
$uelist = array();
|
||||
|
||||
// Lecture de la colonne MAX (1)
|
||||
$highestColumn = $sheet->getHighestColumn();
|
||||
// permet d'éviter les doublons
|
||||
$ueuid = array();
|
||||
|
||||
// Boucle sur chaque rang
|
||||
for ($row = 1; $row <= $highestRow; $row++) {
|
||||
foreach($mccData as $line){
|
||||
if( $line[0] != null ){
|
||||
|
||||
for( $col = 'A' ; $col <= $highestColumn ; $col++ )
|
||||
echo $col.''.$row.' = '.$sheet->rangeToArray($col.''.$row.':'.$col.''.$row)[0][0].'<br>';
|
||||
|
||||
/* [1] On récupère les données de l'UE, si les champs sont définis
|
||||
=========================================================================*/
|
||||
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';
|
||||
}
|
||||
|
||||
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