Преглед на файлове

fix: master test-transaction

Muhammad Iqbal Afandi преди 3 години
родител
ревизия
3201acc27b

+ 20
- 5
app/Http/Controllers/TestTransactionController.php Целия файл

5
 use App\Http\Controllers\Controller;
5
 use App\Http\Controllers\Controller;
6
 use App\Http\Requests\TestTransaction\StoreTestTransactionRequest;
6
 use App\Http\Requests\TestTransaction\StoreTestTransactionRequest;
7
 use App\Models\EntryTransaction;
7
 use App\Models\EntryTransaction;
8
-use App\Models\Member;
9
 use App\Models\OutTransaction;
8
 use App\Models\OutTransaction;
10
 use App\Models\ParkingFee;
9
 use App\Models\ParkingFee;
11
 use App\Models\TypeVehicle;
10
 use App\Models\TypeVehicle;
51
             ->through(fn($transactionOut) => [
50
             ->through(fn($transactionOut) => [
52
                 'id' => $transactionOut->id,
51
                 'id' => $transactionOut->id,
53
                 'createdAt' => $transactionOut->created_at,
52
                 'createdAt' => $transactionOut->created_at,
53
+                'platNumber' => $transactionOut->plat_number,
54
                 'entryTransactionId' => $transactionOut->entry_transaction_id,
54
                 'entryTransactionId' => $transactionOut->entry_transaction_id,
55
             ]);
55
             ]);
56
 
56
 
79
     public function store(StoreTestTransactionRequest $request)
79
     public function store(StoreTestTransactionRequest $request)
80
     {
80
     {
81
         if ($request->id === 2) {
81
         if ($request->id === 2) {
82
+            $vehicle = Vehicle::where('plat_number', $request->plat_number)->first();
83
+
82
             // Check member or not
84
             // Check member or not
83
-            $memberId = Vehicle::where('plat_number', $request->plat_number)->first('member_id');
85
+            if ($vehicle && $vehicle->member_id) {
86
+                $expDate = $vehicle->member->getRawOriginal('exp_date');
84
 
87
 
85
-            if ($memberId) {
86
                 // Check expired member or not
88
                 // Check expired member or not
87
-                $expDate = $memberId->member->getRawOriginal('exp_date');
89
+                $exp = !Carbon::parse($expDate)->greaterThanOrEqualTo(now());
90
+
91
+                if ($exp) {
92
+                    return back()->with('warning', __('words.member_expired'));
93
+                }
88
 
94
 
89
-                $exp = Carbon::parse($expDate)->greaterThanOrEqualTo(now());
95
+                OutTransaction::create([
96
+                    'plat_number' => $request->plat_number,
97
+                    'entry_transaction_id' => $request->entry_transaction_id,
98
+                    'type_vehicle_id' => $vehicle->type_vehicle_id,
99
+                    'user_id' => auth()->user()->id,
100
+                ]);
101
+
102
+                return back()->with('success', __('messages.success.store.out_transaction'));
90
             } else {
103
             } else {
91
                 $entryTransactions = EntryTransaction::where('transaction_number', $request->entry_transaction_id)->first();
104
                 $entryTransactions = EntryTransaction::where('transaction_number', $request->entry_transaction_id)->first();
92
 
105
 
95
                 $longParkingPerHours = Carbon::parse($vehicleEntryTime)->floatDiffInRealHours(now());
108
                 $longParkingPerHours = Carbon::parse($vehicleEntryTime)->floatDiffInRealHours(now());
96
 
109
 
97
                 $parkingFee = ParkingFee::get();
110
                 $parkingFee = ParkingFee::get();
111
+
112
+                return back()->with('success', __('messages.success.store.out_transaction'));
98
             }
113
             }
99
         } else {
114
         } else {
100
             EntryTransaction::create([
115
             EntryTransaction::create([

+ 1
- 0
app/Http/Middleware/HandleInertiaRequests.php Целия файл

42
                 return [
42
                 return [
43
                     'success' => $request->session()->get('success'),
43
                     'success' => $request->session()->get('success'),
44
                     'error' => $request->session()->get('error'),
44
                     'error' => $request->session()->get('error'),
45
+                    'warning' => $request->session()->get('warning'),
45
                 ];
46
                 ];
46
             },
47
             },
47
         ]);
48
         ]);

+ 7
- 0
app/Models/OutTransaction.php Целия файл

25
             get:fn($value) => Carbon::parse($value)->translatedFormat('l d/m/Y')
25
             get:fn($value) => Carbon::parse($value)->translatedFormat('l d/m/Y')
26
         );
26
         );
27
     }
27
     }
28
+
29
+    protected function platNumber(): Attribute
30
+    {
31
+        return Attribute::make(
32
+            set:fn($value) => strtoupper($value)
33
+        );
34
+    }
28
 }
