Browse Source

车辆进出入优化0812

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

77
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,39 +96,60 @@ 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);
// 同步车位车辆进入
$ParkingSpaceService->updateEnterLeave($space_id, 0, $now_time);
// VIP车辆离场
ParkingVipListService::leave($id, $now_time);
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); $this->leaveData($id, $data);
// 同步车位车辆进入
$ParkingSpaceService->updateEnterLeave($space_id, 0, $now_time);
// VIP车辆离场 // VIP车辆离场
ParkingVipListService::leave($id, $now_time); ParkingVipListService::leave($id, $now_time);
// 车牌存在
} elseif (isset($data['license_plate_id']) && !$id) {
$data['enter_time'] = strtotime($now_time);
$data['scene_image'] = $this->saveSceneImage($image_data);
$access_record_id = $this->enterData($data);
// 同步车位车辆进入
$ParkingSpaceService->updateEnterLeave(
$space_id,
1,
$now_time,
$data['license_plate_id'],
$data['scene_image']
);
// 判断是否为VIP 并添加入场
ParkingVipListService::enter(
$space_id,
$spaceData['space_type_id'],
$access_record_id,
$now_time,
$data['license_plate_id']
);
} }
// 有车牌 无停车记录,可以进入
$data['enter_time'] = strtotime($now_time);
$data['scene_image'] = $this->saveSceneImage($image_data);
$access_record_id = $this->enterData($data);
// 同步车位车辆进入
$ParkingSpaceService->updateEnterLeave(
$space_id,
1,
$now_time,
$data['license_plate_id'],
$data['scene_image'],
empty($id)
);
// 判断是否为VIP 并添加入场
ParkingVipListService::enter(
$space_id,
$spaceData['space_type_id'],
$access_record_id,
$now_time,
$data['license_plate_id']
);
} }
// 手动添加车辆进出记录 // 手动添加车辆进出记录

19
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,13 +471,15 @@ class ParkingSpaceService extends BaseService
$oldValues, $oldValues,
'parking_space.update_status' 'parking_space.update_status'
); );
// 更新状态变换车灯 // 更新状态变换车灯 (其他车来灯光不更新)
$this->changeSpaceCameraColor( if ($is_change) {
$oldValues['id'], $this->changeSpaceCameraColor(
$oldValues['space_type_id'], $oldValues['id'],
$oldValues['space_attr_id'], $oldValues['space_type_id'],
$status $oldValues['space_attr_id'],
); $status
);
}
} }
/** /**

Loading…
Cancel
Save