Additional Changes
Some checks failed
Tests / PHP 8.3 (push) Has been cancelled
Tests / PHP 8.4 (push) Has been cancelled
Tests / PHP 8.5 (push) Has been cancelled

This commit is contained in:
2026-06-02 22:04:03 +08:00
parent e6a9a80c32
commit 64d4b331a8
151 changed files with 15070 additions and 945 deletions

View File

@@ -0,0 +1,95 @@
<?php
namespace Modules\MasterData\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Inertia\Inertia;
use Modules\MasterData\Models\LaborRate;
use Modules\MasterData\Models\EquipmentRate;
use Illuminate\Support\Str;
class ResourceMasterController extends Controller
{
public function index()
{
return Inertia::render('MasterData::Resources/Index', [
'laborRates' => LaborRate::latest()->get(),
'equipmentRates' => EquipmentRate::latest()->get(),
]);
}
public function storeLabor(Request $request)
{
$validated = $request->validate([
'trade_name' => 'required|string|max:255|unique:labor_rates,trade_name',
'hourly_rate' => 'required|numeric|min:0',
'status' => 'required|string|in:active,inactive',
]);
LaborRate::create([
'ulid' => (string) Str::ulid(),
'trade_name' => $validated['trade_name'],
'hourly_rate' => $validated['hourly_rate'],
'status' => $validated['status'],
]);
return redirect()->back()->with('success', 'Labor rate added successfully.');
}
public function updateLabor(Request $request, LaborRate $laborRate)
{
$validated = $request->validate([
'trade_name' => 'required|string|max:255|unique:labor_rates,trade_name,' . $laborRate->id,
'hourly_rate' => 'required|numeric|min:0',
'status' => 'required|string|in:active,inactive',
]);
$laborRate->update($validated);
return redirect()->back()->with('success', 'Labor rate updated successfully.');
}
public function destroyLabor(LaborRate $laborRate)
{
$laborRate->delete();
return redirect()->back()->with('success', 'Labor rate deleted successfully.');
}
public function storeEquipment(Request $request)
{
$validated = $request->validate([
'equipment_name' => 'required|string|max:255|unique:equipment_rates,equipment_name',
'hourly_rate' => 'required|numeric|min:0',
'status' => 'required|string|in:active,inactive',
]);
EquipmentRate::create([
'ulid' => (string) Str::ulid(),
'equipment_name' => $validated['equipment_name'],
'hourly_rate' => $validated['hourly_rate'],
'status' => $validated['status'],
]);
return redirect()->back()->with('success', 'Equipment rate added successfully.');
}
public function updateEquipment(Request $request, EquipmentRate $equipmentRate)
{
$validated = $request->validate([
'equipment_name' => 'required|string|max:255|unique:equipment_rates,equipment_name,' . $equipmentRate->id,
'hourly_rate' => 'required|numeric|min:0',
'status' => 'required|string|in:active,inactive',
]);
$equipmentRate->update($validated);
return redirect()->back()->with('success', 'Equipment rate updated successfully.');
}
public function destroyEquipment(EquipmentRate $equipmentRate)
{
$equipmentRate->delete();
return redirect()->back()->with('success', 'Equipment rate deleted successfully.');
}
}