ok for all calculation, next add output
This commit is contained in:
parent
71775c0f67
commit
54858e2d18
14 changed files with 259 additions and 39 deletions
|
|
@ -47,21 +47,62 @@ class Equipment
|
|||
return $entries - $outputs;
|
||||
}
|
||||
|
||||
public function listAllOwnedByCategory()
|
||||
public function CalculateOutOfStock($id)
|
||||
{
|
||||
$entries = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_entry WHERE kind = 'Retour de location / prêt' AND equipment_id = ?;", $id);
|
||||
$outputs = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_output WHERE kind = 'Location / Prêt' AND equipment_id = ?;", $id);
|
||||
return $outputs - $entries;
|
||||
}
|
||||
|
||||
public function CalculateNoOwned($id)
|
||||
{
|
||||
$entries = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_entry WHERE kind = 'Location / Prêt' AND equipment_id = ?;", $id);
|
||||
$outputs = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_output WHERE kind = 'Retour de location / prêt' AND equipment_id = ?;", $id);
|
||||
return $entries - $outputs;
|
||||
}
|
||||
|
||||
public function GetAllListByCategory()
|
||||
{
|
||||
$eqmts_by_cat = $this->listAllByCategory();
|
||||
$eqmts_owned_by_cat = array();
|
||||
$eqmts_no_owned_by_cat = array();
|
||||
$eqmts_just_listed_by_cat = array();
|
||||
foreach ($eqmts_by_cat as $cat => $eqmts) {
|
||||
$eqmts_owned = array();
|
||||
$eqmts_no_owned = array();
|
||||
$eqmts_just_listed = array();
|
||||
foreach ($eqmts as $eqmt) {
|
||||
$stock = $this->CalculateStock($eqmt->id);
|
||||
if ($stock) {
|
||||
$eqmt->stock = $this->CalculateStock($eqmt->id);
|
||||
array_push($eqmts_owned, $eqmt);
|
||||
}
|
||||
$stock = $this->CalculateStock($eqmt->id);
|
||||
if ($stock) {
|
||||
$eqmt->stock = $stock;
|
||||
$out_of_stock = $this->CalculateOutOfStock($eqmt->id);
|
||||
if ($out_of_stock) {
|
||||
$eqmt->out_of_stock = $out_of_stock;
|
||||
} else {
|
||||
$eqmt->out_of_stock = 0;
|
||||
}
|
||||
array_push($eqmts_owned, $eqmt);
|
||||
}
|
||||
$no_owned = $this->CalculateNoOwned($eqmt->id);
|
||||
if ($no_owned) {
|
||||
$eqmt->no_owned = $no_owned;
|
||||
array_push($eqmts_no_owned, $eqmt);
|
||||
}
|
||||
if ($stock + $no_owned == 0) {
|
||||
array_push($eqmts_just_listed, $eqmt);
|
||||
}
|
||||
}
|
||||
$eqmts_owned_by_cat[$cat] = $eqmts_owned;
|
||||
$eqmts_no_owned_by_cat[$cat] = $eqmts_no_owned;
|
||||
$eqmts_just_listed_by_cat[$cat] = $eqmts_just_listed;
|
||||
}
|
||||
return $eqmts_owned_by_cat;
|
||||
return array(
|
||||
$eqmts_owned_by_cat, $eqmts_no_owned_by_cat,
|
||||
$eqmts_just_listed_by_cat
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,4 +17,20 @@ class Output
|
|||
'Retour de location / prêt',
|
||||
);
|
||||
}
|
||||
|
||||
public function add($data = [])
|
||||
{
|
||||
DB::getInstance()->insert('plugin_materiels_output', $data);
|
||||
}
|
||||
|
||||
public function edit($id, $data = [])
|
||||
{
|
||||
$db = DB::getInstance();
|
||||
$db->update('plugin_materiels_output', $data, $db->where('id', $id));
|
||||
}
|
||||
|
||||
public function listAll()
|
||||
{
|
||||
return DB::getInstance()->get('SELECT * FROM plugin_materiels_output ORDER BY output_date DESC;');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue