|
|
|
@ -6,7 +6,9 @@ use App\Models\AdminFloor; |
|
|
|
use App\Models\ParkingPattern; |
|
|
|
use App\Models\ParkingPatternSpace; |
|
|
|
use App\Models\ParkingSpace; |
|
|
|
use App\Models\ParkingSpaceAttributes; |
|
|
|
use App\Models\ParkingSpaceType; |
|
|
|
use App\Models\ParkingSpaceTypeAttr; |
|
|
|
use App\Services\AdminMenuService; |
|
|
|
use App\Services\AdminTranslationService; |
|
|
|
use App\Services\ApiResponseService; |
|
|
|
@ -88,13 +90,40 @@ class IndexController extends BaseController |
|
|
|
$ParkingSpace = ParkingSpace::query()->where($spaceWhere) |
|
|
|
->whereIn('status', $statusArr) |
|
|
|
->whereIn('id', $spaceIds) |
|
|
|
->select('status')->get()->toArray(); |
|
|
|
->select(['status', 'space_attr_id'])->get()->toArray(); |
|
|
|
$type_count = count($ParkingSpace); |
|
|
|
$type_vacant_count = 0; |
|
|
|
$temp_attr_list = []; |
|
|
|
$attr_list = []; |
|
|
|
foreach ($ParkingSpace as $item) { |
|
|
|
if ($item != 1){ |
|
|
|
$type_vacant_count += 1; |
|
|
|
if (!isset($temp_attr_list[$item['space_attr_id']]['count'])) { |
|
|
|
$temp_attr_list[$item['space_attr_id']]['count'] = 0; |
|
|
|
} |
|
|
|
$temp_attr_list[$item['space_attr_id']]['count'] += 1; |
|
|
|
if (!isset($temp_attr_list[$item['space_attr_id']]['vacant_count'])) { |
|
|
|
$temp_attr_list[$item['space_attr_id']]['vacant_count'] = 0; |
|
|
|
} |
|
|
|
if ($item['status'] != 1){ |
|
|
|
$temp_attr_list[$item['space_attr_id']]['vacant_count'] += 1; |
|
|
|
} |
|
|
|
} |
|
|
|
// 车位属性数据 |
|
|
|
foreach ($temp_attr_list as $space_attr_id => $attr_item) { |
|
|
|
$color = $typeItem['default_color_vacant']; |
|
|
|
$color_vacant = ParkingSpaceTypeAttr::query()->where([ |
|
|
|
'space_type_id' => $typeItem['id'], |
|
|
|
'space_attr_id' => $space_attr_id |
|
|
|
])->value('color_vacant'); |
|
|
|
if ($color_vacant) { |
|
|
|
$color = $color_vacant; |
|
|
|
} |
|
|
|
$attr_list[] = [ |
|
|
|
'attr_name' => ParkingSpaceAttributes::getAttr( |
|
|
|
$space_attr_id |
|
|
|
), |
|
|
|
'count' => $attr_item['count'], |
|
|
|
'vacant_count' => $attr_item['vacant_count'], |
|
|
|
'color' => $color |
|
|
|
]; |
|
|
|
} |
|
|
|
$type_name |
|
|
|
= AdminTranslationService::getTranslationTypeName( |
|
|
|
@ -104,7 +133,7 @@ class IndexController extends BaseController |
|
|
|
); |
|
|
|
$type_list[] = [ |
|
|
|
'count' => $type_count, |
|
|
|
'vacant_count' => $type_vacant_count, |
|
|
|
'attr_list' => $attr_list, |
|
|
|
'type_count' => $typeItem['default_color_vacant'], |
|
|
|
'name' => $type_name |
|
|
|
]; |
|
|
|
|