35
 }

+ 2
- 2
database/migrations/2022_04_23_122428_create_out_transactions_table.php Целия файл

16
         Schema::create('out_transactions', function (Blueprint $table) {
16
         Schema::create('out_transactions', function (Blueprint $table) {
17
             $table->id();
17
             $table->id();
18
             $table->string('plat_number');
18
             $table->string('plat_number');
19
-            $table->unsignedInteger('price');
20
-            $table->foreignId('entry_transaction_id')->constrained();
19
+            $table->unsignedInteger('price')->default(0);
20
+            $table->string('entry_transaction_id');
21
             $table->foreignId('type_vehicle_id')->constrained();
21
             $table->foreignId('type_vehicle_id')->constrained();
22
             $table->foreignId('user_id')->constrained();
22
             $table->foreignId('user_id')->constrained();
23
             $table->timestamps();
23
             $table->timestamps();

+ 1
- 0
lang/en/messages.php Целия файл

30
             'discount' => 'Discount successfully added',
30
             'discount' => 'Discount successfully added',
31
             'expense' => 'Expense successfully added',
31
             'expense' => 'Expense successfully added',
32
             'transaction' => 'Transaction successfully added',
32
             'transaction' => 'Transaction successfully added',
33
+            'out_transaction' => 'Out Transaction successfully added',
33
             'user' => 'User Account successfully added',
34
             'user' => 'User Account successfully added',
34
         ],
35
         ],
35
         'update' => [
36
         'update' => [

+ 1
- 0
lang/en/words.php Целия файл

32
     'top_customer' => 'Top customer',
32
     'top_customer' => 'Top customer',
33
     'top_number_customer' => 'Top :number Customer',
33
     'top_number_customer' => 'Top :number Customer',
34
     'member' => 'Member',
34
     'member' => 'Member',
35
+    'member_expired' => 'Member has expired please Top Up again',
35
     'type_member' => 'Type Member',
36
     'type_member' => 'Type Member',
36
     'type_vehicle' => 'Type Kendaraan',
37
     'type_vehicle' => 'Type Kendaraan',
37
     'top_up_rank' => 'Top Up',
38
     'top_up_rank' => 'Top Up',

+ 1
- 0
lang/id/messages.php Целия файл

30
             'discount' => 'Diskon berhasil diubah',
30
             'discount' => 'Diskon berhasil diubah',
31
             'expense' => 'Pengeluaran berhasil ditambahkan',
31
             'expense' => 'Pengeluaran berhasil ditambahkan',
32
             'transaction' => 'Transaksi berhasil ditambahkan',
32
             'transaction' => 'Transaksi berhasil ditambahkan',
33
+            'out_transaction' => 'Transaksi berhasil ditambahkan',
33
             'user' => 'Akun user berhasil ditambahkan',
34
             'user' => 'Akun user berhasil ditambahkan',
34
         ],
35
         ],
35
         'update' => [
36
         'update' => [

+ 1
- 0
lang/id/words.php Целия файл

32
     'top_customer' => 'Top Pelanggan',
32
     'top_customer' => 'Top Pelanggan',
33
     'top_number_customer' => 'Top :number Pelanggan',
33
     'top_number_customer' => 'Top :number Pelanggan',
34
     'member' => 'Member',
34
     'member' => 'Member',
35
+    'member_expired' => 'Member telah expired silahkan lakukan Top Up kembali',
35
     'type_member' => 'Jenis Member',
36
     'type_member' => 'Jenis Member',
36
     'type_vehicle' => 'Jenis Kendaraan',
37
     'type_vehicle' => 'Jenis Kendaraan',
37
     'top_up_rank' => 'Top Up',
38
     'top_up_rank' => 'Top Up',

+ 1
- 0
resources/js/pages/test-transaction/TableHeader.js Целия файл

5
 
5
 
6
 export const OutTable = [
6
 export const OutTable = [
7
   { field: 'createdAt', header: 'Out' },
7
   { field: 'createdAt', header: 'Out' },
8
+  { field: 'platNumber', header: 'Plat Kendaraan' },
8
   { field: 'entryTransactionId', header: 'Parking ID' },
9
   { field: 'entryTransactionId', header: 'Parking ID' },
9
 ]
10
 ]

+ 1
- 1
resources/views/app.blade.php Целия файл

7
     <link rel="icon" type="image/x-icon" href="{{ asset('images/favicon.ico') }}">
7
     <link rel="icon" type="image/x-icon" href="{{ asset('images/favicon.ico') }}">
8
 
8
 
9
     @routes
9
     @routes
10
-    <script src="{{ mix('/js/vue.js') }}" defer></script>
10
+    <script defer src="{{ mix('/js/vue.js') }}"></script>
11
     @inertiaHead
11
     @inertiaHead
12
 </head>
12
 </head>
13
 
13