update input transaksi

This commit is contained in:
2023-09-27 12:04:59 +07:00
parent 4a6d11f5d3
commit 23ce443b52
8 changed files with 137 additions and 14 deletions

View 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());
}
}

View File

@@ -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']);

View File

@@ -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')
]);
}
}

View File

@@ -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

View File

@@ -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)
// });
};
/* -------------------------------------------------------------------------- */

View File

@@ -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>

View File