This commit is contained in:
meusinfirmary
2025-05-30 06:23:18 +07:00
parent 29e98e25ff
commit 0e68f6c932
2 changed files with 260 additions and 261 deletions

View File

@ -18,304 +18,303 @@ use App\Models\Vehicles;
class ConfTruckTypeController extends Controller class ConfTruckTypeController extends Controller
{ {
/** /**
* View * View
*/ */
public function view_truck_types(Request $req) public function view_truck_types(Request $req)
{ {
$data = []; $data = [];
return view('menu_v1.configs.truck_types', $data); return view("menu_v1.configs.truck_types", $data);
} }
/**
* API
*/
/** public function api_list_truck_types(Request $req)
* API {
*/ try {
$now = time();
$input = [];
$rulesInput = [];
public function api_list_truck_types(Request $req) // validasi input
{ // $isValidInput = Validator::make($input, $rulesInput);
try { // if (!$isValidInput->passes()) {
$now = time(); // $apiResp = Responses::bad_input($isValidInput->messages()->first());
$input = []; // return new Response($apiResp, $apiResp['meta']['code']);
$rulesInput = []; // }
// validasi input $list = ConfTruckTypes::listTruckTypes();
// $isValidInput = Validator::make($input, $rulesInput); foreach ($list as $key => $row) {
// if (!$isValidInput->passes()) { $list[$key]->DT_RowIndex = $key + 1;
// $apiResp = Responses::bad_input($isValidInput->messages()->first()); $list[$key]->action = "-";
// return new Response($apiResp, $apiResp['meta']['code']); }
// }
$list = ConfTruckTypes::listTruckTypes(); $apiResp = Responses::success("success list vehilce types");
foreach ($list as $key => $row) { $apiResp["count"] = count($list);
$list[$key]->DT_RowIndex = $key + 1; $apiResp["data"] = $list;
$list[$key]->action = '-'; return new Response($apiResp, $apiResp["meta"]["code"]);
} } catch (\Exception $e) {
$apiResp = Responses::error($e->getMessage());
return new Response($apiResp, $apiResp["meta"]["code"]);
}
}
$apiResp = Responses::success('success list truck types'); public function api_show_truck_type(Request $req, $ttid)
$apiResp['count'] = count($list); {
$apiResp['data'] = $list; try {
return (new Response($apiResp, $apiResp['meta']['code'])); $now = time();
} catch (\Exception $e) {
$apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
public function api_show_truck_type(Request $req, $ttid) $input = [
{ "ttid" => $ttid,
try { ];
$now = time(); $rulesInput = [
"ttid" => "required|integer|not_in:0",
];
$input = [ // validasi input
'ttid' => $ttid, $isValidInput = Validator::make($input, $rulesInput);
]; if (!$isValidInput->passes()) {
$rulesInput = [ $apiResp = Responses::bad_input($isValidInput->messages()->first());
'ttid' => 'required|integer|not_in:0', return new Response($apiResp, $apiResp["meta"]["code"]);
]; }
// validasi input $truckType = ConfTruckTypes::showTruckTypeById($ttid);
$isValidInput = Validator::make($input, $rulesInput); if (count($truckType) < 1) {
if (!$isValidInput->passes()) { $apiResp = Responses::not_found("truck type not found");
$apiResp = Responses::bad_input($isValidInput->messages()->first()); return new Response($apiResp, $apiResp["meta"]["code"]);
return new Response($apiResp, $apiResp['meta']['code']); }
}
$truckType = ConfTruckTypes::showTruckTypeById($ttid); $apiResp = Responses::success("success get detail vehicle type");
if (count($truckType) < 1) { $apiResp["data"] = $truckType[0];
$apiResp = Responses::not_found('truck type not found'); return new Response($apiResp, $apiResp["meta"]["code"]);
return (new Response($apiResp, $apiResp['meta']['code'])); } catch (\Exception $e) {
} $apiResp = Responses::error($e->getMessage());
return new Response($apiResp, $apiResp["meta"]["code"]);
$apiResp = Responses::success('success get detail truck type'); }
$apiResp['data'] = $truckType[0]; }
return (new Response($apiResp, $apiResp['meta']['code']));
} catch (\Exception $e) {
$apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
public function api_add_truck_type(Request $req) public function api_add_truck_type(Request $req)
{ {
try { try {
$now = time(); $now = time();
$input = [ $input = [
'type_name' => $req->type_name, "type_name" => $req->type_name,
'max_kg' => $req->max_kg, "max_kg" => $req->max_kg,
'max_cbm' => $req->max_cbm, "max_cbm" => $req->max_cbm,
'max_koli' => $req->max_koli, "max_koli" => $req->max_koli,
'status' => $req->status, "status" => $req->status,
'publish' => $req->publish, "publish" => $req->publish,
]; ];
$rulesInput = [ $rulesInput = [
'type_name' => 'required|string', "type_name" => "required|string",
'max_kg' => 'nullable|numeric|min:0', "max_kg" => "nullable|numeric|min:0",
'max_cbm' => 'nullable|numeric|min:0', "max_cbm" => "nullable|numeric|min:0",
'max_koli' => 'nullable|numeric|min:0', "max_koli" => "nullable|numeric|min:0",
'status' => 'required|numeric|min:0', "status" => "required|numeric|min:0",
'publish' => 'required|numeric|min:0', "publish" => "required|numeric|min:0",
]; ];
// validasi input // validasi input
$isValidInput = Validator::make($input, $rulesInput); $isValidInput = Validator::make($input, $rulesInput);
if (!$isValidInput->passes()) { if (!$isValidInput->passes()) {
$apiResp = Responses::bad_input($isValidInput->messages()->first()); $apiResp = Responses::bad_input($isValidInput->messages()->first());
return new Response($apiResp, $apiResp['meta']['code']); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name); $uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name);
if (count($uniqName) > 0) { if (count($uniqName) > 0) {
$apiResp = Responses::bad_request('type name has been used'); $apiResp = Responses::bad_request("type name has been used");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
DB::beginTransaction(); DB::beginTransaction();
$type_id = ConfTruckTypes::addTypes([ $type_id = ConfTruckTypes::addTypes([
'cat_id' => Vehicles::DEFAULT_CAT_ID, "cat_id" => Vehicles::DEFAULT_CAT_ID,
'name' => $req->type_name, "name" => $req->type_name,
'desc' => $req->type_name, "desc" => $req->type_name,
'is_active' => $req->status, "is_active" => $req->status,
'is_publish' => $req->publish, "is_publish" => $req->publish,
'crt' => $now, "crt" => $now,
'crt_by' => $req->auth->uid, "crt_by" => $req->auth->uid,
'updt' => $now, "updt" => $now,
'updt_by' => $req->auth->uid, "updt_by" => $req->auth->uid,
]); ]);
$insTruckType = [ $insTruckType = [
'type_id' => $type_id, "type_id" => $type_id,
'max_kg' => $req->max_kg ?? 0, "max_kg" => $req->max_kg ?? 0,
'max_cbm' => $req->max_cbm ?? 0, "max_cbm" => $req->max_cbm ?? 0,
'max_koli' => $req->max_koli ?? 0, "max_koli" => $req->max_koli ?? 0,
'is_active' => $req->status, "is_active" => $req->status,
'is_publish' => $req->publish, "is_publish" => $req->publish,
'crt' => $now, "crt" => $now,
'crt_by' => $req->auth->uid, "crt_by" => $req->auth->uid,
'updt' => $now, "updt" => $now,
'updt_by' => $req->auth->uid, "updt_by" => $req->auth->uid,
]; ];
$ttid = ConfTruckTypes::addTruckType($insTruckType); $ttid = ConfTruckTypes::addTruckType($insTruckType);
$apiResp = Responses::created('success add new truck type'); $apiResp = Responses::created("success add new vehicle type");
DB::commit(); DB::commit();
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} catch (\Exception $e) { } catch (\Exception $e) {
DB::rollBack(); DB::rollBack();
$apiResp = Responses::error($e->getMessage()); $apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
} }
public function api_edit_truck_type(Request $req, $ttid) public function api_edit_truck_type(Request $req, $ttid)
{ {
try { try {
$now = time(); $now = time();
$input = [ $input = [
'ttid' => $ttid, "ttid" => $ttid,
'type_name' => $req->type_name, "type_name" => $req->type_name,
'max_kg' => $req->max_kg, "max_kg" => $req->max_kg,
'max_cbm' => $req->max_cbm, "max_cbm" => $req->max_cbm,
'max_koli' => $req->max_koli, "max_koli" => $req->max_koli,
'status' => $req->status, "status" => $req->status,
'publish' => $req->publish, "publish" => $req->publish,
]; ];
$rulesInput = [ $rulesInput = [
'ttid' => 'required|integer|not_in:0', "ttid" => "required|integer|not_in:0",
'type_name' => 'required|string', "type_name" => "required|string",
'max_kg' => 'nullable|numeric|min:0', "max_kg" => "nullable|numeric|min:0",
'max_cbm' => 'nullable|numeric|min:0', "max_cbm" => "nullable|numeric|min:0",
'max_koli' => 'nullable|numeric|min:0', "max_koli" => "nullable|numeric|min:0",
'status' => 'required|numeric|min:0', "status" => "required|numeric|min:0",
'publish' => 'required|numeric|min:0', "publish" => "required|numeric|min:0",
]; ];
// validasi input // validasi input
$isValidInput = Validator::make($input, $rulesInput); $isValidInput = Validator::make($input, $rulesInput);
if (!$isValidInput->passes()) { if (!$isValidInput->passes()) {
$apiResp = Responses::bad_input($isValidInput->messages()->first()); $apiResp = Responses::bad_input($isValidInput->messages()->first());
return new Response($apiResp, $apiResp['meta']['code']); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$truckType = ConfTruckTypes::showTruckTypeById($ttid); $truckType = ConfTruckTypes::showTruckTypeById($ttid);
if (count($truckType) < 1) { if (count($truckType) < 1) {
$apiResp = Responses::not_found('truck type not found'); $apiResp = Responses::not_found("truck type not found");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name); $uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name);
if (count($uniqName) > 0) { if (count($uniqName) > 0) {
$notSameUser = 1; $notSameUser = 1;
foreach ($uniqName as $key => $row) { foreach ($uniqName as $key => $row) {
if ($row->id == $ttid) { if ($row->id == $ttid) {
$notSameUser = 0; $notSameUser = 0;
} }
} }
if ($notSameUser) { if ($notSameUser) {
$apiResp = Responses::bad_request('type name has been used'); $apiResp = Responses::bad_request("type name has been used");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
} }
if ($req->status == ConfTruckTypes::IS_INACTIVE) { if ($req->status == ConfTruckTypes::IS_INACTIVE) {
$checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id); $checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id);
if (count($checkVhcType) > 0) { if (count($checkVhcType) > 0) {
$apiResp = Responses::bad_request('cannot change to inactive, still connected on rates'); $apiResp = Responses::bad_request("cannot change to inactive, still connected on rates");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
} }
DB::beginTransaction(); DB::beginTransaction();
ConfTruckTypes::updtTypes($truckType[0]->type_id, [ ConfTruckTypes::updtTypes($truckType[0]->type_id, [
'name' => $req->type_name, "name" => $req->type_name,
'desc' => $req->type_name, "desc" => $req->type_name,
'is_active' => $req->status, "is_active" => $req->status,
'is_publish' => $req->publish, "is_publish" => $req->publish,
'updt' => $now, "updt" => $now,
'updt_by' => $req->auth->uid, "updt_by" => $req->auth->uid,
]); ]);
$insTruckType = [ $insTruckType = [
'type_id' => $truckType[0]->type_id, "type_id" => $truckType[0]->type_id,
'max_kg' => $req->max_kg ?? 0, "max_kg" => $req->max_kg ?? 0,
'max_cbm' => $req->max_cbm ?? 0, "max_cbm" => $req->max_cbm ?? 0,
'max_koli' => $req->max_koli ?? 0, "max_koli" => $req->max_koli ?? 0,
'is_active' => $req->status, "is_active" => $req->status,
'is_publish' => $req->publish, "is_publish" => $req->publish,
'updt' => $now, "updt" => $now,
'updt_by' => $req->auth->uid, "updt_by" => $req->auth->uid,
]; ];
$ttid = ConfTruckTypes::updateTruckType($ttid, $insTruckType); $ttid = ConfTruckTypes::updateTruckType($ttid, $insTruckType);
$apiResp = Responses::created('success update truck type'); $apiResp = Responses::created("success update vehicle type");
DB::commit(); DB::commit();
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} catch (\Exception $e) { } catch (\Exception $e) {
DB::rollBack(); DB::rollBack();
$apiResp = Responses::error($e->getMessage()); $apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
} }
public function api_del_truck_type(Request $req, $ttid) public function api_del_truck_type(Request $req, $ttid)
{ {
try { try {
$now = time(); $now = time();
$input = [ $input = [
'ttid' => $ttid, "ttid" => $ttid,
]; ];
$rulesInput = [ $rulesInput = [
'ttid' => 'required|integer|not_in:0', "ttid" => "required|integer|not_in:0",
]; ];
// validasi input // validasi input
$isValidInput = Validator::make($input, $rulesInput); $isValidInput = Validator::make($input, $rulesInput);
if (!$isValidInput->passes()) { if (!$isValidInput->passes()) {
$apiResp = Responses::bad_input($isValidInput->messages()->first()); $apiResp = Responses::bad_input($isValidInput->messages()->first());
return new Response($apiResp, $apiResp['meta']['code']); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$truckType = ConfTruckTypes::showTruckTypeById($ttid); $truckType = ConfTruckTypes::showTruckTypeById($ttid);
if (count($truckType) < 1) { if (count($truckType) < 1) {
$apiResp = Responses::not_found('truck type not found'); $apiResp = Responses::not_found("vehicle type not found");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id); $checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id);
if (count($checkVhcType) > 0) { if (count($checkVhcType) > 0) {
$apiResp = Responses::bad_request('cannot delete, still connected on rates'); $apiResp = Responses::bad_request("cannot delete, still connected on rates");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
DB::beginTransaction(); DB::beginTransaction();
ConfTruckTypes::updtTypes($truckType[0]->type_id, [ ConfTruckTypes::updtTypes($truckType[0]->type_id, [
'dlt' => $now, "dlt" => $now,
'dlt_by' => $req->auth->uid, "dlt_by" => $req->auth->uid,
]); ]);
ConfTruckTypes::updateTruckType($ttid, [ ConfTruckTypes::updateTruckType($ttid, [
'dlt' => $now, "dlt" => $now,
'dlt_by' => $req->auth->uid, "dlt_by" => $req->auth->uid,
]); ]);
DB::commit(); DB::commit();
$apiResp = Responses::success('success delete truck type'); $apiResp = Responses::success("success delete vehicle type");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} catch (\Exception $e) { } catch (\Exception $e) {
DB::rollBack(); DB::rollBack();
$apiResp = Responses::error($e->getMessage()); $apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
} }
} }

View File

@ -441,7 +441,7 @@
Helper.toast('Warning', 'just now', data.meta.message); Helper.toast('Warning', 'just now', data.meta.message);
return false; return false;
} }
Helper.toast('Success', 'just now', 'success add new truck type'); Helper.toast('Success', 'just now', 'success add new vehicle type');
$('#mdlNewTruckType').modal('hide'); $('#mdlNewTruckType').modal('hide');
DTable.reload(); DTable.reload();
resolve({ resolve({
@ -477,7 +477,7 @@
ttid ttid
}); });
if (resp.type != 'success') { if (resp.type != 'success') {
Helper.toast('Truck Type Not Found', 'just now', 'please try again'); Helper.toast('Vehicle Type Not Found', 'just now', 'please try again');
return false; return false;
} }
RUpdt.passDataToView(resp.data); RUpdt.passDataToView(resp.data);