Merge remote-tracking branch 'origin/staging' into origin/production

This commit is contained in:
Linksehat Staging Server
2024-01-03 15:02:22 +07:00
16 changed files with 1540 additions and 364 deletions

View File

@@ -63,7 +63,7 @@ class ClaimRequestController extends Controller
serviceCode: $request->service_code[$key],
);
ClaimRequested::dispatch($newClaimRequest);
// ClaimRequested::dispatch($newClaimRequest);
// Log History
$newClaimRequest->histories()->create([

View File

@@ -96,6 +96,16 @@ class MemberController extends Controller
$res_data['type'] = $request->type;
// Provider
$providers = DB::table('organizations')
->select(
'organizations.id',
'organizations.name'
)
->get();
$res_data['providers'] = $providers;
return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200);
}

View File

@@ -23,7 +23,10 @@ class RequestLogController extends Controller
{
$data = [
'member_id' => $request->member_id,
'service_code' => $request->service_code
'service_code' => $request->service_code,
'id_provider' => $request->id_provider,
'name_provider' => $request->name_provider,
'adress_provider' => $request->address_provider
];
$validator = Validator::make($request->all(), [
'member_id' => 'required',
@@ -32,6 +35,18 @@ class RequestLogController extends Controller
'member_id.required' => trans('Validation.required',['attribute' => 'Member ID']),
'service_code.required' => trans('Validation.required',['attribute' => 'Service Code']),
]);
if($request->id_provider)
{
$validator = Validator::make($request->all(), [
'id_provider' => 'required',
'member_id' => 'required',
'service_code' => 'required'
], [
'id_provider.required' => trans('Validation.required',['attribute' => 'Provider ID']),
'member_id.required' => trans('Validation.required',['attribute' => 'Member ID']),
'service_code.required' => trans('Validation.required',['attribute' => 'Service Code']),
]);
}
if ($validator->fails())
{
return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400);
@@ -302,13 +317,17 @@ class RequestLogController extends Controller
(Select persons.nik FROM persons WHERE persons.id = members.person_id LIMIT 1) AS nik
'),
DB::raw('
"Link Sehat" AS penjamin
"LinkSehat" AS penjamin
'),
DB::raw('
(Select corporates.name FROM corporates
INNER JOIN corporate_employees ON corporate_employees.corporate_id = corporates.id
WHERE corporate_employees.member_id = members.id LIMIT 1) AS nama_perusahaan
'),
DB::raw('
(Select services.name FROM services
WHERE services.code = "'.$dataRequestLog->service_code.'" LIMIT 1) AS jenis_perwatan
'),
DB::raw('
(Select member_policies.policy_id FROM member_policies WHERE member_policies.member_id = members.member_id LIMIT 1) AS no_polis
'),
@@ -376,14 +395,17 @@ class RequestLogController extends Controller
$options->set(['isRemoteEnabled' => true]);
$pdf->setOptions($options);
$pdf->setPaper('A4', 'portrait');
// Halaman 1
$html1 = view('pdf.req_log_page_1', $data);
// Halaman 2
$html2 = view('pdf.req_log_page_2', $data);
// $html2 = view('pdf.req_log_page_2', $data);
// Gabung konten HTML dari dua tampilan
$htmlCombined = $html1 . $html2;
// $htmlCombined = $html1 . $html2;
$htmlCombined = $html1;
$pdf->loadHtml($htmlCombined);
$pdf->render();
@@ -413,13 +435,17 @@ class RequestLogController extends Controller
(Select persons.nik FROM persons WHERE persons.id = members.person_id LIMIT 1) AS nik
'),
DB::raw('
"Link Sehat" AS penjamin
"LinkSehat" AS penjamin
'),
DB::raw('
(Select corporates.name FROM corporates
INNER JOIN corporate_employees ON corporate_employees.corporate_id = corporates.id
WHERE corporate_employees.member_id = members.id LIMIT 1) AS nama_perusahaan
'),
DB::raw('
(Select services.name FROM services
WHERE services.code = "'.$dataRequestLog->service_code.'" LIMIT 1) AS jenis_perwatan
'),
DB::raw('
(Select member_policies.policy_id FROM member_policies WHERE member_policies.member_id = members.member_id LIMIT 1) AS no_polis
'),

View File

@@ -79,7 +79,7 @@ class CorporateController extends Controller
*/
public function store(Request $request)
{
$request->validate([
'code' => 'required|regex:/^[a-zA-Z0-9_]+$/',
'name' => 'required',
@@ -468,9 +468,9 @@ class CorporateController extends Controller
// $import->read($fileRead);
// $import->write($fileWrite, 'xsls');
$result_headers = array_merge($row_data, ['Ingest Code' =>200, 'Ingest Note' => 'Success']);
$import->addArrayToRow($result_headers, $sheet->getName());
} catch (ImportRowException $e) {
// Write Data Validation Error to File
// $import->read($fileRead);
@@ -518,7 +518,7 @@ class CorporateController extends Controller
}
public function importDocumentExample($document_type)
public function importDocumentExample($document_type)
{
switch ($document_type) {
case 'plan-benefit':
@@ -532,7 +532,7 @@ class CorporateController extends Controller
'file_name' => "Corporate Membership Import.xlsx",
"file_url" => url('files/Corporate Membership Import.xlsx')
]);
break;
break;
case 'diagnosis-exclusion':
return Helper::responseJson([
'file_name' => "Corporate Exclusion Import.xlsx",
@@ -544,31 +544,31 @@ class CorporateController extends Controller
'file_name' => "Template - ICD.xlsx",
"file_url" => url('files/Template - ICD.xlsx')
]);
break;
break;
case 'master-formularium':
return Helper::responseJson([
'file_name' => "Template - Formularium.xlsx",
"file_url" => url('files/Template - Formularium.xlsx')
]);
break;
break;
case 'master-formularium-corporate':
return Helper::responseJson([
'file_name' => "Template - Formularium.xlsx",
"file_url" => url('files/Template - Formularium - Corporate.xlsx')
]);
break;
break;
case 'claim-request':
return Helper::responseJson([
'file_name' => "Template Format Claim.xlsx",
"file_url" => url('files/Template Format Claim.xlsx')
]);
break;
break;
case 'request-log':
return Helper::responseJson([
'file_name' => "Template Update Status Request LOG.xlsx",
"file_url" => url('files/Template Update Status Request LOG.xlsx')
]);
break;
break;
default:
return Helper::responseJson([], 'error', 404);
break;
@@ -582,7 +582,7 @@ class CorporateController extends Controller
$writer = WriterEntityFactory::createXLSXWriter();
// Membuka penulis untuk menulis ke file
$writer->openToFile(public_path('files/CorporatePlan&BenefitImportData.xlsx'));
// Sheet 1
$writer->getCurrentSheet()->setName('Plans');
$headers_map_to_table_fields = Plan::$listing_doc_headers;
@@ -783,7 +783,7 @@ class CorporateController extends Controller
{
return Helper::responseJson(data: $request->toArray(), message: 'Tidak ada file yang ditambahkan');
}
}
public function getFilesDoc(Request $request)
@@ -825,5 +825,5 @@ class CorporateController extends Controller
return Helper::responseJson(data: $datas, message: 'Berhasil update status download menjadi '.($request->status_download == 0 ? 'Inactive' : 'Active'));
}
}

View File

@@ -456,7 +456,7 @@ class CorporateMemberController extends Controller
// 'currentPlan.corporateBenefits.benefit'
])->find($member_id);
$pdf = PDF::loadView('pdf.ecard', compact('member'))->setPaper('A5', 'portrait');
$pdf = PDF::loadView('pdf.ecard', compact('member'))->setPaper('A4', 'portrait');
return $pdf->download('Ecard - '.$member->full_name.'.pdf');
}

View File

@@ -29,10 +29,10 @@ class CorporateService
MCU=Medical Check Up
KB-VACC = Family Planning/Vaccination
LAB = Test Diagnostic
PHAR = Pharmacy
PHAR = Pharmacy
**/
protected $service_code = ['MEDIVAC', 'MSO', 'PAC', 'OPDE', 'IP', 'OP', 'MA', 'ANC', 'DE', 'GL', 'SP', 'PF', 'MCU', 'KB-VACC', 'LAB', 'PHAR'];
protected function corporatePlansId($corporate_id){
$plans = Plan::where('corporate_id', $corporate_id)->get()->toArray();
$current_corporate_plans_id = [];
@@ -80,8 +80,8 @@ class CorporateService
throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Customer Plan'
]), 0, null, $row);
}
}
if (!in_array($row['type'], $plan_code)){
throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Plan Type',
@@ -105,13 +105,13 @@ class CorporateService
// 'code' => $row['code']
// ]), 0, null, $row);
// }
if (!empty($row['family_plan']) && !in_array($row['family_plan'],$family_plan)) {
throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Family Plan',
'code' => $row['family_plan']
]), 0, null, $row);
}
}
if (!empty($row['prorate_type']) && !in_array($row['prorate_type'], $prorate_type)) {
throw new ImportRowException(__('plan.NOT_MATCH', [
@@ -181,16 +181,21 @@ class CorporateService
// ]), 0, null, $row);
}
if (empty($row['code'])) {
throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Benefit Code'
]), 0, null, $row);
}
if (empty($row['corporate_benefit_code'])) {
throw new ImportRowException(__('plan.REQUIRED', [
throw new ImportRowException(__('Customer Benefit Code Required', [
'attribute' => 'Customer Benefit Code'
]), 0, null, $row);
}
if (empty($row['description'])) {
throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Description'
@@ -211,14 +216,17 @@ class CorporateService
'attribute' => 'Gender'
]), 0, null, $row);
}
if (!empty($row['max_frequency_period']) && $row['max_frequency_period'] >= $max_frequence){ // jenis frequence
if (!empty($row['max_frequency_period']) && $row['max_frequency_period'] >= $max_frequence){ // jenis frequence
throw new ImportRowException(__('plan.MAX_FREQUENCY'), 0, null, $row);
}
if (!empty($row['budget']) && !in_array($budget_aso)) {
if (!empty($row['budget']) && !in_array($budget_aso)) {
throw new ImportRowException(__('plan.MAX_FREQUENCY'), 0, null, $row);
}
// if (empty($row['limit_free_tc'])){
// throw new ImportRowException(__('plan.REQUIRED', [
// 'attribute' => 'Limit Free TC'

View File

@@ -20,7 +20,7 @@ use Str;
class ClaimRequestService{
public static function storeClaimRequest($row = null, $code, $member, $paymentType, $serviceCode, $requestLogID, $submissionDate = null, $status = 'requested', $organization_code = null)
public static function storeClaimRequest($row = null, $code, $member, $paymentType, $serviceCode, $requestLogID = null, $submissionDate = null, $status = 'requested', $organization_code = null)
{
// try {
$organization = False;
@@ -38,7 +38,7 @@ class ClaimRequestService{
$claimRequestData = [
'code' => $code,
'request_log_id' => $requestLogID,
'request_log_id' => $requestLogID ?? 0,
'member_id' => $member->id,
'submission_date' => $submissionDate ?? now(),
'status' => $status,
@@ -60,6 +60,8 @@ class ClaimRequestService{
// }
}
public static function storeClaimManagement($row, $member, $claim_request_id){
try {
$organization = 0;
@@ -100,7 +102,7 @@ class ClaimRequestService{
DB::commit();
return $claimManagement;
} catch (\Exception $error) {
DB::rollBack();
@@ -144,18 +146,18 @@ class ClaimRequestService{
$paymentType = $row['claim_type'];
$status = $row['status'];
$serviceCode = $row['coverage_type'];
$newClaimRequest = $this->storeClaimRequest(
row: $row,
code: $code,
member: $member,
paymentType: $paymentType,
serviceCode: $serviceCode,
submissionDate: $submissionDate,
status: $status,
member: $member,
paymentType: $paymentType,
serviceCode: $serviceCode,
submissionDate: $submissionDate,
status: $status,
organization_code: $organization_id
);
$newlyCreatedID = $newClaimRequest->id;
$newClaimManangement = $this->storeClaimManagement($row, $member, $newlyCreatedID);
@@ -177,4 +179,4 @@ class ClaimRequestService{
}
}
}
}

View File

@@ -19,6 +19,7 @@
"laravel/socialite": "^5.5",
"laravel/tinker": "^2.7",
"maatwebsite/excel": "^3.1",
"mikehaertl/phpwkhtmltopdf": "^2.5",
"nwidart/laravel-modules": "^9.0",
"phpmailer/phpmailer": "^6.9",
"psr/simple-cache": "^1.0",

832
composer.lock generated
View File

@@ -4,8 +4,85 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a52c765d668149ac5dfb14e59c38bd82",
"content-hash": "c779fcf27ac449663570ccbb67a693d1",
"packages": [
{
"name": "barryvdh/laravel-dompdf",
"version": "v2.0.1",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-dompdf.git",
"reference": "9843d2be423670fb434f4c978b3c0f4dd92c87a6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/9843d2be423670fb434f4c978b3c0f4dd92c87a6",
"reference": "9843d2be423670fb434f4c978b3c0f4dd92c87a6",
"shasum": ""
},
"require": {
"dompdf/dompdf": "^2.0.1",
"illuminate/support": "^6|^7|^8|^9|^10",
"php": "^7.2 || ^8.0"
},
"require-dev": {
"nunomaduro/larastan": "^1|^2",
"orchestra/testbench": "^4|^5|^6|^7|^8",
"phpro/grumphp": "^1",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
},
"laravel": {
"providers": [
"Barryvdh\\DomPDF\\ServiceProvider"
],
"aliases": {
"Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf",
"PDF": "Barryvdh\\DomPDF\\Facade\\Pdf"
}
}
},
"autoload": {
"psr-4": {
"Barryvdh\\DomPDF\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "A DOMPDF Wrapper for Laravel",
"keywords": [
"dompdf",
"laravel",
"pdf"
],
"support": {
"issues": "https://github.com/barryvdh/laravel-dompdf/issues",
"source": "https://github.com/barryvdh/laravel-dompdf/tree/v2.0.1"
},
"funding": [
{
"url": "https://fruitcake.nl",
"type": "custom"
},
{
"url": "https://github.com/barryvdh",
"type": "github"
}
],
"time": "2023-01-12T15:12:49+00:00"
},
{
"name": "barryvdh/laravel-snappy",
"version": "v1.0.1",
@@ -538,6 +615,68 @@
],
"time": "2022-12-15T16:57:16+00:00"
},
{
"name": "dompdf/dompdf",
"version": "v2.0.4",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
"reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f",
"reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
"masterminds/html5": "^2.0",
"phenx/php-font-lib": ">=0.5.4 <1.0.0",
"phenx/php-svg-lib": ">=0.3.3 <1.0.0",
"php": "^7.1 || ^8.0"
},
"require-dev": {
"ext-json": "*",
"ext-zip": "*",
"mockery/mockery": "^1.3",
"phpunit/phpunit": "^7.5 || ^8 || ^9",
"squizlabs/php_codesniffer": "^3.5"
},
"suggest": {
"ext-gd": "Needed to process images",
"ext-gmagick": "Improves image processing performance",
"ext-imagick": "Improves image processing performance",
"ext-zlib": "Needed for pdf stream compression"
},
"type": "library",
"autoload": {
"psr-4": {
"Dompdf\\": "src/"
},
"classmap": [
"lib/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1"
],
"authors": [
{
"name": "The Dompdf Community",
"homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
}
],
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
"source": "https://github.com/dompdf/dompdf/tree/v2.0.4"
},
"time": "2023-12-12T20:19:39+00:00"
},
{
"name": "dragonmantank/cron-expression",
"version": "v3.3.2",
@@ -1489,6 +1628,90 @@
},
"time": "2018-01-15T06:57:33+00:00"
},
{
"name": "intervention/image",
"version": "2.7.2",
"source": {
"type": "git",
"url": "https://github.com/Intervention/image.git",
"reference": "04be355f8d6734c826045d02a1079ad658322dad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad",
"reference": "04be355f8d6734c826045d02a1079ad658322dad",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"guzzlehttp/psr7": "~1.1 || ^2.0",
"php": ">=5.4.0"
},
"require-dev": {
"mockery/mockery": "~0.9.2",
"phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15"
},
"suggest": {
"ext-gd": "to use GD library based image processing.",
"ext-imagick": "to use Imagick based image processing.",
"intervention/imagecache": "Caching extension for the Intervention Image library"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
},
"laravel": {
"providers": [
"Intervention\\Image\\ImageServiceProvider"
],
"aliases": {
"Image": "Intervention\\Image\\Facades\\Image"
}
}
},
"autoload": {
"psr-4": {
"Intervention\\Image\\": "src/Intervention/Image"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Oliver Vogel",
"email": "oliver@intervention.io",
"homepage": "https://intervention.io/"
}
],
"description": "Image handling and manipulation library with support for Laravel integration",
"homepage": "http://image.intervention.io/",
"keywords": [
"gd",
"image",
"imagick",
"laravel",
"thumbnail",
"watermark"
],
"support": {
"issues": "https://github.com/Intervention/image/issues",
"source": "https://github.com/Intervention/image/tree/2.7.2"
},
"funding": [
{
"url": "https://paypal.me/interventionio",
"type": "custom"
},
{
"url": "https://github.com/Intervention",
"type": "github"
}
],
"time": "2022-05-21T17:30:32+00:00"
},
{
"name": "knplabs/knp-snappy",
"version": "v1.4.1",
@@ -2302,6 +2525,71 @@
],
"time": "2023-01-19T12:02:19+00:00"
},
{
"name": "league/glide",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/glide.git",
"reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/glide/zipball/2ff92c8f1edc80b74e2d3c5efccfc7223f74d407",
"reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407",
"shasum": ""
},
"require": {
"intervention/image": "^2.7",
"league/flysystem": "^2.0|^3.0",
"php": "^7.2|^8.0",
"psr/http-message": "^1.0|^2.0"
},
"require-dev": {
"mockery/mockery": "^1.3.3",
"phpunit/php-token-stream": "^3.1|^4.0",
"phpunit/phpunit": "^8.5|^9.0"
},
"type": "library",
"autoload": {
"psr-4": {
"League\\Glide\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jonathan Reinink",
"email": "jonathan@reinink.ca",
"homepage": "http://reinink.ca"
},
{
"name": "Titouan Galopin",
"email": "galopintitouan@gmail.com",
"homepage": "https://titouangalopin.com"
}
],
"description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.",
"homepage": "http://glide.thephpleague.com",
"keywords": [
"ImageMagick",
"editing",
"gd",
"image",
"imagick",
"league",
"manipulation",
"processing"
],
"support": {
"issues": "https://github.com/thephpleague/glide/issues",
"source": "https://github.com/thephpleague/glide/tree/2.3.0"
},
"time": "2023-07-08T06:26:07+00:00"
},
{
"name": "league/mime-type-detection",
"version": "1.11.0",
@@ -2699,6 +2987,73 @@
},
"time": "2022-12-02T22:17:43+00:00"
},
{
"name": "masterminds/html5",
"version": "2.8.1",
"source": {
"type": "git",
"url": "https://github.com/Masterminds/html5-php.git",
"reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf",
"reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf",
"shasum": ""
},
"require": {
"ext-dom": "*",
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-4": {
"Masterminds\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matt Butcher",
"email": "technosophos@gmail.com"
},
{
"name": "Matt Farina",
"email": "matt@mattfarina.com"
},
{
"name": "Asmir Mustafic",
"email": "goetas@gmail.com"
}
],
"description": "An HTML5 parser and serializer.",
"homepage": "http://masterminds.github.io/html5-php",
"keywords": [
"HTML5",
"dom",
"html",
"parser",
"querypath",
"serializer",
"xml"
],
"support": {
"issues": "https://github.com/Masterminds/html5-php/issues",
"source": "https://github.com/Masterminds/html5-php/tree/2.8.1"
},
"time": "2023-05-10T11:58:31+00:00"
},
{
"name": "monolog/monolog",
"version": "2.9.1",
@@ -3474,6 +3829,177 @@
},
"time": "2022-09-26T03:40:35+00:00"
},
{
"name": "phenx/php-font-lib",
"version": "0.5.4",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-font-lib.git",
"reference": "dd448ad1ce34c63d09baccd05415e361300c35b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4",
"reference": "dd448ad1ce34c63d09baccd05415e361300c35b4",
"shasum": ""
},
"require": {
"ext-mbstring": "*"
},
"require-dev": {
"symfony/phpunit-bridge": "^3 || ^4 || ^5"
},
"type": "library",
"autoload": {
"psr-4": {
"FontLib\\": "src/FontLib"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0"
],
"authors": [
{
"name": "Fabien Ménager",
"email": "fabien.menager@gmail.com"
}
],
"description": "A library to read, parse, export and make subsets of different types of font files.",
"homepage": "https://github.com/PhenX/php-font-lib",
"support": {
"issues": "https://github.com/dompdf/php-font-lib/issues",
"source": "https://github.com/dompdf/php-font-lib/tree/0.5.4"
},
"time": "2021-12-17T19:44:54+00:00"
},
{
"name": "phenx/php-svg-lib",
"version": "0.5.1",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-svg-lib.git",
"reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
"reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^7.1 || ^8.0",
"sabberworm/php-css-parser": "^8.4"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Svg\\": "src/Svg"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-3.0"
],
"authors": [
{
"name": "Fabien Ménager",
"email": "fabien.menager@gmail.com"
}
],
"description": "A library to read, parse and export to PDF SVG files.",
"homepage": "https://github.com/PhenX/php-svg-lib",
"support": {
"issues": "https://github.com/dompdf/php-svg-lib/issues",
"source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1"
},
"time": "2023-12-11T20:56:08+00:00"
},
{
"name": "phpmailer/phpmailer",
"version": "v6.9.1",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "039de174cd9c17a8389754d3b877a2ed22743e18"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18",
"reference": "039de174cd9c17a8389754d3b877a2ed22743e18",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*",
"php": ">=5.5.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"doctrine/annotations": "^1.2.6 || ^1.13.3",
"php-parallel-lint/php-console-highlighter": "^1.0.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcompatibility/php-compatibility": "^9.3.5",
"roave/security-advisories": "dev-latest",
"squizlabs/php_codesniffer": "^3.7.2",
"yoast/phpunit-polyfills": "^1.0.4"
},
"suggest": {
"decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication",
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
"ext-openssl": "Needed for secure SMTP sending and DKIM signing",
"greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication",
"hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
"league/oauth2-google": "Needed for Google XOAUTH2 authentication",
"psr/log": "For optional PSR-3 debug logging",
"symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)",
"thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication"
},
"type": "library",
"autoload": {
"psr-4": {
"PHPMailer\\PHPMailer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-only"
],
"authors": [
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
"source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1"
},
"funding": [
{
"url": "https://github.com/Synchro",
"type": "github"
}
],
"time": "2023-11-25T22:23:28+00:00"
},
{
"name": "phpoffice/phpspreadsheet",
"version": "1.27.1",
@@ -4381,6 +4907,249 @@
],
"time": "2023-02-07T16:14:23+00:00"
},
{
"name": "sabberworm/php-css-parser",
"version": "8.4.0",
"source": {
"type": "git",
"url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
"reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30",
"reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=5.6.20"
},
"require-dev": {
"codacy/coverage": "^1.4",
"phpunit/phpunit": "^4.8.36"
},
"suggest": {
"ext-mbstring": "for parsing UTF-8 CSS"
},
"type": "library",
"autoload": {
"psr-4": {
"Sabberworm\\CSS\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Raphael Schweikert"
}
],
"description": "Parser for CSS Files written in PHP",
"homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
"keywords": [
"css",
"parser",
"stylesheet"
],
"support": {
"issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
"source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
},
"time": "2021-12-11T13:40:54+00:00"
},
{
"name": "spatie/browsershot",
"version": "3.61.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/browsershot.git",
"reference": "14d75679390b8b84a71b3a17dc5905928deeb887"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/browsershot/zipball/14d75679390b8b84a71b3a17dc5905928deeb887",
"reference": "14d75679390b8b84a71b3a17dc5905928deeb887",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^8.0",
"spatie/image": "^1.5.3|^2.0",
"spatie/temporary-directory": "^1.1|^2.0",
"symfony/process": "^4.2|^5.0|^6.0|^7.0"
},
"require-dev": {
"pestphp/pest": "^1.20",
"spatie/phpunit-snapshot-assertions": "^4.2.3"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\Browsershot\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://github.com/freekmurze",
"role": "Developer"
}
],
"description": "Convert a webpage to an image or pdf using headless Chrome",
"homepage": "https://github.com/spatie/browsershot",
"keywords": [
"chrome",
"convert",
"headless",
"image",
"pdf",
"puppeteer",
"screenshot",
"webpage"
],
"support": {
"source": "https://github.com/spatie/browsershot/tree/3.61.0"
},
"funding": [
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2023-12-21T10:00:28+00:00"
},
{
"name": "spatie/image",
"version": "2.2.7",
"source": {
"type": "git",
"url": "https://github.com/spatie/image.git",
"reference": "2f802853aab017aa615224daae1588054b5ab20e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/image/zipball/2f802853aab017aa615224daae1588054b5ab20e",
"reference": "2f802853aab017aa615224daae1588054b5ab20e",
"shasum": ""
},
"require": {
"ext-exif": "*",
"ext-json": "*",
"ext-mbstring": "*",
"league/glide": "^2.2.2",
"php": "^8.0",
"spatie/image-optimizer": "^1.7",
"spatie/temporary-directory": "^1.0|^2.0",
"symfony/process": "^3.0|^4.0|^5.0|^6.0"
},
"require-dev": {
"pestphp/pest": "^1.22",
"phpunit/phpunit": "^9.5",
"symfony/var-dumper": "^4.0|^5.0|^6.0",
"vimeo/psalm": "^4.6"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\Image\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
}
],
"description": "Manipulate images with an expressive API",
"homepage": "https://github.com/spatie/image",
"keywords": [
"image",
"spatie"
],
"support": {
"source": "https://github.com/spatie/image/tree/2.2.7"
},
"funding": [
{
"url": "https://spatie.be/open-source/support-us",
"type": "custom"
},
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2023-07-24T13:54:13+00:00"
},
{
"name": "spatie/image-optimizer",
"version": "1.7.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/image-optimizer.git",
"reference": "62f7463483d1bd975f6f06025d89d42a29608fe1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/image-optimizer/zipball/62f7463483d1bd975f6f06025d89d42a29608fe1",
"reference": "62f7463483d1bd975f6f06025d89d42a29608fe1",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"php": "^7.3|^8.0",
"psr/log": "^1.0 | ^2.0 | ^3.0",
"symfony/process": "^4.2|^5.0|^6.0|^7.0"
},
"require-dev": {
"pestphp/pest": "^1.21",
"phpunit/phpunit": "^8.5.21|^9.4.4",
"symfony/var-dumper": "^4.2|^5.0|^6.0|^7.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\ImageOptimizer\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
}
],
"description": "Easily optimize images using PHP",
"homepage": "https://github.com/spatie/image-optimizer",
"keywords": [
"image-optimizer",
"spatie"
],
"support": {
"issues": "https://github.com/spatie/image-optimizer/issues",
"source": "https://github.com/spatie/image-optimizer/tree/1.7.2"
},
"time": "2023-11-03T10:08:02+00:00"
},
{
"name": "spatie/laravel-permission",
"version": "5.9.1",
@@ -4463,6 +5232,67 @@
],
"time": "2023-02-06T21:37:02+00:00"
},
{
"name": "spatie/temporary-directory",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/temporary-directory.git",
"reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
"reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
"shasum": ""
},
"require": {
"php": "^8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\TemporaryDirectory\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alex Vanderbist",
"email": "alex@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
}
],
"description": "Easily create, use and destroy temporary directories",
"homepage": "https://github.com/spatie/temporary-directory",
"keywords": [
"php",
"spatie",
"temporary-directory"
],
"support": {
"issues": "https://github.com/spatie/temporary-directory/issues",
"source": "https://github.com/spatie/temporary-directory/tree/2.2.1"
},
"funding": [
{
"url": "https://spatie.be/open-source/support-us",
"type": "custom"
},
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2023-12-25T11:46:58+00:00"
},
{
"name": "symfony/console",
"version": "v6.2.5",

View File

@@ -34,5 +34,9 @@
"txtSupportingResultDocument" : "Supporting Result Document",
"txtAddResult" : "Add Result",
"txtServiceType" : "Service Type",
"txtAdditionalDocuments" : "Additional Documents"
"txtAdditionalDocuments" : "Additional Documents",
"txtAddNew" : "Add New",
"txtAddress" : "Address",
"txtProvider": "Provider",
"txtAlertProvider" : "Please enter provider"
}

