update
This commit is contained in:
@@ -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'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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', [
|
||||||
|
|||||||
Reference in New Issue
Block a user