Browse Source

停车历史导出优化

master
wanghongjun 4 weeks ago
parent
commit
98c4aaeaf8
  1. 33
      app/Exports/ParkingAccessRecordExport.php
  2. 20
      app/Http/Controllers/Admin/ParkingAccessRecordController.php

33
app/Exports/ParkingAccessRecordExport.php

@ -83,24 +83,39 @@ class ParkingAccessRecordExport implements FromArray, WithHeadings
if (isset($parents['status']) && is_numeric($parents['status'])) {
$query->where('status', $parents['status']);
}
$is_enter = 0;
$is_leave = 0;
$start_enter_time = '';
$end_enter_time = '';
$start_leave_time = '';
$end_leave_time = '';
if (isset($parents['start_enter_time']) && isset($parents['end_enter_time'])) {
if ($parents['start_enter_time'] && $parents['end_enter_time']) {
$is_enter = $parents['start_enter_time'] != $parents['end_enter_time'] ? 1: 2;
$start_enter_time = strtotime($parents['start_enter_time'] . ' 00:00:00');
$end_enter_time = strtotime($parents['end_enter_time']. ' 23:59:59');
$query->whereBetween(
'enter_time',
[$start_enter_time, $end_enter_time]
);
}
}
if (isset($parents['start_leave_time']) && isset($parents['end_leave_time'])) {
if ($parents['start_leave_time'] && $parents['end_leave_time']) {
$is_leave = $parents['start_leave_time'] != $parents['end_leave_time'] ? 1: 2;
$start_leave_time = strtotime($parents['start_leave_time'] . ' 00:00:00');
$end_leave_time = strtotime($parents['end_leave_time']. ' 23:59:59');
$query->whereBetween(
'enter_time',
[$start_leave_time, $end_leave_time]
);
$end_leave_time = strtotime($parents['end_leave_time'] . ' 23:59:59');
}
}
if ($is_enter == 2 && $is_leave == 2) {
$query->where(
'enter_time','>=', $start_enter_time
);
$query->where(
'leave_time','<=', $end_leave_time
);
} else {
if ($is_enter) {
$query->whereBetween('enter_time', [$start_enter_time, $end_enter_time]);
}
if ($is_leave) {
$query->whereBetween('leave_time', [$start_leave_time, $end_leave_time]);
}
}
$columns = [

20
app/Http/Controllers/Admin/ParkingAccessRecordController.php

@ -117,10 +117,10 @@ class ParkingAccessRecordController extends BaseController
$is_enter = 0;
$is_leave = 0;
$start_leave_times = '';
$end_leave_times = '';
$start_enter_times = '';
$end_enter_times = '';
$start_leave_times = '';
$end_leave_times = '';
if ($request->has('start_enter_time')
&& $request->has(
'end_enter_time'
@ -130,8 +130,8 @@ class ParkingAccessRecordController extends BaseController
$end_enter_time = $request->input('end_enter_time');
if ($start_enter_time && $end_enter_time) {
$is_enter = $start_enter_time != $end_enter_time ? 1 : 2;
$start_leave_times = strtotime($start_enter_time . ' 00:00:00');
$end_leave_times = strtotime($end_enter_time . ' 23:59:59');
$start_enter_times = strtotime($start_enter_time . ' 00:00:00');
$end_enter_times = strtotime($end_enter_time . ' 23:59:59');
}
}
@ -144,24 +144,24 @@ class ParkingAccessRecordController extends BaseController
$end_leave_time = $request->input('end_leave_time');
if ($start_leave_time && $end_leave_time) {
$is_leave = $start_leave_time != $end_leave_time ? 1 : 2;
$start_enter_times = strtotime($start_leave_time . ' 00:00:00');
$end_enter_times = strtotime($end_leave_time . ' 23:59:59');
$start_leave_times = strtotime($start_leave_time . ' 00:00:00');
$end_leave_times = strtotime($end_leave_time . ' 23:59:59');
}
}
if ($is_enter == 2 && $is_leave == 2) {
$query->where(
'enter_time','>=', $start_leave_times
'enter_time','>=', $start_enter_times
);
$query->where(
'leave_time','<=', $end_enter_times
'leave_time','<=', $end_leave_times
);
} else {
if ($is_enter) {
$query->whereBetween('enter_time', [$start_leave_times, $end_leave_times]);
$query->whereBetween('enter_time', [$start_enter_times, $end_enter_times]);
}
if ($is_leave) {
$query->whereBetween('leave_time', [$start_enter_times, $end_enter_times]);
$query->whereBetween('leave_time', [$start_leave_times, $end_leave_times]);
}
}

Loading…
Cancel
Save