Pool / Area
+| # | +Action | +Code | +Name | +
|---|
diff --git a/app/Http/Controllers/ConfPoolController.php b/app/Http/Controllers/ConfPoolController.php new file mode 100644 index 0000000..4c317c0 --- /dev/null +++ b/app/Http/Controllers/ConfPoolController.php @@ -0,0 +1,210 @@ +tipe ?? "new"; + + $input = [ + "pool_code" => $req->pool_code, + "pool_name" => $req->pool_name, + ]; + $rulesInput = [ + "pool_code" => "required|string|max:10", + "pool_name" => "required|string|max:100", + ]; + + // validasi input + $isValidInput = Validator::make($input, $rulesInput); + if (!$isValidInput->passes()) { + $apiResp = Responses::bad_input($isValidInput->messages()->first()); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + if($tipe == "new"){ + $uniqCode = DB::select("SELECT * FROM t_conf_pool WHERE pool_code = ?", [$req->pool_code]); + } + if($tipe == "edit"){ + $uniqCode = DB::select("SELECT * FROM t_conf_pool WHERE pool_code = ? AND id != ?", [$req->pool_code, $req->id]); + } + if (count($uniqCode) > 0) { + $apiResp = Responses::bad_request("type code has been used"); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + DB::beginTransaction(); + + $insD = [ + "pool_code" => $req->pool_code, + "pool_name" => $req->pool_name, + "crt" => $now, + "crt_by" => $req->auth->uid, + "updt" => $now, + "updt_by" => $req->auth->uid, + ]; + // $insQ = DB::insert("INSERT + // INTO t_conf_pool (pool_code, pool_name, crt, crt_by, updt, updt_by) + // VALUES (?, ?, ?, ?, ?, ?) + // ", array_values($insD)); + $insQ = DB::insert("INSERT into t_conf_pool set + pool_code = ?, + pool_name = ?, + crt = ?, + crt_by = ?, + updt = ?, + updt_by = ? + on duplicate key update + pool_code = values(pool_code), + pool_name = values(pool_name), + updt = values(updt), + updt_by = values(updt_by) + ", array_values($insD)); + + + $apiResp = Responses::created("success " . ($tipe == "new" ? "add new" : "edit") . " distribution category"); + + 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"]); + } + } + + public function api_list_pool(Request $req) + { + try { + $now = time(); + + $list = DB::select("SELECT * FROM t_conf_pool WHERE dlt IS NULL ORDER BY pool_code ASC"); + foreach ($list as $key => $row) { + $list[$key]->DT_RowIndex = $key + 1; + $list[$key]->action = "-"; + } + + $apiResp = Responses::success("success list distribution category"); + $apiResp["count"] = count($list); + $apiResp["data"] = $list; + 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_show_pool(Request $req, $id) + { + try { + $input = [ + "id" => $id, + ]; + $rulesInput = [ + "id" => "required|integer|not_in:0", + ]; + + // validasi input + $isValidInput = Validator::make($input, $rulesInput); + if (!$isValidInput->passes()) { + $apiResp = Responses::bad_input($isValidInput->messages()->first()); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + $dtl = DB::select("SELECT * FROM t_conf_pool WHERE id = ? AND dlt IS NULL limit 1", [$id]); + if (count($dtl) < 1) { + $apiResp = Responses::not_found("truck type not found"); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + $apiResp = Responses::success("success get detail vehicle type"); + $apiResp["data"] = $dtl[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_del_pool(Request $req, $id) + { + try { + $now = time(); + + $input = [ + "id" => $id, + ]; + $rulesInput = [ + "id" => "required|integer|not_in:0", + ]; + + // validasi input + $isValidInput = Validator::make($input, $rulesInput); + if (!$isValidInput->passes()) { + $apiResp = Responses::bad_input($isValidInput->messages()->first()); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + $dtl = DB::select("SELECT * FROM t_conf_pool WHERE id = ? AND dlt IS NULL limit 1", [$id]); + if (count($dtl) < 1) { + $apiResp = Responses::not_found("vehicle type not found"); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + + DB::beginTransaction(); + + $updtQ = DB::update("UPDATE t_conf_pool + SET + dlt = ?, + dlt_by = ?, + updt = ?, + updt_by = ? + WHERE id = ? AND dlt IS NULL + ", [1, $req->user()->id, $now, $req->user()->id, $id]); + + DB::commit(); + + $apiResp = Responses::success("success delete vehicle type"); + return new Response($apiResp, $apiResp["meta"]["code"]); + } catch (\Exception $e) { + DB::rollBack(); + $apiResp = Responses::error($e->getMessage()); + return new Response($apiResp, $apiResp["meta"]["code"]); + } + } +} diff --git a/resources/views/menu_v1/configs/pool.blade.php b/resources/views/menu_v1/configs/pool.blade.php new file mode 100644 index 0000000..c739f0f --- /dev/null +++ b/resources/views/menu_v1/configs/pool.blade.php @@ -0,0 +1,390 @@ +@extends('app.app') + +@section('title') + Conf Pools +@endsection + +@section('customcss') + +@endsection + +@section('content') +
Pool / Area
+| # | +Action | +Code | +Name | +
|---|