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