From cea8b476e03bf709fb9ac6803c0c03ec371dd9a6 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Thu, 9 Nov 2023 17:25:16 +0700 Subject: [PATCH] update fitur delete all import --- .../Controllers/Api/CorporateController.php | 11 +++++ Modules/Internal/Routes/api.php | 1 + .../Internal/Services/CorporateService.php | 1 - .../src/pages/Corporates/Benefit/List.tsx | 40 ++++++++++++++++++- .../src/pages/Corporates/Plan/List.tsx | 39 ++++++++++++++++++ .../src/pages/Corporates/Services/Create.tsx | 2 +- .../src/pages/Corporates/Services/List.tsx | 2 +- 7 files changed, 92 insertions(+), 4 deletions(-) diff --git a/Modules/Internal/Http/Controllers/Api/CorporateController.php b/Modules/Internal/Http/Controllers/Api/CorporateController.php index bb02ebde..304e1ebe 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateController.php @@ -507,6 +507,17 @@ class CorporateController extends Controller ]; } + public function deleteAllImportPlanBenefit(Request $request, $corporate_id){ + $deleteBenefit = CorporateBenefit::where('corporate_id', $corporate_id)->delete(); + $deletePlan = Plan::where('corporate_id', $corporate_id)->delete(); + if ( $deleteBenefit && $deletePlan ){ + return Helper::responseJson(data: [], message: 'Berhasil delete semua benefit'); + } else { + return Helper::responseJson(data: [], message: 'Gagal delete semua benefit', statusCode:404); + } + + } + public function importDocumentExample($document_type) { switch ($document_type) { diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php index dfc68def..43365856 100644 --- a/Modules/Internal/Routes/api.php +++ b/Modules/Internal/Routes/api.php @@ -76,6 +76,7 @@ Route::prefix('internal')->group(function () { Route::get('corporates/import-document-example/{document_type}', [CorporateController::class, 'importDocumentExample']); Route::put('corporates/{corporate_id}/activation', [CorporateController::class, 'activation']); Route::post('corporates/{corporate_id}/import-plan-benefit', [CorporateController::class, 'importPlanBenefit']); + Route::post('corporates/{corporate_id}/delete-import-plan-benefit', [CorporateController::class, 'deleteAllImportPlanBenefit']); Route::get('corporates/{corporate_id}/data-plan-benefit', [CorporateController::class, 'dataPlanBenefit']); Route::get('corporates/{corporate_id}/code', [CorporateController::class, 'corporateCode']); Route::get('corporates/{corporate_id}/payor_id', [CorporateController::class, 'corporatePayorId']); diff --git a/Modules/Internal/Services/CorporateService.php b/Modules/Internal/Services/CorporateService.php index 8bc6b4b1..75bd80c8 100644 --- a/Modules/Internal/Services/CorporateService.php +++ b/Modules/Internal/Services/CorporateService.php @@ -237,7 +237,6 @@ class CorporateService ->where('corporate_plan_id', $benefit_data['plan_code']) ->first(); $benefit_data['plan_code'] = $plan->id; - $benefit = Benefit::updateOrCreate([ 'code' => $benefit_data['code'], 'service_code' => $plan->service_code, diff --git a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx index 4aae7269..39b286b5 100644 --- a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx @@ -38,9 +38,12 @@ import CancelIcon from '@mui/icons-material/Cancel'; import HistoryIcon from '@mui/icons-material/History'; import CachedOutlinedIcon from '@mui/icons-material/CachedOutlined'; import FindInPageOutlinedIcon from '@mui/icons-material/FindInPageOutlined'; +import { DialogTitle, DialogContent, DialogActions } from '@mui/material'; + import { yupResolver } from '@hookform/resolvers/yup'; import { useForm } from 'react-hook-form'; +import CloseIcon from '@mui/icons-material/Close'; // hooks import React, { ChangeEvent, Component, useEffect, useRef, useState } from 'react'; @@ -77,6 +80,7 @@ import { fData, fNumber } from '@/utils/formatNumber'; import DialogUpdateStatus from '@/components/DialogUpdateStatus'; import { ro } from 'date-fns/locale'; +import { Dialog } from '@mui/material'; export default function PlanList() { const { themeStretch } = useSettings(); @@ -264,6 +268,7 @@ export default function PlanList() { Import {handleGetTemplate('plan-benefit')}}>Download Template {handleGetData('data-plan-benefit')}}>Download Data Plan & Benefit + {setDialogDeleteOpen(true)}}>Delete All Import )} @@ -954,7 +959,6 @@ export default function PlanList() { } = methods; const handleUpdate = (active: number, id: number, reason:string) => { - console.log(active) axios .put(`/benefits/${id}/activation`, { active: active, @@ -966,6 +970,19 @@ export default function PlanList() { } + const handleDeleteAllImport = () => { + axios + .post(`/corporates/${corporate_id}/delete-import-plan-benefit`) + .then((res) => { + window.location.reload(); + }); + } + const [isOpenDialogDelete, setDialogDeleteOpen] = useState(false); + const handleCloseDialogDelete = () => { + setDialogDeleteOpen(false); + }; + + const getContent = () => ( <> @@ -1153,6 +1170,27 @@ export default function PlanList() { content={getContent()} // maxWidth='50px' /> + + + + + Delete Import Benefit + + + + + + + + + Are you sure delete all data benefit and plan? + + + + + + + ); } diff --git a/frontend/dashboard/src/pages/Corporates/Plan/List.tsx b/frontend/dashboard/src/pages/Corporates/Plan/List.tsx index 010b3f9d..5c2963f6 100644 --- a/frontend/dashboard/src/pages/Corporates/Plan/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Plan/List.tsx @@ -58,6 +58,9 @@ import { Download, Edit } from '@mui/icons-material'; import TableMoreMenu from '@/components/table/TableMoreMenu'; import Label from '@/components/Label'; import DialogUpdateStatus from '@/components/DialogUpdateStatus'; +import {Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material'; +import CloseIcon from '@mui/icons-material/Close'; + export default function CorporatePlanList() { const { themeStretch } = useSettings(); @@ -327,6 +330,8 @@ export default function CorporatePlanList() { Import {handleGetTemplate('plan-benefit')}}>Download Template {handleGetData('data-plan-benefit')}}>Download Plans & Benefit + {setDialogDeleteOpen(true)}}>Delete All Import + @@ -891,6 +896,18 @@ export default function CorporatePlanList() { }); } + const handleDeleteAllImport = () => { + axios + .post(`/corporates/${corporate_id}/delete-import-plan-benefit`) + .then((res) => { + window.location.reload(); + }); + } + const [isOpenDialogDelete, setDialogDeleteOpen] = useState(false); + const handleCloseDialogDelete = () => { + setDialogDeleteOpen(false); + }; + const getContent = () => ( <> @@ -1062,6 +1079,28 @@ export default function CorporatePlanList() { content={getContent()} // maxWidth='50px' /> + + + + + + Delete Import Benefit + + + + + + + + + Are you sure delete all data benefit and plan? + + + + + + + ); } diff --git a/frontend/dashboard/src/pages/Corporates/Services/Create.tsx b/frontend/dashboard/src/pages/Corporates/Services/Create.tsx index 4a4a7517..57506a7c 100644 --- a/frontend/dashboard/src/pages/Corporates/Services/Create.tsx +++ b/frontend/dashboard/src/pages/Corporates/Services/Create.tsx @@ -596,7 +596,7 @@ export default function Divisions() { - Free Admin Fee* + Admin Fee* - Free Admin Fee + Admin Fee