diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php
index 21ffaab6..67ff2454 100644
--- a/app/Http/Controllers/BookingController.php
+++ b/app/Http/Controllers/BookingController.php
@@ -30,8 +30,9 @@ class BookingController extends Controller
// set timeout
$date1 = new DateTime($booking->created_at);
$date2 = new DateTime();
- $difference_in_seconds = ($date1->format('U') + 600) - ($date2->format('U'));
- $booking->timeout = $difference_in_seconds;
+ $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
+ $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
+ $booking->timeout = $difference_in_seconds;
// TODO : you can make it better
if($difference_in_seconds < 0 ){
@@ -95,7 +96,7 @@ class BookingController extends Controller
// TODO : transfer_amount change name to bia
$booking->transfer_amount = $booking->bia;
- $booking->track_status = "(". $booking->admin_status ."/8)";
+ $booking->track_status = "(". $booking->admin_status ."/7)";
switch ($booking->admin_status) {
case 1:
$status_desc = "Waiting customer upload bank slip";
@@ -126,52 +127,96 @@ class BookingController extends Controller
}
$booking->status_desc = $status_desc;
}
-
return $bookings;
-
}
public function show($id)
{
$booking = Booking::where('user_id',Auth::user()->id)->where('id', $id)->first();
- // just added to try
+
$user_bankslip = $booking->userBankSlip()->first();
-
- if ($user_bankslip){
- $booking->user_bankslip_path = Storage::url($user_bankslip->bankslip_path);
- }
+ $china_bankslip = $booking->chinaBankSlip()->first();
+ $po = $booking->purchaseOrder()->first();
+ $invoice = $booking->invoice()->first();
if($booking){
- $date1 = new DateTime($booking->created_at);
- $date2 = new DateTime();
- $difference_in_seconds = ($date1->format('U') + 600) - ($date2->format('U'));
- $booking->timeout = $difference_in_seconds;
+ $date1 = new DateTime($booking->created_at);
+
+ if ($user_bankslip){
+ $booking->user_bankslip_path = Storage::url($user_bankslip->bankslip_path);
+ $booking->reject_reason = $user_bankslip->reject_reason;
+ $date1 = new DateTime($user_bankslip->updated_at);
+ }
- if (!$booking){
- return response()->json(['success'=>false, 'message'=>'not found'], 404);
- }
- return $booking;
+ if($china_bankslip){
+ $booking->china_bankslip_path = Storage::url($china_bankslip->china_bank_slip_path);
+ }
+
+ if($po){
+ $booking->user_po_path = Storage::url($po->image_path);
+ }
+
+ if($invoice){
+ $booking->invoice_path = Storage::url($invoice->invoice_path);
+ }
+
+ // set timeout
+ $date1 = new DateTime($booking->created_at);
+ $date2 = new DateTime();
+ $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
+ $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
+ $booking->timeout = $difference_in_seconds;
+
+ if (!$booking){
+ return response()->json(['success'=>false, 'message'=>'not found'], 404);
+ }
+
+ return $booking;
}
}
public function adminShow($id)
{
- $booking = Booking::where('id', $id)->first();
- $user_bankslip_path = $booking->userBankSlip()->first()->bankslip_path;
- $booking->user_bankslip_path = Storage::url($user_bankslip_path);
+ $booking = Booking::where('id', $id)->firstOrFail();
+
+
+ $user_bankslip = $booking->userBankSlip()->first();
+ $china_bankslip = $booking->chinaBankSlip()->first();
+ $po = $booking->purchaseOrder()->first();
+ $invoice = $booking->invoice()->first();
if($booking){
- $date1 = new DateTime($booking->created_at);
- $date2 = new DateTime();
- $difference_in_seconds = ($date1->format('U') + 600) - ($date2->format('U'));
- $booking->timeout = $difference_in_seconds;
+ if ($user_bankslip){
+ $booking->user_bankslip_path = Storage::url($user_bankslip->bankslip_path);
+ $booking->reject_reason = $user_bankslip->reject_reason;
+ $date1 = new DateTime($user_bankslip->updated_at);
+ }
- if (!$booking){
- return response()->json(['success'=>false, 'message'=>'not found'], 404);
- }
- return $booking;
+ if($china_bankslip){
+ $booking->china_bankslip_path = Storage::url($china_bankslip->china_bank_slip_path);
+ }
+
+ if($po){
+ $booking->user_po_path = Storage::url($po->image_path);
+ }
+
+ if($invoice){
+ $booking->invoice_path = Storage::url($invoice->invoice_path);
+ }
+
+ // set timeout
+ $date1 = new DateTime($booking->created_at);
+ $date2 = new DateTime();
+ $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
+ $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
+ $booking->timeout = $difference_in_seconds;
+
+ if (!$booking){
+ return response()->json(['success'=>false, 'message'=>'not found'], 404);
+ }
+ return $booking;
}
}
@@ -332,6 +377,7 @@ class BookingController extends Controller
return response()->json(['message'=>'Image too large, upload files up to 3 MB'], 400);
}
+
if($bankslip_file = $request->file('file'))
{
/* End Validation */
@@ -346,7 +392,12 @@ class BookingController extends Controller
'user_bankslip', $bankslip_file, $unique_image_path
);
- $user_bankslip = new UserBankSlip;
+ $user_bankslip = $booking->userBankSlip()->first();
+
+ // if user bankslip not exist, create new one
+ if(!$user_bankslip){
+ $user_bankslip = new UserBankSlip;
+ }
$user_bankslip->booking_id = $booking->id;
$user_bankslip->bankslip_path = $upload_path;
$user_bankslip->transfer_amount = $request->input('transfer_amount');
@@ -444,7 +495,7 @@ class BookingController extends Controller
return response()->json(['user_po_path'=> $user_po->image_path ],200);
}
- return response()->json(['message'=> 'waiting customer to upload their po'],400);
+ return response()->json(['message'=> 'waiting customer to upload their po'], 200);
}
public function delete(Booking $book_id)
@@ -545,12 +596,13 @@ class BookingController extends Controller
}
// Rejected bankslip cannot be approve again
- if($userBankSlip->is_reject == 1)
- {
- return response()->json(['message'=>'Bankslip already rejected'],200);
- }
+ // if($userBankSlip->is_reject == 1)
+ // {
+ // return response()->json(['message'=>'Bankslip already rejected'],200);
+ // }
$userBankSlip->is_approve = 1;
+ $userBankSlip->is_reject = 0;
$userBankSlip->estimated_arrival_time = $request->input('estimated_arrival_time');
$userBankSlip->save();
@@ -582,13 +634,12 @@ class BookingController extends Controller
}
$userBankSlip->is_reject = 1;
- $userBankSlip->reject_reason = $request->reject_reason;
+ $userBankSlip->reject_reason = $request->input('reject_reason');
$userBankSlip->save();
- // TODO : reject user bankinslip
// update booking status
- $booking->status = 0;
- $booking->admin_status = 0;
+ $booking->status = 2; // upload user bankslip
+ $booking->admin_status = 1; // user booking
$booking->save();
return response()->json(['message'=>'Success'],200);
@@ -667,7 +718,8 @@ class BookingController extends Controller
return response()->json(["message"=> "Please upload your purchase order"],400);
}
- $booking->status = 6;
+ $booking->status = 6; // wait invoice
+ $booking->admin_status = 6; // upload invoice
$booking->save();
return response()->json(['message'=>'Success'],200);
}
diff --git a/app/Http/Controllers/BookingSupplierController.php b/app/Http/Controllers/BookingSupplierController.php
index f1390fe8..4201a2da 100644
--- a/app/Http/Controllers/BookingSupplierController.php
+++ b/app/Http/Controllers/BookingSupplierController.php
@@ -48,11 +48,6 @@ class BookingSupplierController extends Controller
$booking_id = $request->input("booking_id");
$rate = $request->input('rate');
$rebate = $request->input('rebate');
-
- if ($supplierbooking = SupplierBooking::where('book_id', $booking_id)->first()){
- return response()->json(['success'=>false, 'message'=>'Bad request, please contact support'], 400);
- }
-
// Calculation
$amountInRMB = $transfer_amount * $rate;
@@ -66,7 +61,14 @@ class BookingSupplierController extends Controller
$supplier = SettingSupplier::find($supplier_id);
$booking = Booking::find($booking_id);
- $bookingsupplier = new SupplierBooking();
+ // update existing booking supplier if exist
+ $bookingsupplier = SupplierBooking::where('book_id', $booking_id)->first();
+
+ if (!$bookingsupplier){
+ $bookingsupplier = new SupplierBooking();
+
+ }
+
$bookingsupplier->supplier_id = $supplier->id;
$bookingsupplier->payment_method = $request->input('payment_method');
$bookingsupplier->transfer_amount = $transfer_amount;
@@ -90,7 +92,7 @@ class BookingSupplierController extends Controller
public function update(Request $request, $id)
{
- $bookingsupplier = BSupplierBooking::find($id);
+ $bookingsupplier = SupplierBooking::find($id);
$bookingsupplier->payment_method = $request->input('payment_method');
$bookingsupplier->transfer_amount = $request->input('transfer_amount');
$bookingsupplier->rate = $request->input('rate');
diff --git a/app/Http/Controllers/RateController.php b/app/Http/Controllers/RateController.php
index 67f3bddb..acd0f46e 100644
--- a/app/Http/Controllers/RateController.php
+++ b/app/Http/Controllers/RateController.php
@@ -12,11 +12,6 @@ class RateController extends Controller
return Rate::all();
}
- public function show(Rate $rate)
- {
- return $rate;
- }
-
public function store(Request $request)
{
$rate = Rate::create($request->all());
@@ -37,4 +32,11 @@ class RateController extends Controller
return response()->json(null, 204);
}
+
+ public function show()
+ {
+ $rate = DB::table('rates')->latest()->first();
+
+ return response()->json($rate, 200);
+ }
}
\ No newline at end of file
diff --git a/database/seeds/BookTableSeeder.php b/database/seeds/BookTableSeeder.php
index 1f01c281..b312ebf4 100644
--- a/database/seeds/BookTableSeeder.php
+++ b/database/seeds/BookTableSeeder.php
@@ -27,10 +27,15 @@ class BookTableSeeder extends Seeder
'bank_address' => 'cyber',
'swift_code' => 'qwe123',
'cnap' => '123asd',
- 'term' => 'x1',
- 'amount' => 1.2,
+ 'term' => 'x1_cash',
+ 'amount' => 200,
+ 'rmb_book_amount' => 200,
+ 'bia' => 189,
+ 'rate' => 1.2,
'rate_id' => $rate->id,
'user_id' => $user->id,
+ 'status' => 2,
+ 'admin_status' => 1,
'created_at' => Carbon::now()->format('Y-m-d H:i:s'),
'updated_at' => Carbon::now()->format('Y-m-d H:i:s'),
]);
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index f42f19a3..701d2226 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -18,9 +18,6 @@ class DatabaseSeeder extends Seeder
$this->call(RateTableSeeder::class);
$this->call(BookTableSeeder::class);
$this->call(SettingCreditSeeder::class);
-<<<<<<< HEAD
-=======
$this->call(SuppliersTableSeeder::class);
->>>>>>> 722dbacd00523cf1ab207f77a3538f31199de32f
}
}
diff --git a/database/seeds/SettingCreditSeeder.php b/database/seeds/SettingCreditSeeder.php
index 0087203e..a79c1e2d 100644
--- a/database/seeds/SettingCreditSeeder.php
+++ b/database/seeds/SettingCreditSeeder.php
@@ -15,7 +15,7 @@ class SettingCreditSeeder extends Seeder
DB::table('setting_credits')->insert([
'rmb_credit_limit' => '4000',
'usd_credit_limit' => '5000',
- 'time_limit' => '600'
+ 'time_limit' => '6000'
]);
}
}
diff --git a/resources/assets/js/components/AdminProgressTrack.vue b/resources/assets/js/components/AdminProgressTrack.vue
index 3cff63df..bf3330c6 100644
--- a/resources/assets/js/components/AdminProgressTrack.vue
+++ b/resources/assets/js/components/AdminProgressTrack.vue
@@ -6,8 +6,7 @@
|
+ Order Number :
+ |
+
+ {{ booking_details.id }}
+ |
+
|
+ Date :
+ |
+
+ {{ booking_details.created_at }}
+ |
+
|
+ Customer Marking :
+ |
+
+ CIEF/150ECE
+ |
+
| + + | ++ + | +
|
+ Term :
+ |
+
+ {{ booking_details.term }}
+ |
+
| + + | ++ + | +
|
+ CNY/RMB :
+ |
+
+ CNY {{ booking_details.amount }}
+ |
+
|
+ + Service Charge :
+ |
+
+ CNY {{ booking_details.service_charge }}
+ |
+
|
+ / RATE :
+ |
+
+ {{ booking_details.rate }}
+ |
+
| + + | +
+ MYR {{ booking_details.bia }}
+ |
+
| + + | +
+ MYR {{ booking_details.bia }}
+ |
+
| + + | ++ + | +