From a5e5fc0d2b025ec68bbae5d4164079226da640e6 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Fri, 23 Apr 2021 12:02:15 +0200 Subject: [PATCH] work in progres --- app/Jobs/XArcadiaFlux.php | 14 ++++++++++++++ app/Jobs/XmlIncoReader.php | 34 +++++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/app/Jobs/XArcadiaFlux.php b/app/Jobs/XArcadiaFlux.php index c91d36e..89dabef 100644 --- a/app/Jobs/XArcadiaFlux.php +++ b/app/Jobs/XArcadiaFlux.php @@ -77,6 +77,20 @@ abstract class XArcadiaFlux implements ShouldQueue */ protected function moveToArchives(string $filename): void { + $archiveFile = sprintf('%s/%s', $this->archiveFolderName, $filename); + if ($this->getDisk()->exists($archiveFile)) { + $this->log( + sprintf( + 'File %s exists, and therefore must be delete before archive', + $archiveFile + ), + LogType::info() + ); + if (!$this->getDisk()->delete($archiveFile)) { + Log::critical(sprintf('%s : Could not delete file %s', get_class($this), $archiveFile)); + }; + } + if (!$this->getDisk()->move($filename, sprintf('%s/%s', $this->archiveFolderName, $filename))) { $this->log( sprintf( diff --git a/app/Jobs/XmlIncoReader.php b/app/Jobs/XmlIncoReader.php index b33dbda..822116c 100644 --- a/app/Jobs/XmlIncoReader.php +++ b/app/Jobs/XmlIncoReader.php @@ -13,26 +13,42 @@ class XmlIncoReader extends XmlJobs protected $imagesPath = 'images'; + /** + * éléments à la racine : nom du noeud + * sous éléments d'un noeud PARENT : + * d'abord: + * 'PARENT' => 'parent', // Consider this sub array + * puis: + * "PARENT.LEAF" => 'leaf', // extract this data in the line + * Note : Xmljobs iterates the PARENT with RecursiveIteratorIterator::LEAVES_ONLY + * intermediate nodes are therefore ignored + * example : nodes : + * how to extract leaves : + * 'EXPLOITANT' => 'exploitant', // Consider this sub array + * 'EXPLOITANT.ID_SOCIETE' => 'id_societe', + * 'EXPLOITANT.NOM_SOCIETE' => 'nom_societe', + */ protected $takeColumns = [ 'NO_ART' => 'id', // primary key on model + //this wil not return anything cf doc above 'ID_SOCIETE' => 'id_societe', 'NOM_SOCIETE' => 'nom_societe', 'PROD_SAISON' => 'prod_saison', 'NOM' => 'nom', 'NUMERO' => 'numero', - 'TAILLE_REF' => 'taille_ref', + 'TAILLE_REF' => 'taille_ref', //$poidsRef censé être dans INCO_COMPO (et généralement 100g) 'ALLEGATIONS' => 'allegations', 'CONSEIL_PREPA' => 'conseil_prepa', 'ASTUCES' => 'astuces', - 'DESCRIPTIF' => 'descriptif', + 'DESCRIPTIF' => 'descriptif', //$descriptif 'ARG_VENTE' => 'arg_vente', 'NB_PORTION' => 'nb_portion', 'TYP_PORTION' => 'typ_portion', 'PDS_MOY_THEO' => 'pds_moy_theo', 'LIB_CONSO' => 'lib_conso', - 'LST_ING' => 'lst_ing', + 'LST_ING' => 'lst_ing', //$ingredients // list alergene 'LIB_ALLERGENE' => 'lib_allergene', @@ -45,7 +61,7 @@ class XmlIncoReader extends XmlJobs 'INCO_COMPO' => 'inco_compo', // Consider this sub array 'INCO_COMPO.VAL_ENERG_KJ_NUT' => 'val_energ_kj_nut', - 'INCO_COMPO.VAL_ENERG_KJ_R' => 'val_energ_kj_r', + 'INCO_COMPO.VAL_ENERG_KJ_R' => 'val_energ_kj_r', //_R apports de la taille_ref 'INCO_COMPO.VAL_ENERG_KCAL_R' => 'val_energ_kcal_r', 'INCO_COMPO.VAL_ENERG_KCAL_NUT' => 'val_energ_kcal_nut', 'INCO_COMPO.MAT_GRASS_R' => 'mat_grass_r', @@ -66,7 +82,7 @@ class XmlIncoReader extends XmlJobs 'INCO_COMPO.ENER_E14_R' => 'ener_e14_r', 'INCO_COMPO.FRUITS_R' => 'fruits_r', 'INCO_COMPO.FRUITS_COQUE_SECH_R' => 'fruits_coque_sech_r', - 'INCO_COMPO.POURCENT_APPORT_REF_E14_R' => 'pourcent_apport_ref_e14_r', + 'INCO_COMPO.POURCENT_APPORT_REF_E14_R' => 'pourcent_apport_ref_e14_r', //POURCENT_*_P apports journaliers par portion 'INCO_COMPO.ENER_KJO_R' => 'ener_kjo_r', 'INCO_COMPO.POURCENT_APPORT_REF_KJO_R' => 'pourcent_apport_ref_kjo_r', 'INCO_COMPO.POURCENT_APPORT_REF_FAT_R' => 'pourcent_apport_ref_fat_r', @@ -83,8 +99,8 @@ class XmlIncoReader extends XmlJobs 'INCO_COMPO.SALTEQ_R' => 'salteq_r', 'INCO_COMPO.POURCENT_APPORT_REF_SALTEQ_R' => 'pourcent_apport_ref_salteq_r', 'INCO_COMPO.APPORT_REF' => 'apport_ref', - 'INCO_COMPO.TAILLE_PORT' => 'taille_port', - 'INCO_COMPO.VAL_ENERG_KJ_P' => 'val_energ_kj_p', + 'INCO_COMPO.TAILLE_PORT' => 'taille_port', //$poidsPortion + 'INCO_COMPO.VAL_ENERG_KJ_P' => 'val_energ_kj_p', //_P apports par portion 'INCO_COMPO.VAL_ENERG_KCAL_P' => 'val_energ_kcal_p', 'INCO_COMPO.MAT_GRASS_P' => 'mat_grass_p', 'INCO_COMPO.AGS_P' => 'ags_p', @@ -126,8 +142,8 @@ class XmlIncoReader extends XmlJobs 'INCO_COMPO.COMPOSANTE_N' => 'composante_n', 'INCO_COMPO.COMPOSANTE_P' => 'composante_p', 'INCO_COMPO.POURCENT_FRUITS' => 'pourcent_fruits', - 'INCO_COMPO.SCORE_NUTRI' => 'score_nutri', - 'INCO_COMPO.CLASSEMENT' => 'classement', + 'INCO_COMPO.SCORE_NUTRI' => 'score_nutri', //du coup nutriscore ? + 'INCO_COMPO.CLASSEMENT' => 'classement', //$nutriscore mais pas censé être dans INCO_COMPO 'INCO_COMPO.MAT_GRASS_R_PREC' => 'mat_grass_r_prec', 'INCO_COMPO.AGS_R_PREC' => 'ags_r_prec', 'INCO_COMPO.GLUCIDES_R_PREC' => 'glucides_r_prec',