[Done] `machineDefault/getState` works [FUNCTIONAL]
This commit is contained in:
parent
0771694be8
commit
0f86cb10a2
|
@ -339,6 +339,9 @@
|
|||
if( $machine_res->error->get() != Err::Success )
|
||||
return [ 'error' => $machine_res->error ];
|
||||
|
||||
/* (4) Fetch data */
|
||||
$machine = $machine_res->get('machine');
|
||||
|
||||
|
||||
/* [2] Get action id=>name
|
||||
=========================================================*/
|
||||
|
@ -372,22 +375,32 @@
|
|||
/* [4] Process state
|
||||
=========================================================*/
|
||||
|
||||
/* (1) LOCKED (last = lock)
|
||||
/* (1) IF DETACHED (never initialized)
|
||||
---------------------------------------------------------*/
|
||||
if( count($history) > 0 && $history[0]['id_action'] == $action['lock'] )
|
||||
return [ 'state' => 'locked' ];
|
||||
/* (1) Check machine data (no token | unlock code) */
|
||||
if( !$machine['token'] || $machine['unlock_code'] )
|
||||
return [ 'state' => 'detached' ];
|
||||
|
||||
/* (2) STOPPED (last = unlock | stop)
|
||||
|
||||
/* (2) STOPPED (no history)
|
||||
---------------------------------------------------------*/
|
||||
if( count($history) > 0 && in_array($history[0]['id_action'], [$action['stop'], $action['unlock']]) )
|
||||
if( count($history) <= 0 )
|
||||
return [ 'state' => 'stopped' ];
|
||||
|
||||
/* (3) SIGNALED (start|stop ..... signal)
|
||||
/* (3) LOCKED (last = lock)
|
||||
---------------------------------------------------------*/
|
||||
if( count($history) > 0 && $history[0]['id_action'] == $action['signal'] )
|
||||
return [ 'state' => 'signaled' ];
|
||||
if( $history[0]['id_action'] == $action['lock'] )
|
||||
return [ 'state' => 'locked' ];
|
||||
|
||||
for( $c = 1 ; $c < count($history) ; $c++ ){
|
||||
/* (4) STOPPED (last = unlock | stop)
|
||||
---------------------------------------------------------*/
|
||||
if( in_array($history[0]['id_action'], [$action['stop'], $action['unlock']]) )
|
||||
return [ 'state' => 'stopped' ];
|
||||
|
||||
|
||||
/* (5) SIGNALED (start|stop ..... signal)
|
||||
---------------------------------------------------------*/
|
||||
for( $c = 0 ; $c < count($history) ; $c++ ){
|
||||
|
||||
/* (1) If (start|stop), continue to search */
|
||||
if( in_array($history[$c]['id_action'] , [$action['start'], $action['stop']]) )
|
||||
|
@ -397,25 +410,17 @@
|
|||
else if( $history[$c]['id_action'] == $action['signal'] )
|
||||
return [ 'state' => 'signaled' ];
|
||||
|
||||
/* (4) STARTED (last state)
|
||||
/* (6.1) STARTED (last state)
|
||||
---------------------------------------------------------*/
|
||||
else
|
||||
return [ 'state' => 'started' ];
|
||||
|
||||
}
|
||||
|
||||
/* (4) STARTED (last state)
|
||||
/* (6.2) STARTED (last state)
|
||||
---------------------------------------------------------*/
|
||||
if( count($history) > 0 && $history[0]['id_action'] == $action['start'] )
|
||||
return [ 'state' => 'started' ];
|
||||
|
||||
|
||||
/* (5) DETACHED (no state)
|
||||
---------------------------------------------------------*/
|
||||
return [ 'state' => 'detached' ];
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
*
|
||||
*/
|
||||
public static function create($id_user, $id_machine, $id_action, $timestamp){
|
||||
|
||||
/* [1] On retourne l'id_history ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$inserted = Table::get('history')->insert([
|
||||
|
@ -77,6 +78,58 @@
|
|||
|
||||
|
||||
|
||||
/* RETOURNE UNE ENTREE SPECIFIQUE
|
||||
*
|
||||
* @id_machine<int> UID de la machine
|
||||
*
|
||||
* @return entry<Array> Données de l'entree
|
||||
* FALSE si aucun résultat
|
||||
*
|
||||
*/
|
||||
public static function getByIdMachine($id_machine){
|
||||
/* [1] On rédige/execute la requête
|
||||
=========================================================*/
|
||||
$machine = Table::get('history')
|
||||
->whereIdMachine($id_machine)
|
||||
->orderby('timestamp', Rows::ORDER_DESC)
|
||||
->select('*');
|
||||
|
||||
return $machine->fetch();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETOURNE UNE ENTREE SPECIFIQUE
|
||||
*
|
||||
* @id_user<int> UID de l'utilisateur
|
||||
*
|
||||
* @return entry<Array> Données de l'entree
|
||||
* FALSE si aucun résultat
|
||||
*
|
||||
*/
|
||||
public static function getByIdUser($id_user){
|
||||
/* [1] On rédige/execute la requête
|
||||
=========================================================*/
|
||||
$user = Table::get('history')
|
||||
->whereIdUser($id_user)
|
||||
->orderby('timestamp', Rows::ORDER_DESC)
|
||||
->select('*');
|
||||
|
||||
return $user->fetch();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RETOURNE UNE ENTREE SPECIFIQUE
|
||||
*
|
||||
* @id_history<int> UID de l'entree
|
||||
|
@ -89,10 +142,9 @@
|
|||
/* [1] On rédige/execute la requête
|
||||
=========================================================*/
|
||||
$user = Table::get('user')
|
||||
->whereIdWarehouse($id_warehouse)
|
||||
->whereIdUser($id_user)
|
||||
->select('*')
|
||||
->unique();
|
||||
->whereId($id_history)
|
||||
->orderby('timestamp', Rows::ORDER_DESC)
|
||||
->select('*');
|
||||
|
||||
return $user->fetch();
|
||||
}
|
||||
|
|
|
@ -177,17 +177,30 @@
|
|||
*
|
||||
*/
|
||||
public static function getById($id_warehouse, $id_machine){
|
||||
/* [1] On rédige/execute la requête
|
||||
/* [1] On récupère la machine
|
||||
=========================================================*/
|
||||
/* (1) Write request */
|
||||
$machine = Table::get('machine')
|
||||
->whereId($id_machine)
|
||||
->whereIdWarehouse($id_warehouse)
|
||||
->select('id_machine')
|
||||
->select('name')
|
||||
->select('token')
|
||||
->select('unlock_code')
|
||||
->orderby('id_machine', Rows::ORDER_ASC)
|
||||
->unique();
|
||||
->unique()
|
||||
->fetch();
|
||||
|
||||
return $machine->fetch();
|
||||
/* (2) Manage error */
|
||||
if( $machine === false )
|
||||
return false;
|
||||
|
||||
/* (3) On remplace les valeurs 'unlock_code' et 'token' */
|
||||
$machine['token'] = strlen($machine['token']) > 0;
|
||||
$machine['unlock_code'] = strlen($machine['unlock_code']) > 0;
|
||||
|
||||
/* (4) On retourne la réponse */
|
||||
return $machine;
|
||||
}
|
||||
|
||||
|
||||
|
@ -208,17 +221,29 @@
|
|||
*
|
||||
*/
|
||||
public static function getByName($id_warehouse, $name){
|
||||
/* [1] On rédige/execute la requête
|
||||
/* [1] On récupère la machine
|
||||
=========================================================*/
|
||||
/* (1) Write request */
|
||||
$machine = Table::get('machine')
|
||||
->whereName($name)
|
||||
->whereIdWarehouse($id_warehouse)
|
||||
->select('id_machine')
|
||||
->select('name')
|
||||
->select('token')
|
||||
->select('unlock_code')
|
||||
->orderby('name', Rows::ORDER_ASC)
|
||||
->unique();
|
||||
|
||||
return $machine->fetch();
|
||||
/* (2) Manage error */
|
||||
if( $machine === false )
|
||||
return false;
|
||||
|
||||
/* (3) On remplace les valeurs 'unlock_code' et 'token' */
|
||||
$machine['token'] = strlen($machine['token']) > 0;
|
||||
$machine['unlock_code'] = strlen($machine['unlock_code']) > 0;
|
||||
|
||||
/* (4) On retourne la réponse */
|
||||
return $machine;
|
||||
}
|
||||
|
||||
|
||||
|
@ -239,17 +264,29 @@
|
|||
*
|
||||
*/
|
||||
public static function getByToken($id_warehouse, $token){
|
||||
/* [1] On rédige/execute la requête
|
||||
/* [1] On récupère la machine
|
||||
=========================================================*/
|
||||
/* (1) Write request */
|
||||
$machine = Table::get('machine')
|
||||
->whereToken($token)
|
||||
->whereIdWarehouse($id_warehouse)
|
||||
->select('id_machine')
|
||||
->select('name')
|
||||
->select('token')
|
||||
->select('unlock_code')
|
||||
->orderby('name', Rows::ORDER_ASC)
|
||||
->unique();
|
||||
|
||||
return $machine->fetch();
|
||||
/* (2) Manage error */
|
||||
if( $machine === false )
|
||||
return false;
|
||||
|
||||
/* (3) On remplace les valeurs 'unlock_code' et 'token' */
|
||||
$machine['token'] = strlen($machine['token']) > 0;
|
||||
$machine['unlock_code'] = strlen($machine['unlock_code']) > 0;
|
||||
|
||||
/* (4) On retourne la réponse */
|
||||
return $machine;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue