Merge branch 'staging' of https://dev.sismedika.online/febio/aso into staging
This commit is contained in:
@@ -139,6 +139,7 @@ class ClaimController extends Controller
|
||||
$processedData = $this->processCategoryNames($data);
|
||||
|
||||
$importedRows = 0;
|
||||
$result_rows = [];
|
||||
$failedRows = [];
|
||||
|
||||
foreach ($processedData as $row) {
|
||||
@@ -146,7 +147,7 @@ class ClaimController extends Controller
|
||||
$affectedRows = DB::table('claim_requests')
|
||||
->where('code','=', $row['code'])
|
||||
->where('claim_management','=', 1)
|
||||
->where('status_claim_management.status', '=', 'received')
|
||||
->where('claim_requests.status_claim_management', '=', 'received')
|
||||
->update([
|
||||
'status' => $row['qc'] == 'Y' ? 'approved' : 'declined',
|
||||
'status_claim_management' => $row['qc'] == 'Y' ? 'approved' : 'declined',
|
||||
@@ -156,11 +157,39 @@ class ClaimController extends Controller
|
||||
]);
|
||||
|
||||
if ($affectedRows === 0) {
|
||||
$check_status = DB::table('claim_requests')
|
||||
->where('code','=', $row['code'])
|
||||
->where('claim_management','=', 1)
|
||||
->select('status_claim_management')
|
||||
->first();
|
||||
if($check_status)
|
||||
{
|
||||
$row['error'] = 'Gagal update karena Status Claim sudah '.$check_status->status_claim_management;
|
||||
}
|
||||
else{
|
||||
$row['error'] = 'Gagal update karena Code tidak sesuai';
|
||||
}
|
||||
$row['code_error'] = '500';
|
||||
$result_rows[] = $row;
|
||||
$failedRows[] = $row;
|
||||
} else {
|
||||
$importedRows += $affectedRows;
|
||||
$row['code_error'] = '200';
|
||||
$row['error'] = 'Sukses';
|
||||
$result_rows[] = $row;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$row['code_error'] = '500';
|
||||
$row['error'] = $e->getMessage();
|
||||
if(!$row['code'])
|
||||
{
|
||||
$row['error'] = 'Kolom Code wajib isi';
|
||||
}
|
||||
if(!$row['qc'])
|
||||
{
|
||||
$row['error'] = 'Kolom QC wajib isi';
|
||||
}
|
||||
$result_rows[] = $row;
|
||||
$failedRows[] = $row;
|
||||
}
|
||||
}
|
||||
@@ -170,7 +199,7 @@ class ClaimController extends Controller
|
||||
'data' => [
|
||||
'total_success_row' => $importedRows,
|
||||
'total_failed_row' => count($failedRows),
|
||||
'failed_rows' => $failedRows,
|
||||
'result_rows' => $result_rows,
|
||||
],
|
||||
];
|
||||
|
||||
@@ -377,11 +406,13 @@ class ClaimController extends Controller
|
||||
public function exportFiled(Request $request)
|
||||
{
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
$writer->openToFile(public_path('files/Report-Data-Filed-Import.xlsx'));
|
||||
$writer->openToFile(public_path('files/Report-Data-Result-Import.xlsx'));
|
||||
$header = [
|
||||
'Code*',
|
||||
'QC*',
|
||||
'Reason'
|
||||
'Reason',
|
||||
'Ingest Code',
|
||||
'Ingest Note'
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
@@ -402,7 +433,9 @@ class ClaimController extends Controller
|
||||
$rowData = [
|
||||
$item['code'],
|
||||
$item['qc'],
|
||||
$item['reason']
|
||||
$item['reason'],
|
||||
$item['code_error'],
|
||||
$item['error']
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
//->setFontBold()
|
||||
@@ -435,8 +468,8 @@ class ClaimController extends Controller
|
||||
$writer->close();
|
||||
|
||||
return Helper::responseJson([
|
||||
'file_name' => 'Report-Data-Filed-Import',
|
||||
"file_url" => url('files/Report-Data-Filed-Import.xlsx')
|
||||
'file_name' => 'Report-Data-Result-Import',
|
||||
"file_url" => url('files/Report-Data-Result-Import.xlsx')
|
||||
]);
|
||||
}
|
||||
public function getProvider(Request $request)
|
||||
|
||||
@@ -397,7 +397,7 @@ const dummyServices = [
|
||||
|
||||
const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
|
||||
const createMenu = Boolean(anchorEl);
|
||||
const importHospital = useRef<HTMLInputElement>(null);
|
||||
const importClaimManagement = useRef<HTMLInputElement>(null);
|
||||
const [currentImportFileName, setCurrentImportFileName] = useState(null);
|
||||
const [importLoading, setImportLoading] = useState(false);
|
||||
const [importResult, setImportResult] = useState(null);
|
||||
@@ -408,18 +408,18 @@ const dummyServices = [
|
||||
setAnchorEl(null);
|
||||
};
|
||||
const handleImportButton = () => {
|
||||
if (importHospital?.current) {
|
||||
if (importClaimManagement?.current) {
|
||||
handleClose();
|
||||
importHospital.current ? importHospital.current.click() : console.log('No File selected');
|
||||
importClaimManagement.current ? importClaimManagement.current.click() : console.log('No File selected');
|
||||
} else {
|
||||
alert('No file selected');
|
||||
}
|
||||
};
|
||||
const handleCancelImportButton = () => {
|
||||
if(importHospital.current)
|
||||
if(importClaimManagement.current)
|
||||
{
|
||||
importHospital.current.value = '';
|
||||
importHospital.current.dispatchEvent(new Event('change', { bubbles: true }));
|
||||
importClaimManagement.current.value = '';
|
||||
importClaimManagement.current.dispatchEvent(new Event('change', { bubbles: true }));
|
||||
}
|
||||
};
|
||||
const handleImportChange = (event: any) => {
|
||||
@@ -430,11 +430,11 @@ const dummyServices = [
|
||||
}
|
||||
};
|
||||
const handleUpload = () => {
|
||||
if(importHospital.current && importHospital.current.files)
|
||||
if(importClaimManagement.current && importClaimManagement.current.files)
|
||||
{
|
||||
if (importHospital.current?.files.length) {
|
||||
if (importClaimManagement.current?.files.length) {
|
||||
const formData = new FormData();
|
||||
formData.append('file', importHospital.current?.files[0]);
|
||||
formData.append('file', importClaimManagement.current?.files[0]);
|
||||
setImportLoading(true);
|
||||
axios
|
||||
.post('claims/import', formData)
|
||||
@@ -443,7 +443,7 @@ const dummyServices = [
|
||||
loadDataTableData();
|
||||
setImportResult(response.data);
|
||||
setImportLoading(false);
|
||||
enqueueSnackbar('Success Import Hospitals', { variant: 'success' });
|
||||
enqueueSnackbar('Success Import Claim Managemenet', { variant: 'success' });
|
||||
})
|
||||
.catch((response) => {
|
||||
enqueueSnackbar(
|
||||
@@ -474,7 +474,7 @@ const dummyServices = [
|
||||
const handleExportReportFiled = async () => {
|
||||
|
||||
await axios
|
||||
.post('claims/exportFiled', { params: importResult?.data.failed_rows })
|
||||
.post('claims/exportFiled', { params: importResult?.data.result_rows })
|
||||
.then((res) => {
|
||||
enqueueSnackbar('Data berhasil di Export', {
|
||||
variant: 'success',
|
||||
@@ -792,7 +792,7 @@ const handleExportReportFiled = async () => {
|
||||
<input
|
||||
type="file"
|
||||
id="file"
|
||||
ref={importHospital}
|
||||
ref={importClaimManagement}
|
||||
style={{ display: 'none' }}
|
||||
onChange={handleImportChange}
|
||||
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/plain"
|
||||
@@ -975,11 +975,12 @@ const handleExportReportFiled = async () => {
|
||||
<Box sx={{ color: 'error.main', display: 'inline' }}>
|
||||
{importResult.data.total_failed_row}
|
||||
</Box>{' '}
|
||||
Failed
|
||||
Failed,
|
||||
{/* {importResult.data.failed_rows.map((row, index) => (
|
||||
<Typography variant='body' key={index} color="error"> [Code={row.code ? row.code : 'Required'}]</Typography>
|
||||
))} */}
|
||||
<u onClick={handleExportReportFiled} style={{cursor:'pointer'}}>Download Data Filed</u>
|
||||
Report:
|
||||
<u onClick={handleExportReportFiled} style={{cursor:'pointer'}}>Download Data Result Import</u>
|
||||
</Box>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user