carnumber = $data['carnumber'] ?? $vpk->carnumber; $vpk->violationtype = $data['violationtype'] ?? $vpk->violationtype; $vpk->cartype = $data['cartype'] ?? $vpk->cartype; $vpk->violationcode = $data['viocode'] ?? $vpk->violationcode; $logData = [ 'action' => 'edit', 'action_detail' => '編輯案件', 'ip' => request()->ip(), 'remark' => "編輯違停案件: {$vpk->carnumber} ,案件日期: {$vpk->datatime}", ]; break; case 1: // 舉發 $carrepeat = ViolationParking::where('carnumber', $data['carnumber'] ?? $vpk->carnumber) ->where('id', '<>', $vpk->id) ->where('processcheck', 1) ->whereBetween('datatime', [ Carbon::parse($vpk->datatime)->subDay()->toDateTimeString(), Carbon::parse($vpk->datatime)->addDay()->toDateTimeString() ])->get(); if ($carrepeat->count() > 0) { $vpk->processcheck = 2; $vpk->unreportreason = '該車牌24小時內已被舉發過!!'; } else { $vpk->processcheck = 1; } $vpk->carnumber = $data['carnumber'] ?? $vpk->carnumber; $vpk->violationtype = $data['violationtype'] ?? $vpk->violationtype; $vpk->cartype = $data['cartype'] ?? $vpk->cartype; $vpk->violationcode = $data['viocode'] ?? $vpk->violationcode; $logData = [ 'action' => 'review', 'action_detail' => $vpk->processcheck === 1 ? '舉發案件' : '不舉發案件', 'ip' => request()->ip(), 'remark' => "舉發違停案件: {$vpk->carnumber} ,案件日期: {$vpk->datatime}", ]; break; case 2: // 不舉發 $vpk->carnumber = $data['carnumber'] ?? $vpk->carnumber; $vpk->violationtype = $data['violationtype'] ?? $vpk->violationtype; $vpk->cartype = $data['cartype'] ?? $vpk->cartype; $vpk->unreportreason = $data['unreportreason'] ?? $vpk->unreportreason; $vpk->processcheck = 2; $logData = [ 'action' => 'review', 'action_detail' => '不舉發案件', 'ip' => request()->ip(), 'remark' => "不舉發違停案件: {$vpk->carnumber} ,案件日期: {$vpk->datatime}", ]; break; case 3: // 還原 $vpk->violationcode = null; $vpk->unreportreason = ''; $vpk->processcheck = 0; $logData = [ 'action' => 'reduction', 'action_detail' => '還原案件', 'ip' => request()->ip(), 'remark' => "還原違停案件: {$vpk->carnumber} ,案件日期: {$vpk->datatime}", ]; break; } $vpk->jsoncheck = $user->account; $vpk->save(); LogWriter::writeLog($logData, 'api'); DB::commit(); return ['success' => $logData['remark']]; } catch (\Exception $e) { DB::rollBack(); return ['error' => '系統錯誤']; } } }