update fitur delete all import
This commit is contained in:
@@ -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)
|
public function importDocumentExample($document_type)
|
||||||
{
|
{
|
||||||
switch ($document_type) {
|
switch ($document_type) {
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ Route::prefix('internal')->group(function () {
|
|||||||
Route::get('corporates/import-document-example/{document_type}', [CorporateController::class, 'importDocumentExample']);
|
Route::get('corporates/import-document-example/{document_type}', [CorporateController::class, 'importDocumentExample']);
|
||||||
Route::put('corporates/{corporate_id}/activation', [CorporateController::class, 'activation']);
|
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}/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}/data-plan-benefit', [CorporateController::class, 'dataPlanBenefit']);
|
||||||
Route::get('corporates/{corporate_id}/code', [CorporateController::class, 'corporateCode']);
|
Route::get('corporates/{corporate_id}/code', [CorporateController::class, 'corporateCode']);
|
||||||
Route::get('corporates/{corporate_id}/payor_id', [CorporateController::class, 'corporatePayorId']);
|
Route::get('corporates/{corporate_id}/payor_id', [CorporateController::class, 'corporatePayorId']);
|
||||||
|
|||||||
@@ -237,7 +237,6 @@ class CorporateService
|
|||||||
->where('corporate_plan_id', $benefit_data['plan_code'])
|
->where('corporate_plan_id', $benefit_data['plan_code'])
|
||||||
->first();
|
->first();
|
||||||
$benefit_data['plan_code'] = $plan->id;
|
$benefit_data['plan_code'] = $plan->id;
|
||||||
|
|
||||||
$benefit = Benefit::updateOrCreate([
|
$benefit = Benefit::updateOrCreate([
|
||||||
'code' => $benefit_data['code'],
|
'code' => $benefit_data['code'],
|
||||||
'service_code' => $plan->service_code,
|
'service_code' => $plan->service_code,
|
||||||
|
|||||||
@@ -38,9 +38,12 @@ import CancelIcon from '@mui/icons-material/Cancel';
|
|||||||
import HistoryIcon from '@mui/icons-material/History';
|
import HistoryIcon from '@mui/icons-material/History';
|
||||||
import CachedOutlinedIcon from '@mui/icons-material/CachedOutlined';
|
import CachedOutlinedIcon from '@mui/icons-material/CachedOutlined';
|
||||||
import FindInPageOutlinedIcon from '@mui/icons-material/FindInPageOutlined';
|
import FindInPageOutlinedIcon from '@mui/icons-material/FindInPageOutlined';
|
||||||
|
import { DialogTitle, DialogContent, DialogActions } from '@mui/material';
|
||||||
|
|
||||||
|
|
||||||
import { yupResolver } from '@hookform/resolvers/yup';
|
import { yupResolver } from '@hookform/resolvers/yup';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
|
import CloseIcon from '@mui/icons-material/Close';
|
||||||
|
|
||||||
// hooks
|
// hooks
|
||||||
import React, { ChangeEvent, Component, useEffect, useRef, useState } from 'react';
|
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 DialogUpdateStatus from '@/components/DialogUpdateStatus';
|
||||||
|
|
||||||
import { ro } from 'date-fns/locale';
|
import { ro } from 'date-fns/locale';
|
||||||
|
import { Dialog } from '@mui/material';
|
||||||
|
|
||||||
export default function PlanList() {
|
export default function PlanList() {
|
||||||
const { themeStretch } = useSettings();
|
const { themeStretch } = useSettings();
|
||||||
@@ -264,6 +268,7 @@ export default function PlanList() {
|
|||||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||||
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
||||||
<MenuItem onClick={() => {handleGetData('data-plan-benefit')}}>Download Data Plan & Benefit</MenuItem>
|
<MenuItem onClick={() => {handleGetData('data-plan-benefit')}}>Download Data Plan & Benefit</MenuItem>
|
||||||
|
<MenuItem onClick={() => {setDialogDeleteOpen(true)}}>Delete All Import</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
</Stack>
|
</Stack>
|
||||||
)}
|
)}
|
||||||
@@ -954,7 +959,6 @@ export default function PlanList() {
|
|||||||
} = methods;
|
} = methods;
|
||||||
|
|
||||||
const handleUpdate = (active: number, id: number, reason:string) => {
|
const handleUpdate = (active: number, id: number, reason:string) => {
|
||||||
console.log(active)
|
|
||||||
axios
|
axios
|
||||||
.put(`/benefits/${id}/activation`, {
|
.put(`/benefits/${id}/activation`, {
|
||||||
active: active,
|
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 = () => (
|
const getContent = () => (
|
||||||
<>
|
<>
|
||||||
<Stack paddingX={2} paddingY={2}>
|
<Stack paddingX={2} paddingY={2}>
|
||||||
@@ -1153,6 +1170,27 @@ export default function PlanList() {
|
|||||||
content={getContent()}
|
content={getContent()}
|
||||||
// maxWidth='50px'
|
// maxWidth='50px'
|
||||||
/>
|
/>
|
||||||
|
<Dialog open={isOpenDialogDelete} onClose={handleCloseDialogDelete} fullWidth={true} >
|
||||||
|
<DialogTitle sx={{ backgroundColor: '#19BBBB', color: '#FFF', padding: 2 }}>
|
||||||
|
<Stack direction="row" alignItems="center" justifyContent="space-between">
|
||||||
|
<Stack direction="row" alignItems='center' spacing={1}>
|
||||||
|
<Typography variant="h6">Delete Import Benefit</Typography>
|
||||||
|
</Stack>
|
||||||
|
<IconButton sx={{ color: '#FFF' }} onClick={handleCloseDialogDelete}>
|
||||||
|
<CloseIcon />
|
||||||
|
</IconButton>
|
||||||
|
</Stack>
|
||||||
|
</DialogTitle>
|
||||||
|
<DialogContent>
|
||||||
|
<Stack spacing={2} sx={{marginTop: 2, padding: 2}}>
|
||||||
|
<Typography variant='subtitle1'>Are you sure delete all data benefit and plan?</Typography>
|
||||||
|
</Stack>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogActions>
|
||||||
|
<Button variant="outlined" sx={{color: '#212B36', borderColor: '#919EAB52'}} onClick={handleCloseDialogDelete}>Cancel</Button>
|
||||||
|
<Button sx={{backgroundColor: '#19BBBB'}} variant="contained" onClick={() => handleDeleteAllImport()}>Delete</Button>
|
||||||
|
</DialogActions>
|
||||||
|
</Dialog>
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,9 @@ import { Download, Edit } from '@mui/icons-material';
|
|||||||
import TableMoreMenu from '@/components/table/TableMoreMenu';
|
import TableMoreMenu from '@/components/table/TableMoreMenu';
|
||||||
import Label from '@/components/Label';
|
import Label from '@/components/Label';
|
||||||
import DialogUpdateStatus from '@/components/DialogUpdateStatus';
|
import DialogUpdateStatus from '@/components/DialogUpdateStatus';
|
||||||
|
import {Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material';
|
||||||
|
import CloseIcon from '@mui/icons-material/Close';
|
||||||
|
|
||||||
|
|
||||||
export default function CorporatePlanList() {
|
export default function CorporatePlanList() {
|
||||||
const { themeStretch } = useSettings();
|
const { themeStretch } = useSettings();
|
||||||
@@ -327,6 +330,8 @@ export default function CorporatePlanList() {
|
|||||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||||
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
||||||
<MenuItem onClick={() => {handleGetData('data-plan-benefit')}}>Download Plans & Benefit</MenuItem>
|
<MenuItem onClick={() => {handleGetData('data-plan-benefit')}}>Download Plans & Benefit</MenuItem>
|
||||||
|
<MenuItem onClick={() => {setDialogDeleteOpen(true)}}>Delete All Import</MenuItem>
|
||||||
|
|
||||||
</Menu>
|
</Menu>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
@@ -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 = () => (
|
const getContent = () => (
|
||||||
<>
|
<>
|
||||||
<Stack paddingX={2} paddingY={2}>
|
<Stack paddingX={2} paddingY={2}>
|
||||||
@@ -1062,6 +1079,28 @@ export default function CorporatePlanList() {
|
|||||||
content={getContent()}
|
content={getContent()}
|
||||||
// maxWidth='50px'
|
// maxWidth='50px'
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Dialog open={isOpenDialogDelete} onClose={handleCloseDialogDelete} fullWidth={true} >
|
||||||
|
<DialogTitle sx={{ backgroundColor: '#19BBBB', color: '#FFF', padding: 2 }}>
|
||||||
|
<Stack direction="row" alignItems="center" justifyContent="space-between">
|
||||||
|
<Stack direction="row" alignItems='center' spacing={1}>
|
||||||
|
<Typography variant="h6">Delete Import Benefit</Typography>
|
||||||
|
</Stack>
|
||||||
|
<IconButton sx={{ color: '#FFF' }} onClick={handleCloseDialogDelete}>
|
||||||
|
<CloseIcon />
|
||||||
|
</IconButton>
|
||||||
|
</Stack>
|
||||||
|
</DialogTitle>
|
||||||
|
<DialogContent>
|
||||||
|
<Stack spacing={2} sx={{marginTop: 2, padding: 2}}>
|
||||||
|
<Typography variant='subtitle1'>Are you sure delete all data benefit and plan?</Typography>
|
||||||
|
</Stack>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogActions>
|
||||||
|
<Button variant="outlined" sx={{color: '#212B36', borderColor: '#919EAB52'}} onClick={handleCloseDialogDelete}>Cancel</Button>
|
||||||
|
<Button sx={{backgroundColor: '#19BBBB'}} variant="contained" onClick={() => handleDeleteAllImport()}>Delete</Button>
|
||||||
|
</DialogActions>
|
||||||
|
</Dialog>
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -596,7 +596,7 @@ export default function Divisions() {
|
|||||||
<Card sx={{'marginTop': 5}}>
|
<Card sx={{'marginTop': 5}}>
|
||||||
<Grid container padding={2}>
|
<Grid container padding={2}>
|
||||||
<Grid item xs={12} paddingY={2}>
|
<Grid item xs={12} paddingY={2}>
|
||||||
<Typography color={'#19BBBB'} variant='subtitle1'>Free Admin Fee*</Typography>
|
<Typography color={'#19BBBB'} variant='subtitle1'>Admin Fee*</Typography>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={12} paddingX={2} paddingY={2}>
|
<Grid item xs={12} paddingX={2} paddingY={2}>
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
|
|||||||
@@ -496,7 +496,7 @@ export default function List() {
|
|||||||
<TableHead>
|
<TableHead>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={4} sx={{ py: 1 }}>
|
<TableCell colSpan={4} sx={{ py: 1 }}>
|
||||||
Free Admin Fee
|
Admin Fee
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
|
|||||||
Reference in New Issue
Block a user