Fix Seeder
This commit is contained in:
@@ -192,9 +192,12 @@ class CorporateMemberController extends Controller
|
|||||||
'ingestion_code' => $e->getCode(),
|
'ingestion_code' => $e->getCode(),
|
||||||
'ingestion_status' => $e->getMessage(),
|
'ingestion_status' => $e->getMessage(),
|
||||||
]);
|
]);
|
||||||
$singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRowWithResultFormat($new_member_data));
|
// try {
|
||||||
$writer->addRow($singleRow);
|
$singleRow = WriterEntityFactory::createRow($this->memberEnrollmentService->makeResultRowWithResultFormat($new_member_data));
|
||||||
$failed_member_data[] = ['row_number' => $index, 'error' => $e->getMessage()];
|
$writer->addRow($singleRow);
|
||||||
|
// } catch (\Exception $e) {
|
||||||
|
$failed_member_data[] = ['row_number' => $index, 'error' => $e->getMessage(), 'data' => $new_member_data];
|
||||||
|
// }
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
// Write Server Error to File
|
// Write Server Error to File
|
||||||
$new_member_data = array_merge($new_member_data, [
|
$new_member_data = array_merge($new_member_data, [
|
||||||
|
|||||||
@@ -247,6 +247,10 @@ class MemberEnrollmentService
|
|||||||
$this->member = $member;
|
$this->member = $member;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function dateParser($date_from_row) {
|
||||||
|
return is_string($date_from_row) ? Carbon::parse(strtotime($date_from_row)) : Carbon::parse($date_from_row);
|
||||||
|
}
|
||||||
|
|
||||||
protected function validateRow($row)
|
protected function validateRow($row)
|
||||||
{
|
{
|
||||||
if (empty($row['record_type'])) {
|
if (empty($row['record_type'])) {
|
||||||
@@ -360,7 +364,7 @@ class MemberEnrollmentService
|
|||||||
"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" => Carbon::parse(strtotime($row['date_of_birth'])),
|
"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,
|
||||||
@@ -415,7 +419,7 @@ class MemberEnrollmentService
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
'name' => $row['name'] ?? null,
|
'name' => $row['name'] ?? null,
|
||||||
'birth_date' => Carbon::parse(strtotime($row['date_of_birth'])),
|
'birth_date' => $this->dateParser($row['date_of_birth']),
|
||||||
'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,
|
||||||
@@ -462,7 +466,7 @@ class MemberEnrollmentService
|
|||||||
|
|
||||||
$person = Person::create([
|
$person = Person::create([
|
||||||
'name' => $row['name'],
|
'name' => $row['name'],
|
||||||
'birth_date' => Carbon::parse(strtotime($row['date_of_birth'])),
|
'birth_date' => $this->dateParser($row['date_of_birth']),
|
||||||
'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,
|
||||||
@@ -474,8 +478,8 @@ class MemberEnrollmentService
|
|||||||
$memberPolicy->fill([
|
$memberPolicy->fill([
|
||||||
'member_id' => $member->member_id,
|
'member_id' => $member->member_id,
|
||||||
'policy_id' => $row['policy_number'],
|
'policy_id' => $row['policy_number'],
|
||||||
'start' => Carbon::parse(strtotime($row['member_effective_date'])),
|
'start' => $this->dateParser($row['member_effective_date']),
|
||||||
'end' => Carbon::parse(strtotime($row['member_expiry_date'])),
|
'end' => $this->dateParser($row['member_expiry_date']),
|
||||||
'status' => 'active'
|
'status' => 'active'
|
||||||
]);
|
]);
|
||||||
$memberPolicy->save();
|
$memberPolicy->save();
|
||||||
@@ -505,8 +509,8 @@ class MemberEnrollmentService
|
|||||||
$member->memberPlans()->create([
|
$member->memberPlans()->create([
|
||||||
'plan_id' => $plan->id,
|
'plan_id' => $plan->id,
|
||||||
'status' => 'active',
|
'status' => 'active',
|
||||||
'start' => Carbon::parse(strtotime($row['member_effective_date'])),
|
'start' => $this->dateParser($row['member_effective_date']),
|
||||||
'end' => Carbon::parse(strtotime($row['member_expiry_date'])),
|
'end' => $this->dateParser($row['member_expiry_date']),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
DB::commit();
|
DB::commit();
|
||||||
@@ -620,13 +624,13 @@ class MemberEnrollmentService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (Carbon::parse(strtotime($row['member_effective_date'])) > Carbon::parse(strtotime($row['member_expiry_date']))) {
|
if ($this->dateParser($row['member_effective_date']) > $this->dateParser($row['member_expiry_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date']))
|
Carbon::parse($memberPolicy->end) > $this->dateParser($row['member_expiry_date'])
|
||||||
|| $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date']))
|
|| $memberPolicy->end > $this->dateParser($row['member_expiry_date'])
|
||||||
) {
|
) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row);
|
||||||
}
|
}
|
||||||
@@ -663,13 +667,13 @@ class MemberEnrollmentService
|
|||||||
]), 0, null, $row);
|
]), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Carbon::parse(strtotime($row['member_effective_date'])) > Carbon::parse(strtotime($row['member_expiry_date']))) {
|
if ($this->dateParser($row['member_effective_date']) > $this->dateParser($row['member_expiry_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
Carbon::parse($memberPolicy->end) > Carbon::parse(strtotime($row['member_expiry_date']))
|
Carbon::parse($memberPolicy->end) > $this->dateParser($row['member_expiry_date'])
|
||||||
|| $memberPolicy->end > Carbon::parse(strtotime($row['member_expiry_date']))
|
|| $memberPolicy->end > $this->dateParser($row['member_expiry_date'])
|
||||||
) {
|
) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_RENEWAL_STILL_ACTIVE'), 0, null, $row);
|
||||||
}
|
}
|
||||||
@@ -850,11 +854,11 @@ class MemberEnrollmentService
|
|||||||
]), 0, null, $row);
|
]), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Carbon::parse(strtotime($row['member_effective_date'])) < now() || Carbon::parse(strtotime($row['member_expiry_date'])) < now()) {
|
if ($this->dateParser($row['member_effective_date']) < now() || $this->dateParser($row['member_expiry_date']) < now()) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_MUST_BE_AFTER_TODAY'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_MUST_BE_AFTER_TODAY'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Carbon::parse(strtotime($row['member_effective_date'])) > Carbon::parse(strtotime($row['member_expiry_date']))) {
|
if ($this->dateParser($row['member_effective_date']) > $this->dateParser($row['member_expiry_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -889,8 +893,8 @@ class MemberEnrollmentService
|
|||||||
$newMemberPolicy->fill([
|
$newMemberPolicy->fill([
|
||||||
'member_id' => $row['member_id'],
|
'member_id' => $row['member_id'],
|
||||||
'policy_id' => $row['policy_number'],
|
'policy_id' => $row['policy_number'],
|
||||||
'start' => Carbon::parse(strtotime($row['member_effective_date'])),
|
'start' => $this->dateParser($row['member_effective_date']),
|
||||||
'end' => Carbon::parse(strtotime($row['member_expiry_date'])),
|
'end' => $this->dateParser($row['member_expiry_date']),
|
||||||
'status' => 'active'
|
'status' => 'active'
|
||||||
]);
|
]);
|
||||||
$newMemberPolicy->save();
|
$newMemberPolicy->save();
|
||||||
@@ -931,7 +935,7 @@ class MemberEnrollmentService
|
|||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_NO_CHANGE'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_NO_CHANGE'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Carbon::parse(strtotime($row['member_effective_date'])) > Carbon::parse(strtotime($row['member_expiry_date']))) {
|
if ($this->dateParser($row['member_effective_date']) > $this->dateParser($row['member_expiry_date'])) {
|
||||||
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
throw new ImportRowException(__('enrollment.MEMBER_EXPIRY_DATE_INVALID'), 0, null, $row);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1016,7 +1020,7 @@ class MemberEnrollmentService
|
|||||||
$cells = [];
|
$cells = [];
|
||||||
foreach ($this->result_doc_headers as $header) {
|
foreach ($this->result_doc_headers as $header) {
|
||||||
$value = $row_data[$this->doc_headers_to_field_map[$header]] ?? null;
|
$value = $row_data[$this->doc_headers_to_field_map[$header]] ?? null;
|
||||||
$cells[] = WriterEntityFactory::createCell($value);
|
$cells[] = WriterEntityFactory::createCell(is_string($value) ? $value : 'error not string');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $cells;
|
return $cells;
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ class CorporateServiceConfigResource extends JsonResource
|
|||||||
'corporate_id' => $this->corporate_id,
|
'corporate_id' => $this->corporate_id,
|
||||||
'service_code' => $this->service_code,
|
'service_code' => $this->service_code,
|
||||||
'status' => $this->status,
|
'status' => $this->status,
|
||||||
'name' => $this->service->name,
|
'name' => $this->service->name ?? '-',
|
||||||
'description' => $this->service->description,
|
'description' => $this->service->description ?? '-',
|
||||||
'configurations' => $this->configs->pluck('value', 'name'),
|
'configurations' => $this->configs->pluck('value', 'name'),
|
||||||
'selected_specialities' => $this->corporateServiceSpecialities->where('active', true)->pluck('speciality.name', 'speciality_id'),
|
'selected_specialities' => $this->corporateServiceSpecialities->where('active', true)->pluck('speciality.name', 'speciality_id'),
|
||||||
'exclusions' => $this->corporateServiceSpecialities->map(function ($speciality) {
|
'exclusions' => $this->corporateServiceSpecialities->map(function ($speciality) {
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ class ServiceSeeder extends Seeder
|
|||||||
'code' => 'OPT',
|
'code' => 'OPT',
|
||||||
'description' => 'Optical',
|
'description' => 'Optical',
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'id' => 6,
|
||||||
|
'name' => 'Medical Check Up',
|
||||||
|
'code' => 'MCU',
|
||||||
|
'description' => 'Medical Check Up',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@@ -56,12 +62,14 @@ class ServiceSeeder extends Seeder
|
|||||||
$service = Service::updateOrCreate(['id' => $service['id']], $service);
|
$service = Service::updateOrCreate(['id' => $service['id']], $service);
|
||||||
|
|
||||||
foreach ($corporates as $corporate) {
|
foreach ($corporates as $corporate) {
|
||||||
$corporateService = $corporate->corporateServices()->create([
|
$corporateService = $corporate->corporateServices()->firstOrCreate([
|
||||||
|
'service_code' => $service->code
|
||||||
|
],[
|
||||||
'service_code' => $service->code,
|
'service_code' => $service->code,
|
||||||
'status' => 'active'
|
'status' => 'inactive'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$corporateService->configs()->insert([
|
$corporate_service_configs_data = [
|
||||||
[
|
[
|
||||||
'corporate_service_id' => $corporateService->id,
|
'corporate_service_id' => $corporateService->id,
|
||||||
'name' => 'gp_external_doctor_online',
|
'name' => 'gp_external_doctor_online',
|
||||||
@@ -122,7 +130,14 @@ class ServiceSeeder extends Seeder
|
|||||||
'name' => 'specialist_practitioner_fee',
|
'name' => 'specialist_practitioner_fee',
|
||||||
'value' => false,
|
'value' => false,
|
||||||
],
|
],
|
||||||
]);
|
];
|
||||||
|
|
||||||
|
foreach ($corporate_service_configs_data as $config) {
|
||||||
|
$corporateService->configs()->firstOrCreate([
|
||||||
|
'corporate_service_id' => $config['corporate_service_id'],
|
||||||
|
'name' => $config['name']
|
||||||
|
], $config);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user