Browse Source

fix: master text-transaction

Muhammad Iqbal Afandi 3 years ago
parent
commit
ab6de9fe4d

+ 3
- 2
app/Http/Controllers/TestTransactionController.php View File

3
 namespace App\Http\Controllers;
3
 namespace App\Http\Controllers;
4
 
4
 
5
 use App\Http\Controllers\Controller;
5
 use App\Http\Controllers\Controller;
6
+use App\Http\Requests\TestTransaction\StoreTestTransactionRequest;
6
 use App\Models\EntryTransaction;
7
 use App\Models\EntryTransaction;
7
 use App\Models\OutTransaction;
8
 use App\Models\OutTransaction;
8
 use App\Models\ParkingFee;
9
 use App\Models\ParkingFee;
73
      * @param  \Illuminate\Http\Request  $request
74
      * @param  \Illuminate\Http\Request  $request
74
      * @return \Illuminate\Http\Response
75
      * @return \Illuminate\Http\Response
75
      */
76
      */
76
-    public function store(Request $request)
77
+    public function store(StoreTestTransactionRequest $request)
77
     {
78
     {
78
         if ($request->id === 2) {
79
         if ($request->id === 2) {
79
             $entryTransactions = EntryTransaction::where('transaction_number', $request->entry_transaction_id)->first();
80
             $entryTransactions = EntryTransaction::where('transaction_number', $request->entry_transaction_id)->first();
80
             $vehicleEntryTime = $entryTransactions->getRawOriginal('created_at');
81
             $vehicleEntryTime = $entryTransactions->getRawOriginal('created_at');
81
-            $longParkingPerMinutes = Carbon::parse($vehicleEntryTime)->diffInRealMinutes(now());
82
+            $longParkingPerHours = Carbon::parse($vehicleEntryTime)->floatDiffInRealHours(now());
82
 
83
 
83
             $parkingFee = ParkingFee::get();
84
             $parkingFee = ParkingFee::get();
84
 
85
 

+ 38
- 0
app/Http/Requests/TestTransaction/StoreTestTransactionRequest.php View File

1
+<?php
2
+
3
+namespace App\Http\Requests\TestTransaction;
4
+
5
+use Illuminate\Foundation\Http\FormRequest;
6
+
7
+class StoreTestTransactionRequest extends FormRequest
8
+{
9
+    /**
10
+     * Determine if the user is authorized to make this request.
11
+     *
12
+     * @return bool
13
+     */
14
+    public function authorize()
15
+    {
16
+        return true;
17
+    }
18
+
19
+    /**
20
+     * Get the validation rules that apply to the request.
21
+     *
22
+     * @return array<string, mixed>
23
+     */
24
+    public function rules()
25
+    {
26
+        if ($this->id === 2) {
27
+            return [
28
+                'plat_number' => 'required',
29
+                'entry_transaction_id' => 'required',
30
+                'type_vehicle_id' => 'required',
31
+            ];
32
+        } else {
33
+            return [
34
+                //
35
+            ];
36
+        }
37
+    }
38
+}

+ 3
- 5
public/js/resources_js_pages_test-transaction_Create_vue.js View File

661
       return props.entryTransactionData;
661
       return props.entryTransactionData;
662
     }, function () {
662
     }, function () {
663
       setLocalEntryTransaction();
663
       setLocalEntryTransaction();
664
+      form.reset();
664
     });
665
     });
665
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
666
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
666
       setLocalEntryTransaction();
667
       setLocalEntryTransaction();
667
     });
668
     });
668
     var localEntryTransactions = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
669
     var localEntryTransactions = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
669
-    var localEntryTransactionDeleted = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
670
 
670
 
671
     var setLocalEntryTransaction = function setLocalEntryTransaction() {
671
     var setLocalEntryTransaction = function setLocalEntryTransaction() {
672
       localEntryTransactions.splice(0);
672
       localEntryTransactions.splice(0);
676
     var copy = function copy(data) {
676
     var copy = function copy(data) {
677
       form.entry_transaction_id = data.transactionNumber;
677
       form.entry_transaction_id = data.transactionNumber;
678
       var filterLocalEntryTransactions = props.entryTransactionData.data.filter(function (val) {
678
       var filterLocalEntryTransactions = props.entryTransactionData.data.filter(function (val) {
679
-        localEntryTransactionDeleted.push(data.transactionNumber);
680
-        return val.entryTransactionId !== data.transactionNumber;
679
+        return val.transactionNumber !== data.transactionNumber;
681
       });
680
       });
682
       localEntryTransactions.splice(0);
681
       localEntryTransactions.splice(0);
683
       localEntryTransactions.push.apply(localEntryTransactions, _toConsumableArray(filterLocalEntryTransactions));
682
       localEntryTransactions.push.apply(localEntryTransactions, _toConsumableArray(filterLocalEntryTransactions));
697
     var __returned__ = {
696
     var __returned__ = {
698
       props: props,
697
       props: props,
699
       localEntryTransactions: localEntryTransactions,
698
       localEntryTransactions: localEntryTransactions,
700
-      localEntryTransactionDeleted: localEntryTransactionDeleted,
701
       setLocalEntryTransaction: setLocalEntryTransaction,
699
       setLocalEntryTransaction: setLocalEntryTransaction,
702
       copy: copy,
700
       copy: copy,
703
       form: form,
701
       form: form,
1522
     }),
1520
     }),
1523
     footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
1521
     footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
1524
       return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
1522
       return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
1525
-        label: "Car In",
1523
+        label: "Car Entry",
1526
         icon: "pi pi-check",
1524
         icon: "pi pi-check",
1527
         "class": "p-button-outlined",
1525
         "class": "p-button-outlined",
1528
         disabled: $setup.form.processing,
1526
         disabled: $setup.form.processing,

+ 1
- 1
public/js/resources_js_pages_test-transaction_Entry_vue.js View File

209
     }),
