This commit is contained in:
Linksehat Staging Server
2024-01-02 14:05:48 +07:00
parent df4bd6946f
commit 4e988200b2
2 changed files with 40 additions and 28 deletions

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,14 +445,14 @@ 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);

View File

@@ -337,7 +337,13 @@ class MemberEnrollmentService
} }
public function dateParser($date_from_row) { public function dateParser($date_from_row) {
return is_string($date_from_row) ? Carbon::parse(strtotime($date_from_row)) : Carbon::parse($date_from_row);
if ($date_from_row instanceof DateTime) {
return $date_from_row->format('Y-m-d');
} else {
return date('Y-m-d', strtotime($date_from_row));
}
} }
public function validateDate($dateString, $dateFormat = 'Ymd'){ public function validateDate($dateString, $dateFormat = 'Ymd'){
@@ -545,12 +551,14 @@ class MemberEnrollmentService
if(!empty($row['date_terminated'])){ if(!empty($row['date_terminated'])){
$date_terminated = $row['date_terminated']; $date_terminated = $row['date_terminated'];
} }
$member_data = [ $member_data = [
"name" => $row['name'] ?? null, "name" => $row['name'] ?? null,
"member_id" => $row['member_id'] ?? null, "member_id" => $row['member_id'] ?? null,
"payor_id" => $row['payor_id'] ?? null, "payor_id" => $row['payor_id'] ?? null,
"nik" => $row['nik'] ?? null, "nik" => $row['nik'] ?? null,
"birth_date" => $row['date_of_birth'] ? date("Y-m-d",$row['date_of_birth']) : null, // "birth_date" => $row['date_of_birth'] ? date("Y-m-d",$row['date_of_birth']) : null,
"birth_date" => $this->dateParser($row['date_of_birth']),
"gender" => Helper::genderNormalization($row['sex']), "gender" => Helper::genderNormalization($row['sex']),
"language" => $row['language'] ?? null, "language" => $row['language'] ?? null,
"race" => $row['race'] ?? null, "race" => $row['race'] ?? null,
@@ -603,8 +611,13 @@ class MemberEnrollmentService
} }
// validasi member efektif date range date in periode date coroporate // validasi member efektif date range date in periode date coroporate
$member_effective_date = date("Y-m-d", strtotime($row['member_effective_date'])); // $member_effective_date = date("Y-m-d", strtotime($row['member_effective_date']));
$date_terminated = date("Y-m-d", strtotime($row['date_terminated'])); // $date_terminated = date("Y-m-d", strtotime($row['date_terminated']));
$member_effective_date = $this->dateParser($row['member_effective_date']);
$date_terminated = $this->dateParser($row['date_terminated']);
if(!empty($row['activation_date'])){ if(!empty($row['activation_date'])){
// $activation_date = date("Y-m-d", strtotime($row['activation_date'])); // $activation_date = date("Y-m-d", strtotime($row['activation_date']));
// if (($activation_date == $date_terminated) && ($activation_date == $member_effective_date)) { // if (($activation_date == $date_terminated) && ($activation_date == $member_effective_date)) {
@@ -630,10 +643,10 @@ class MemberEnrollmentService
// } // }
} }
// validasi member expried date range date in periode date coroporate // validasi member expried date range date in periode date coroporate
$members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date'])); // $members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date']));
// validasi member expried date must less date member effective // validasi member expried date must less date member effective
$members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date'])); // $members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date']));
$members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date'])); // $members_expire_date = date("Y-m-d", strtotime($row['member_expiry_date']));
// if ($member_effective_date <= $corporate->currentPolicy->start && ($member_effective_date != $corporate->currentPolicy->start)) { // if ($member_effective_date <= $corporate->currentPolicy->start && ($member_effective_date != $corporate->currentPolicy->start)) {
// throw new ImportRowException(__('enrollment.MORE_THAN', [ // throw new ImportRowException(__('enrollment.MORE_THAN', [
@@ -714,7 +727,6 @@ class MemberEnrollmentService
[ [
'name' => $row['name'] ?? null, 'name' => $row['name'] ?? null,
'birth_date' => $this->dateParser($row['date_of_birth']), 'birth_date' => $this->dateParser($row['date_of_birth']),
// 'birth_date' => $row['date_of_birth'],
'gender' => Helper::genderNormalization($row['sex']), 'gender' => Helper::genderNormalization($row['sex']),
'language' => $row['language'] ?? null, 'language' => $row['language'] ?? null,
'race' => $row['race'] ?? null, 'race' => $row['race'] ?? null,
@@ -771,7 +783,7 @@ class MemberEnrollmentService
if ($member->save()) { if ($member->save()) {
$person = Person::create([ $person = Person::create([
'name' => $row['name'], 'name' => $row['name'],
'birth_date' => $this->dateParser($row['date_of_birth']) ?? null, 'birth_date' => $this->dateParser($row['date_of_birth']),
'gender' => Helper::genderNormalization($row['sex']) ?? '-', 'gender' => Helper::genderNormalization($row['sex']) ?? '-',
'language' => $row['language'] ?? null, 'language' => $row['language'] ?? null,
'race' => $row['race'] ?? null, 'race' => $row['race'] ?? null,