226 lines
6.8 KiB
PHP
226 lines
6.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\UserLogs;
|
|
use Auth;
|
|
use Illuminate\Http\Response;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Responses;
|
|
use Validator;
|
|
|
|
class VehicleMaintenanceController extends Controller
|
|
{
|
|
public function api_show_maintenance_type(Request $req, $id)
|
|
{
|
|
try {
|
|
$data = DB::table('t_maintenance_vhc_type')
|
|
->where('id', $id)
|
|
->first();
|
|
|
|
if (!$data) {
|
|
$apiResp = Responses::error("Vehicle Maintenance type not found");
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
|
|
$apiResp = [
|
|
"meta" => [
|
|
"code" => 200,
|
|
"type" => "success",
|
|
"message" => "success",
|
|
],
|
|
"data" => $data,
|
|
];
|
|
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
|
|
} catch (\Exception $e) {
|
|
$apiResp = Responses::error($e->getMessage());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
}
|
|
/**
|
|
* View
|
|
*/
|
|
|
|
public function view_vehicle_maintenance_type(Request $req)
|
|
{
|
|
$data = [];
|
|
|
|
$log = [
|
|
"module" => "Vehicle Maintenance Type",
|
|
"action" => "View",
|
|
"desc" => "Open Vehicle Maintenance Type",
|
|
];
|
|
UserLogs::insert(Auth::user()->id, $log);
|
|
return view("menu_v1.configs.vehicle_maintenance", $data);
|
|
}
|
|
|
|
/**
|
|
* API
|
|
*/
|
|
public function api_list_vehicle_maintenance_type(Request $req)
|
|
{
|
|
try {
|
|
$datas = DB::table('t_maintenance_vhc_type')
|
|
->where('isdeleted', 0)
|
|
->get();
|
|
|
|
foreach ($datas as $key => $row) {
|
|
$datas[$key]->DT_RowIndex = $key + 1;
|
|
$datas[$key]->action = "-";
|
|
}
|
|
|
|
$apiResp = Responses::success("success list vehicle maintenance");
|
|
$apiResp["count"] = count($datas);
|
|
$apiResp["data"] = $datas;
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
} catch (\Exception $e) {
|
|
$apiResp = Responses::error($e->getMessage());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function api_add_vehicle_maintenance_type(Request $req)
|
|
{
|
|
try {
|
|
$now = time();
|
|
|
|
$input = [
|
|
"service_type" => $req->service_type,
|
|
];
|
|
$rulesInput = [
|
|
"service_type" => "required|string",
|
|
];
|
|
|
|
// validasi input
|
|
$isValidInput = Validator::make($input, $rulesInput);
|
|
if (!$isValidInput->passes()) {
|
|
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
|
|
DB::beginTransaction();
|
|
|
|
$insert = [
|
|
"service_type" => $req->service_type,
|
|
"created_at" => date("Y-m-d H:i:s", $now),
|
|
"udt" => date("Y-m-d H:i:s", $now),
|
|
"created_by" => Auth::user()->id,
|
|
"uby" => Auth::user()->id
|
|
];
|
|
DB::table('t_maintenance_vhc_type')->insert($insert);
|
|
$apiResp = Responses::created("success add new vehicle maintenance type");
|
|
|
|
DB::commit();
|
|
|
|
|
|
$log = [
|
|
"module" => "Vehicle Type",
|
|
"action" => "Create",
|
|
"desc" => "Add new vehicle maintenance type: " . $req->service_type,
|
|
];
|
|
UserLogs::insert(Auth::user()->id, $log);
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
} catch (\Exception $e) {
|
|
DB::rollBack();
|
|
$apiResp = Responses::error($e->getMessage());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param Request $req
|
|
* @param int $id
|
|
* @return Response
|
|
*/
|
|
public function api_edit_vehicle_maintenance_type(Request $req, $id)
|
|
{
|
|
try {
|
|
$now = time();
|
|
|
|
$input = [
|
|
"service_type" => $req->service_type,
|
|
];
|
|
$rulesInput = [
|
|
"service_type" => "required|string",
|
|
];
|
|
|
|
// validasi input
|
|
$isValidInput = Validator::make($input, $rulesInput);
|
|
if (!$isValidInput->passes()) {
|
|
$apiResp = Responses::bad_input($isValidInput->messages()->first());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
|
|
DB::beginTransaction();
|
|
|
|
$update = [
|
|
"service_type" => $req->service_type,
|
|
"udt" => date("Y-m-d H:i:s", $now),
|
|
"uby" => Auth::user()->id
|
|
];
|
|
DB::table('t_maintenance_vhc_type')->where('id', $id)->update($update);
|
|
|
|
$apiResp = Responses::created("success update vehicle meintenance type");
|
|
|
|
DB::commit();
|
|
|
|
$log = [
|
|
"module" => "Vehicle Type",
|
|
"action" => "Update",
|
|
"desc" => "Update vehicle maintenance type: " . $req->type_name,
|
|
];
|
|
UserLogs::insert(Auth::user()->id, $log);
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
} catch (\Exception $e) {
|
|
DB::rollBack();
|
|
$apiResp = Responses::error($e->getMessage());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @param int $id
|
|
* @return Response
|
|
*/
|
|
public function api_del_vehicle_maintenance_type($id)
|
|
{
|
|
try {
|
|
DB::beginTransaction();
|
|
|
|
DB::table('t_maintenance_vhc_type')->where('id', $id)->update([
|
|
'isdeleted' => 1,
|
|
'ddt' => date("Y-m-d H:i:s", time()),
|
|
'dby' => Auth::user()->id
|
|
]);
|
|
|
|
DB::commit();
|
|
|
|
$apiResp = Responses::success("success delete vehicle maintenance type");
|
|
|
|
$log = [
|
|
"module" => "Vehicle Type",
|
|
"action" => "Delete",
|
|
"desc" => "Delete vehicle maintenance type: " . $id,
|
|
];
|
|
UserLogs::insert(Auth::user()->id, $log);
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
} catch (\Exception $e) {
|
|
DB::rollBack();
|
|
$apiResp = Responses::error($e->getMessage());
|
|
return new Response($apiResp, $apiResp["meta"]["code"]);
|
|
}
|
|
}
|
|
}
|