Update Bugs Fix Import
This commit is contained in:
@@ -404,10 +404,11 @@ class CorporateController extends Controller
|
|||||||
$file_name = now()->getPreciseTimestamp(3) . '-' . $request->file('file')->getClientOriginalName();
|
$file_name = now()->getPreciseTimestamp(3) . '-' . $request->file('file')->getClientOriginalName();
|
||||||
$file = $request->file('file')->storeAs('temp', $file_name);
|
$file = $request->file('file')->storeAs('temp', $file_name);
|
||||||
$corporate = Corporate::with(['plans'])->findOrFail($corporate_id);
|
$corporate = Corporate::with(['plans'])->findOrFail($corporate_id);
|
||||||
|
$fileWrite = Storage::disk('public')->path('temp/result-' . $file_name);
|
||||||
|
$fileRead = Storage::path('temp/' . $file_name);
|
||||||
$import = new ImportService();
|
$import = new ImportService();
|
||||||
$import->read(Storage::path('temp/' . $file_name));
|
$import->read($fileRead);
|
||||||
$import->write(Storage::disk('public')->path('temp/result-' . $file_name), 'xsls');
|
$import->write($fileWrite, 'xsls');
|
||||||
|
|
||||||
foreach ($import->sheetsIterator() as $sheetIndex => $sheet) {
|
foreach ($import->sheetsIterator() as $sheetIndex => $sheet) {
|
||||||
if (!in_array($sheet->getName(), ['Plan', 'Benefit'])) {
|
if (!in_array($sheet->getName(), ['Plan', 'Benefit'])) {
|
||||||
@@ -431,7 +432,8 @@ class CorporateController extends Controller
|
|||||||
$result_headers = array_keys($headers_map_to_table_fields);
|
$result_headers = array_keys($headers_map_to_table_fields);
|
||||||
$result_headers = array_merge($result_headers, ['Ingest Code', 'Ingest Note']);
|
$result_headers = array_merge($result_headers, ['Ingest Code', 'Ingest Note']);
|
||||||
|
|
||||||
// dd($result_headers);
|
$import->read($fileRead);
|
||||||
|
$import->write($fileWrite, 'xsls');
|
||||||
$import->addArrayToRow($result_headers);
|
$import->addArrayToRow($result_headers);
|
||||||
}
|
}
|
||||||
$doc_headers_indexes = [];
|
$doc_headers_indexes = [];
|
||||||
@@ -460,12 +462,16 @@ class CorporateController extends Controller
|
|||||||
$corporateService->handleBenefitRow($corporate, $row_data);
|
$corporateService->handleBenefitRow($corporate, $row_data);
|
||||||
}
|
}
|
||||||
// Write Success Result to File
|
// Write Success Result to File
|
||||||
$import->addArrayToRow(array_merge($row_data, [
|
$import->read($fileRead);
|
||||||
'Ingest Code' => 200,
|
$import->write($fileWrite, 'xsls');
|
||||||
'Ingest Note' => 'Success',
|
$result_headers = array_merge($row_data, ['Ingest Code' =>200, 'Ingest Note' => 'Success']);
|
||||||
]), $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->write($fileWrite, 'xsls');
|
||||||
$import->addArrayToRow(array_merge($row_data, [
|
$import->addArrayToRow(array_merge($row_data, [
|
||||||
'Ingest Code' => $e->getCode(),
|
'Ingest Code' => $e->getCode(),
|
||||||
'Ingest Note' => $e->getMessage(),
|
'Ingest Note' => $e->getMessage(),
|
||||||
@@ -473,6 +479,8 @@ class CorporateController extends Controller
|
|||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
// throw new \Exception($e);
|
// throw new \Exception($e);
|
||||||
// Write Server Error to File
|
// Write Server Error to File
|
||||||
|
$import->read($fileRead);
|
||||||
|
$import->write($fileWrite, 'xsls');
|
||||||
$import->addArrayToRow(array_merge($row_data, [
|
$import->addArrayToRow(array_merge($row_data, [
|
||||||
'Ingest Code' => 500,
|
'Ingest Code' => 500,
|
||||||
'Ingest Note' => env('APP_DEBUG') ? $e->getMessage() : 'Server Error',
|
'Ingest Note' => env('APP_DEBUG') ? $e->getMessage() : 'Server Error',
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ class MemberEnrollmentService
|
|||||||
|
|
||||||
public function validateDate($dateString, $dateFormat = 'Ymd'){
|
public function validateDate($dateString, $dateFormat = 'Ymd'){
|
||||||
$date = DateTime::createFromFormat($dateFormat, $dateString);
|
$date = DateTime::createFromFormat($dateFormat, $dateString);
|
||||||
if ($date && $date->format($dateFormat) == $dateString) {
|
if ($date && ($date->format($dateFormat) == $dateString)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@@ -437,32 +437,32 @@ class MemberEnrollmentService
|
|||||||
if (empty($row['member_effective_date'])) {
|
if (empty($row['member_effective_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EFFECTIVE_REQUIRED'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EFFECTIVE_REQUIRED'), 0, null, $row);
|
||||||
}
|
}
|
||||||
if(!$this->validateDate($row['member_effective_date'])){
|
// if(!$this->validateDate($row['member_effective_date'])){
|
||||||
throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
// throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
||||||
'title' => $title['member_effective_date']
|
// 'title' => $title['member_effective_date']
|
||||||
]), 0, null, $row);
|
// ]), 0, null, $row);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (empty($row['member_expiry_date'])) {
|
if (empty($row['member_expiry_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_REQUIRED'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_REQUIRED'), 0, null, $row);
|
||||||
}
|
}
|
||||||
if(!$this->validateDate($row['member_expiry_date'])){
|
// if(!$this->validateDate($row['member_expiry_date'])){
|
||||||
throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
// throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
||||||
'title' => $title['member_expiry_date']
|
// 'title' => $title['member_expiry_date']
|
||||||
]), 0, null, $row);
|
// ]), 0, null, $row);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// TODO EFFECTIVE DATE VALIDATION
|
// TODO EFFECTIVE DATE VALIDATION
|
||||||
// if (empty($row['activation_date'])) {
|
// if (empty($row['activation_date'])) {
|
||||||
// throw new ImportRowException(__('enrollment.ACTIVATION_DATE_REQUIRED'), 0, null, $row);
|
// throw new ImportRowException(__('enrollment.ACTIVATION_DATE_REQUIRED'), 0, null, $row);
|
||||||
// }
|
// }
|
||||||
if(!empty($row['activation_date'])){
|
// if(!empty($row['activation_date'])){
|
||||||
if(!$this->validateDate($row['activation_date'])){
|
// if(!$this->validateDate($row['activation_date'])){
|
||||||
throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
// throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
||||||
'title' => $title['activation_date']
|
// 'title' => $title['activation_date']
|
||||||
]), 0, null, $row);
|
// ]), 0, null, $row);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
// TODO FKTP VALIDATION
|
// TODO FKTP VALIDATION
|
||||||
// TODO FKRTL VALIDATION
|
// TODO FKRTL VALIDATION
|
||||||
|
|
||||||
@@ -495,22 +495,22 @@ class MemberEnrollmentService
|
|||||||
if (empty($row['date_of_birth'])) {
|
if (empty($row['date_of_birth'])) {
|
||||||
throw new ImportRowException(__('enrollment.DATE_OF_BIRTH_REQUIRED'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.DATE_OF_BIRTH_REQUIRED'), 0, null, $row);
|
||||||
}
|
}
|
||||||
if(!$this->validateDate($row['date_of_birth'])){
|
// if(!$this->validateDate($row['date_of_birth'])){
|
||||||
throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
// throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
||||||
'title' => $title['date_of_birth']
|
// 'title' => $title['date_of_birth']
|
||||||
]), 0, null, $row);
|
// ]), 0, null, $row);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// if (empty($row['date_terminated'])) {
|
// if (empty($row['date_terminated'])) {
|
||||||
// throw new ImportRowException(__('enrollment.DATE_OF_TERMINATED'), 0, null, $row);
|
// throw new ImportRowException(__('enrollment.DATE_OF_TERMINATED'), 0, null, $row);
|
||||||
// }
|
// }
|
||||||
if (!empty($row['date_terminated'])) {
|
// if (!empty($row['date_terminated'])) {
|
||||||
if(!$this->validateDate($row['date_terminated'])){
|
// if(!$this->validateDate($row['date_terminated'])){
|
||||||
throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
// throw new ImportRowException(__('enrollment.INVALID_DATE', [
|
||||||
'title' => $title['date_terminated']
|
// 'title' => $title['date_terminated']
|
||||||
]), 0, null, $row);
|
// ]), 0, null, $row);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
// TODO DOB FORMAT VALIDATION
|
// TODO DOB FORMAT VALIDATION
|
||||||
|
|
||||||
if (empty($row['sex'])) {
|
if (empty($row['sex'])) {
|
||||||
@@ -705,6 +705,7 @@ class MemberEnrollmentService
|
|||||||
'gender' => Helper::genderPerson($row['sex']),
|
'gender' => Helper::genderPerson($row['sex']),
|
||||||
'language' => $row['language'] ?? null,
|
'language' => $row['language'] ?? null,
|
||||||
'race' => $row['race'] ?? null,
|
'race' => $row['race'] ?? null,
|
||||||
|
'phone' => $row['telephone_mobile'] ?? null
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$member->person_id = $person->id;
|
$member->person_id = $person->id;
|
||||||
@@ -749,6 +750,7 @@ class MemberEnrollmentService
|
|||||||
'gender' => Helper::genderPerson($row['sex']),
|
'gender' => Helper::genderPerson($row['sex']),
|
||||||
'language' => $row['language'] ?? null,
|
'language' => $row['language'] ?? null,
|
||||||
'race' => $row['race'] ?? null,
|
'race' => $row['race'] ?? null,
|
||||||
|
'phone' => $row['telephone_mobile'],
|
||||||
]);
|
]);
|
||||||
$member->person_id = $person->id;
|
$member->person_id = $person->id;
|
||||||
$member->save();
|
$member->save();
|
||||||
@@ -799,7 +801,7 @@ class MemberEnrollmentService
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "2": // Member Information Update (Without Replacement Card)
|
case "2": // Member Information Update (Without Replacement Card)
|
||||||
|
|
||||||
// $this->validateRow($row);
|
// $this->validateRow($row);
|
||||||
$member = Member::query()
|
$member = Member::query()
|
||||||
->where('member_id', $row['member_id'])
|
->where('member_id', $row['member_id'])
|
||||||
@@ -812,7 +814,27 @@ class MemberEnrollmentService
|
|||||||
'policy_id' => $row['policy_number']
|
'policy_id' => $row['policy_number']
|
||||||
]), 0, null, $row);
|
]), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$person = Person::updateOrCreate(
|
||||||
|
[
|
||||||
|
'id' => $member->person_id
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => $row['name'] ?? null,
|
||||||
|
// 'birth_date' => $this->dateParser($row['date_of_birth']),
|
||||||
|
'birth_date' => $row['date_of_birth'],
|
||||||
|
'gender' => Helper::genderPerson($row['sex']),
|
||||||
|
'language' => $row['language'] ?? null,
|
||||||
|
'race' => $row['race'] ?? null,
|
||||||
|
'phone' => $row['telephone_mobile']
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
$member->person_id = $person->id;
|
||||||
|
$member->save();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$memberPolicy = MemberPolicy::query()
|
$memberPolicy = MemberPolicy::query()
|
||||||
->where('policy_id', $row['policy_number'])
|
->where('policy_id', $row['policy_number'])
|
||||||
->where('member_id', $row['member_id'])
|
->where('member_id', $row['member_id'])
|
||||||
|
|||||||
@@ -64,22 +64,22 @@ class ImportService{
|
|||||||
|
|
||||||
public function addArrayToRow($array, $sheetName = null)
|
public function addArrayToRow($array, $sheetName = null)
|
||||||
{
|
{
|
||||||
// Switch to the correct Sheet Before Write
|
// Switch to the correct Sheet Before Write
|
||||||
if ($sheetName) {
|
if ($sheetName) {
|
||||||
if ($sheetName != $this->writer->getCurrentSheet()->getName()) {
|
$currentSheet = $this->writer->getCurrentSheet();
|
||||||
|
if ($sheetName != $currentSheet->getName()) {
|
||||||
foreach ($this->writer->getSheetIterator() as $sheet) {
|
$sheets = $this->writer->getSheets();
|
||||||
if ($sheet->getName() == $sheet) {
|
foreach ($sheets as $sheet) {
|
||||||
$this->writer->setCurrentSheet($sheet);
|
if ($sheet->getName() == $sheetName) {
|
||||||
break;
|
$this->writer->setCurrentSheet($sheet); // Set the correct sheet
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
$newRow = $this->makeRow($array);
|
||||||
|
// $this->writer->addRow($newRow);
|
||||||
$newRow = $this->makeRow($array);
|
return $this;
|
||||||
$this->writer->addRow($newRow);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -560,6 +560,12 @@ export default function CorporatePlanList({handleSubmitSuccess}) {
|
|||||||
<Grid item xs={6}>
|
<Grid item xs={6}>
|
||||||
: {row.email ?? '-'}
|
: {row.email ?? '-'}
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Grid item xs={6}>
|
||||||
|
Phone
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={6}>
|
||||||
|
: {row.person?.phone ?? '-'}
|
||||||
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={6}>
|
||||||
|
|||||||
Reference in New Issue
Block a user