Browse Source

预约统计优化5

master
wanghongjun 2 days ago
parent
commit
72931ad511
  1. 14
      app/Http/Controllers/Admin/ParkingReservationController.php
  2. 8
      app/Models/EventCalendar.php

14
app/Http/Controllers/Admin/ParkingReservationController.php

@ -339,14 +339,22 @@ class ParkingReservationController extends BaseController
$w = date('w', strtotime($date));
$week_str = __service("reservation.week{$w}");
$patternId = EventCalendar::getDatePatternId($date);
$patternId = EventCalendar::getDatePatternId(
$date,
$now_date == $date
);
$space_set_name = '';
$member_type_list = [];
$space_type_ids = $query->pluck('space_type_id')->toArray();
if ($patternId) {
$space_set_name = ParkingPattern::getName($patternId);
$member_type_list = ParkingSpaceType::getData();
$counts = $space_type_ids ? array_count_values($space_type_ids) : [];
$pattern_space_type_ids
= ParkingPatternSpace::getParkingSpaceTypeIds($patternId);
$member_type_list = ParkingSpaceType::getData(
$pattern_space_type_ids
);
$counts = $space_type_ids ? array_count_values($space_type_ids)
: [];
foreach ($member_type_list as &$item) {
$item['count'] = $counts[$item['id']] ?? 0;
unset($item['id']);

8
app/Models/EventCalendar.php

@ -39,10 +39,14 @@ class EventCalendar extends Model
return date('Y-m-d H:i', strtotime($value));
}
public static function getDatePatternId($date)
public static function getDatePatternId($date, $is_now_date)
{
$date .= date(" H:i:s", time());
return self::query()->whereIn('status', [0, 1])->where(
$statusArr = [0,1];
if (!$is_now_date) {
$statusArr[] = 2;
}
return self::query()->whereIn('status', $statusArr)->where(
function ($query) use ($date) {
$query->whereRaw(
"'{$date}' BETWEEN start_time AND end_time"

Loading…
Cancel
Save