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'); public function api_add_truck_type(Request $req)
$apiResp['data'] = $truckType[0]; {
return (new Response($apiResp, $apiResp['meta']['code'])); try {
} catch (\Exception $e) { $now = time();
$apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
public function api_add_truck_type(Request $req) $input = [
{ "type_name" => $req->type_name,
try { "max_kg" => $req->max_kg,
$now = time(); "max_cbm" => $req->max_cbm,
"max_koli" => $req->max_koli,
"status" => $req->status,
"publish" => $req->publish,
];
$rulesInput = [
"type_name" => "required|string",
"max_kg" => "nullable|numeric|min:0",
"max_cbm" => "nullable|numeric|min:0",
"max_koli" => "nullable|numeric|min:0",
"status" => "required|numeric|min:0",
"publish" => "required|numeric|min:0",
];
$input = [ // validasi input
'type_name' => $req->type_name, $isValidInput = Validator::make($input, $rulesInput);
'max_kg' => $req->max_kg, if (!$isValidInput->passes()) {
'max_cbm' => $req->max_cbm, $apiResp = Responses::bad_input($isValidInput->messages()->first());
'max_koli' => $req->max_koli, return new Response($apiResp, $apiResp["meta"]["code"]);
'status' => $req->status, }
'publish' => $req->publish,
];
$rulesInput = [
'type_name' => 'required|string',
'max_kg' => 'nullable|numeric|min:0',
'max_cbm' => 'nullable|numeric|min:0',
'max_koli' => 'nullable|numeric|min:0',
'status' => 'required|numeric|min:0',
'publish' => 'required|numeric|min:0',
];
// validasi input $uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name);
$isValidInput = Validator::make($input, $rulesInput); if (count($uniqName) > 0) {
if (!$isValidInput->passes()) { $apiResp = Responses::bad_request("type name has been used");
$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); DB::beginTransaction();
if (count($uniqName) > 0) {
$apiResp = Responses::bad_request('type name has been used');
return (new Response($apiResp, $apiResp['meta']['code']));
}
DB::beginTransaction(); $type_id = ConfTruckTypes::addTypes([
"cat_id" => Vehicles::DEFAULT_CAT_ID,
"name" => $req->type_name,
"desc" => $req->type_name,
"is_active" => $req->status,
"is_publish" => $req->publish,
"crt" => $now,
"crt_by" => $req->auth->uid,
"updt" => $now,
"updt_by" => $req->auth->uid,
]);
$type_id = ConfTruckTypes::addTypes([ $insTruckType = [
'cat_id' => Vehicles::DEFAULT_CAT_ID, "type_id" => $type_id,
'name' => $req->type_name, "max_kg" => $req->max_kg ?? 0,
'desc' => $req->type_name, "max_cbm" => $req->max_cbm ?? 0,
'is_active' => $req->status, "max_koli" => $req->max_koli ?? 0,
'is_publish' => $req->publish, "is_active" => $req->status,
'crt' => $now, "is_publish" => $req->publish,
'crt_by' => $req->auth->uid, "crt" => $now,
'updt' => $now, "crt_by" => $req->auth->uid,
'updt_by' => $req->auth->uid, "updt" => $now,
]); "updt_by" => $req->auth->uid,
];
$ttid = ConfTruckTypes::addTruckType($insTruckType);
$insTruckType = [ $apiResp = Responses::created("success add new vehicle type");
'type_id' => $type_id,
'max_kg' => $req->max_kg ?? 0,
'max_cbm' => $req->max_cbm ?? 0,
'max_koli' => $req->max_koli ?? 0,
'is_active' => $req->status,
'is_publish' => $req->publish,
'crt' => $now,
'crt_by' => $req->auth->uid,
'updt' => $now,
'updt_by' => $req->auth->uid,
];
$ttid = ConfTruckTypes::addTruckType($insTruckType);
$apiResp = Responses::created('success add new truck type'); DB::commit();
return new Response($apiResp, $apiResp["meta"]["code"]);
} catch (\Exception $e) {
DB::rollBack();
$apiResp = Responses::error($e->getMessage());
return new Response($apiResp, $apiResp["meta"]["code"]);
}
}
DB::commit(); public function api_edit_truck_type(Request $req, $ttid)
return (new Response($apiResp, $apiResp['meta']['code'])); {
} catch (\Exception $e) { try {
DB::rollBack(); $now = time();
$apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
public function api_edit_truck_type(Request $req, $ttid) $input = [
{ "ttid" => $ttid,
try { "type_name" => $req->type_name,
$now = time(); "max_kg" => $req->max_kg,
"max_cbm" => $req->max_cbm,
"max_koli" => $req->max_koli,
"status" => $req->status,
"publish" => $req->publish,
];
$rulesInput = [
"ttid" => "required|integer|not_in:0",
"type_name" => "required|string",
"max_kg" => "nullable|numeric|min:0",
"max_cbm" => "nullable|numeric|min:0",
"max_koli" => "nullable|numeric|min:0",
"status" => "required|numeric|min:0",
"publish" => "required|numeric|min:0",
];
$input = [ // validasi input
'ttid' => $ttid, $isValidInput = Validator::make($input, $rulesInput);
'type_name' => $req->type_name, if (!$isValidInput->passes()) {
'max_kg' => $req->max_kg, $apiResp = Responses::bad_input($isValidInput->messages()->first());
'max_cbm' => $req->max_cbm, return new Response($apiResp, $apiResp["meta"]["code"]);
'max_koli' => $req->max_koli, }
'status' => $req->status,
'publish' => $req->publish,
];
$rulesInput = [
'ttid' => 'required|integer|not_in:0',
'type_name' => 'required|string',
'max_kg' => 'nullable|numeric|min:0',
'max_cbm' => 'nullable|numeric|min:0',
'max_koli' => 'nullable|numeric|min:0',
'status' => 'required|numeric|min:0',
'publish' => 'required|numeric|min:0',
];
// 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); $uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name);
if (count($truckType) < 1) { if (count($uniqName) > 0) {
$apiResp = Responses::not_found('truck type not found'); $notSameUser = 1;
return (new Response($apiResp, $apiResp['meta']['code'])); foreach ($uniqName as $key => $row) {
} if ($row->id == $ttid) {
$notSameUser = 0;
}
}
if ($notSameUser) {
$apiResp = Responses::bad_request("type name has been used");
return new Response($apiResp, $apiResp["meta"]["code"]);
}
}
$uniqName = ConfTruckTypes::getTruckTypeByName($req->type_name); if ($req->status == ConfTruckTypes::IS_INACTIVE) {
if (count($uniqName) > 0) { $checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id);
$notSameUser = 1; if (count($checkVhcType) > 0) {
foreach ($uniqName as $key => $row) { $apiResp = Responses::bad_request("cannot change to inactive, still connected on rates");
if ($row->id == $ttid) { return new Response($apiResp, $apiResp["meta"]["code"]);
$notSameUser = 0; }
} }
}
if ($notSameUser) {
$apiResp = Responses::bad_request('type name has been used');
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
if ($req->status == ConfTruckTypes::IS_INACTIVE) { DB::beginTransaction();
$checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id);
if (count($checkVhcType) > 0) {
$apiResp = Responses::bad_request('cannot change to inactive, still connected on rates');
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
DB::beginTransaction(); ConfTruckTypes::updtTypes($truckType[0]->type_id, [
"name" => $req->type_name,
"desc" => $req->type_name,
"is_active" => $req->status,
"is_publish" => $req->publish,
"updt" => $now,
"updt_by" => $req->auth->uid,
]);
ConfTruckTypes::updtTypes($truckType[0]->type_id, [ $insTruckType = [
'name' => $req->type_name, "type_id" => $truckType[0]->type_id,
'desc' => $req->type_name, "max_kg" => $req->max_kg ?? 0,
'is_active' => $req->status, "max_cbm" => $req->max_cbm ?? 0,
'is_publish' => $req->publish, "max_koli" => $req->max_koli ?? 0,
'updt' => $now, "is_active" => $req->status,
'updt_by' => $req->auth->uid, "is_publish" => $req->publish,
]); "updt" => $now,
"updt_by" => $req->auth->uid,
];
$ttid = ConfTruckTypes::updateTruckType($ttid, $insTruckType);
$insTruckType = [ $apiResp = Responses::created("success update vehicle type");
'type_id' => $truckType[0]->type_id,
'max_kg' => $req->max_kg ?? 0,
'max_cbm' => $req->max_cbm ?? 0,
'max_koli' => $req->max_koli ?? 0,
'is_active' => $req->status,
'is_publish' => $req->publish,
'updt' => $now,
'updt_by' => $req->auth->uid,
];
$ttid = ConfTruckTypes::updateTruckType($ttid, $insTruckType);
$apiResp = Responses::created('success update truck type'); DB::commit();
return new Response($apiResp, $apiResp["meta"]["code"]);
} catch (\Exception $e) {
DB::rollBack();
$apiResp = Responses::error($e->getMessage());
return new Response($apiResp, $apiResp["meta"]["code"]);
}
}
DB::commit(); public function api_del_truck_type(Request $req, $ttid)
return (new Response($apiResp, $apiResp['meta']['code'])); {
} catch (\Exception $e) { try {
DB::rollBack(); $now = time();
$apiResp = Responses::error($e->getMessage());
return (new Response($apiResp, $apiResp['meta']['code']));
}
}
public function api_del_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("vehicle 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); $checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id);
if (count($truckType) < 1) { if (count($checkVhcType) > 0) {
$apiResp = Responses::not_found('truck type not found'); $apiResp = Responses::bad_request("cannot delete, still connected on rates");
return (new Response($apiResp, $apiResp['meta']['code'])); return new Response($apiResp, $apiResp["meta"]["code"]);
} }
$checkVhcType = ConfRates::checkVhcType($truckType[0]->type_id); DB::beginTransaction();
if (count($checkVhcType) > 0) {
$apiResp = Responses::bad_request('cannot delete, still connected on rates');
return (new Response($apiResp, $apiResp['meta']['code']));
}
DB::beginTransaction(); ConfTruckTypes::updtTypes($truckType[0]->type_id, [
"dlt" => $now,
"dlt_by" => $req->auth->uid,
]);
ConfTruckTypes::updtTypes($truckType[0]->type_id, [ ConfTruckTypes::updateTruckType($ttid, [
'dlt' => $now, "dlt" => $now,
'dlt_by' => $req->auth->uid, "dlt_by" => $req->auth->uid,
]); ]);
ConfTruckTypes::updateTruckType($ttid, [ DB::commit();
'dlt' => $now,
'dlt_by' => $req->auth->uid,
]);
DB::commit(); $apiResp = Responses::success("success delete vehicle type");
return new Response($apiResp, $apiResp["meta"]["code"]);
$apiResp = Responses::success('success delete truck type'); } catch (\Exception $e) {
return (new Response($apiResp, $apiResp['meta']['code'])); DB::rollBack();
} catch (\Exception $e) { $apiResp = Responses::error($e->getMessage());
DB::rollBack(); return new Response($apiResp, $apiResp["meta"]["code"]);
$apiResp = Responses::error($e->getMessage()); }
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);