public function checkout($params) { $issue = $params['issue']; $description = $this->request->getParameter('description'); $connection = new Connection(); // get the vehicle form the issue number $SQL = "SELECT idVehicle FROM VehicleReportedIssues WHERE idReportedIssues = :issue"; $statement = new Statement($connection); $statement->setInt('issue', $issue); $vehicle = $statement->select($SQL)->first()['idVehicle']; // insert the vehicle to maintenance $SQL = 'INSERT INTO Maintenance (_idVehicle, BriefDescription, MaintenanceEntryDate) VALUES (:vehicle, :description, CURRENT_TIMESTAMP)'; $statement = new Statement($connection); $statement->setInt('vehicle', $vehicle); $statement->setInt('description', $description); $log = $statement->insert($SQL); // update the reported issues table $SQL = 'UPDATE ReportedIssues SET _MaintenanceLogNumber = :log WHERE idReportedIssues = :issue'; $statement = new Statement($connection); $statement->setInt('log', $log); $statement->setInt('issue', $issue); $statement->update($SQL); header('Location:/mechanic'); }
public function generatePartsInventory() { // get part types $SQL = "SELECT * FROM PartType"; $statement = new Statement($this->connection); $data = $statement->select($SQL)->all(); $mechanic = 11; $loc = "0000000000"; foreach ($data as $d) { $part = $d['idPartType']; for ($i = 0; $i < 15; $i++) { $insert = 'INSERT INTO PartsInventory (_idPartType, _MechanicIn, DateIn, Location) VALUES (:type, :mechanic, CURRENT_TIMESTAMP, :loc)'; $statement = new Statement($this->connection); $statement->setInt("type", $part); $statement->setInt("mechanic", $mechanic); $statement->setStr("loc", $loc); $statement->insert($insert); } } $SQL = "SELECT * FROM PartsInventory"; $statement = new Statement($this->connection); $data = $statement->select($SQL)->all(); var_dump($data); }
public function insert($resID, $totalCost, $totalMileage, $fuel) { $SQL = 'INSERT INTO Billings (_idReservations, TotalCost, TotalMileage, FuelCost) VALUES (:id, :cost, :mileage, :fuel)'; $statement = new Statement($this->connection); $statement->setInt("id", $resID)->setStr("cost", $totalCost); $statement->setInt("mileage", $totalMileage)->setStr("fuel", $fuel); return $statement->insert($SQL); }
/** * Add new Maintenance Item * */ public function add($params) { $errors = []; $log = $params['log']; $mechanic = Session::get('id'); $input = $this->request->getParameters(); $description = array_shift($input); $parts = []; foreach ($input as $key => $value) { if ((int) $value > 0) { $part = ['id' => (int) preg_replace('/^part-/', '', $key), 'count' => (int) $value]; $parts[] = $part; } } // insert $SQL = 'INSERT INTO MaintenanceItem (_MaintenanceLogNumber, ItemDescription) VALUES (:log, :description)'; $statement = new Statement(new Connection()); $statement->setInt('log', $log); $statement->setStr('description', $description); $item = $statement->insert($SQL); // $SQL = 'Call UsePart(:mechanic, :item, :part)'; $SQL = 'INSERT INTO PartsUsed (_idPartsInventory, _MechanicOut, _idMaintenanceItem, DateOut) SELECT idPartsInventory, :mechanic, :item, CURRENT_TIMESTAMP FROM PartsInventory i WHERE i.idPartsInventory NOT IN (SELECT _idPartsInventory FROM PartsUsed) AND i._idPartType IN (SELECT idPartType FROM PartType WHERE idPartType = :part) ORDER BY DateIn DESC LIMIT 1'; $statement = new Statement(new Connection()); $statement->prepare($SQL); $statement->setInt('mechanic', $mechanic); $statement->setInt('item', $item); foreach ($parts as $part) { $statement->setInt('part', $part['id']); $statement->bindParams(); for ($i = 0; $i < $part['count']; $i++) { $id = $statement->execute()->lastID(); // to do // error needs to be displayed when insert fails. } } if ($errors) { $params = ['log' => $log, 'errors' => $errors]; $this->display($params); } header("Location: /maintenance/log/{$log}"); }