Distribution Category
+| # | +Action | +Code | +Name | +
|---|
diff --git a/app/Http/Controllers/ConfDistributionController.php b/app/Http/Controllers/ConfDistributionController.php new file mode 100644 index 0000000..ffdfd81 --- /dev/null +++ b/app/Http/Controllers/ConfDistributionController.php @@ -0,0 +1,210 @@ +tipe ?? "new"; + + $input = [ + "dc_code" => $req->dc_code, + "dc_name" => $req->dc_name, + ]; + $rulesInput = [ + "dc_code" => "required|string|max:10", + "dc_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_distribution_category WHERE dc_code = ?", [$req->dc_code]); + } + if($tipe == "edit"){ + $uniqCode = DB::select("SELECT * FROM t_conf_distribution_category WHERE dc_code = ? AND id != ?", [$req->dc_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 = [ + "dc_code" => $req->dc_code, + "dc_name" => $req->dc_name, + "crt" => $now, + "crt_by" => $req->auth->uid, + "updt" => $now, + "updt_by" => $req->auth->uid, + ]; + // $insQ = DB::insert("INSERT + // INTO t_conf_distribution_category (dc_code, dc_name, crt, crt_by, updt, updt_by) + // VALUES (?, ?, ?, ?, ?, ?) + // ", array_values($insD)); + $insQ = DB::insert("INSERT into t_conf_distribution_category set + dc_code = ?, + dc_name = ?, + crt = ?, + crt_by = ?, + updt = ?, + updt_by = ? + on duplicate key update + dc_code = values(dc_code), + dc_name = values(dc_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_distribution_category(Request $req) + { + try { + $now = time(); + + $list = DB::select("SELECT * FROM t_conf_distribution_category WHERE dlt IS NULL ORDER BY dc_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_distribution_category(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_distribution_category 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_distribution_category(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_distribution_category 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_distribution_category + 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/distribution_category.blade.php b/resources/views/menu_v1/configs/distribution_category.blade.php new file mode 100644 index 0000000..9d13b61 --- /dev/null +++ b/resources/views/menu_v1/configs/distribution_category.blade.php @@ -0,0 +1,390 @@ +@extends('app.app') + +@section('title') + Conf Distribution Categorys +@endsection + +@section('customcss') + +@endsection + +@section('content') +
Distribution Category
+| # | +Action | +Code | +Name | +
|---|