From 03afed696e270d782cc5a3e8f600f823bd2fa562 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Fri, 20 Oct 2023 10:51:29 +0700 Subject: [PATCH] update --- .../Api/CorporateFormulariumController.php | 80 +++++++++++++++++-- Modules/Internal/Routes/api.php | 4 + .../CorporateFormulariumResource.php | 24 +----- 3 files changed, 80 insertions(+), 28 deletions(-) diff --git a/Modules/Internal/Http/Controllers/Api/CorporateFormulariumController.php b/Modules/Internal/Http/Controllers/Api/CorporateFormulariumController.php index 1d5f26a4..1056978b 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateFormulariumController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateFormulariumController.php @@ -6,6 +6,7 @@ use App\Exceptions\ImportRowException; use App\Helpers\Helper; use App\Models\CorporateFormularium; use App\Models\Formularium; +use App\Models\FormulariumTemplate; use App\Services\ImportService; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; @@ -52,9 +53,16 @@ class CorporateFormulariumController extends Controller * Show the form for creating a new resource. * @return Renderable */ - public function create() + public function create(Request $request, $corporate_id) { - return view('internal::create'); + $data = CorporateFormularium::where('corporate_id', $corporate_id)->pluck('formularium_template_id')->toArray(); // agar tidak dobel + $formularium_template = FormulariumTemplate::whereNotIn('id', $data)->get(); + $respone = [ + "status" => 200, + "message" => 'data berhasil diambil', + "data" => $formularium_template + ]; + return $respone; } /** @@ -62,9 +70,36 @@ class CorporateFormulariumController extends Controller * @param Request $request * @return Renderable */ - public function store(Request $request) + public function store(Request $request, $corporate_id) { - // + $request->validate([ + 'id' => 'required' + ]); + + $checkFormularium = FormulariumTemplate::find($request->id); + if (!$checkFormularium){ + $respone = [ + "status" => 404, + "message" => "data master formularium tidak ditemukan", + "data" => [] + ]; + return $respone; + } + $newCorporateFormularium = CorporateFormularium::create([ + 'corporate_id' => $corporate_id, + 'formularium_template_id' => $request->id, + 'active' => 1 + ]); + + if ($newCorporateFormularium){ + $respone = [ + "status" => 200, + "message" => "data berhasil disimpan" + ]; + return $respone; + } + + return $newCorporatePlan; } /** @@ -72,9 +107,15 @@ class CorporateFormulariumController extends Controller * @param int $id * @return Renderable */ - public function show($id) + public function show(Request $request, $corporate_id, $id) { - return view('internal::show'); + $data = Formularium::where('formularium_template_id', $id)->get(); + $respone = [ + "status" => 200, + "message" => 'data berhasil diambil', + "data" => $data + ]; + return $respone; } /** @@ -82,9 +123,16 @@ class CorporateFormulariumController extends Controller * @param int $id * @return Renderable */ - public function edit($id) + public function edit(Request $request, $corporate_id) { - return view('internal::edit'); + $data = CorporateFormularium::where('corporate_id', $corporate_id)->pluck('formularium_template_id')->toArray(); // agar tidak dobel + $formularium_template = FormulariumTemplate::whereNotIn('id', $data)->get(); + $respone = [ + "status" => 200, + "message" => 'data berhasil diambil', + "data" => $formularium_template + ]; + return $respone; } /** @@ -139,6 +187,22 @@ class CorporateFormulariumController extends Controller } } + public function active(Request $request, $corporate_id, $id) + { + $corporateFormularium = CorporateFormularium::find($id); + $corporateFormularium->fill([ + 'active' => $request->active, + ])->save(); + + $respone = [ + "status" => 200, + "message" => 'data berhasil diedit', + "data" => $corporateFormularium + ]; + + return $respone; + } + public function import(Request $request, $id) { $request->validate([ diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php index a8d6ed5e..d97f2824 100644 --- a/Modules/Internal/Routes/api.php +++ b/Modules/Internal/Routes/api.php @@ -119,8 +119,12 @@ Route::prefix('internal')->group(function () { Route::post('corporates/{corporate_id}/services/{service_code}/specialities/exclusion', [CorporateServiceController::class, 'storeExclusion']); Route::get('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'index']); + Route::get('corporates/{corporate_id}/formulariums/{formularium_id}', [CorporateFormulariumController::class, 'show']); + Route::get('corporates/{corporate_id}/formulariums/create', [CorporateFormulariumController::class, 'create']); + Route::post('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'store']); Route::get('corporates/{corporate_id}/formulariums/list', [CorporateFormulariumController::class, 'generateFormulariumList']); Route::post('corporates/{corporate_id}/formulariums/import', [CorporateFormulariumController::class, 'import']); + Route::put('corporates/{corporate_id}/formulariums-update-status/{id}', [CorporateFormulariumController::class, 'active']); Route::put('corporates/{corporate_id}/formulariums/{formularium_id}/{action}', [CorporateFormulariumController::class, 'updateStatus']); Route::controller(CorporateController::class)->group(function () { Route::post('add-files-doc', 'addFilesDoc'); diff --git a/Modules/Internal/Transformers/CorporateFormulariumResource.php b/Modules/Internal/Transformers/CorporateFormulariumResource.php index bb639c34..9839b5d6 100644 --- a/Modules/Internal/Transformers/CorporateFormulariumResource.php +++ b/Modules/Internal/Transformers/CorporateFormulariumResource.php @@ -14,27 +14,11 @@ class CorporateFormulariumResource extends JsonResource */ public function toArray($request) { - - return [ - 'id' => $this->formularium->id, - 'code' => $this->formularium->code, - 'name' => $this->formularium->name, - 'description' => $this->formularium->description, - 'manufacturer' => $this->formularium->manufacturer, - 'category_name' => $this->formularium->category_name, - 'kategori_obat' => $this->formularium->kategori_obat, - 'uom' => $this->formularium->uom, - 'general_indication' => $this->formularium->general_indication, - 'composition' => $this->formularium->composition, - 'atc_code' => $this->formularium->atc_code, - 'class' => $this->formularium->class, - 'bpom_registration' => $this->formularium->bpom_registration, - 'classifications' => $this->formularium->classifications, - 'cat_for' => $this->formularium->cat_for, - 'items_count' => $this->formularium->items_count, - 'status' => $this->active ? 'active' : 'inactive', - // 'corporate_formulariums' => $this->formua, + 'id' => $this->id, + 'formulaurium_category_id' => $this->formularium_template->id, + 'category' => $this->formularium_template->name, + 'description' => $this->formularium_template->description, 'active' => $this->active == 1 ? 'Active' : 'Inactive', ]; }