Merge remote-tracking branch 'origin/staging' into origin/production
This commit is contained in:
@@ -21,8 +21,18 @@ use Modules\Internal\Transformers\ClaimEditResource;
|
||||
use Modules\Internal\Transformers\ClaimHistoryCareResource;
|
||||
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
|
||||
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
|
||||
|
||||
use Box\Spout\Writer\Common\Creator\Style\StyleBuilder;
|
||||
use Box\Spout\Common\Entity\Style\CellAlignment;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use App\Exports\FailedRowsExport; // Import class export Excel
|
||||
|
||||
use Modules\Internal\Transformers\RequestLogResource;
|
||||
|
||||
use App\Models\RequestLog;
|
||||
|
||||
use PDF;
|
||||
|
||||
@@ -34,41 +44,436 @@ class ClaimController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
// $serviceCode = 'IP';
|
||||
$claims = Claim::with([
|
||||
'member',
|
||||
'member.currentCorporate',
|
||||
'member.currentCorporate.currentPolicy',
|
||||
// 'member.currentPlan' => function($memberPlan) use ($serviceCode) {
|
||||
// $memberPlan->where('plans.service_code', $serviceCode);
|
||||
// },
|
||||
'member.currentPlan' => function($memberPlan) {
|
||||
$memberPlan->join('claim_requests', 'claim_requests.service_code', '=', 'plans.service_code');
|
||||
},
|
||||
'diagnoses' => function ($diagnosis) {
|
||||
$diagnosis->where('type', 'primary');
|
||||
},
|
||||
'diagnoses.icd',
|
||||
'benefit',
|
||||
'claimRequest',
|
||||
'claimRequest.service',
|
||||
])
|
||||
->when($request->search, function ($q, $search) {
|
||||
$q->where(function ($subQuery) use ($search) {
|
||||
$subQuery->whereHas('claimRequest', function ($claimRequest) use ($search) {
|
||||
$claimRequest->where('code', 'LIKE', "%" . $search . "%");
|
||||
})
|
||||
->orWhereHas('member', function ($member) use ($search) {
|
||||
$member->where('name', 'LIKE', "%" . $search . "%");
|
||||
});
|
||||
$limit = $request->has('per_page') ? $request->input('per_page') : 10;
|
||||
$results = DB::table('claim_requests')
|
||||
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
// ->leftJoin('member_plans', 'member_plans.member_id', '=', 'members.id')
|
||||
->when($request->input('search'), function ($query, $search) {
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('members.name', 'like', "%" . $search . "%");
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('members.member_id', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
->where('status', '!=', 'requested') // Penjagaan agar approve baru masuk ke claim management
|
||||
->latest()
|
||||
->paginate(10);
|
||||
->when($request->has('orderBy'), function ($query) use ($request) {
|
||||
$orderBy = $request->orderBy;
|
||||
$direction = $request->order ?? 'asc';
|
||||
|
||||
$query->orderBy($orderBy, $direction);
|
||||
})
|
||||
->when($request->input('start_date') , function ($query, $start_date) {
|
||||
$query->where(function ($query) use ($start_date) {
|
||||
$query->where('claim_requests.created_at', '>=', $start_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('end_date') , function ($query, $end_date) {
|
||||
$query->where(function ($query) use ($end_date) {
|
||||
$query->where('claim_requests.created_at', '<=', $end_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('provider') , function ($query, $provider) {
|
||||
$query->where(function ($query) use ($provider) {
|
||||
$query->where('request_logs.organization_id', '=', $provider);
|
||||
});
|
||||
})
|
||||
->where('claim_management', '=', 1)
|
||||
->select(
|
||||
'claim_requests.id',
|
||||
'request_logs.id AS id_log',
|
||||
'claim_requests.code as code',
|
||||
'members.name',
|
||||
DB::raw('
|
||||
(SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
|
||||
'),
|
||||
'claim_requests.created_at',
|
||||
// DB::raw('
|
||||
// (SELECT plans.code FROM plans WHERE plans.id = member_plans.plan_id LIMIT 1) AS plan_code
|
||||
// '),
|
||||
DB::raw('
|
||||
(SELECT plans.code
|
||||
FROM plans
|
||||
WHERE plans.id IN (
|
||||
SELECT member_plans.plan_id
|
||||
FROM member_plans
|
||||
WHERE member_plans.member_id = claim_requests.member_id
|
||||
)
|
||||
AND plans.service_code = claim_requests.service_code) AS plan_code
|
||||
'),
|
||||
DB::raw('
|
||||
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code
|
||||
'),
|
||||
DB::raw('
|
||||
(SELECT corporate_policies.code FROM corporate_policies WHERE corporate_policies.id = claim_requests.policy_id LIMIT 1) AS corporate_policies
|
||||
'),
|
||||
DB::raw('
|
||||
(SELECT organizations.name FROM organizations WHERE organizations.id = request_logs.organization_id LIMIT 1) AS provider
|
||||
'),
|
||||
DB::raw('
|
||||
(Select SUM(request_log_benefits.amount_approved) as tot_bill FROM request_log_benefits
|
||||
WHERE request_log_benefits.request_log_id = request_logs.id LIMIT 1) AS tot_bill
|
||||
'),
|
||||
'claim_requests.status_claim_management as status',
|
||||
)
|
||||
->paginate($limit);
|
||||
|
||||
|
||||
|
||||
return response()->json($claims);
|
||||
return response()->json(Helper::paginateResources($results));
|
||||
}
|
||||
|
||||
public function downloadTemplate()
|
||||
{
|
||||
return Helper::responseJson([
|
||||
'file_name' => "Template - Claim - Management.xlsx",
|
||||
"file_url" => url('files/Template - Claim - Management.xlsx')
|
||||
]);
|
||||
}
|
||||
|
||||
public function import(Request $request)
|
||||
{
|
||||
if ($request->hasFile('file')) {
|
||||
$file = $request->file('file');
|
||||
$data = Excel::toArray([], $file);
|
||||
|
||||
$processedData = $this->processCategoryNames($data);
|
||||
|
||||
$importedRows = 0;
|
||||
$failedRows = [];
|
||||
|
||||
foreach ($processedData as $row) {
|
||||
try {
|
||||
$affectedRows = DB::table('claim_requests')
|
||||
->where('code','=', $row['code'])
|
||||
->where('claim_management','=', 1)
|
||||
->update([
|
||||
'status_claim_management' => $row['qc'] == 'Y' ? 'approved' : 'declined',
|
||||
'reason_decline' => $row['reason'] ? $row['reason'] : null,
|
||||
'approval_by_claim_management' => auth()->user()->id,
|
||||
'approval_date_claim_management' => date('Y-m-d H:i:s'),
|
||||
]);
|
||||
|
||||
if ($affectedRows === 0) {
|
||||
$failedRows[] = $row;
|
||||
} else {
|
||||
$importedRows += $affectedRows;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$failedRows[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
$response = [
|
||||
'message' => 'File uploaded and data saved to database',
|
||||
'data' => [
|
||||
'total_success_row' => $importedRows,
|
||||
'total_failed_row' => count($failedRows),
|
||||
'failed_rows' => $failedRows,
|
||||
],
|
||||
];
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
return response()->json(['error' => 'No file uploaded.']);
|
||||
}
|
||||
|
||||
private function processCategoryNames($data)
|
||||
{
|
||||
$header = [];
|
||||
$row = [];
|
||||
for ($i = 1; $i < count($data[0]); $i++) {
|
||||
$row[] = $data[0][$i];
|
||||
$header[] = $data[0][0];
|
||||
}
|
||||
|
||||
$filed = [];
|
||||
foreach ($header[0] as $value)
|
||||
{
|
||||
$modelColumn = strtolower(preg_replace('/\s+/', '_', trim($value)));
|
||||
$modelColumn = str_replace(['*', ' '], '', $modelColumn);
|
||||
if($modelColumn)
|
||||
{
|
||||
$filed[] = $modelColumn;
|
||||
}
|
||||
}
|
||||
|
||||
$result = [];
|
||||
foreach ($row as $subarray) {
|
||||
$trimmedSubarray = [];
|
||||
for ($i = 0; $i < count($filed); $i++) {
|
||||
$trimmedSubarray[$filed[$i]] = $subarray[$i] ? $subarray[$i] : null;
|
||||
}
|
||||
|
||||
$result[] = $trimmedSubarray;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function exportClaimManagement(Request $request)
|
||||
{
|
||||
$start_date = $request->input('start_date') ? $request->input('start_date') : 'all';
|
||||
$end_date = $request->input('end_date') ? $request->input('end_date') : 'all';
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
$writer->openToFile(public_path('files/Report-Data-Claim-Management-'.$start_date.'-'.$end_date.'.xlsx'));
|
||||
$header = [
|
||||
'No',
|
||||
'Code',
|
||||
'Name',
|
||||
'Member ID',
|
||||
'Date Submission',
|
||||
'Plan ID',
|
||||
'Service',
|
||||
'Policy Number',
|
||||
'Provider',
|
||||
'Total Billing',
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
|
||||
$headerRow = WriterEntityFactory::createRowFromArray($header, $style);
|
||||
$writer->addRow($headerRow);
|
||||
// ============================
|
||||
$results = DB::table('claim_requests')
|
||||
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
// ->leftJoin('member_plans', 'member_plans.member_id', '=', 'members.id')
|
||||
->when($request->input('search'), function ($query, $search) {
|
||||
$query->where(function ($query) use ($search) {
|
||||
$query->orWhere('members.name', 'like', "%" . $search . "%");
|
||||
$query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
|
||||
$query->orWhere('members.member_id', 'like', "%" . $search . "%");
|
||||
});
|
||||
})
|
||||
->when($request->has('orderBy'), function ($query) use ($request) {
|
||||
$orderBy = $request->orderBy;
|
||||
$direction = $request->order ?? 'asc';
|
||||
|
||||
$query->orderBy($orderBy, $direction);
|
||||
})
|
||||
->when($request->input('start_date') , function ($query, $start_date) {
|
||||
$query->where(function ($query) use ($start_date) {
|
||||
$query->where('claim_requests.created_at', '>=', $start_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('end_date') , function ($query, $end_date) {
|
||||
$query->where(function ($query) use ($end_date) {
|
||||
$query->where('claim_requests.created_at', '<=', $end_date);
|
||||
});
|
||||
})
|
||||
->when($request->input('provider') , function ($query, $provider) {
|
||||
$query->where(function ($query) use ($provider) {
|
||||
$query->where('request_logs.organization_id', '=', $provider);
|
||||
});
|
||||
})
|
||||
->where('claim_management', '=', 1)
|
||||
->select(
|
||||
'claim_requests.id',
|
||||
'request_logs.id AS id_log',
|
||||
'claim_requests.code as code',
|
||||
'members.name',
|
||||
DB::raw('
|
||||
(SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
|
||||
'),
|
||||
'claim_requests.created_at',
|
||||
DB::raw('
|
||||
(SELECT plans.code
|
||||
FROM plans
|
||||
WHERE plans.id IN (
|
||||
SELECT member_plans.plan_id
|
||||
FROM member_plans
|
||||
WHERE member_plans.member_id = claim_requests.member_id
|
||||
)
|
||||
AND plans.service_code = claim_requests.service_code) AS plan_code
|
||||
'),
|
||||
// DB::raw('
|
||||
// (SELECT plans.code FROM plans WHERE plans.id = member_plans.plan_id LIMIT 1) AS plan_code
|
||||
// '),
|
||||
DB::raw('
|
||||
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code
|
||||
'),
|
||||
DB::raw('
|
||||
(SELECT corporate_policies.code FROM corporate_policies WHERE corporate_policies.id = claim_requests.policy_id LIMIT 1) AS corporate_policies
|
||||
'),
|
||||
DB::raw('
|
||||
(SELECT organizations.name FROM organizations WHERE organizations.id = request_logs.organization_id LIMIT 1) AS provider
|
||||
'),
|
||||
DB::raw('
|
||||
(Select SUM(request_log_benefits.amount_approved) as tot_bill FROM request_log_benefits
|
||||
WHERE request_log_benefits.request_log_id = request_logs.id LIMIT 1) AS tot_bill
|
||||
'),
|
||||
'claim_requests.status_claim_management as status',
|
||||
)
|
||||
->get();
|
||||
$no=0;
|
||||
$gr_total = 0;
|
||||
foreach($results as $item)
|
||||
{
|
||||
$gr_total += $item->tot_bill;
|
||||
$no++;
|
||||
$rowData = [
|
||||
$no,
|
||||
$item->code,
|
||||
$item->name,
|
||||
$item->member_id,
|
||||
$item->created_at,
|
||||
$item->plan_code,
|
||||
$item->service_code,
|
||||
$item->corporate_policies,
|
||||
$item->provider,
|
||||
$item->tot_bill ? $item->tot_bill : 0
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
//->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
$row = WriterEntityFactory::createRowFromArray($rowData, $style);
|
||||
$writer->addRow($row);
|
||||
}
|
||||
$footer = [
|
||||
'Grand Total',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
$gr_total,
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
|
||||
$footerRow = WriterEntityFactory::createRowFromArray($footer, $style);
|
||||
$writer->addRow($footerRow);
|
||||
|
||||
$writer->close();
|
||||
|
||||
return Helper::responseJson([
|
||||
'file_name' => 'Report-Data-Claim-Management-'. $start_date.'-'.$end_date,
|
||||
"file_url" => url('files/Report-Data-Claim-Management-'. $start_date.'-'.$end_date.'.xlsx')
|
||||
]);
|
||||
}
|
||||
|
||||
public function exportFiled(Request $request)
|
||||
{
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
$writer->openToFile(public_path('files/Report-Data-Filed-Import.xlsx'));
|
||||
$header = [
|
||||
'Code*',
|
||||
'QC*',
|
||||
'Reason'
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
|
||||
$headerRow = WriterEntityFactory::createRowFromArray($header, $style);
|
||||
$writer->addRow($headerRow);
|
||||
// ============================
|
||||
|
||||
foreach($request->params as $item)
|
||||
{
|
||||
|
||||
$rowData = [
|
||||
$item['code'],
|
||||
$item['qc'],
|
||||
$item['reason']
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
//->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
$row = WriterEntityFactory::createRowFromArray($rowData, $style);
|
||||
$writer->addRow($row);
|
||||
}
|
||||
$footer = [
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
|
||||
$footerRow = WriterEntityFactory::createRowFromArray($footer, $style);
|
||||
$writer->addRow($footerRow);
|
||||
|
||||
$writer->close();
|
||||
|
||||
return Helper::responseJson([
|
||||
'file_name' => 'Report-Data-Filed-Import',
|
||||
"file_url" => url('files/Report-Data-Filed-Import.xlsx')
|
||||
]);
|
||||
}
|
||||
public function getProvider(Request $request)
|
||||
{
|
||||
$providers = DB::table('organizations')
|
||||
->where('organizations.type', '=', 'hospital')
|
||||
->where('organizations.status', '=', 'active')
|
||||
->select(
|
||||
'organizations.id',
|
||||
'organizations.name'
|
||||
)
|
||||
->orderBy('name', 'asc')
|
||||
->get();
|
||||
|
||||
return response()->json($providers);
|
||||
}
|
||||
|
||||
public function cekStatus($id)
|
||||
{
|
||||
$cek = DB::table('claim_requests')
|
||||
->where('claim_requests.id', '=', $id)
|
||||
->select('claim_requests.status_claim_management as status')
|
||||
->first();
|
||||
|
||||
$data['cek'] = $cek;
|
||||
|
||||
$member = DB::table('claim_requests')
|
||||
->join('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
|
||||
->join('members', 'request_logs.member_id', '=', 'members.id')
|
||||
->where('claim_requests.id', '=', $id)
|
||||
->select('claim_requests.code','members.name','claim_requests.created_at', DB::raw('
|
||||
(SELECT services.name FROM services WHERE services.code = request_logs.service_code LIMIT 1) AS service_type
|
||||
'),)
|
||||
->first();
|
||||
|
||||
$data['member'] = $member;
|
||||
|
||||
return response()->json($data);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -334,21 +739,18 @@ class ClaimController extends Controller
|
||||
return Helper::responseJson([], message: "Diagnosis berhasil di update");
|
||||
}
|
||||
|
||||
public function decline($id)
|
||||
public function decline(Request $request, $id)
|
||||
{
|
||||
//Get claim request id
|
||||
$data_claim_requests = DB::table('claim_requests')
|
||||
->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
|
||||
->where('claims.id', $id)
|
||||
->select('claim_requests.id')
|
||||
->first();
|
||||
$id = $data_claim_requests->id;
|
||||
|
||||
DB::table('claims')
|
||||
->where('claim_request_id', $id)
|
||||
DB::table('claim_requests')
|
||||
->where('claim_requests.id', $id)
|
||||
->update(
|
||||
[
|
||||
'status' => 'declined'
|
||||
'status' => 'declined',
|
||||
'status_claim_management' => 'declined',
|
||||
'reason_decline' => $request->reasonDecline ? $request->reasonDecline : '',
|
||||
'approval_date_claim_management' => date('Y-m-d H:i:s'),
|
||||
'approval_by_claim_management' => auth()->user()->id
|
||||
]
|
||||
);
|
||||
|
||||
@@ -370,19 +772,14 @@ class ClaimController extends Controller
|
||||
|
||||
public function approve($id)
|
||||
{
|
||||
//Get claim request id
|
||||
$data_claim_requests = DB::table('claim_requests')
|
||||
->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
|
||||
->where('claims.id', $id)
|
||||
->select('claim_requests.id')
|
||||
->first();
|
||||
$id = $data_claim_requests->id;
|
||||
|
||||
DB::table('claims')
|
||||
->where('claim_request_id', $id)
|
||||
DB::table('claim_requests')
|
||||
->where('claim_requests.id', $id)
|
||||
->update(
|
||||
[
|
||||
'status' => 'approved'
|
||||
'status' => 'approved',
|
||||
'status_claim_management' => 'approved',
|
||||
'approval_date_claim_management' => date('Y-m-d H:i:s'),
|
||||
'approval_by_claim_management' => auth()->user()->id
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
@@ -17,15 +17,23 @@ use App\Services\ClaimRequestService;
|
||||
use App\Exceptions\ImportRowException;
|
||||
use App\Events\ClaimRequested;
|
||||
|
||||
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
|
||||
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
|
||||
use Box\Spout\Writer\Common\Creator\Style\StyleBuilder;
|
||||
use Box\Spout\Common\Entity\Style\CellAlignment;
|
||||
|
||||
use App\Models\File;
|
||||
use App\Models\FilesMcu;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\Member;
|
||||
use App\Models\MemberPlan;
|
||||
use App\Models\Plan;
|
||||
use App\Models\RequestLogBenefit;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class ClaimRequestController extends Controller
|
||||
{
|
||||
private static $code_prefix = 'CRQ-C';
|
||||
private static $code_prefix = 'CLAIM';
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
@@ -41,11 +49,17 @@ class ClaimRequestController extends Controller
|
||||
});
|
||||
})
|
||||
->when($request->start_date, function ($q, $startDate) {
|
||||
$q->where('submission_date', '>', $startDate);
|
||||
$q->where('submission_date', '>', Carbon::parse($startDate)->subDay());
|
||||
})
|
||||
->when($request->end_date, function ($q, $endDate) {
|
||||
$q->where('submission_date', '<', $endDate);
|
||||
->when($request->end_date, function ($q, $endDate) use ($request) {
|
||||
// Jika tanggal akhir diberikan dan tidak sama dengan tanggal mulai
|
||||
if ($request->start_date != $request->end_date) {
|
||||
$q->where('submission_date', '<', Carbon::parse($endDate)->addDay());
|
||||
} else {
|
||||
$q->where('submission_date', '<', Carbon::parse($endDate)->addDay());
|
||||
}
|
||||
})
|
||||
|
||||
->when($request->service_code, function ($q, $serviceCode) {
|
||||
$q->whereIn('service_code', $serviceCode);
|
||||
})
|
||||
@@ -62,7 +76,7 @@ class ClaimRequestController extends Controller
|
||||
})
|
||||
->with(['member', 'files', 'service', 'member.currentPolicy'])
|
||||
->paginate();
|
||||
|
||||
|
||||
return Helper::paginateResources(ClaimRequestResource::collection($claimRequests));
|
||||
}
|
||||
|
||||
@@ -429,6 +443,7 @@ class ClaimRequestController extends Controller
|
||||
$import = new ImportService();
|
||||
$import->read($fileRead);
|
||||
$import->write($fileWrite, 'xsls');
|
||||
|
||||
foreach ($import->sheetsIterator() as $sheetIndex => $sheet) {
|
||||
if ($sheetIndex == 1) { // Rename First Sheet to Writer
|
||||
$firstWriterSheet = $import->writer->getCurrentSheet();
|
||||
@@ -445,6 +460,9 @@ class ClaimRequestController extends Controller
|
||||
$result_headers = array_merge($result_headers, ['Ingest Code', 'Ingest Note']);
|
||||
|
||||
$import->addArrayToRow($result_headers);
|
||||
$imported_claim_data = 0;
|
||||
$failed_claim_data = [];
|
||||
|
||||
$doc_headers_indexes = [];
|
||||
foreach ($sheet->getRowIterator() as $index => $row) {
|
||||
if ($index == 1) { // First Row Must be Header
|
||||
@@ -465,25 +483,28 @@ class ClaimRequestController extends Controller
|
||||
}
|
||||
try { // Process the Row Data
|
||||
$claimRequestService = new ClaimRequestService();
|
||||
|
||||
$claimRequestService->handleClaimRequestRow($row_data);
|
||||
|
||||
// Write Success Result to File
|
||||
// $import->read($fileRead);
|
||||
// $import->write($fileWrite, 'xsls');
|
||||
$result_headers = array_merge($row_data, ['Ingest Code' =>200, 'Ingest Note' => 'Success']);
|
||||
|
||||
// Mengambil tanggal dari objek DateTime
|
||||
$dateSubmission = Helper::dateParser($result_headers['date_submission']); // Format tanggal sesuai kebutuhan
|
||||
// Mengubah nilai date_submission menjadi string tanggal
|
||||
$result_headers['date_submission'] = $dateSubmission;
|
||||
// dd($result_headers);
|
||||
$import->addArrayToRow($result_headers, $sheet->getName());
|
||||
|
||||
$imported_claim_data++;
|
||||
} catch (ImportRowException $e) {
|
||||
// Write Data Validation Error to File
|
||||
// $import->read($fileRead);
|
||||
// $import->write($fileWrite, 'xsls');
|
||||
|
||||
$import->addArrayToRow(array_merge($row_data, [
|
||||
$new_claim_data = $import->addArrayToRow(array_merge($row_data, [
|
||||
'Ingest Code' => $e->getCode(),
|
||||
'Ingest Note' => $e->getMessage(),
|
||||
]), $sheet->getName());
|
||||
|
||||
$failed_claim_data[] = ['row_number' => $index, 'error' => $e->getMessage(),'data' => $new_claim_data];
|
||||
}
|
||||
// catch (\Exception $e) {
|
||||
// // throw new \Exception($e);
|
||||
@@ -502,104 +523,20 @@ class ClaimRequestController extends Controller
|
||||
$import->reader->close();
|
||||
Storage::delete('temp/' . $file_name);
|
||||
$import->writer->close();
|
||||
|
||||
return [
|
||||
// 'total_successed_row' => $imported_plan_data,
|
||||
// 'total_failed_row' => count($failed_plan_data),
|
||||
// 'failed_row' => $failed_plan_data,
|
||||
|
||||
'result_file' => [
|
||||
'url' => Storage::disk('public')->url('temp/result-' . $file_name),
|
||||
'name' => 'result-' . $file_name,
|
||||
'total_success_row' => $imported_claim_data,
|
||||
'total_failed_row' => count($failed_claim_data),
|
||||
'failed_row' => $failed_claim_data,
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function claimRequestDetail($claimRequestId)
|
||||
{
|
||||
// $status = DB::table('claim_requests')
|
||||
// ->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
|
||||
// ->leftJoin('members', 'claim_requests.member_id', '=', 'members.id')
|
||||
// ->leftJoin('corporate_employees', 'members.id', '=', 'corporate_employees.member_id')
|
||||
// ->leftJoin('corporate_divisions', 'corporate_employees.division_id', '=', 'corporate_divisions.id')
|
||||
// ->where('claim_requests.id', '=', $claimRequestId)
|
||||
// ->select(
|
||||
// 'claim_requests.submission_date',
|
||||
// 'claim_requests.code',
|
||||
// DB::raw('
|
||||
// CASE
|
||||
// WHEN claim_requests.status = "requested" THEN "requested"
|
||||
// WHEN claim_requests.status = "approved" AND claims.status = "approved" THEN "approved"
|
||||
// WHEN claim_requests.status = "approved" AND claims.status = "declined" THEN "declined"
|
||||
// WHEN claim_requests.status = "approved" AND claims.status = "disbrusmented" THEN "disbrusmented"
|
||||
// /*WHEN claim_requests.status = "approved" AND claims.status = "received" THEN "pending"*/
|
||||
// WHEN claim_requests.status = "approved" AND claims.status = "received" THEN "reviewed"
|
||||
// ELSE ""
|
||||
// END AS status
|
||||
// ')
|
||||
// )
|
||||
// ->first();
|
||||
// $results['status'] = $status;
|
||||
// $timeline = DB::table('claim_logs')
|
||||
// ->where('claim_logs.claim_request_id', '=', $claimRequestId)
|
||||
// ->select(
|
||||
// DB::raw('
|
||||
// CASE
|
||||
// WHEN claim_logs.status = "requested" THEN "Request"
|
||||
// WHEN claim_logs.status = "reviewed" THEN "Review"
|
||||
// WHEN claim_logs.status = "approved" THEN "Approval"
|
||||
// WHEN claim_logs.status = "declined" THEN "Decline"
|
||||
// ELSE "-"
|
||||
// END AS txt_status
|
||||
// '),
|
||||
// DB::raw('
|
||||
// CASE
|
||||
// WHEN claim_logs.status = "requested" THEN "#159C9C"
|
||||
// WHEN claim_logs.status = "reviewed" THEN "#0C53B7"
|
||||
// WHEN claim_logs.status = "approved" THEN "#229A16"
|
||||
// WHEN claim_logs.status = "declined" THEN "#FF4842"
|
||||
// ELSE "-"
|
||||
// END AS txt_status_color
|
||||
// '),
|
||||
// DB::raw('
|
||||
// CASE
|
||||
// WHEN claim_logs.status = "requested" THEN "#00AB5529"
|
||||
// WHEN claim_logs.status = "reviewed" THEN "#1890FF29"
|
||||
// WHEN claim_logs.status = "approved" THEN "#54D62C29"
|
||||
// WHEN claim_logs.status = "declined" THEN "#FF48427A"
|
||||
// ELSE "-"
|
||||
// END AS txt_status_backgroundColor
|
||||
// '),
|
||||
// 'claim_logs.date',
|
||||
// 'claim_logs.description',
|
||||
// 'claim_logs.status'
|
||||
// )
|
||||
// ->orderBy('claim_logs.id', 'desc')
|
||||
// ->get();
|
||||
// $results['timeline'] = $timeline;
|
||||
// $request_files = DB::table('claim_request_files')
|
||||
// ->where('claim_request_files.claim_request_id', '=', $claimRequestId)
|
||||
// ->select(
|
||||
// 'claim_request_files.*',
|
||||
// DB::raw('(SELECT files.fileable_id FROM files WHERE files.fileable_id = claim_request_files.claim_request_id AND files.type = claim_request_files.type LIMIT 1) AS check_files'),
|
||||
// )
|
||||
// ->get();
|
||||
// $results['request_files'] = $request_files;
|
||||
// $documents = DB::table('files')
|
||||
// ->where('fileable_type', 'App\Models\ClaimRequest')
|
||||
// ->where('fileable_id', $claimRequestId)
|
||||
// ->select('original_name', \DB::raw("CONCAT('" . env('APP_URL') . "/storage/', path) as path"), 'type')
|
||||
// ->orderBy('id', 'desc')
|
||||
// ->get();
|
||||
// $results['documents'] = $documents;
|
||||
// $dialog_submits = DB::table('claim_requests')
|
||||
// ->leftJoin('members', 'claim_requests.member_id','=', 'members.id')
|
||||
// ->where('claim_requests.id', $claimRequestId)
|
||||
// ->select('claim_requests.code', 'members.name', 'claim_requests.submission_date', 'claim_requests.service_code','claim_requests.status')
|
||||
// ->first();
|
||||
// $results['dialog_submits'] = $dialog_submits;
|
||||
|
||||
// return Helper::responseJson($results);
|
||||
|
||||
$claimRequest = ClaimRequest::findOrFail($claimRequestId);
|
||||
$claimRequest->load([
|
||||
'requestLog',
|
||||
@@ -704,10 +641,6 @@ class ClaimRequestController extends Controller
|
||||
|
||||
public static function getNextCode()
|
||||
{
|
||||
// $last_number = ClaimRequest::max('code');
|
||||
// $next_number = empty($last_number) ? 1 : ((int) explode('-', $last_number)[2] + 1);
|
||||
// return self::makeCode($next_number);
|
||||
|
||||
$last_numeric_code = ClaimRequest::select(DB::raw('MAX(CAST(SUBSTRING_INDEX(code, "-", -1) AS SIGNED)) as max_numeric_code'))
|
||||
->whereRaw('SUBSTRING_INDEX(code, "-", -1) REGEXP "^[0-9]+$"')
|
||||
->value('max_numeric_code');
|
||||
@@ -725,11 +658,17 @@ class ClaimRequestController extends Controller
|
||||
|
||||
public static function makeCode($next_number)
|
||||
{
|
||||
// Pastikan $next_number adalah integer positif
|
||||
$next_number = max(1, (int) $next_number);
|
||||
|
||||
// Menghasilkan kode dengan format yang diinginkan
|
||||
return self::$code_prefix . '-' . str_pad($next_number, 5, '0', STR_PAD_LEFT);
|
||||
// Pastikan $next_number adalah integer positif
|
||||
$next_number = max(1, (int) $next_number);
|
||||
$requestLogData = RequestLog::where('id', $request_log_id)->first();
|
||||
$organization = Organization::where(['id' => $requestLogData->organization_id, 'type' => 'hospital'])->first('code');
|
||||
$provideCode = $organization ? $organization->code : '';
|
||||
$member = Member::with('currentCorporate')->where(['id' => $requestLogData->member_id])->first();
|
||||
$sparator = '.';
|
||||
$date = date('ymd');
|
||||
// Menghasilkan kode dengan format yang diinginkan
|
||||
return self::$code_prefix . $sparator. 'H' . $sparator. $provideCode . $sparator. $date. $sparator . $member->currentPolicy->code . $sparator. $member->member_id . $sparator. str_pad($next_number, 6, '0', STR_PAD_LEFT);
|
||||
|
||||
}
|
||||
|
||||
public function requestFiles(Request $request, $claim_id)
|
||||
@@ -788,4 +727,309 @@ class ClaimRequestController extends Controller
|
||||
|
||||
return Helper::responseJson(data: $request->toArray(), message: 'Invoice Success Uploaded');
|
||||
}
|
||||
|
||||
public function exportClaimRequest(Request $request)
|
||||
{
|
||||
$claimRequests = ClaimRequest::query()
|
||||
->when($request->search, function ($q, $search) {
|
||||
$q->where('code', 'LIKE', "%".$search."%");
|
||||
$q->orWhereHas('member', function ($subQuery) use ($search) {
|
||||
$subQuery->where('name', 'LIKE', "%".$search."%");
|
||||
});
|
||||
})
|
||||
->when($request->start_date, function ($q, $startDate) {
|
||||
$q->where('submission_date', '>', Carbon::parse($startDate)->subDay());
|
||||
})
|
||||
->when($request->end_date, function ($q, $endDate) use ($request) {
|
||||
// Jika tanggal akhir diberikan dan tidak sama dengan tanggal mulai
|
||||
if ($request->start_date != $request->end_date) {
|
||||
$q->where('submission_date', '<', Carbon::parse($endDate)->addDay());
|
||||
} else {
|
||||
$q->where('submission_date', '<=', Carbon::parse($endDate));
|
||||
}
|
||||
})
|
||||
->when($request->service_code, function ($q, $serviceCode) {
|
||||
$q->whereIn('service_code', $serviceCode);
|
||||
})
|
||||
->when($request->orderBy, function ($q, $orderBy) use ($request) {
|
||||
if (in_array($orderBy, ['submission_date', 'code'])) {
|
||||
$q->orderBy($orderBy, $request->order);
|
||||
}
|
||||
})
|
||||
->when(empty($request->orderBy), function ($q) {
|
||||
$q->orderBy('created_at', 'desc');
|
||||
})
|
||||
->when($request->status, function($q, $status) {
|
||||
$q->where('status', $status);
|
||||
})
|
||||
->with(['member', 'member.currentCorporate', 'files', 'service', 'member.currentPolicy', 'requestLog', 'requestLog.organization',])
|
||||
->addSelect([
|
||||
'tot_billing' => function ($query) {
|
||||
$query->select(DB::raw('SUM(request_log_benefits.amount_approved)'))
|
||||
->from('request_log_benefits')
|
||||
->whereColumn('request_log_benefits.request_log_id', 'claim_requests.request_log_id')
|
||||
->limit(1);
|
||||
}
|
||||
])
|
||||
->get();
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
$writer->openToFile(public_path('files/Report-Data-Claim-Request.xlsx'));
|
||||
$header = [
|
||||
'No',
|
||||
'Code Claim',
|
||||
'Date Claim Submission',
|
||||
'Code LOG',
|
||||
'Date Submission',
|
||||
'Date Admission',
|
||||
'Date Discharge',
|
||||
'Provider',
|
||||
'Member ID (BN)',
|
||||
'Member Name',
|
||||
'Member Name Principal',
|
||||
'Plan Code',
|
||||
'Payor ID',
|
||||
'Corporate name',
|
||||
'Policy Number',
|
||||
'Total Billing',
|
||||
'Benefit Code',
|
||||
'Benefit Desc',
|
||||
'Amt Incurred',
|
||||
'Amt Approved',
|
||||
'Amt Not Approved',
|
||||
'Excess Paid',
|
||||
// 'Reason',
|
||||
'Diagnosis',
|
||||
'Keterangan',
|
||||
'Catatan',
|
||||
'Status',
|
||||
'QC'
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
|
||||
$headerRow = WriterEntityFactory::createRowFromArray($header, $style);
|
||||
$writer->addRow($headerRow);
|
||||
|
||||
$results = $claimRequests;
|
||||
$no=0;
|
||||
$gr_total = 0;
|
||||
$rowData=[];
|
||||
foreach($results as $item)
|
||||
{
|
||||
// $gr_total += $item->tot_bill;
|
||||
// $requestLogData = RequestLogBenefit::selectRaw('*,
|
||||
// (SELECT code FROM benefits WHERE benefits.id = request_log_benefits.benefit_id) AS benefit_code,
|
||||
// (SELECT description FROM benefits WHERE benefits.id = request_log_benefits.benefit_id) AS benefit_description,
|
||||
// sum(amount_incurred) AS total_incurred'
|
||||
// )
|
||||
// ->where(['request_log_id' => $item->request_log_id, 'deleted_at' => null])
|
||||
// ->get()->toArray();
|
||||
|
||||
//Data Benefit
|
||||
$requestLogData = DB::table('request_log_benefits')
|
||||
->where('request_log_benefits.request_log_id', '=', $item->request_log_id)
|
||||
->select(
|
||||
'*',
|
||||
// DB::raw('SUM(request_log_benefits.amount_incurred) AS total_incurred'),
|
||||
|
||||
DB::raw('
|
||||
(Select benefits.description FROM benefits
|
||||
WHERE benefits.id = request_log_benefits.benefit_id LIMIT 1) AS benefit_description
|
||||
'),
|
||||
DB::raw('
|
||||
(Select benefits.code FROM benefits
|
||||
WHERE benefits.id = request_log_benefits.benefit_id LIMIT 1) AS benefit_code
|
||||
')
|
||||
)
|
||||
->get();
|
||||
if ($item->member){
|
||||
$member = Member::where('member_id', $item->member->principal_id)->first();
|
||||
$memberPrincipal = $member->name;
|
||||
$memberPlan = MemberPlan::where('member_id', $item->member->id)->get('plan_id')->toArray();
|
||||
$plan= Plan::whereIn('id', $memberPlan)->where('service_code', $item->requestLog->service_code)->first();
|
||||
$planCode = $plan->code;
|
||||
if ($item->member->currentCorporate->id == $item->requestLog->organization->corporate_id_partner){
|
||||
$payor = $item->member->currentCorporate->name;
|
||||
} else {
|
||||
$payor = 'LinkSehat';
|
||||
}
|
||||
} else {
|
||||
$memberPrincipal = '-';
|
||||
$planCode = '-';
|
||||
$payor = '-';
|
||||
}
|
||||
|
||||
if (!$requestLogData->isEmpty()){
|
||||
foreach($requestLogData as $key => $data){
|
||||
$no++;
|
||||
if ($key == 0){
|
||||
$gr_total += $item->tot_billing;
|
||||
}
|
||||
$rowItem = [
|
||||
$no,
|
||||
$item->code,
|
||||
$item->submission_date ? $item->submission_date : '',
|
||||
$item->requestLog ? $item->requestLog->code : '-',
|
||||
$item->requestLog ? Helper::dateParser($item->requestLog->created_at) : '-', // submission = created_at
|
||||
$item->requestLog ? $item->requestLog->submission_date : '-',
|
||||
$item->requestLog ? $item->requestLog->discharge_date : '-',
|
||||
$item->requestLog ? $item->requestLog->organization->name : '-',
|
||||
$item->member ? $item->member->member_id : '-',
|
||||
$item->member ? $item->member->name : '-',
|
||||
$memberPrincipal,
|
||||
$key == 0 ? $planCode : '',
|
||||
$payor,
|
||||
$item->member ? $item->member->currentCorporate->name : '-',
|
||||
$item->member ? $item->member->currentPolicy->code : '-',
|
||||
$key == 0 ? $item->tot_billing : '',
|
||||
$data->benefit_code,
|
||||
$data->benefit_description,
|
||||
$data->amount_incurred ? $data->amount_incurred : '' ,
|
||||
$data->amount_approved ? $data->amount_approved : '',
|
||||
$data->amount_not_approved ? $data->amount_not_approved : '',
|
||||
$data->excess_paid ? $data->excess_paid : '',
|
||||
// $data->reason ? $data->reason : '',
|
||||
$item->requestLog ? $item->requestLog->diagnosis : '-',
|
||||
$item->requestLog ? $item->requestLog->keterangan : '-',
|
||||
$item->requestLog ? $item->requestLog->catatan : '-',
|
||||
$item->status ? $item->status : '-'
|
||||
];
|
||||
array_push($rowData,$rowItem);
|
||||
}
|
||||
} else {
|
||||
$no++;
|
||||
if ($item->member){
|
||||
$member = Member::where('member_id', $item->member->principal_id)->first();
|
||||
$memberPrincipal = $member->name;
|
||||
$memberPlan = MemberPlan::where('member_id', $item->member->id)->get('plan_id')->toArray();
|
||||
$plan= Plan::whereIn('id', $memberPlan)->where('service_code', $item->requestLog->service_code)->first();
|
||||
$planCode = $plan->code;
|
||||
if ($item->member->currentCorporate->id == $item->requestLog->organization->corporate_id_partner){
|
||||
$payor = $item->member->currentCorporate->name;
|
||||
} else {
|
||||
$payor = 'LinkSehat';
|
||||
}
|
||||
} else {
|
||||
$memberPrincipal = '-';
|
||||
$planCode = '-';
|
||||
$payor = '-';
|
||||
}
|
||||
$rowItem = [
|
||||
$no,
|
||||
$item->code,
|
||||
$item->submission_date ? Helper::dateParser($item->submission_date) : '',
|
||||
$item->requestLog ? $item->requestLog->code : '-',
|
||||
$item->requestLog ? Helper::dateParser($item->requestLog->created_at) : '-', // submission = created_at
|
||||
$item->requestLog ? $item->requestLog->submission_date : '-',
|
||||
$item->requestLog ? $item->requestLog->discharge_date : '-',
|
||||
$item->requestLog ? $item->requestLog->organization->name : '-',
|
||||
$item->member ? $item->member->member_id : '-',
|
||||
$item->member ? $item->member->name : '-',
|
||||
$memberPrincipal,
|
||||
$planCode,
|
||||
$payor,
|
||||
$item->member ? $item->member->currentCorporate->name : '-',
|
||||
$item->member ? $item->member->currentPolicy->code : '-',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
// '',
|
||||
$item->requestLog ? $item->requestLog->diagnosis : '-',
|
||||
$item->requestLog ? $item->requestLog->keterangan : '-',
|
||||
$item->requestLog ? $item->requestLog->catatan : '-',
|
||||
$item->status ? $item->status : '-'
|
||||
];
|
||||
array_push($rowData,$rowItem);
|
||||
}
|
||||
|
||||
}
|
||||
$style = (new StyleBuilder())
|
||||
//->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
foreach ($rowData as $rowItem) {
|
||||
// if (is_numeric($rowItem[13])) {
|
||||
// // Jumlahkan nilai angka ke total
|
||||
// $grand_total_billing += $rowItem[13];
|
||||
// }
|
||||
$row = WriterEntityFactory::createRowFromArray($rowItem, $style);
|
||||
$writer->addRow($row);
|
||||
}
|
||||
|
||||
//Footer
|
||||
$footer = [
|
||||
'Total',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
$gr_total,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
];
|
||||
$style = (new StyleBuilder())
|
||||
->setFontBold()
|
||||
// ->setFontSize(15)
|
||||
// ->setFontColor(Color::BLUE)
|
||||
// ->setShouldWrapText()
|
||||
->setCellAlignment(CellAlignment::LEFT)
|
||||
// ->setBackgroundColor(Color::YELLOW)
|
||||
->build();
|
||||
$grand_total_billing = 0;
|
||||
$footerRow = WriterEntityFactory::createRowFromArray($footer, $style);
|
||||
$writer->addRow($footerRow);
|
||||
|
||||
$writer->close();
|
||||
return Helper::responseJson([
|
||||
'file_name' => 'Report-Data-Claim-Request',
|
||||
"file_url" => url('files/Report-Data-Claim-Request.xlsx')
|
||||
]);
|
||||
}
|
||||
|
||||
public function submition($id){
|
||||
$claimRequest = ClaimRequest::findOrFail($id);
|
||||
$claimRequest->status = 'submission';
|
||||
$claimRequest->claim_management = 1;
|
||||
$claimRequest->status_claim_management = 'received';
|
||||
$claimRequest->submission_date_claim_management = date('Y-m-d H:i:s');
|
||||
$claimRequest->submission_by_claim_management = auth()->user()->id;
|
||||
|
||||
$claimRequest->save();
|
||||
|
||||
return response()->json([
|
||||
'error' => false,
|
||||
'message' => 'Update succses',
|
||||
'data' => $claimRequest],
|
||||
200);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,8 +559,8 @@ class CorporateController extends Controller
|
||||
break;
|
||||
case 'claim-request':
|
||||
return Helper::responseJson([
|
||||
'file_name' => "Template Format Claim.xlsx",
|
||||
"file_url" => url('files/Template Format Claim.xlsx')
|
||||
'file_name' => "Template Claim Request.xlsx",
|
||||
"file_url" => url('files/Template Claim Request.xlsx')
|
||||
]);
|
||||
break;
|
||||
case 'request-log':
|
||||
|
||||
Reference in New Issue
Block a user