Nom (complet) de l'e-tree * @data Données à traiter * * @return saved Code de réception (nombre d'entrées ou autre) * =========================================================*/ public function dispatch($params){ extract($params); /* (1) On parse le nom complet ---------------------------------------------------------*/ /* (1) Requête */ $etree_parse_req = new Repo('etree/parse', [$etree]); /* (2) On récupère la réponse */ $etree_data = $etree_parse_req->answer(); /* (3) Gestion erreur */ if( $etree_data === false ) return ['error' => new Error(Err::FormatError)]; /* (4) On calcule le nom de la méthode */ $method_name = $etree_data['module_name'].'_'.$etree_data['etree_name']; /* (2) Gestion du dispatch ---------------------------------------------------------*/ /* (1) Formulation requête */ $request = new Request("fetchDefault/$method_name", [ 'data' => $data ]); /* (2) Gestion erreur */ if( $request->error->get() != Err::Success ) return ['saved' => -$request->error->get()]; /* (3) Exécution */ $response = $request->dispatch(); /* (4) Gestion erreur */ if( $response->error->get() != Err::Success ) return [ 'saved' => -$response->error->get() ]; /* (5) Remontée du résultat */ return [ 'saved' => $response->get('saved') ]; } /* [1] Gestion des données historiques de l'etree READ du module RFID * * @data Données à traiter * * @return saved Nombre de lignes ajoutées * =========================================================*/ public function rfid_read($params){ extract($params); /* (1) Initialisation du compteur de lignes enregistrées */ $count = 0; /* (2) Create history entry in db */ foreach($data as $entry){ // {1} Build request to store each entry // $log_req = new Request('historyDefault/create', [ 'timestamp' => $entry[0], 'id_user' => $entry[1], 'id_action' => $entry[2], 'id_machine' => $_SESSION['SATS']['id'] ]); // {2} Process + get response // $log_res = $log_req->dispatch(); // {3} Ignore failure // // if( $log_res->error->get() != Err::Success ) // continue; // {4} Register count if success // $count++; } /* (3) Retourne le nombre d'entrées enregistrées */ return [ 'saved' => $count ]; } /* [2] Gestion des données historiques de l'etree SIMPLE du module MOTHEURE * * @data Données à traiter * * @return saved Nombre de lignes ajoutées * =========================================================*/ public function motheure_simple($params){ extract($params); /* (1) Initialize data ---------------------------------------------------------*/ /* (1) Initialisation du compteur de lignes enregistrées */ $count = 0; /* (2) Calcl the total to add */ $total = 0; foreach($data as $entry){ // Only if positive numeric if( is_numeric($entry) && $entry > 0 ) $total += intval($entry); $count++; } /* (2) Update the table in the database ---------------------------------------------------------*/ /* (1) Build request to store each entry */ $upd_req = new Request('motheure/increment', [ 'count' => $total ]); /* (2) Process + get response */ $upd_res = $upd_req->dispatch(); /* (3) Manage error */ if( $upd_res->error->get() != Err::Success ) return ['error' => $upd_res->error]; /* (4) Retourne le nombre d'entrées enregistrées */ return [ 'saved' => $count ]; } } ?>