209
     }),
210
     footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
210
     footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
211
       return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
211
       return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
212
-        label: "Car In",
212
+        label: "Car Entry",
213
         icon: "pi pi-check",
213
         icon: "pi pi-check",
214
         "class": "p-button-outlined",
214
         "class": "p-button-outlined",
215
         disabled: $setup.form.processing,
215
         disabled: $setup.form.processing,

+ 2
- 4
public/js/resources_js_pages_test-transaction_Out_vue.js View File

241
       return props.entryTransactionData;
241
       return props.entryTransactionData;
242
     }, function () {
242
     }, function () {
243
       setLocalEntryTransaction();
243
       setLocalEntryTransaction();
244
+      form.reset();
244
     });
245
     });
245
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
246
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
246
       setLocalEntryTransaction();
247
       setLocalEntryTransaction();
247
     });
248
     });
248
     var localEntryTransactions = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
249
     var localEntryTransactions = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
249
-    var localEntryTransactionDeleted = (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)([]);
250
 
250
 
251
     var setLocalEntryTransaction = function setLocalEntryTransaction() {
251
     var setLocalEntryTransaction = function setLocalEntryTransaction() {
252
       localEntryTransactions.splice(0);
252
       localEntryTransactions.splice(0);
256
     var copy = function copy(data) {
256
     var copy = function copy(data) {
257
       form.entry_transaction_id = data.transactionNumber;
257
       form.entry_transaction_id = data.transactionNumber;
258
       var filterLocalEntryTransactions = props.entryTransactionData.data.filter(function (val) {
258
       var filterLocalEntryTransactions = props.entryTransactionData.data.filter(function (val) {
259
-        localEntryTransactionDeleted.push(data.transactionNumber);
260
-        return val.entryTransactionId !== data.transactionNumber;
259
+        return val.transactionNumber !== data.transactionNumber;
261
       });
260
       });
262
       localEntryTransactions.splice(0);
261
       localEntryTransactions.splice(0);
263
       localEntryTransactions.push.apply(localEntryTransactions, _toConsumableArray(filterLocalEntryTransactions));
262
       localEntryTransactions.push.apply(localEntryTransactions, _toConsumableArray(filterLocalEntryTransactions));
277
     var __returned__ = {
276
     var __returned__ = {
278
       props: props,
277
       props: props,
279
       localEntryTransactions: localEntryTransactions,
278
       localEntryTransactions: localEntryTransactions,
280
-      localEntryTransactionDeleted: localEntryTransactionDeleted,
281
       setLocalEntryTransaction: setLocalEntryTransaction,
279
       setLocalEntryTransaction: setLocalEntryTransaction,
282
       copy: copy,
280
       copy: copy,
283
       form: form,
281
       form: form,

+ 1
- 1
resources/js/pages/test-transaction/Entry.vue View File

36
     <template #footer>
36
     <template #footer>
37
       <div class="flex flex-column md:flex-row justify-content-end">
37
       <div class="flex flex-column md:flex-row justify-content-end">
38
         <Button
38
         <Button
39
-          label="Car In"
39
+          label="Car Entry"
40
           icon="pi pi-check"
40
           icon="pi pi-check"
41
           class="p-button-outlined"
41
           class="p-button-outlined"
42
           :disabled="form.processing"
42
           :disabled="form.processing"

+ 5
- 7
resources/js/pages/test-transaction/Out.vue View File

19
   () => props.entryTransactionData,
19
   () => props.entryTransactionData,
20
   () => {
20
   () => {
21
     setLocalEntryTransaction()
21
     setLocalEntryTransaction()
22
+
23
+    form.reset()
22
   }
24
   }
23
 )
25
 )
24
 
26
 
28
 
30
 
29
 const localEntryTransactions = reactive([])
31
 const localEntryTransactions = reactive([])
30
 
32
 
31
-const localEntryTransactionDeleted = reactive([])
32
-
33
 const setLocalEntryTransaction = () => {
33
 const setLocalEntryTransaction = () => {
34
   localEntryTransactions.splice(0)
34
   localEntryTransactions.splice(0)
35
   localEntryTransactions.push(...props.entryTransactionData.data)
35
   localEntryTransactions.push(...props.entryTransactionData.data)
38
 const copy = (data) => {
38
 const copy = (data) => {
39
   form.entry_transaction_id = data.transactionNumber
39
   form.entry_transaction_id = data.transactionNumber
40
 
40
 
41
-  const filterLocalEntryTransactions = props.entryTransactionData.data.filter((val) => {
42
-    localEntryTransactionDeleted.push(data.transactionNumber)
43
-
44
-    return val.entryTransactionId !== data.transactionNumber
45
-  })
41
+  const filterLocalEntryTransactions = props.entryTransactionData.data.filter(
42
+    (val) => val.transactionNumber !== data.transactionNumber
43
+  )
46
 
44
 
47
   localEntryTransactions.splice(0)
45
   localEntryTransactions.splice(0)
48
   localEntryTransactions.push(...filterLocalEntryTransactions)
46
   localEntryTransactions.push(...filterLocalEntryTransactions)