Browse Source

车辆进出入优化0812

master
wanghongjun 1 month ago
parent
commit
797feea10b
  1. 39
      app/Services/ParkingAccessRecordService.php
  2. 7
      app/Services/ParkingSpaceService.php

39
app/Services/ParkingAccessRecordService.php

@ -79,7 +79,7 @@ class ParkingAccessRecordService extends BaseService
return; return;
} }
$data = [ $where = $data = [
'space_id' => $space_id, 'space_id' => $space_id,
'floor_id' => $spaceData['floor_id'], 'floor_id' => $spaceData['floor_id'],
]; ];
@ -96,19 +96,40 @@ class ParkingAccessRecordService extends BaseService
$data['license_plate_id'] = $license_plate_id; $data['license_plate_id'] = $license_plate_id;
} }
// 查询车位记录 // 查询车位记录
$id = ParkingAccessRecord::query()->where($data)->where('status', 1) $oldQuery = ParkingAccessRecord::query()->where($where)->where('status', 1)
->value('id'); ->first(['id', 'license_plate_id']);
$ParkingSpaceService = new ParkingSpaceService($this->logService); $ParkingSpaceService = new ParkingSpaceService($this->logService);
// 停播存在车牌不存在 $old_license_plate_id = '';
if ($id && !$license_plate) { $id = '';
if ($oldQuery) {
$id = $oldQuery['id'];
$old_license_plate_id = $oldQuery['license_plate_id'];
$data['leave_time'] = strtotime($now_time); $data['leave_time'] = strtotime($now_time);
// 有记录 无车牌 离场
if (!isset($data['license_plate_id'])) {
$this->leaveData($id, $data); $this->leaveData($id, $data);
// 同步车位车辆进入 // 同步车位车辆进入
$ParkingSpaceService->updateEnterLeave($space_id, 0, $now_time); $ParkingSpaceService->updateEnterLeave($space_id, 0, $now_time);
// VIP车辆离场 // VIP车辆离场
ParkingVipListService::leave($id, $now_time); ParkingVipListService::leave($id, $now_time);
// 车牌存在 return;
} elseif (isset($data['license_plate_id']) && !$id) { } elseif ($data['license_plate_id'] == $old_license_plate_id) {
// 车牌相同不做操作
return;
}
}
// 无车牌不添加
if (!isset($data['license_plate_id'])) {
return;
}
// 有记录 车牌不同
if ($old_license_plate_id) {
// 原车牌离场
$this->leaveData($id, $data);
// VIP车辆离场
ParkingVipListService::leave($id, $now_time);
}
// 有车牌 无停车记录,可以进入
$data['enter_time'] = strtotime($now_time); $data['enter_time'] = strtotime($now_time);
$data['scene_image'] = $this->saveSceneImage($image_data); $data['scene_image'] = $this->saveSceneImage($image_data);
$access_record_id = $this->enterData($data); $access_record_id = $this->enterData($data);
@ -118,7 +139,8 @@ class ParkingAccessRecordService extends BaseService
1, 1,
$now_time, $now_time,
$data['license_plate_id'], $data['license_plate_id'],
$data['scene_image'] $data['scene_image'],
empty($id)
); );
// 判断是否为VIP 并添加入场 // 判断是否为VIP 并添加入场
ParkingVipListService::enter( ParkingVipListService::enter(
@ -129,7 +151,6 @@ class ParkingAccessRecordService extends BaseService
$data['license_plate_id'] $data['license_plate_id']
); );
} }
}
// 手动添加车辆进出记录 // 手动添加车辆进出记录
public function syncSpaceStatusRecord( public function syncSpaceStatusRecord(

7
app/Services/ParkingSpaceService.php

@ -446,7 +446,8 @@ class ParkingSpaceService extends BaseService
$status, $status,
$datetime, $datetime,
$license_plate_id = 0, $license_plate_id = 0,
$pic_url = '' $pic_url = '',
$is_change = true
) { ) {
$model = ParkingSpace::query()->findOrFail($id); $model = ParkingSpace::query()->findOrFail($id);
$oldValues = $model->toArray(); $oldValues = $model->toArray();
@ -470,7 +471,8 @@ class ParkingSpaceService extends BaseService
$oldValues, $oldValues,
'parking_space.update_status' 'parking_space.update_status'
); );
// 更新状态变换车灯 // 更新状态变换车灯 (其他车来灯光不更新)
if ($is_change) {
$this->changeSpaceCameraColor( $this->changeSpaceCameraColor(
$oldValues['id'], $oldValues['id'],
$oldValues['space_type_id'], $oldValues['space_type_id'],
@ -478,6 +480,7 @@ class ParkingSpaceService extends BaseService
$status $status
); );
} }
}
/** /**
* 根据不同模式 更新车位类型 * 根据不同模式 更新车位类型

Loading…
Cancel
Save