Exemplo n.º 1
0
<?php

include "../pembayaran.php";
$bayar = new pembayaran();
$bayar->totalHarga = $_POST['totalHarga'];
$bayar->statusPembayaran = "Lunas";
$bayar->setBayar($id_cucian = $_POST['id_cucian']);
include "../transaksi.php";
$dataTransaksi = new transaksi();
$dataTransaksi->waktuTransaksi = getdate();
$dataTransaksi->keterangan = "Transaksi Pembayaran dengan ID Struk '" . $_POST['idStruk'] . "'";
$dataTransaksi->rekamTransaksi();
var_dump($dataTransaksi);
//header('Location:../form_pembayaran.php');
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $rules = array('jenis_barang' => 'required', 'id_peminjam' => 'required|integer', 'waktu_rencana_kembali' => 'required');
     $validator = Validator::make(Input::all(), $rules);
     // process the login
     if ($validator->fails()) {
         return $validator->messages()->toJson();
     } else {
         //cek id pengguna
         $pengguna = Pengguna::find(Input::get('id_peminjam'));
         if (!$pengguna) {
             return "ID pengguna tidak ditemukan";
         }
         // cek ketersediaan
         $alat_sesuai_jenis = Peralatan::where('jenis', '=', Input::get('jenis_barang'))->get();
         $selected_id = -1;
         $now = Carbon::now()->addHours(7)->toDateTimeString();
         $curTime = strtotime($now);
         if (!checkDateTime(Input::get('waktu_rencana_kembali'))) {
             return "Waktu rencana kembali tidak valid";
         }
         if ($curTime >= strtotime(Input::get('waktu_rencana_kembali'))) {
             return "Waktu rencana kembali tidak valid";
         }
         $waktu_rencana_kembali_time = strtotime(Input::get('waktu_rencana_kembali'));
         foreach ($alat_sesuai_jenis as $alat) {
             $available = true;
             if (strcmp($alat->status, "Baik") != 0 || strcmp($alat->ketersediaan, "Tersedia") != 0) {
                 $available = false;
                 break;
             }
             //cek di data booking
             $booking_of_alat = Booking::where('id_barang', '=', $alat->id)->get();
             foreach ($booking_of_alat as $booking) {
                 $booking_mulai_time = strtotime($booking->waktu_booking_mulai);
                 $booking_selesai_time = strtotime($booking->waktu_booking_selesai);
                 if ($curTime >= $booking_mulai_time && $curTime <= $booking_selesai_time || $waktu_rencana_kembali_time >= $booking_mulai_time && $waktu_rencana_kembali_time <= $booking_selesai_time || $booking_mulai_time >= $curTime && $booking_mulai_time <= $waktu_rencana_kembali_time || $booking_selesai_time >= $curTime && $booking_selesai_time <= $waktu_rencana_kembali_time) {
                     $available = false;
                 }
             }
             if ($available) {
                 $selected_id = $alat->id;
             }
         }
         if ($selected_id < 1) {
             return "Tidak ada alat tersedia";
         } else {
             //cek tanggal
             if (strtotime(Input::get('waktu_rencana_kembali')) <= strtotime(Input::get('waktu_pinjam'))) {
                 return "Tanggal tidak valid";
             } else {
                 // store
                 $transaksi = new transaksi();
                 $transaksi->id_barang = $selected_id;
                 //ganti dengan jenis barang
                 $transaksi->id_peminjam = Input::get('id_peminjam');
                 $transaksi->waktu_pinjam = $now;
                 $transaksi->waktu_rencana_kembali = Input::get('waktu_rencana_kembali');
                 $transaksi->save();
                 //ubah ketersediaan peralatan
                 $peralatan = Peralatan::find($selected_id);
                 if (!$peralatan) {
                     return "ID peralatan tidak ditemukan";
                 }
                 $peralatan->ketersediaan = "Sedang Digunakan";
                 $peralatan->save();
                 return $transaksi->id;
             }
         }
     }
 }