Files
backend_parkir/app/Http/Controllers/Parking/Setup/Vehicle/ModifiedVehiclepriceController.php
T
pand03-CEOandClaude Sonnet 5 2a9b28581c Rapihin setup/member/lot-parking + fitur intercom, exclude WIP controller & file sampah dari git
Kumpulan perubahan yang udah numpuk di working tree: refactor Setup
(Gate/Vehicle/Member), rapihin memberin & stiker, service parking baru
(ParkingUtilsServices, NetworkService), model/migration lot-parking &
DHCP reservation, dan fitur baru Intercom (controller/model/migration/
view).

ReportTransaksiController versi lokal ini WIP (~90%, masih didebug) -
versi yang bener ada di server, jadi dikeluarin dari git (ditambahin
ke .gitignore) biar gak numpuk nindihin punya server pas git pull di
sana. Sekalian keluarin dump mentah tabel softseting (1.8MB, nyasar
ke-commit), file .bak, dan arsip ad-hoc (api.tgz, c.zip) yang emang
bukan source code.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01EAJc2mrpj2cSTe4oowLPzQ
2026-10-04 07:15:54 +07:00

151 lines
4.5 KiB
PHP

<?php
namespace App\Http\Controllers\Parking\Setup\Vehicle;
use App\Http\Controllers\Controller;
use App\Models\MasterTarif;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class ModifiedVehiclepriceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$vehicleRates = DB::table("tarif")->where("id_mobil", (string) $id)->first();
if (!$vehicleRates) {
return response()->json(['status' => false, 'message' => 'Tarif kendaraan tidak ditemukan.'], 404);
}
return response()->json($vehicleRates);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$dataQuery = MasterTarif::find($id);
if (!$dataQuery) {
return response()->json(['status' => false, 'message' => 'Tarif kendaraan tidak ditemukan.'], 404);
}
$validated = $request->validate([
'waktu_gratis' => 'nullable|integer|min:0',
'tarif_period' => 'nullable|numeric|min:0',
'frek_interval' => 'nullable|integer|min:1',
'interval' => 'nullable|integer|min:1',
'tarif_interval' => 'nullable|numeric|min:0',
'bayar_dimuka' => 'nullable|boolean',
'asuransi_incl' => 'nullable|numeric|min:0',
'frek_waktu2' => 'nullable|integer|min:1',
'waktu2' => 'nullable|integer|min:1',
'tarif2' => 'nullable|numeric|min:0',
'tarif' => 'required|numeric|min:0',
'waktu_tarif' => 'nullable|integer|min:1',
'maksimum' => 'nullable|numeric|min:0',
'maksimum_mode' => 'required|in:hour,day',
'maksimum_hour' => 'nullable|integer|min:1',
'maksimum_day_minute' => 'nullable|integer|min:0',
'denda' => 'nullable|numeric|min:0',
'denda_member' => 'nullable|integer|min:0',
'denda_only_casual' => 'nullable|boolean',
'denda_only' => 'nullable|boolean',
]);
try {
$data = collect($validated)->except(['maksimum_mode', 'maksimum_hour', 'maksimum_day_minute'])->all();
$data['time_base'] = $validated['maksimum_mode'] === 'hour' ? 1 : 0;
$data['time_base_maks'] = $validated['maksimum_mode'] === 'hour' ? $validated['maksimum_hour'] : null;
$data['min_per_hari'] = $validated['maksimum_mode'] === 'day' ? $validated['maksimum_day_minute'] : null;
$data['denda_only_casual'] = $request->boolean('denda_only_casual') ? 1 : 0;
$data['denda_only'] = $request->boolean('denda_only') ? 1 : 0;
$dataQuery->fill($data);
if (!$dataQuery->isDirty()) {
return response()->json([
"status" => false,
"message" => "Tidak ada perubahan data",
]);
}
$dataQuery->save();
return response()->json([
"status" => true,
"message" => "Data berhasil di ubah",
]);
} catch (\Throwable $th) {
Log::error('Gagal memperbarui tarif kendaraan', ['id_mobil' => $id, 'error' => $th->getMessage()]);
return response()->json([
"status" => false,
"message" => "Gagal menyimpan data " . $th->getMessage(),
]);
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}