ok to validate form in php file for available equipment output at different date, next entry for rent
This commit is contained in:
parent
b8a7d664c2
commit
8fd778ebd3
6 changed files with 80 additions and 26 deletions
|
|
@ -132,8 +132,23 @@ class Equipment
|
|||
array_push($eqmts_available, $eqmt);
|
||||
}
|
||||
}
|
||||
$eqmts_available_by_cat[$cat] = $eqmts_available;
|
||||
if ($eqmts_available) {
|
||||
$eqmts_available_by_cat[$cat] = $eqmts_available;
|
||||
}
|
||||
}
|
||||
return $eqmts_available_by_cat;
|
||||
}
|
||||
|
||||
public function CalculateAvailableByDate($id, $date)
|
||||
{
|
||||
$entries = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_entry WHERE kind IN (
|
||||
'Achat', 'Don', 'Récupération',
|
||||
'Retour de location / prêt') AND equipment_id = '{$id}' AND entry_date <= '{$date}';");
|
||||
$outputs = DB::getInstance()->firstColumn(
|
||||
"SELECT sum(equipment_number) FROM plugin_materiels_output WHERE kind IN (
|
||||
'Vente', 'Don', 'Besoin', 'Autre (perte, vol, ...)',
|
||||
'Location / Prêt') AND equipment_id = '{$id}' AND output_date <= '{$date}';");
|
||||
return $entries - $outputs;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace Garradin\Plugin\Materiels;
|
||||
|
||||
use Garradin\DB;
|
||||
use Garradin\Plugin\Materiels\Equipment;
|
||||
|
||||
class Output
|
||||
{
|
||||
|
|
@ -32,4 +33,26 @@ class Output
|
|||
{
|
||||
return DB::getInstance()->get('SELECT * FROM plugin_materiels_output ORDER BY output_date DESC;');
|
||||
}
|
||||
|
||||
public function PossibilityOwnedEqmtOutput($id, $eqmt_number, $date)
|
||||
{
|
||||
$after_output_dates = DB::getInstance()->get(
|
||||
"SELECT output_date FROM plugin_materiels_output WHERE kind IN (
|
||||
'Vente', 'Don', 'Besoin', 'Autre (perte, vol, ...)',
|
||||
'Location / Prêt') AND equipment_id = '{$id}' AND output_date > '{$date}';");
|
||||
$output_dates = array($date);
|
||||
foreach ($after_output_dates as $row)
|
||||
{
|
||||
array_push($output_dates, $row->output_date);
|
||||
}
|
||||
$eqmt = new Equipment;
|
||||
foreach ($output_dates as $output_date) {
|
||||
$available_eqmt = $eqmt->CalculateAvailableByDate($id, $output_date);
|
||||
if ($available_eqmt - $eqmt_number < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue