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

7
app/Services/ParkingSpaceService.php

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

Loading…
Cancel
Save