View File

@@ -34,5 +34,9 @@
"txtSupportingResultDocument" : "Dokumen Hasil Pendukung",
"txtAddResult" : "Tambah Hasil",
"txtServiceType" : "Tipe Layanan",
"txtAdditionalDocuments" : "Dokumen Tambahan"
"txtAdditionalDocuments" : "Dokumen Tambahan",
"txtAddNew" : "Tambah Baru",
"txtAddress" : "Alamat",
"txtProvider": "Penyedia",
"txtAlertProvider" : "Mohon masukan provider"
}

View File

@@ -16,10 +16,14 @@ import { useRef, useState, useContext } from 'react';
import { makeFormData } from '@/utils/jsonToFormData';
import { format } from 'date-fns';
import { LanguageContext } from '@/contexts/LanguageContext';
import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
import Button from '@mui/material/Button';
interface MemberType {
members: any;
services: any;
providers:any;
}
interface FormRequestClaimProps {
member: MemberType;
@@ -28,9 +32,15 @@ interface FormRequestClaimProps {
export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRequestClaimProps) {
const { localeData }: any = useContext(LanguageContext);
const [serviceCode, setServiceCode] = useState<string>('');
const [idProvider, setIdProvider] = useState<number>(0);
const [submitLoading, setSubmitLoading] = useState<boolean>(false);
function submitRequest() {
if(!idProvider&& (name == '' || alamat == ''))
{
enqueueSnackbar(localeData.txtAlertProvider, { variant: 'warning' });
return false;
}
if(serviceCode == '')
{
enqueueSnackbar(localeData.txtDialogMember4, { variant: 'warning' });
@@ -39,7 +49,10 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
setSubmitLoading(true);
const formData = {
member_id: member.members.id,
service_code: serviceCode
service_code: serviceCode,
id_provider: idProvider,
name_provider : name,
address_provider: alamat
};
axios
.post('/request-log', formData)
@@ -64,8 +77,26 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
name: string;
}
interface Providers {
id: number;
name: string;
}
const [showAddNewForm, setShowAddNewForm] = useState(false);
const [name, setName] = useState('');
const [alamat, setAlamat] = useState('');
const handleAddNewData = () => {
// Logika untuk menambahkan data baru ke database
// Pastikan untuk menyesuaikan logika ini sesuai dengan kebutuhan aplikasi Anda
console.log('Adding new data:', { name, alamat });
// Setelah menambahkan data baru, Anda mungkin ingin melakukan sesuatu seperti menutup formulir tambahan atau melakukan pengaturan lainnya
setShowAddNewForm(false);
};
return (
<Stack direction="column" spacing={4}>
<Stack direction="column" spacing={2}>
<Stack direction="row" justifyContent={'end'} sx={{ marginBottom: 2 }} spacing={2}>
<Typography variant='body2' sx={{color: '#757575'}}>
{localeData.txtDialogMember5}
@@ -74,27 +105,71 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe
</Stack>
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{width:'100%'}}>
<Typography variant='subtitle1'>{localeData.txtDialogMember1}*</Typography>
<FormControl>
<InputLabel htmlFor="service_type">
{localeData.txtDialogMember1}
</InputLabel>
<Select
id="service_type"
value={serviceCode}
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtProvider} *</Typography>
<Autocomplete
id="provider"
options={[{ name: localeData.txtAddNew, id: 0 }, ...member?.providers || []]}
getOptionLabel={(option: Providers) => option.name || ''}
value={member?.providers.find((item: Providers) => item.id === idProvider) || null}
onChange={(event: React.ChangeEvent<{}>, newValue: Providers | null) => {
if (newValue?.id === 0) {
// Pengguna memilih opsi "Tambahkan Data Baru"
setIdProvider(0); // Reset nilai
setShowAddNewForm(true); // Menampilkan formulir tambahan
} else {
// Pengguna memilih opsi dari hasil pencarian
setIdProvider(newValue?.id || 0);
setShowAddNewForm(false); // Menyembunyikan formulir tambahan
}
}}
renderInput={(params) => (
<TextField
{...params}
label={localeData.txtProvider}
fullWidth
label={localeData.txtDialogMember1}
onChange={(e) => {
setServiceCode(e.target.value);
}}
>
{member && member?.services?.map((item: MemberService, index:number) => (
<MenuItem key={index} value={item.service_code}>{item.name}</MenuItem>
))}
</Select>
/>
)}
/>
{showAddNewForm && (
<Stack direction="column" spacing={1} padding={1}>
<Typography variant='body2'>{localeData.txtAddNew} *</Typography>
<TextField
label={localeData.txtName}
fullWidth
onChange={(e) => setName(e.target.value)}
/>
<TextField
label={localeData.txtAddress}
fullWidth
onChange={(e) => setAlamat(e.target.value)}
/>
</Stack>
)}
<FormHelperText style={{ color: 'red' }}></FormHelperText>
</Stack>
</Stack>
<Stack direction="row" spacing={2}>
<Stack spacing={2} sx={{ width: '100%' }}>
<Typography variant='subtitle1'>{localeData.txtDialogMember1} *</Typography>
<Autocomplete
id="service_type"
options={member?.services || []}
getOptionLabel={(option: MemberService) => option.name || ''}
value={member?.services.find((item: MemberService) => item.service_code === serviceCode) || null}
onChange={(event: React.ChangeEvent<{}>, newValue: MemberService | null) => {
setServiceCode(newValue?.service_code || '');
}}
renderInput={(params) => (
<TextField
{...params}
label={localeData.txtDialogMember1}
fullWidth
/>
)}
/>
<FormHelperText style={{ color: 'red' }}></FormHelperText>
</FormControl>
</Stack>
</Stack>

BIN
public/images/vale_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@@ -3,6 +3,10 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@php
$dynamicVariableName = 'font_size_' . now()->timestamp;
$$dynamicVariableName = 10;
@endphp
<style>
.triangle1 {
width: 0;
@@ -34,76 +38,71 @@
height: 100vh;
background-color: #ffffff; /* Ganti dengan warna latar belakang yang diinginkan */
}
.content {
.content-<?php echo now()->timestamp; ?> {
padding: 20px;
text-align: left;
font-family: 'Calibri', sans-serif;
}
.content img {
width: 25%;
.content-<?php echo now()->timestamp; ?> img {
width: 15%;
max-width: 600px; /* batasan lebar maksimum gambar */
margin-top: 20px; /* jarak antara segitiga dan gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
.corner-text {
font-family: 'Calibri', sans-serif;
font-size: 14px;
.corner-text-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
color: #666666;
position: absolute;
}
.top-right {
.top-right-<?php echo now()->timestamp; ?> {
top: 10px;
right: 10px;
}
.bottom-right {
.bottom-right-<?php echo now()->timestamp; ?> {
bottom: 10px;
right: 10px;
text-align: right;
}
.bottom-left {
.bottom-left-<?php echo now()->timestamp; ?> {
bottom: 10px;
left: 10px;
text-align: left;
}
.title-container {
.title-container-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
margin-top: 40px;
margin-top: 1px;
}
.title {
font-family: 'Calibri', sans-serif;
font-size: 18px;
.title-<?php echo now()->timestamp; ?> {
font-size: 12px;
margin-bottom: 5px;
}
.additional-text {
font-family: 'Calibri', sans-serif;
font-size: 12px;
.additional-text-<?php echo now()->timestamp; ?> {
font-size: 11px;
}
.claim-info {
font-family: 'Calibri', sans-serif;
font-size: 14px;
.claim-info-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
/* color: #008C8C; */
text-align: left;
margin-top: 20px;
text-align: justify;
margin: 0;
padding: 0;
margin-top: 10px;
line-height: 1; /* Atur nilai line-height menjadi 1 atau 100% */
}
.table-items {
font-family: 'Calibri', sans-serif;
font-size: 14px;
/* color: #008C8C; */
text-align: left;
margin-top: 20px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
margin-top: 1px;
}
table, th, td {
@@ -114,49 +113,105 @@
padding: 4px;
text-align: left;
}
.hot-line {
font-family: 'Calibri', sans-serif;
.hot-line-<?php echo now()->timestamp; ?> {
background-color: #048B8C;
text-align: center;
align-items: center;
font-size: 14px;
font-size: {{ $$dynamicVariableName }}px;
margin-top: 10px;
padding: 2px;
color: #ffffff;
}
.txt-tindakan {
font-family: 'Calibri', sans-serif;
margin-top: 10px;
font-size: 14px;
.txt-tindakan-<?php echo now()->timestamp; ?> {
margin-top: 1px;
font-size: {{ $$dynamicVariableName }}px;
}
.txt-pernyataan {
font-family: 'Calibri', sans-serif;
margin-top: 40px;
font-size: 14px;
.txt-pernyataan-<?php echo now()->timestamp; ?> {
margin-top: 5px;
font-size: {{ $$dynamicVariableName }}px;
}
.title-container-page-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
text-align: justify;
position: relative;
/* border: 1px solid; Warna garis tepi dan lebar dapat disesuaikan */
padding: 3px;
margin-left: auto;
margin-right: auto;
margin-top: 5px;
}
.txt-syarat-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
text-align: left;
}
.bottom-left-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
left: 10px;
text-align: left;
}
.bottom-left-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 290px;
left: 10px;
text-align: left;
}
.bottom-right-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
right: 10px;
text-align: left;
}
.bottom-right-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 290px;
right: 10px;
text-align: left;
}
.bottom-right1-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 100px;
right: 10px;
text-align: left;
}
.logo_vale-<?php echo now()->timestamp; ?> {
position: absolute;
top: -35.12px;
left: -35.91px;
width: 10%;
max-width: 400px; /* batasan lebar maksimum gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="triangle2"></div>
<div class="triangle1"></div>
<div class="content">
<div class="corner-text top-right">
<img class="logo_vale-<?php echo now()->timestamp; ?>" src="data:image/png;base64,{{ base64_encode(file_get_contents(public_path('images/vale_logo.png'))) }}">
<div class="content-<?php echo now()->timestamp; ?>">
<div class="corner-text-<?php echo now()->timestamp; ?> top-right-<?php echo now()->timestamp; ?>">
The Future Of Healthcare At Your Fingertips
</div>
<img src="data:image/png;base64,{{ base64_encode(file_get_contents( public_path('images/logo-default.png') )) }}">
<div class="title-container">
<div class="title">
<div class="title-container-<?php echo now()->timestamp; ?>">
<div class="title-<?php echo now()->timestamp; ?>">
<b>SURAT JAMINAN</b>
</div>
<div class="additional-text">
(SURAT JAMINAN INI HARUS DITANDATANGANI OLEH PASIEN)
<div class="additional-text-<?php echo now()->timestamp; ?>">
<b>(SURAT JAMINAN INI HARUS DITANDATANGANI OLEH PASIEN)</b>
</div>
</div>
<table class="claim-info">
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 20%;">No. Klaim</td>
<td style="width: 1%;">:</td>
<td style="width: 29%;">{{$request_logs->code}}</td>
<td style="width: 29%;">{{ wordwrap($request_logs->code,15,"<br>\n")}}</td>
<td style="width: 20%;">Tanggal</td>
<td style="width: 1%;">:</td>
<td style="width: 29%;">{{ \Carbon\Carbon::parse($request_logs->submission_date)->format('d M Y') }}</td>
@@ -170,13 +225,13 @@
<td>{{ $dataMember->code_plan }}</td>
</tr>
</table>
<div class="hot-line">
Call Center LinkSehat : 08114123962
<div class="hot-line-<?php echo now()->timestamp; ?>">
<b>Call Center LinkSehat : 08114123962</b>
</div>
<div class="txt-tindakan">
Link Sehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Awal untuk peserta dibawah ini :
<div class="txt-tindakan-<?php echo now()->timestamp; ?>">
LinkSehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Akhir untuk peserta dibawah ini :
</div>
<table class="claim-info">
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 20%;">Jenis Surat Jaminan</td>
<td style="width: 1%;">:</td>
@@ -197,56 +252,52 @@
<td>Nama Karyawan</td>
<td>:</td>
<td>{{ $namaKaryawan }}</td>
<td>No. Polis</td>
<td>Phone Perusahaan</td>
<td>:</td>
<td>{{ $dataMember->code_plan }}</td>
<td></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->birth_date)->format('d M Y') }}</td>
<!-- <td>Produk</td>
<td>No. Polis</td>
<td>:</td>
<td>{{ $dataMember->no_polis }}</td> -->
<td>Tipe</td>
<td>:</td>
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp '.number_format($dataMember->limit_rules, 2, ',', '.') }}</td>
<td>{{ $dataMember->no_polis }}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{{ $dataMember->gender == 'male' ? 'Laki-Laki' : 'Perempuan' }}</td>
<!-- <td>Tipe</td>
<td>Tipe</td>
<td>:</td>
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp '.number_format($dataMember->limit_rules, 2, ',', '.') }}</td> -->
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp '.number_format($dataMember->limit_rules, 2, ',', '.') }}</td>
</tr>
<tr>
<td>Member ID (BN)</td>
<td>:</td>
<td>{{ $dataMember->member_id }}</td>
<td>Status Polis</td>
<td>:</td>
<td>{{ $dataMember->status_polis == 'active' ? 'Aktif' : 'Tidak Aktif' }}</td>
</tr>
<tr>
<td>Member ID</td>
<td>:</td>
<td>{{ $dataMember->member_id }}</td>
<!-- <td>Status Polis</td>
<td>:</td>
<td>{{ $dataMember->status_polis == 'active' ? 'Aktif' : 'Tidak Aktif' }}</td> -->
<td>Tanggal Mulai/Akhir</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->mulai)->format('d M Y') }} - {{ \Carbon\Carbon::parse($dataMember->akhir)->format('d M Y') }}</td>
</tr>
<tr>
<td>Identitas Peserta</td>
<td>:</td>
<td>{{ $dataMember->nik }}</td>
<!-- <td>Tanggal Mulai Akhir</td>
<td>Periode Jaminan</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->mulai)->format('d M Y') }} - {{ \Carbon\Carbon::parse($dataMember->akhir)->format('d M Y') }}</td> -->
<td>{{ \Carbon\Carbon::parse($request_logs->submission_date)->format('d M Y') }}</td>
</tr>
<tr>
<td>Hak Kamar Pasien</td>
<td>:</td>
<td></td>
<td>Mata Uang</td>
<td>:</td>
<td>{{ $dataMember->mata_uang }}</td>
</tr>
<tr>
<td>Hak Kamar Pasien</td>
<td>Penempatan Kamar</td>
<td>:</td>
<td></td>
<td>Alamat Provider</td>
@@ -254,13 +305,23 @@
<td>{{ $rumahSakit->alamat_rumahsakit }}</td>
</tr>
<tr>
<td>Tanggal Pembayaran</td>
<td>No. Rekam Medis</td>
<td>:</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Jenis Perawatan</td>
<td>:</td>
<td>{{ $dataMember->jenis_perwatan }}</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<table class="table-items">
<table class="claim-info-<?php echo now()->timestamp; ?>">
<thead>
<tr style="background-color: #F4F6F8;">
<td style="width: 5%; text-align: left;"><b>No.</b></td>
@@ -296,19 +357,28 @@
</tbody>
<tfoot>
<tr>
<td style="background-color: #F4F6F8;" colspan="2"><b>Total</b></td>
<td style="background-color: #F4F6F8;" ><b>{{ number_format($total_claim, 2, ',', '.') }}</b></td>
<td style="background-color: #F4F6F8;" ><b>{{ number_format($total_disetujui, 2, ',', '.') }}</b></td>
<td style="background-color: #F4F6F8;" ><b>{{ number_format($total_selisih, 2, ',', '.') }}</b></td>
<td style="background-color: #F4F6F8;" ></td>
<td colspan="2"><b>Total</b></td>
<td><b>{{ number_format($total_claim, 2, ',', '.') }}</b></td>
<td><b>{{ number_format($total_disetujui, 2, ',', '.') }}</b></td>
<td><b>{{ number_format($total_selisih, 2, ',', '.') }}</b></td>
<td></td>
</tr>
</tfoot>
</table>
<div class="corner-text bottom-right">
The Future Of Healthcare At Your Fingertips
<table class="claim-info-<?php echo now()->timestamp; ?>">
<thead>
<tr style="background-color: #F4F6F8;">
<td colspan="5" style="width: 5%; text-align: left;"><b>CATATAN</b></td>
</tr>
</thead>
</table>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-<?php echo now()->timestamp; ?>">
<b>Alarm Center Vale MKS (LinkSehat) Office</b><br>
<b>PT. Vale Indonesia Tbk. Makassar Representative Office</b><br>
Lt. 1, Jalan Somba Opu 281, Ujung Pandang, Losari, <br> Kec. Makassar, Kota Makassar, Sulawesi Selatan 90113
</div>
<div class="corner-text bottom-left">
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-<?php echo now()->timestamp; ?>">
<b>PT Link Medis Sehat</b><br>
<b>Primaya Hospital Corporate</b><br>
Graha Cempaka Mas Blok D5-6<br>

View File

@@ -3,6 +3,10 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@php
$dynamicVariableName = 'font_size_' . now()->timestamp;
$$dynamicVariableName = 10;
@endphp
<style>
.triangle1 {
width: 0;
@@ -34,88 +38,71 @@
height: 100vh;
background-color: #ffffff; /* Ganti dengan warna latar belakang yang diinginkan */
}
.content {
.content-<?php echo now()->timestamp; ?> {
padding: 20px;
text-align: left;
font-family: 'Calibri', sans-serif;
}
.content img {
width: 25%;
.content-<?php echo now()->timestamp; ?> img {
width: 15%;
max-width: 600px; /* batasan lebar maksimum gambar */
margin-top: 20px; /* jarak antara segitiga dan gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
.corner-text {
font-family: 'Calibri', sans-serif;
font-size: 14px;
.corner-text-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
color: #666666;
position: absolute;
}
.top-right {
.top-right-<?php echo now()->timestamp; ?> {
top: 10px;
right: 10px;
}
.bottom-right {
.bottom-right-<?php echo now()->timestamp; ?> {
bottom: 10px;
right: 10px;
text-align: right;
}
.bottom-right-ttd {
color: #000000;
bottom: 120px;
right: 10px;
}
.bottom-left {
.bottom-left-<?php echo now()->timestamp; ?> {
bottom: 10px;
left: 10px;
text-align: left;
}
.bottom-left-ttd {
color: #000000;
bottom: 120px;
left: 10px;
text-align: left;
}
.bottom-left-ttd-1 {
color: #000000;
bottom: 250px;
left: 10px;
text-align: left;
}
.title-container-page {
.title-container-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
margin-top: 40px;
border: 1px solid; /* Warna garis tepi dan lebar dapat disesuaikan */
padding: 10px;
margin-top: 1px;
}
.title {
font-family: 'Calibri', sans-serif;
font-size: 18px;
.title-<?php echo now()->timestamp; ?> {
font-size: 12px;
margin-bottom: 5px;
}
.additional-text {
font-family: 'Calibri', sans-serif;
font-size: 12px;
.additional-text-<?php echo now()->timestamp; ?> {
font-size: 11px;
}
.claim-info {
font-family: 'Calibri', sans-serif;
font-size: 12px;
.claim-info-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
/* color: #008C8C; */
text-align: left;
margin-top: 20px;
text-align: justify;
margin: 0;
padding: 0;
margin-top: 2px;
line-height: 1; /* Atur nilai line-height menjadi 1 atau 100% */
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
margin-top: 1px;
}
table, th, td {
@@ -126,114 +113,166 @@
padding: 4px;
text-align: left;
}
.hot-line {
font-family: 'Calibri', sans-serif;
.hot-line-<?php echo now()->timestamp; ?> {
background-color: #048B8C;
text-align: center;
align-items: center;
font-size: 14px;
margin-top: 10px;
font-size: {{ $$dynamicVariableName }}px;
margin-top: 1px;
padding: 2px;
color: #ffffff;
}
.txt-tindakan {
font-family: 'Calibri', sans-serif;
margin-top: 10px;
font-size: 14px;
.txt-tindakan-<?php echo now()->timestamp; ?> {
margin-top: 1px;
font-size: {{ $$dynamicVariableName }}px;
}
.txt-pernyataan {
font-family: 'Calibri', sans-serif;
margin-top: 40px;
font-size: 14px;
.txt-pernyataan-<?php echo now()->timestamp; ?> {
margin-top: 5px;
font-size: {{ $$dynamicVariableName }}px;
}
.txt-syarat {
font-family: 'Calibri', sans-serif;
font-size: 14px;
.title-container-page-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
text-align: justify;
position: relative;
/* border: 1px solid; Warna garis tepi dan lebar dapat disesuaikan */
padding: 3px;
margin-left: auto;
margin-right: auto;
margin-top: 30px;
}
.txt-syarat-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
text-align: left;
}
container {
position: relative;
height: 100vh;
}
.left-bottom {
position: absolute;
bottom: 10px;
.bottom-left-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
left: 10px;
text-align: left;
}
.right-bottom {
position: absolute;
bottom: 10px;
.bottom-left-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 300px;
left: 10px;
text-align: left;
}
.bottom-right-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
right: 10px;
text-align: right;
text-align: left;
}
.bottom-right-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 300px;
right: 10px;
text-align: left;
}
.bottom-left1-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 100px;
left: 10px;
text-align: left;
}
.bottom-right1-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 100px;
right: 10px;
text-align: left;
}
.logo_vale-<?php echo now()->timestamp; ?> {
position: absolute;
top: -35.12px;
left: -35.91px;
width: 10%;
max-width: 400px; /* batasan lebar maksimum gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="triangle2"></div>
<div class="triangle1"></div>
<div class="content">
<div class="corner-text top-right">
<img class="logo_vale-<?php echo now()->timestamp; ?>" src="data:image/png;base64,{{ base64_encode(file_get_contents(public_path('images/vale_logo.png'))) }}">
<div class="content-<?php echo now()->timestamp; ?>">
<div class="corner-text-<?php echo now()->timestamp; ?> top-right-<?php echo now()->timestamp; ?>">
The Future Of Healthcare At Your Fingertips
</div>
<img src="data:image/png;base64,{{ base64_encode(file_get_contents( public_path('images/logo-default.png') )) }}">
<div class="title-container-page">
<div class="txt-syarat">SYARAT DAN KETENTUAN</div>
<table class="claim-info">
<tr>
<td style="width: 100%;">1.&nbsp;Surat jaminan ini hanya berlaku untuk diagnosa yang tercantum di atas. Apabila ditemukan adanya perubahan atau penambahan diagnosa, maka LinkSehat berhak membatalkan surat jaminan. Mohon menghubungi LinkSehat apabila ada perubahan diagnosa dan diagnosa tambahan.</td>
<div class="title-container-page-<?php echo now()->timestamp; ?>">
<div class="txt-syarat-<?php echo now()->timestamp; ?>">SYARAT DAN KETENTUAN</div>
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 3%;">1.</td>
<td style="width: 97%;">Surat jaminan ini hanya berlaku untuk diagnosa yang tercantum di atas. Apabila ditemukan adanya perubahan atau penambahan diagnosa, maka LinkSehat berhak membatalkan surat jaminan. Mohon menghubungi LinkSehat apabila ada perubahan diagnosa dan diagnosa tambahan.</td>
</tr>
<tr>
<td style="width: 100%;">2.&nbsp;Surat jaminan ini dinyatakan berlaku apabila disertai surat jaminan akhir dengan nominal yang tertera pada kolom di atas</td>
<td style="width: 3%;">2.</td>
<td style="width: 97%;">Surat jaminan ini dinyatakan <b>berlaku</b> apabila disertai surat jaminan akhir dengan <b>nominal </b> yang tertera pada kolom di atas.</td>
</tr>
<tr>
<td style="width: 100%;">3.&nbsp;Surat jaminan ini tidak berlaku untuk biaya diluar medis seperti makan/minum di luar ketentuan, tagihan telepon, binatu, dan lain lain. Mohon ditagihkan langsung ke peserta.</td>
<td style="width: 3%;">3.</td>
<td style="width: 97%;">Surat jaminan ini tidak berlaku untuk biaya diluar medis seperti makan/minum di luar ketentuan, tagihan telepon, binatu, dan lain lain. Mohon ditagihkan langsung ke peserta.</td>
</tr>
<tr>
<td style="width: 100%;">4.&nbsp;Rumah sakit harap segera menghubungi LinkSehat apabila biaya rumah sakit melebihi batas tertanggung diatas.</td>
<td style="width: 3%;">4.</td>
<td style="width: 97%;">Rumah sakit harap segera menghubungi LinkSehat apabila biaya rumah sakit melebihi batas tertanggung diatas.</td>
</tr>
<tr>
<td style="width: 100%;">5.&nbsp;Rumah sakit wajib menghubungi LinkSehat sebelum pasien meninggalkan rumah sakit agar pihak rumah sakit dapat mengetahui biaya apa saja yang dijamin oleh LinkSehat. Jika peserta meninggalkan rumah sakit sebelum mengkonfirmasikan ke LinkSehat, maka LinkSehat tidak bertanggung jawab atas biaya yang tidak dijamin oleh pihak asuransi.</td>
<td style="width: 3%;">5.</td>
<td style="width: 97%;">Rumah sakit wajib menghubungi LinkSehat sebelum pasien meninggalkan rumah sakit agar pihak rumah sakit dapat mengetahui biaya apa saja yang dijamin oleh LinkSehat. Jika peserta meninggalkan rumah sakit sebelum mengkonfirmasikan ke LinkSehat, maka LinkSehat <b>tidak bertanggung jawab </b> atas biaya yang tidak dijamin oleh <b>pihak penjamin/payor</b>.</td>
</tr>
<tr>
<td style="width: 100%;">6.&nbsp;Peserta bertanggung jawab untuk menyelesaikan secara langsung kepada pihak rumah sakit dan penyedia jasa medis apabila terjadi selisih biaya (ekses) atas seluruh biaya perawatan, biaya medis, dan yang lain yang telah terjadi sehubungan dengan rawat inap, maupun atas perihal perawatan medis yang tidak tercakup dalam polis asuransi dikarenakan karena alasan apapun. Apabila biaya-biaya tersebut telah dijaminkan oleh LinkSehat atas nama nasabah, maka peserta akan membayar kembali ke pihak LinkSehat secara penuh termasuk biaya berhubungan dengan penagihan (apabila ada) yang terjadi ke pihak LinkSehat atas biaya yang tidak termasuk dalam manfaat polis.</td>
<td style="width: 3%;">6.</td>
<td style="width: 97%;">Peserta bertanggung jawab untuk menyelesaikan secara langsung kepada pihak rumah sakit dan penyedia jasa medis apabila terjadi selisih biaya (ekses) atas seluruh biaya perawatan, biaya medis, dan yang lain yang telah terjadi sehubungan dengan rawat inap, maupun atas perihal perawatan medis yang tidak tercakup dalam <b>Buku Jaminan Kesehatan Pekerja </b> dikarenakan karena alasan apapun. Apabila biaya-biaya tersebut telah dijaminkan oleh LinkSehat atas nama nasabah, maka peserta akan membayar kembali ke pihak LinkSehat secara penuh termasuk biaya berhubungan dengan penagihan (apabila ada) yang terjadi ke pihak LinkSehat atas biaya yang tidak termasuk dalam manfaat kesehatan.</td>
</tr>
<tr>
<td style="width: 100%;">7.&nbsp;Dengan ini peserta menyatakan mengetahui dan menyetujui ketentuan selisih biaya yang telah disebutkan di atas.</td>
<td style="width: 3%;">7.</td>
<td style="width: 97%;">Dengan ini peserta menyatakan mengetahui dan menyetujui ketentuan selisih biaya yang telah disebutkan di atas.</td>
</tr>
<tr>
<td style="width: 100%;">8.&nbsp;Dalam hal surat jaminan in tidak ditandatangani oleh peserta yang bersangkutan maka rumah sakit berkewajiban untuk menyampaikan keadaan tersebut kepada LinkSehat dalam kurun waktu paling lambat 1x24 jam, dalam hal tidak ada perubahan dalam jangka waktu yang telah ditentukan tersebut maka dianggap peserta yang bersangkutan telah setuju dengan ketentuan yang terdapat dalam surat jaminan ini.</td>
<td style="width: 3%;">8.</td>
<td style="width: 97%;">Dalam hal surat jaminan in tidak ditandatangani oleh peserta yang bersangkutan maka rumah sakit berkewajiban untuk menyampaikan keadaan tersebut kepada LinkSehat dalam kurun waktu paling lambat 1x24 jam, dalam hal tidak ada perubahan dalam jangka waktu yang telah ditentukan tersebut maka dianggap peserta yang bersangkutan telah setuju dengan ketentuan yang terdapat dalam surat jaminan ini.</td>
</tr>
</table>
</div>
<!-- <div class="container">
<div class="left-bottom">
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-ttd-1-<?php echo now()->timestamp; ?> ">
Hormat Kami,<br>
Acknowledged,<br>
[Nama Analyst]
</div>
</div> -->
<div class="corner-text bottom-left-ttd-1">
Hormat Kami,<br>
Acknowledged,
PT. Vale Indonesia Tbk
</div>
<div class="corner-text bottom-left-ttd">
[..................................................]
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-ttd-<?php echo now()->timestamp; ?> ">
<u> Dr. Hery Hermas, M.Kes</u><br>
Offsite Medical Treatment
</div>
<div class="corner-text bottom-right-ttd">
[{{ $dataMember->name }}]
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-ttd-1-<?php echo now()->timestamp; ?> ">
{{ \Carbon\Carbon::parse(now())->format('d M Y') }},<br>
Petugas Alarm Center
</div>
<div class="corner-text bottom-right">
The Future Of Healthcare At Your Fingertip
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-ttd-<?php echo now()->timestamp; ?> ">
<u>(Nama Petugas)</u><br>
Customer Service Team
</div>
<div class="corner-text bottom-left">
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left1-ttd-<?php echo now()->timestamp; ?> ">
(Nama Petugas)
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right1-ttd-<?php echo now()->timestamp; ?> ">
{{ $dataMember->name }}
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-<?php echo now()->timestamp; ?>">
<b>Alarm Center Vale MKS (LinkSehat) Office</b><br>
<b>PT. Vale Indonesia Tbk. Makassar Representative Office</b><br>
Lt. 1, Jalan Somba Opu 281, Ujung Pandang, Losari, <br> Kec. Makassar, Kota Makassar, Sulawesi Selatan 90113
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-<?php echo now()->timestamp; ?>">
<b>PT Link Medis Sehat</b><br>
<b>Primaya Hospital Corporate</b><br>
Graha Cempaka Mas Blok D No. 5-6<br>
Graha Cempaka Mas Blok D5-6<br>
Jl. Let. Jend. Suprapto, Jakarta Pusat 10640, Indonesia<br>
<b>Telp</b> (021) 4217746/47
</div>

View File

@@ -4,6 +4,10 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@php
$dynamicVariableName = 'font_size_' . now()->timestamp;
$$dynamicVariableName = 10;
@endphp
<style>
.triangle1 {
width: 0;
@@ -36,75 +40,71 @@
background-color: #ffffff;
/* Ganti dengan warna latar belakang yang diinginkan */
}
.content {
.content-<?php echo now()->timestamp; ?> {
padding: 20px;
text-align: left;
}
.content img {
width: 25%;
max-width: 600px;
/* batasan lebar maksimum gambar */
margin-top: 20px;
/* jarak antara segitiga dan gambar */
}
.corner-text {
font-family: 'Calibri', sans-serif;
font-size: 14px;
}
.content-<?php echo now()->timestamp; ?> img {
width: 15%;
max-width: 600px; /* batasan lebar maksimum gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
.corner-text-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
color: #666666;
position: absolute;
}
.top-right {
.top-right-<?php echo now()->timestamp; ?> {
top: 10px;
right: 10px;
}
.bottom-right {
.bottom-right-<?php echo now()->timestamp; ?> {
bottom: 10px;
right: 10px;
text-align: right;
}
.bottom-left {
.bottom-left-<?php echo now()->timestamp; ?> {
bottom: 10px;
left: 10px;
text-align: left;
}
.title-container {
.title-container-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
margin-top: 40px;
margin-top: 1px;
}
.title {
font-family: 'Calibri', sans-serif;
font-size: 18px;
.title-<?php echo now()->timestamp; ?> {
font-size: 12px;
margin-bottom: 5px;
}
.additional-text {
font-family: 'Calibri', sans-serif;
font-size: 12px;
.additional-text-<?php echo now()->timestamp; ?> {
font-size: 11px;
}
.claim-info-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
/* color: #008C8C; */
text-align: justify;
margin: 0;
padding: 0;
margin-top: 2px;
line-height: 1; /* Atur nilai line-height menjadi 1 atau 100% */
}
.claim-info {
font-family: 'Calibri', sans-serif;
font-size: 14px;
/* color: #008C8C; */
text-align: left;
margin-top: 20px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
margin-top: 1px;
}
table,
@@ -118,28 +118,79 @@
padding: 4px;
text-align: left;
}
.hot-line {
font-family: 'Calibri', sans-serif;
.hot-line-<?php echo now()->timestamp; ?> {
background-color: #048B8C;
text-align: center;
align-items: center;
font-size: 14px;
margin-top: 10px;
font-size: {{ $$dynamicVariableName }}px;
margin-top: 1px;
padding: 2px;
color: #ffffff;
}
.txt-tindakan {
font-family: 'Calibri', sans-serif;
margin-top: 10px;
font-size: 14px;
.txt-tindakan-<?php echo now()->timestamp; ?> {
margin-top: 1px;
font-size: {{ $$dynamicVariableName }}px;
}
.txt-pernyataan-<?php echo now()->timestamp; ?> {
margin-top: 5px;
font-size: {{ $$dynamicVariableName }}px;
}
.title-container-page-<?php echo now()->timestamp; ?> {
display: flex;
flex-direction: column;
text-align: justify;
position: relative;
/* border: 1px solid; Warna garis tepi dan lebar dapat disesuaikan */
padding: 3px;
margin-left: auto;
margin-right: auto;
margin-top: 5px;
}
.txt-syarat-<?php echo now()->timestamp; ?> {
font-size: {{ $$dynamicVariableName }}px;
text-align: left;
}
.bottom-left-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
left: 10px;
text-align: left;
}
.txt-pernyataan {
font-family: 'Calibri', sans-serif;
margin-top: 40px;
font-size: 14px;
.bottom-left-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 290px;
left: 10px;
text-align: left;
}
.bottom-right-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 200px;
right: 10px;
text-align: left;
}
.bottom-right-ttd-1-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 290px;
right: 10px;
text-align: left;
}
.bottom-right1-ttd-<?php echo now()->timestamp; ?> {
color: #000000;
bottom: 100px;
right: 10px;
text-align: left;
}
.logo_vale-<?php echo now()->timestamp; ?> {
position: absolute;
top: -35.12px;
left: -35.91px;
width: 10%;
max-width: 400px; /* batasan lebar maksimum gambar */
margin-top: 1px; /* jarak antara segitiga dan gambar */
margin-bottom: 5px;
}
</style>
</head>
@@ -147,21 +198,22 @@
<body>
<div class="triangle2"></div>
<div class="triangle1"></div>
<div class="content">
<div class="corner-text top-right">
<img class="logo_vale-<?php echo now()->timestamp; ?>" src="data:image/png;base64,{{ base64_encode(file_get_contents(public_path('images/vale_logo.png'))) }}">
<div class="content-<?php echo now()->timestamp; ?>">
<div class="corner-text-<?php echo now()->timestamp; ?> top-right-<?php echo now()->timestamp; ?>">
The Future Of Healthcare At Your Fingertips
</div>
<img
src="data:image/png;base64,{{ base64_encode(file_get_contents(public_path('images/logo-default.png'))) }}">
<div class="title-container">
<div class="title">
<img src="data:image/png;base64,{{ base64_encode(file_get_contents( public_path('images/logo-default.png') )) }}">
<div class="title-container-<?php echo now()->timestamp; ?>">
<div class="title-<?php echo now()->timestamp; ?>">
<b>SURAT JAMINAN</b>
</div>
<div class="additional-text">
(SURAT JAMINAN INI HARUS DITANDATANGANI OLEH PASIEN)
<div class="additional-text-<?php echo now()->timestamp; ?>">
<b>(SURAT JAMINAN INI HARUS DITANDATANGANI OLEH PASIEN)</b>
</div>
</div>
<table class="claim-info">
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 20%;">No. Klaim</td>
<td style="width: 1%;">:</td>
@@ -180,14 +232,13 @@
<td>{{ $dataMember->code_plan }}</td>
</tr>
</table>
<div class="hot-line">
Call Center LinkSehat : 08114123962
<div class="hot-line-<?php echo now()->timestamp; ?>">
<b>Call Center LinkSehat : 08114123962</b>
</div>
<div class="txt-tindakan">
LinkSehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Awal untuk
peserta dibawah ini :
<div class="txt-tindakan-<?php echo now()->timestamp; ?>">
LinkSehat bertindak mewakili perusahaan asuransi/penanggung untuk mengeluarkan Surat Jaminan Awal untuk peserta dibawah ini :
</div>
<table class="claim-info">
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 20%;">Jenis Surat Jaminan</td>
<td style="width: 1%;">:</td>
@@ -208,88 +259,144 @@
<td>Nama Karyawan</td>
<td>:</td>
<td>{{ $namaKaryawan }}</td>
<td>No. Polis</td>
<td>Phone Perusahaan</td>
<td>:</td>
<td>{{ $dataMember->code_plan }}</td>
<td></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->birth_date)->format('d M Y') }}</td>
<!-- <td>Produk</td>
<td>No. Polis</td>
<td>:</td>
<td>{{ $dataMember->no_polis }}</td> -->
<td>Tipe</td>
<td>:</td>
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp ' . number_format($dataMember->limit_rules, 2, ',', '.') }}
</td>
<td>{{ $dataMember->no_polis }}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{{ $dataMember->gender == 'male' ? 'Laki-Laki' : 'Perempuan' }}</td>
<!-- <td>Tipe</td>
<td>Tipe</td>
<td>:</td>
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp ' . number_format($dataMember->limit_rules, 2, ',', '.') }}</td> -->
<td>{{ $dataMember->limit_rules == '999999999' ? 'As Charge' : 'Max Amount, Rp '.number_format($dataMember->limit_rules, 2, ',', '.') }}</td>
</tr>
<tr>
<td>Member ID (BN)</td>
<td>:</td>
<td>{{ $dataMember->member_id }}</td>
<td>Status Polis</td>
<td>:</td>
<td>{{ $dataMember->status_polis == 'active' ? 'Aktif' : 'Tidak Aktif' }}</td>
</tr>
<tr>
<td>Member ID</td>
<td>:</td>
<td>{{ $dataMember->member_id }}</td>
<!-- <td>Status Polis</td>
<td>:</td>
<td>{{ $dataMember->status_polis == 'active' ? 'Aktif' : 'Tidak Aktif' }}</td> -->
<td>Tanggal Mulai/Akhir</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->mulai)->format('d M Y') }} -
{{ \Carbon\Carbon::parse($dataMember->akhir)->format('d M Y') }}</td>
</tr>
<tr>
<td>Identitas Peserta</td>
<td>:</td>
<td>{{ $dataMember->nik }}</td>
<!-- <td>Tanggal Mulai Akhir</td>
<td>Periode Jaminan</td>
<td>:</td>
<td>{{ \Carbon\Carbon::parse($dataMember->mulai)->format('d M Y') }} - {{ \Carbon\Carbon::parse($dataMember->akhir)->format('d M Y') }}</td> -->
<td>Mata Uang</td>
<td>:</td>
<td>{{ $dataMember->mata_uang }}</td>
<td>{{ \Carbon\Carbon::parse($request_logs->submission_date)->format('d M Y') }}</td>
</tr>
<tr>
<td>Hak Kamar Pasien</td>
<td>:</td>
<td></td>
<!-- <td>Mata Uang</td>
<td>Mata Uang</td>
<td>:</td>
<td>{{ $dataMember->mata_uang }}</td> -->
<td>{{ $dataMember->mata_uang }}</td>
</tr>
<tr>
<td>Penempatan Kamar</td>
<td>:</td>
<td></td>
<td>Alamat Provider</td>
<td>:</td>
<td>{{ $rumahSakit->alamat_rumahsakit }}</td>
</tr>
<tr>
<td>Tanggal Pembayaran</td>
<td>No. Rekam Medis</td>
<td>:</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<!-- <tr>
<td></td>
<td></td>
<td></td>
<td>Alamat</td>
<tr>
<td>Jenis Perawatan</td>
<td>:</td>
<td>{{ $rumahSakit->alamat_rumahsakit }}</td>
</tr> -->
<td>{{ $dataMember->jenis_perwatan }}</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div class="txt-pernyataan">
Surat Jaminan ini dinyatakan berlaku apabila disertai surat jaminan akhir dengan nominal yang tertera pada
akhir perawatan.
<div class="txt-pernyataan-<?php echo now()->timestamp; ?>">
<b>Keterangan:</b>
</div>
<div class="corner-text bottom-right">
The Future Of Healthcare At Your Fingertips
<div class="txt-pernyataan-<?php echo now()->timestamp; ?>">
Mohon konfirmasi ke LinkSehat (Alarm Center Makassar) jika ada rujukan pasien ke spesialis lain.<br/>
Surat Jaminan ini dinyatakan berlaku apabila disertai surat jaminan akhir dengan nominal yang tertera pada akhir perawatan.
</div>
<div class="corner-text bottom-left">
<div class="title-container-page-<?php echo now()->timestamp; ?>">
<div class="txt-syarat-<?php echo now()->timestamp; ?>">SYARAT DAN KETENTUAN</div>
<table class="claim-info-<?php echo now()->timestamp; ?>">
<tr>
<td style="width: 3%;">1.</td>
<td style="width: 97%;">Surat jaminan ini hanya berlaku untuk diagnosa yang tercantum di atas. Apabila ditemukan adanya perubahan atau penambahan diagnosa, maka LinkSehat berhak membatalkan surat jaminan. Mohon menghubungi LinkSehat apabila ada perubahan diagnosa dan diagnosa tambahan.</td>
</tr>
<tr>
<td style="width: 3%;">2.</td>
<td style="width: 97%;">Surat jaminan ini dinyatakan <b>berlaku</b> apabila disertai surat jaminan akhir dengan <b>nominal </b> yang tertera pada kolom di atas.</td>
</tr>
<tr>
<td style="width: 3%;">3.</td>
<td style="width: 97%;">Surat jaminan ini tidak berlaku untuk biaya diluar medis seperti makan/minum di luar ketentuan, tagihan telepon, binatu, dan lain lain. Mohon ditagihkan langsung ke peserta.</td>
</tr>
<tr>
<td style="width: 3%;">4.</td>
<td style="width: 97%;">Rumah sakit harap segera menghubungi LinkSehat apabila biaya rumah sakit melebihi batas tertanggung diatas.</td>
</tr>
<tr>
<td style="width: 3%;">5.</td>
<td style="width: 97%;">Rumah sakit wajib menghubungi LinkSehat sebelum pasien meninggalkan rumah sakit agar pihak rumah sakit dapat mengetahui biaya apa saja yang dijamin oleh LinkSehat. Jika peserta meninggalkan rumah sakit sebelum mengkonfirmasikan ke LinkSehat, maka LinkSehat <b>tidak bertanggung jawab </b> atas biaya yang tidak dijamin oleh <b>pihak penjamin/payor</b>.</td>
</tr>
<tr>
<td style="width: 3%;">6.</td>
<td style="width: 97%;">Peserta bertanggung jawab untuk menyelesaikan secara langsung kepada pihak rumah sakit dan penyedia jasa medis apabila terjadi selisih biaya (ekses) atas seluruh biaya perawatan, biaya medis, dan yang lain yang telah terjadi sehubungan dengan rawat inap, maupun atas perihal perawatan medis yang tidak tercakup dalam <b>Buku Jaminan Kesehatan Pekerja </b> dikarenakan karena alasan apapun. Apabila biaya-biaya tersebut telah dijaminkan oleh LinkSehat atas nama nasabah, maka peserta akan membayar kembali ke pihak LinkSehat secara penuh termasuk biaya berhubungan dengan penagihan (apabila ada) yang terjadi ke pihak LinkSehat atas biaya yang tidak termasuk dalam manfaat kesehatan.</td>
</tr>
<tr>
<td style="width: 3%;">7.</td>
<td style="width: 97%;">Dengan ini peserta menyatakan mengetahui dan menyetujui ketentuan selisih biaya yang telah disebutkan di atas.</td>
</tr>
<tr>
<td style="width: 3%;">8.</td>
<td style="width: 97%;">Dalam hal surat jaminan in tidak ditandatangani oleh peserta yang bersangkutan maka rumah sakit berkewajiban untuk menyampaikan keadaan tersebut kepada LinkSehat dalam kurun waktu paling lambat 1x24 jam, dalam hal tidak ada perubahan dalam jangka waktu yang telah ditentukan tersebut maka dianggap peserta yang bersangkutan telah setuju dengan ketentuan yang terdapat dalam surat jaminan ini.</td>
</tr>
</table>
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-ttd-1-<?php echo now()->timestamp; ?> ">
Hormat Kami,<br>
PT. Vale Indonesia Tbk
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-ttd-<?php echo now()->timestamp; ?> ">
<u> Dr. Hery Hermas, M.Kes</u><br>
Offsite Medical Treatment
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-ttd-1-<?php echo now()->timestamp; ?> ">
{{ \Carbon\Carbon::parse(now())->format('d M Y') }},<br>
Petugas Alarm Center
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-ttd-<?php echo now()->timestamp; ?> ">
<u>(Nama Petugas)</u><br>
Customer Service Team
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right1-ttd-<?php echo now()->timestamp; ?> ">
{{ $dataMember->name }}
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-left-<?php echo now()->timestamp; ?>">
<b>Alarm Center Vale MKS (LinkSehat) Office</b><br>
<b>PT. Vale Indonesia Tbk. Makassar Representative Office</b><br>
Lt. 1, Jalan Somba Opu 281, Ujung Pandang, Losari, <br> Kec. Makassar, Kota Makassar, Sulawesi Selatan 90113
</div>
<div class="corner-text-<?php echo now()->timestamp; ?> bottom-right-<?php echo now()->timestamp; ?>">
<b>PT Link Medis Sehat</b><br>
<b>Primaya Hospital Corporate</b><br>
Graha Cempaka Mas Blok D5-6<br>