diff --git a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php index 9acc2340..46543019 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php @@ -178,7 +178,7 @@ class CorporateMemberController extends Controller $result_headers = $this->memberEnrollmentService->result_doc_headers; $singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRow($result_headers)); $writer->addRow($singleRow); - + $imported_member_data = 0; $failed_member_data = []; 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(); } } - + try { $rowResponse = $this->memberEnrollmentService->handleImportRow($corporate, $new_member_data); // Write Success Result to File @@ -257,23 +257,23 @@ class CorporateMemberController extends Controller $corporate_id = CorporateEmployee::where('member_id', $member_id)->value('corporate_id'); // $member = Member::findOrFail($member_id) // ->load([ - // 'currentPlan', - // 'currentPolicy', + // 'currentPlan', + // 'currentPolicy', // 'currentPlan.corporateBenefits' => function ($benefit) use ($request) { // return $benefit->when($request->benefit_ids, function ($q, $ids) { - + // $q->whereIn('benefit_id', $ids) // ->where([ // 'corporate_benefits.active' => 1, // 'corporate_benefits.corporate_id' => $corporate_id, // ]); // }); - // }, + // }, // // 'currentPlan.corporateBenefits.benefit' // ]); $member = Member::with([ - 'currentPlan', - 'currentPolicy', + 'currentPlan', + 'currentPolicy', 'currentPlan.corporateBenefits' => function ($query) use ($request, $corporate_id) { $query->when($request->benefit_ids, function ($q, $ids) use ($corporate_id) { $q->whereIn('benefit_id', $ids) @@ -283,7 +283,7 @@ class CorporateMemberController extends Controller }, // 'currentPlan.corporateBenefits.benefit' ])->findOrFail($member_id); - + $dateOfAdmission = $request->date_of_admission ? Carbon::parse($request->date_of_admission) : now(); // return view('pdf.guaranted_leter', compact('member')); @@ -307,7 +307,7 @@ class CorporateMemberController extends Controller // Menulis header kolom $headers_map_to_table_fields = $this->memberEnrollmentService->listing_doc_headers; $headerRow = WriterEntityFactory::createRowFromArray($headers_map_to_table_fields); - + $writer->addRow($headerRow); // dd('test'); // Menulis data @@ -366,7 +366,7 @@ class CorporateMemberController extends Controller $item['pre_existing'], // Pre Existing $item['bpjs_id'], // BPJS ID $item['endorsement_date'], // Endorsement Date - $item['remarks'], // Remarks + $item['remarks'], // Remarks NULL, // Internal Use NULL,// Member Since NULL,// Internal Use @@ -398,8 +398,8 @@ class CorporateMemberController extends Controller public function sendAllECard(Request $request, $corporate_id){ $members = Member::with([ - 'currentPlan', - 'currentPolicy', + 'currentPlan', + 'currentPolicy', 'currentCorporate', // 'currentPlan.corporateBenefits.benefit' ])->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->save($pdfPath); } - + $dataEmail = [ // 'email' => $member->email, 'email' => 'tbfajri', @@ -425,7 +425,7 @@ class CorporateMemberController extends Controller 'attach' => $pdfPath, ]; $sendEmail = Helper::sendEmailattachData($dataEmail); - + if ($sendEmail === true){ $countSuccesSend ++; @@ -445,14 +445,14 @@ class CorporateMemberController extends Controller 'data_succes_send' => $countSuccesSend, ]; - return response()->json($response); + return response()->json($response); } public function viewECard(Request $request, $member_id){ $member = Member::with([ - 'currentPlan', - 'currentPolicy', - 'currentCorporate', + 'currentPlan', + 'currentPolicy', + 'currentCorporate', // 'currentPlan.corporateBenefits.benefit' ])->find($member_id); diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php index d01afcda..c38f4133 100644 --- a/Modules/Internal/Services/MemberEnrollmentService.php +++ b/Modules/Internal/Services/MemberEnrollmentService.php @@ -337,7 +337,13 @@ class MemberEnrollmentService } 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'){ @@ -545,12 +551,14 @@ class MemberEnrollmentService if(!empty($row['date_terminated'])){ $date_terminated = $row['date_terminated']; } + $member_data = [ "name" => $row['name'] ?? null, "member_id" => $row['member_id'] ?? null, "payor_id" => $row['payor_id'] ?? 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']), "language" => $row['language'] ?? null, "race" => $row['race'] ?? null, @@ -603,8 +611,13 @@ class MemberEnrollmentService } // validasi member efektif date range date in periode date coroporate - $member_effective_date = date("Y-m-d", strtotime($row['member_effective_date'])); - $date_terminated = date("Y-m-d", strtotime($row['date_terminated'])); + // $member_effective_date = date("Y-m-d", strtotime($row['member_effective_date'])); + // $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'])){ // $activation_date = date("Y-m-d", strtotime($row['activation_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 - $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 - $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)) { // throw new ImportRowException(__('enrollment.MORE_THAN', [ @@ -714,7 +727,6 @@ class MemberEnrollmentService [ 'name' => $row['name'] ?? null, 'birth_date' => $this->dateParser($row['date_of_birth']), - // 'birth_date' => $row['date_of_birth'], 'gender' => Helper::genderNormalization($row['sex']), 'language' => $row['language'] ?? null, 'race' => $row['race'] ?? null, @@ -771,7 +783,7 @@ class MemberEnrollmentService if ($member->save()) { $person = Person::create([ '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']) ?? '-', 'language' => $row['language'] ?? null, 'race' => $row['race'] ?? null,