芝麻web文件管理V1.00
编辑当前文件:/home/rejoandoctor/test.joruridoctor.com/app/Http/Controllers/back/TicketController.php
middleware('auth'); } function makeTicket() { $airline = AirlineModel::get(); $from = AirportModel::get(); $to = AirportModel::get(); $passenger = PassengerModel::where('customer_id', Auth::user()->customer_id)->get(); $agent = StockModel::where('customer_id', Auth::user()->customer_id)->get(); $sub_agent = SubAgentModel::where('customer_id', Auth::user()->customer_id)->get(); $bank = BankModel::where('customer_id', Auth::user()->customer_id)->get(['id', 'bank_name']); return view('back.ticket.purchase_ticket', compact('airline','from', 'to','passenger', 'agent', 'bank','sub_agent')); } function passenger_search(Request $request) { $search = $request->search; if($search == ''){ $passenger = PassengerModel::select('id','customer_id','passport_number', 'name', 'id_number', 'mobile', 'gender', 'dob', 'exp_date')->limit(10)->where('customer_id', Auth::user()->customer_id)->get(); }else{ $passenger = PassengerModel::select('id','customer_id','passport_number', 'name', 'id_number', 'mobile', 'gender', 'dob', 'exp_date')->where('name', 'like', '%' .$search . '%')->limit(10)->where('customer_id', Auth::user()->customer_id)->get(); } $response = array(); foreach($passenger as $passenger){ $response[] = array("label"=>[$passenger->name, "Passenger ID: ", $passenger->id], "value_id"=>$passenger->id, "value_name"=>$passenger->name, "value_idnumber"=>$passenger->in_number,"value_passport"=>$passenger->passport_number, "value_gender"=>$passenger->gender, "value_mobile"=>$passenger->mobile, "value_dob"=>$passenger->dob, "value_exp"=>$passenger->exp_date); } return response()->json($response); } function storeTicket(Request $request) { //dd($request->due_amount); $request->validate([ 'departure_airport_id' => ['required', 'string', 'max:100'], 'arrival_airport_id' => ['required', 'string', 'max:100'], 'agent_id' => ['required', 'string'], 'bank_id' => ['required', 'string'], 'pnr' => ['required', 'string'], 'name' => ['required', 'string'], 'sale_amount' => ['required'], 'buy_amount' => ['required'], 'adult' => ['required'], ]); $passenger_id = $request->passenger_id; if($passenger_id == NULL) { $passenger = PassengerModel::create([ 'customer_id' => $request->customer_id, 'passport_number' => $request->passport_number, 'name' => $request->name, 'id_number' => $request->id_number, 'gender' => $request->gender, 'dob' => $request->dob, 'mobile' => $request->mobile, 'address' => $request->address, ]); $ticket = TicketModel::create([ 'customer_id' => $request->customer_id, 'passenger_id' => $passengerID = DB::getPdo()->lastInsertId(), 'departure_airport_id' => $request->departure_airport_id, 'airline_id' => $request->airline_id, 'arrival_airport_id' => $request->arrival_airport_id, 'agent_id' => $request->agent_id, 'sub_agent_id' => $request->sub_agent_id, 'pnr' => $request->pnr, 'mobile' => $request->mobile, 'departure_date' => $request->departure_date, 'return_date' => $request->return_date, 'buy_amount' => $request->buy_amount, 'sale_amount' => $request->sale_amount, 'adult' => $request->adult, 'child' => $request->child, 'sale_date' => $rec_date = $request->sale_date, 'status' => 'sale', ]); if(!empty($request->due_amount)) { // Create due amount if passenger not paid $due_amount = DueModel::create([ 'customer_id' => $request->customer_id, 'sub_agent_id' => $request->sub_agent_id, 'passenger_id' => $passengerID, 'ticket_id' => $ticketID = DB::getPdo()->lastInsertId(), 'ticket_price' => $request->sale_amount, 'ticket_date' => $request->sale_date, 'paid_amount' => $request->paid_amount, 'type' => 'ticket_purpose', ]); $check_due = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('passenger_id', $passenger_id)->first(); if(empty($check_due)){ $due_balance = DueBalanceModel::create([ 'customer_id' => $request->customer_id, 'sub_agent_id' => $request->sub_agent_id, 'passenger_id' => $passengerID, 'ticket_id' => $ticketID, 'due_amount' => $request->due_amount, ]); }else{ $get_due_amount= $check_due->due_amount + $request->due_amount; $update_due = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('passenger_id', $passenger_id); $update_due->update([ 'due_amount' => $get_due_amount, ]); } } // check bank account then insert or update amount $check_bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(); if(isset($check_bank)) { $bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(['customer_id','bank_id', 'bank_amount']); $getamount = $bank->bank_amount + $request->paid_amount; $update_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id); $update_amount->update([ 'bank_amount' => $getamount, ]); }else{ $sale_amount = StockModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'bank_amount' => $request->paid_amount, ]); } // Reduce agent amount from stock management for puchase ticket $agent = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id)->first(['customer_id','agent_id', 'agent_amount']); $getamount = $agent->agent_amount - $request->buy_amount; $update_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id); $update_amount->update([ 'agent_amount' => $getamount, ]); // Deposit receive money in bank account for purchase ticket $receive_bank = BankAccountModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'ticket_amount' => $request->paid_amount, 'ticket_payment_date' => $rec_date, 'type' => 'ticket_payment', ]); // Deposit receive money in agent account for purchase ticket $receive_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'ticket_amount' => $request->buy_amount, 'ticket_purchase_date' => $rec_date, 'type' => 'ticket', ]); }else{ $ticket = TicketModel::create([ 'customer_id' => $request->customer_id, 'passenger_id' => $passenger_id, 'departure_airport_id' => $request->departure_airport_id, 'arrival_airport_id' => $request->arrival_airport_id, 'airline_id' => $request->airline_id, 'agent_id' => $request->agent_id, 'sub_agent_id' => $request->sub_agent_id, 'pnr' => $request->pnr, 'mobile' => $request->mobile, 'departure_date' => $request->departure_date, 'return_date' => $request->return_date, 'buy_amount' => $request->buy_amount, 'sale_amount' => $request->sale_amount, 'adult' => $request->adult, 'child' => $request->child, 'sale_date' => $rec_date = $request->sale_date, 'status' => 'sale', ]); if(!empty($request->due_amount)) { // Create due amount if passenger not paid $due_amount = DueModel::create([ 'customer_id' => $request->customer_id, 'sub_agent_id' => $request->sub_agent_id, 'passenger_id' => $passenger_id, 'ticket_id' => $ticketID = DB::getPdo()->lastInsertId(), 'ticket_price' => $request->sale_amount, 'ticket_date' => $request->sale_date, 'paid_amount' => $request->paid_amount, 'type' => 'ticket_purpose', ]); $check_due = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('passenger_id', $passenger_id)->first(); if(empty($check_due)){ $due_balance = DueBalanceModel::create([ 'customer_id' => $request->customer_id, 'sub_agent_id' => $request->sub_agent_id, 'passenger_id' => $passenger_id, 'ticket_id' => $ticketID, 'due_amount' => $request->due_amount, ]); }else{ $get_due_amount= $check_due->due_amount + $request->due_amount; $update_due = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('passenger_id', $passenger_id); $update_due->update([ 'due_amount' => $get_due_amount, ]); } } // check bank account then insert or update amount $check_bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(); if(isset($check_bank)) { $bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(['customer_id','bank_id', 'bank_amount']); $getamount = $bank->bank_amount + $request->paid_amount; $update_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id); $update_amount->update([ 'bank_amount' => $getamount, ]); }else{ $sale_amount = StockModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'bank_amount' => $request->paid_amount, ]); } // Reduce agent amount from stock management $agent = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id)->first(['customer_id','agent_id', 'agent_amount']); $getamount = $agent->agent_amount - $request->buy_amount; $update_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id); $update_amount->update([ 'agent_amount' => $getamount, ]); // Deposit receive money in bank account for purchase ticket $receive_money = BankAccountModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'ticket_amount' => $request->paid_amount, 'ticket_payment_date' => $rec_date, 'type' => 'ticket_payment', ]); // Deposit receive money in agent account for purchase ticket $receive_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'ticket_amount' => $request->buy_amount, 'ticket_purchase_date' => $rec_date, 'type' => 'ticket', ]); } Session::flash('success', 'Ticket Purchased Successfully'); return redirect()->route('manageTicket'); } function manageTicket() { // $mytime = Carbon::today(); $ticket = TicketModel::where('customer_id' , Auth::user()->customer_id)->get(); return view('back.ticket.manage_ticket', compact('ticket')); } function flightReschedule($id) { $reschedule = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(['id', 'customer_id', 'departure_date', 'return_date']); return view('back.ticket.reschedule_flight', compact('reschedule')); } function updateReschedule(Request $request, $id) { $reschedule = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id); $reschedule->update([ 'customer_id' => $request->customer_id, 'departure_date' => $request->departure_date, 'return_date' => $request->return_date, 'status' => 're-schedule', ]); Session::flash('success', 'Flight Re-Schedule Successfully'); return redirect()->route('manageTicket'); } function editTicket() { } function updateTicket(Request $request) { } function destroyTicket() { } }