This commit is contained in:
Linksehat Staging Server
2024-01-03 11:46:52 +07:00
parent f6258fb0df
commit bdf1c664c5
3 changed files with 47 additions and 47 deletions

View File

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

View File

@@ -178,7 +178,7 @@ class CorporateMemberController extends Controller
$result_headers = $this->memberEnrollmentService->result_doc_headers; $result_headers = $this->memberEnrollmentService->result_doc_headers;
$singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRow($result_headers)); $singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRow($result_headers));
$writer->addRow($singleRow); $writer->addRow($singleRow);
$imported_member_data = 0; $imported_member_data = 0;
$failed_member_data = []; $failed_member_data = [];
foreach ($reader->getSheetIterator() as $sheet) { foreach ($reader->getSheetIterator() as $sheet) {
@@ -202,7 +202,7 @@ class CorporateMemberController extends Controller
$new_member_data[$headers_map_to_table_fields[$doc_headers_indexes[$header_index]]] = $cell->getValue(); $new_member_data[$headers_map_to_table_fields[$doc_headers_indexes[$header_index]]] = $cell->getValue();
} }
} }
try { try {
$rowResponse = $this->memberEnrollmentService->handleImportRow($corporate, $new_member_data); $rowResponse = $this->memberEnrollmentService->handleImportRow($corporate, $new_member_data);
// Write Success Result to File // Write Success Result to File
@@ -257,23 +257,23 @@ class CorporateMemberController extends Controller
$corporate_id = CorporateEmployee::where('member_id', $member_id)->value('corporate_id'); $corporate_id = CorporateEmployee::where('member_id', $member_id)->value('corporate_id');
// $member = Member::findOrFail($member_id) // $member = Member::findOrFail($member_id)
// ->load([ // ->load([
// 'currentPlan', // 'currentPlan',
// 'currentPolicy', // 'currentPolicy',
// 'currentPlan.corporateBenefits' => function ($benefit) use ($request) { // 'currentPlan.corporateBenefits' => function ($benefit) use ($request) {
// return $benefit->when($request->benefit_ids, function ($q, $ids) { // return $benefit->when($request->benefit_ids, function ($q, $ids) {
// $q->whereIn('benefit_id', $ids) // $q->whereIn('benefit_id', $ids)
// ->where([ // ->where([
// 'corporate_benefits.active' => 1, // 'corporate_benefits.active' => 1,
// 'corporate_benefits.corporate_id' => $corporate_id, // 'corporate_benefits.corporate_id' => $corporate_id,
// ]); // ]);
// }); // });
// }, // },
// // 'currentPlan.corporateBenefits.benefit' // // 'currentPlan.corporateBenefits.benefit'
// ]); // ]);
$member = Member::with([ $member = Member::with([
'currentPlan', 'currentPlan',
'currentPolicy', 'currentPolicy',
'currentPlan.corporateBenefits' => function ($query) use ($request, $corporate_id) { 'currentPlan.corporateBenefits' => function ($query) use ($request, $corporate_id) {
$query->when($request->benefit_ids, function ($q, $ids) use ($corporate_id) { $query->when($request->benefit_ids, function ($q, $ids) use ($corporate_id) {
$q->whereIn('benefit_id', $ids) $q->whereIn('benefit_id', $ids)
@@ -283,7 +283,7 @@ class CorporateMemberController extends Controller
}, },
// 'currentPlan.corporateBenefits.benefit' // 'currentPlan.corporateBenefits.benefit'
])->findOrFail($member_id); ])->findOrFail($member_id);
$dateOfAdmission = $request->date_of_admission ? Carbon::parse($request->date_of_admission) : now(); $dateOfAdmission = $request->date_of_admission ? Carbon::parse($request->date_of_admission) : now();
// return view('pdf.guaranted_leter', compact('member')); // return view('pdf.guaranted_leter', compact('member'));
@@ -307,7 +307,7 @@ class CorporateMemberController extends Controller
// Menulis header kolom // Menulis header kolom
$headers_map_to_table_fields = $this->memberEnrollmentService->listing_doc_headers; $headers_map_to_table_fields = $this->memberEnrollmentService->listing_doc_headers;
$headerRow = WriterEntityFactory::createRowFromArray($headers_map_to_table_fields); $headerRow = WriterEntityFactory::createRowFromArray($headers_map_to_table_fields);
$writer->addRow($headerRow); $writer->addRow($headerRow);
// dd('test'); // dd('test');
// Menulis data // Menulis data
@@ -366,7 +366,7 @@ class CorporateMemberController extends Controller
$item['pre_existing'], // Pre Existing $item['pre_existing'], // Pre Existing
$item['bpjs_id'], // BPJS ID $item['bpjs_id'], // BPJS ID
$item['endorsement_date'], // Endorsement Date $item['endorsement_date'], // Endorsement Date
$item['remarks'], // Remarks $item['remarks'], // Remarks
NULL, // Internal Use NULL, // Internal Use
NULL,// Member Since NULL,// Member Since
NULL,// Internal Use NULL,// Internal Use
@@ -398,8 +398,8 @@ class CorporateMemberController extends Controller
public function sendAllECard(Request $request, $corporate_id){ public function sendAllECard(Request $request, $corporate_id){
$members = Member::with([ $members = Member::with([
'currentPlan', 'currentPlan',
'currentPolicy', 'currentPolicy',
'currentCorporate', 'currentCorporate',
// 'currentPlan.corporateBenefits.benefit' // 'currentPlan.corporateBenefits.benefit'
])->whereHas('currentCorporate', function ($query) use ($corporate_id) { ])->whereHas('currentCorporate', function ($query) use ($corporate_id) {
@@ -415,7 +415,7 @@ class CorporateMemberController extends Controller
$pdf = PDF::loadView('pdf.ecard', compact('member'))->setPaper('A5', 'portrait'); $pdf = PDF::loadView('pdf.ecard', compact('member'))->setPaper('A5', 'portrait');
$pdf->save($pdfPath); $pdf->save($pdfPath);
} }
$dataEmail = [ $dataEmail = [
// 'email' => $member->email, // 'email' => $member->email,
'email' => 'tbfajri', 'email' => 'tbfajri',
@@ -425,7 +425,7 @@ class CorporateMemberController extends Controller
'attach' => $pdfPath, 'attach' => $pdfPath,
]; ];
$sendEmail = Helper::sendEmailattachData($dataEmail); $sendEmail = Helper::sendEmailattachData($dataEmail);
if ($sendEmail === true){ if ($sendEmail === true){
$countSuccesSend ++; $countSuccesSend ++;
@@ -445,18 +445,18 @@ class CorporateMemberController extends Controller
'data_succes_send' => $countSuccesSend, 'data_succes_send' => $countSuccesSend,
]; ];
return response()->json($response); return response()->json($response);
} }
public function viewECard(Request $request, $member_id){ public function viewECard(Request $request, $member_id){
$member = Member::with([ $member = Member::with([
'currentPlan', 'currentPlan',
'currentPolicy', 'currentPolicy',
'currentCorporate', 'currentCorporate',
// 'currentPlan.corporateBenefits.benefit' // 'currentPlan.corporateBenefits.benefit'
])->find($member_id); ])->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'); return $pdf->download('Ecard - '.$member->full_name.'.pdf');
} }

View File

@@ -29,10 +29,10 @@ class CorporateService
MCU=Medical Check Up MCU=Medical Check Up
KB-VACC = Family Planning/Vaccination KB-VACC = Family Planning/Vaccination
LAB = Test Diagnostic 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 $service_code = ['MEDIVAC', 'MSO', 'PAC', 'OPDE', 'IP', 'OP', 'MA', 'ANC', 'DE', 'GL', 'SP', 'PF', 'MCU', 'KB-VACC', 'LAB', 'PHAR'];
protected function corporatePlansId($corporate_id){ protected function corporatePlansId($corporate_id){
$plans = Plan::where('corporate_id', $corporate_id)->get()->toArray(); $plans = Plan::where('corporate_id', $corporate_id)->get()->toArray();
$current_corporate_plans_id = []; $current_corporate_plans_id = [];
@@ -80,8 +80,8 @@ class CorporateService
throw new ImportRowException(__('plan.REQUIRED', [ throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Customer Plan' 'attribute' => 'Customer Plan'
]), 0, null, $row); ]), 0, null, $row);
} }
if (!in_array($row['type'], $plan_code)){ if (!in_array($row['type'], $plan_code)){
throw new ImportRowException(__('plan.NOT_MATCH', [ throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Plan Type', 'attribute' => 'Plan Type',
@@ -105,13 +105,13 @@ class CorporateService
// 'code' => $row['code'] // 'code' => $row['code']
// ]), 0, null, $row); // ]), 0, null, $row);
// } // }
if (!empty($row['family_plan']) && !in_array($row['family_plan'],$family_plan)) { if (!empty($row['family_plan']) && !in_array($row['family_plan'],$family_plan)) {
throw new ImportRowException(__('plan.NOT_MATCH', [ throw new ImportRowException(__('plan.NOT_MATCH', [
'attribute' => 'Family Plan', 'attribute' => 'Family Plan',
'code' => $row['family_plan'] 'code' => $row['family_plan']
]), 0, null, $row); ]), 0, null, $row);
} }
if (!empty($row['prorate_type']) && !in_array($row['prorate_type'], $prorate_type)) { if (!empty($row['prorate_type']) && !in_array($row['prorate_type'], $prorate_type)) {
throw new ImportRowException(__('plan.NOT_MATCH', [ throw new ImportRowException(__('plan.NOT_MATCH', [
@@ -171,7 +171,7 @@ class CorporateService
'code' => $row['service_code'] 'code' => $row['service_code']
]), 0, null, $row); ]), 0, null, $row);
} }
if (empty($row['plan_code'])) { if (empty($row['plan_code'])) {
throw new ImportRowException(__('benefit.PLAN_CODE_REQUIRED'), 0, null, $row); throw new ImportRowException(__('benefit.PLAN_CODE_REQUIRED'), 0, null, $row);
} else if (!in_array($row['plan_code'], $current_corporate_plans)){ } else if (!in_array($row['plan_code'], $current_corporate_plans)){
@@ -181,21 +181,21 @@ class CorporateService
// ]), 0, null, $row); // ]), 0, null, $row);
} }
if (empty($row['code'])) { if (empty($row['code'])) {
throw new ImportRowException(__('plan.REQUIRED', [ throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Benefit Code' 'attribute' => 'Benefit Code'
]), 0, null, $row); ]), 0, null, $row);
} }
if (empty($row['corporate_benefit_code'])) { if (empty($row['corporate_benefit_code'])) {
throw new ImportRowException(__('Customer Benefit Code Required', [ throw new ImportRowException(__('Customer Benefit Code Required', [
'attribute' => 'Customer Benefit Code' 'attribute' => 'Customer Benefit Code'
]), 0, null, $row); ]), 0, null, $row);
} }
if (empty($row['description'])) { if (empty($row['description'])) {
throw new ImportRowException(__('plan.REQUIRED', [ throw new ImportRowException(__('plan.REQUIRED', [
'attribute' => 'Description' 'attribute' => 'Description'
@@ -216,16 +216,16 @@ class CorporateService
'attribute' => 'Gender' 'attribute' => 'Gender'
]), 0, null, $row); ]), 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); 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); throw new ImportRowException(__('plan.MAX_FREQUENCY'), 0, null, $row);
} }
// if (empty($row['limit_free_tc'])){ // if (empty($row['limit_free_tc'])){
// throw new ImportRowException(__('plan.REQUIRED', [ // throw new ImportRowException(__('plan.REQUIRED', [