insert('plugin_materiels_output', $data); } public function get($id) { return DB::getInstance()->first('SELECT * FROM plugin_materiels_output WHERE id = ?;', $id); } public function delete($id) { DB::getInstance()->delete('plugin_materiels_output', 'id = ' . $id); } public function listAll() { 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; } public function PossibilityNoOwnedEqmtOutput($id, $eqmt_number, $date) { $after_output_dates = DB::getInstance()->get( "SELECT output_date FROM plugin_materiels_output WHERE kind = 'Retour de 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) { $borrowed_eqmt = $eqmt->CalculateNoOwnedByDate($id, $output_date); if ($borrowed_eqmt - $eqmt_number < 0) { return false; } } return true; } public function PossibilityDeleteOutput($output) { $entry = new Entry; if ($output->kind == 'Location / Prêt') { return $entry->PossibilityRentEqmtEntry( $output->equipment_id, $output->equipment_number, $output->output_date); } return true; } public function AllDatesByEquipment($eqmt_id) { $output_dates = DB::getInstance()->get( 'SELECT DISTINCT output_date FROM plugin_materiels_output WHERE equipment_id = ? ORDER BY output_date DESC;', $eqmt_id); $output_dates_array = array(); foreach ($output_dates as $row) { array_push($output_dates_array, $row->output_date); } return $output_dates_array; } }