Merge branch 'staging' of itcorp.primaya.id:rajif/aso into staging
This commit is contained in:
93
Modules/Client/Http/Controllers/Api/MemberController.php
Normal file
93
Modules/Client/Http/Controllers/Api/MemberController.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Client\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Member;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class MemberController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
return Member::query()
|
||||
->when($request->search, function ($query, $search) {
|
||||
return $query->where('name', 'LIKE', '%' . $search . '%')
|
||||
->orWhere('member_id', 'LIKE', '%' . $search . '%');
|
||||
})
|
||||
->with('currentPlan', 'currentCorporate')
|
||||
->paginate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('internal::create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* @param Request $request
|
||||
* @return Renderable
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
return view('internal::show');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('internal::edit');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* @param Request $request
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function benefits($member_id)
|
||||
{
|
||||
$member = Member::findOrFail($member_id);
|
||||
|
||||
return response()->json($member->currentPlan->benefits()->select(['description', 'code', 'id'])->get());
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ use Modules\Client\Http\Controllers\Api\AuthController;
|
||||
use Modules\Client\Http\Controllers\Api\CorporateDivisionController;
|
||||
use Modules\Client\Http\Controllers\Api\CorporateManageController;
|
||||
use Modules\Client\Http\Controllers\Api\CorporateMemberController;
|
||||
use Modules\Client\Http\Controllers\Api\MemberController;
|
||||
use Modules\Client\Http\Controllers\Api\CorporatePolicyController;
|
||||
use Modules\Client\Http\Controllers\Api\UserController;
|
||||
use Modules\Client\Http\Controllers\Api\ClaimController;
|
||||
@@ -40,6 +41,7 @@ Route::prefix('client')->group(function () {
|
||||
Route::get('corporate-manage', [CorporateManageController::class, 'index']);
|
||||
Route::get('corporate-manage/{corporate_id}', [CorporateManageController::class, 'show']);
|
||||
Route::prefix('{corporate_id}')->group(function () {
|
||||
Route::post('search-member', [MemberController::class, 'index']);
|
||||
Route::get('policy', [CorporatePolicyController::class, 'index']);
|
||||
Route::get('division', [CorporateDivisionController::class, 'index']);
|
||||
Route::get('members', [CorporateMemberController::class, 'index']);
|
||||
|
||||
@@ -300,7 +300,7 @@ class ClaimController extends Controller
|
||||
// Membuat penulis entitas Spout
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
// Membuka penulis untuk menulis ke file
|
||||
$writer->openToFile(public_path('files/CorporatePlan&BenefitImportData.xlsx'));
|
||||
$writer->openToFile(public_path('files/Benefit Usage Report.xlsx'));
|
||||
|
||||
// Sheet 1
|
||||
$writer->getCurrentSheet()->setName('Worksheet');
|
||||
@@ -320,15 +320,17 @@ class ClaimController extends Controller
|
||||
'plan',
|
||||
'benefit',
|
||||
'claimRequest',
|
||||
'claimRequest.service'
|
||||
'claimRequest.service',
|
||||
'encounters',
|
||||
])
|
||||
// ->latest()
|
||||
->get()->toArray();
|
||||
foreach ($claims as $index => $row){
|
||||
dd($row);
|
||||
$rowData = [
|
||||
'', // Count of Usage
|
||||
$row['code'], // Claim Number
|
||||
'', // Insurar Code
|
||||
$row['member']? $row['member']['payor_id'] : '-', // Insurar Code
|
||||
$row['member']['current_policy']? $row['member']['current_policy']['code'] : '', // Policy no
|
||||
$row['member']['current_corporate']? $row['member']['current_corporate']['name'] : '', // Corporate Name
|
||||
$row['member']['current_plan']? $row['member']['current_plan']['code'] : '', // Plan Code
|
||||
@@ -339,7 +341,7 @@ class ClaimController extends Controller
|
||||
$row['member']['current_corporate']? $row['member']['current_corporate']['code'] : '', // Institution Code
|
||||
'', // Invoice Line Number
|
||||
$row['status'], // Claim Status
|
||||
'', // Admission Date
|
||||
$row['claim_request']? $row['claim_request']['submission_date'] : '-', // Admission Date
|
||||
'', // Discharge Date
|
||||
'', // Date Of Service
|
||||
'', // Place Of Service
|
||||
@@ -354,7 +356,7 @@ class ClaimController extends Controller
|
||||
$row['claim_request'] ? $row['claim_request']['service']['description'] : '', // ServiceDescription
|
||||
'', // UnitPrice
|
||||
'', // Quantity
|
||||
'', // Tarif
|
||||
$row['member']['current_policy']['latest_limit_journal'] ? abs($row['member']['current_policy']['latest_limit_journal']['total_credit']): '', // Tarif
|
||||
'', // Claimable amount
|
||||
'', // Paid by customer
|
||||
'', // HD Disc
|
||||
@@ -369,7 +371,7 @@ class ClaimController extends Controller
|
||||
'', // Claimable Status
|
||||
$row['claim_request'] ? $row['claim_request']['service']['description'] : '', // ServiceDescription, // Benefit Code
|
||||
];
|
||||
|
||||
// dd($rowData);
|
||||
$row = WriterEntityFactory::createRowFromArray($rowData);
|
||||
$writer->addRow($row);
|
||||
}
|
||||
@@ -444,7 +446,7 @@ class ClaimController extends Controller
|
||||
|
||||
return Helper::responseJson([
|
||||
'file_name' => "Data Claim Report " . date('Y-m-d h:i:s'),
|
||||
"file_url" => url('files/CorporatePlan&BenefitImportData.xlsx')
|
||||
"file_url" => url('files/Benefit Usage Report.xlsx')
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,10 @@ type CardPolicyProps = {
|
||||
};
|
||||
maxTopUp: number;
|
||||
};
|
||||
members: {
|
||||
memberId: string;
|
||||
memberFullName: string;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -95,7 +99,7 @@ export default function CardPolicy(props: CardPolicyProps) {
|
||||
const [dialogTitle, setDialogTitle] = useState('');
|
||||
const [isDialog, setIsDialog] = useState('');
|
||||
|
||||
const { limit, topUpLimit } = props.data || {};
|
||||
const { limit, topUpLimit, members } = props.data || {};
|
||||
if (!limit || !topUpLimit) {
|
||||
return null;
|
||||
}
|
||||
@@ -185,14 +189,14 @@ export default function CardPolicy(props: CardPolicyProps) {
|
||||
</Stack>
|
||||
</>
|
||||
|
||||
{/* {isDialog === 'submitClaim' && (
|
||||
{isDialog === 'submitClaim' && (
|
||||
<DialogClaimSubmitMember
|
||||
openDialog={openDialog}
|
||||
setOpenDialog={setOpenDialog}
|
||||
title={{ name: dialogTitle }}
|
||||
data={members}
|
||||
/>
|
||||
)} */}
|
||||
)}
|
||||
|
||||
{isDialog === 'topUpLimit' && (
|
||||
<DialogTopUpLimit
|
||||
|
||||
@@ -11,9 +11,11 @@ import {
|
||||
IconButton,
|
||||
} from '@mui/material';
|
||||
import { Search as SearchIcon } from '@mui/icons-material';
|
||||
import axios from '../../utils/axios';
|
||||
// components
|
||||
import MuiDialog from '../../components/MuiDialog';
|
||||
import Iconify from '../../components/Iconify';
|
||||
import { useSnackbar } from 'notistack';
|
||||
// React
|
||||
import { ReactElement, useState } from 'react';
|
||||
import DialogClaimSubmitMemberSubmission from './DialogClaimSubmitMemberSubmission';
|
||||
@@ -83,11 +85,31 @@ export default function DialogClaimSubmitMember({
|
||||
|
||||
/* --------------------------------- Search --------------------------------- */
|
||||
const [searchText, setSearchText] = useState('');
|
||||
/* --------------------------------- Benefit--------------------------------- */
|
||||
const {enqueueSnackbar} = useSnackbar();
|
||||
const [openDialogBenefit, setOpenDialogBenefit] = useState(false);
|
||||
const [currentMember, setCurrentMember] = useState(null);
|
||||
const [nameMember, setNameMember] = useState('');
|
||||
const [loadingBenefit, setLoadingBenefit] = useState(false);
|
||||
|
||||
const handleSearchSubmit = async (event: React.FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
// await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
// setLoadingBenefit(true)
|
||||
|
||||
// axios.post('/search-member', {
|
||||
// search: searchText,
|
||||
// })
|
||||
// .then((response) => {
|
||||
// setOpenDialogBenefit(true)
|
||||
// setCurrentMember(response.data.data)
|
||||
// setNameMember(response.data.data.name);
|
||||
// })
|
||||
// .catch(({response}) => {
|
||||
// enqueueSnackbar(response.data.errors ? response.data.errors[0] : (response.data ? response.data.meta.message : 'Opps, Something went Wrong!'), {variant : "error"})
|
||||
// })
|
||||
// .then(() => {
|
||||
// setLoadingBenefit(false)
|
||||
// });
|
||||
};
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
@@ -173,8 +173,8 @@ export default function List() {
|
||||
{open ? <KeyboardArrowDownIcon /> : <KeyboardArrowRightIcon />}
|
||||
</IconButton>
|
||||
</TableCell>
|
||||
<TableCell align="left">{row.code}</TableCell>
|
||||
<TableCell align="left">{row.claim_request?.code}</TableCell>
|
||||
<TableCell align="left">{row.code}</TableCell>
|
||||
<TableCell align="left">{row.member?.full_name}</TableCell>
|
||||
<TableCell align="left">{row.plan?.code}</TableCell>
|
||||
<TableCell align="left">{row.claim_request?.service?.name}</TableCell>
|
||||
|
||||
0
public/files/Benefit Usage Report.xlsx
Normal file
0
public/files/Benefit Usage Report.xlsx
Normal file
@@ -129,7 +129,7 @@ use App\Helpers\Helper;
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>Dengan ini jaminan diberikan kepada pasien yang juga meruopakan tertanggung/peserta yang diasuransikan "Pasien" dengan data sebagai berikut</p>
|
||||
<p>Dengan ini jaminan diberikan kepada pasien yang juga merupakan tertanggung/peserta yang diasuransikan "Pasien" dengan data sebagai berikut</p>
|
||||
|
||||
|
||||
<table style="width: 100%">
|
||||
@@ -240,7 +240,7 @@ use App\Helpers\Helper;
|
||||
</table>
|
||||
|
||||
<p>Tidak Dijamin : Full Cover</p>
|
||||
<p>* Bila pasien menempati kamar perawatan di atas manfaat yang imiliki maka pasien wajib membayar selisih yang timbul dan biaya yang tidak dijamin setelah menjalani perawatan Rumah Sakit</p>
|
||||
<p>* Bila pasien menempati kamar perawatan di atas manfaat yang dimiliki maka pasien wajib membayar selisih yang timbul dan biaya yang tidak dijamin setelah menjalani perawatan Rumah Sakit</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user