Merge branch 'staging' of itcorp.primaya.id:rajif/aso into staging

This commit is contained in:
Linksehat Staging Server
2023-07-28 10:24:42 +07:00
4 changed files with 126 additions and 2 deletions

View File

@@ -14,6 +14,10 @@ use App\Models\MemberPolicy;
use App\Models\MemberPlan;
use App\Models\Person;
use App\Models\Plan;
use App\Models\OLDLMS\User;
use App\Models\OLDLMS\UserDetail;
use App\Models\OLDLMS\UserInsurance;
use App\Models\OLDLMS\UserInsuranceDetail;
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
use Box\Spout\Common\Entity\Row;
use Carbon\Carbon;
@@ -625,6 +629,7 @@ class MemberEnrollmentService
'start' => $corporate->currentPolicy->start
]), 0, null, $row);
}
if ($member_effective_date >= $corporate->currentPolicy->end && ($member_effective_date != $corporate->currentPolicy->end)) {
throw new ImportRowException(__('enrollment.LESS_THAN', [
'date_param' => 'Member Effective Date',
@@ -633,6 +638,7 @@ class MemberEnrollmentService
'end' => $corporate->currentPolicy->end
]), 0, null, $row);
}
if ($member_effective_date >= $corporate->currentPolicy->end && ($member_effective_date != $corporate->currentPolicy->end)) {
throw new ImportRowException(__('enrollment.LESS_THAN', [
'date_param' => 'Member Effective Date',
@@ -649,7 +655,7 @@ class MemberEnrollmentService
'start' => $corporate->currentPolicy->start
]), 0, null, $row);
}
if ($members_expire_date >= $corporate->currentPolicy->end && ($members_expire_date != $corporate->currentPolicy->end)) {
throw new ImportRowException(__('enrollment.LESS_THAN', [
'date_param' => 'Member Expired Date',
@@ -793,7 +799,7 @@ class MemberEnrollmentService
}
break;
case "2": // Member Information Update (Without Replacement Card)
// $this->validateRow($row);
$member = Member::query()
->where('member_id', $row['member_id'])
@@ -824,6 +830,91 @@ class MemberEnrollmentService
$memberPlan->plan_id = $plan->id;
$memberPlan->save();
}
// Update jika ada perubahaan di ASO maka akan teriflek ke LMS juga\
$userInsuranceLms = UserInsurance::query()
->where('sNoPolis', $row['member_id'])
->first();
if ($userInsuranceLms){
$userInsuranceLms->sNamaPeserta = $row['name'];
$userInsuranceLms->dStartDate = $row['member_effective_date'];
$userInsuranceLms->dExpireDate = $row['member_expiry_date'];
$nIDUser = $userInsuranceLms->nIDUser;
UserInsurance::updateOrCreate(
['nIDUser' => $nIDUser],
[
'sNamaPeserta' => $row['name'],
'dStartDate' => $row['member_effective_date'],
'dExpireDate' => $row['member_expiry_date'],
'dTanggalLahir' => $row['date_of_birth'],
// 'nNoKTP' => $row['nric'] ?? ,
]
);
/* Lihat ID Marital status di table tm_status_pernikahan Linksehat */
if ($row['relationship_with_principal'] == 'H'){
$sMartialStatus= 6;
$nIDHubunganKeluarga = 3;
} else if ($row['relationship_with_principal'] == 'W'){
$sMartialStatus = 7;
$nIDHubunganKeluarga = 4;
} else if ($row['relationship_with_principal'] == 'S'){
$sMartialStatus = 4;
$nIDHubunganKeluarga = 5;
} else if ($row['relationship_with_principal'] == 'D'){
$sMartialStatus = 5;
$nIDHubunganKeluarga = 5;
} else {
$sMartialStatus = 0;
$nIDHubunganKeluarga = 0;
}
if($row['sex'] == 'M'){
$nIDJenisKelamin = 1;
} else {
$nIDJenisKelamin = 2;
};
// $ip_address = $CI->_prepare_ip($CI->input->ip_address());
$name = explode(" ", $row['name']);
// First name
$first_name = isset($name[0]) ? $name[0] : '';
// Middle name
$middle_name = isset($name[1]) ? $name[1] : '';
// Last name
$last_name = '';
if (count($name) > 2) {
$last_name = implode(" ", array_slice($name, 2));
}
$userLms = User::updateOrCreate(
[
'nID' => $nIDUser // Kondisi untuk mencari data dengan 'nID' yang sesuai dengan $nIDUser
],
[
'sFirstName' => 'rwdsa',
'sLastName' => $middle_name . ' ' .$last_name, // Ubah ini dengan variabel yang sesuai dengan nama belakang (last name)
'sPhone' => $row['telephone_mobile'],
'sEmail' => str_replace(' ', '', $row['email']),
'nIDHubunganKeluarga' => $nIDHubunganKeluarga !== 0 ? $nIDHubunganKeluarga : null,
'dUpdateOn' => date('Y-m-d H:i:s'),
]
);
$userLmsDetail = UserDetail::updateOrCreate(
[
'nIDUser' => $nIDUser
],
[
'nIDUser' => $nIDUser,
'dTanggalLahir' => $row['date_of_birth'],
'dCreateOn' => date('Y-m-d H:i:s'),
'sMartialStatus' => $sMartialStatus != 0 ? $sMartialStatus : null,
'nIDJenisKelamin' => $nIDJenisKelamin,
'sCreateBy' => $nIDUser,
'sKTP' => $row['nric'] ?? null,
]
);
}
if (!$memberPolicy) {
throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [
'member_id' => $row['member_id'],

View File

@@ -23,6 +23,17 @@ class User extends Model
'full_name',
];
protected $primaryKey = 'nID';
protected $fillable = [
'nID',
'sFirstName',
'sLastName',
'sPhone',
'sEmail',
'nIDHubunganKeluarga',
'dUpdateOn',
];
protected function fullName(): Attribute
{
return Attribute::make(

View File

@@ -14,7 +14,19 @@ class UserDetail extends Model
const DELETED_AT = 'dDeleteOn';
protected $connection = 'oldlms';
protected $primaryKey = 'nID';
protected $table = 'tm_users_detail';
protected $fillable = [
'nIDUser',
'dTanggalLahir',
'dCreateOn',
'sMartialStatus',
'nIDJenisKelamin',
'sCreateBy',
'sKTP',
];
}

View File

@@ -15,6 +15,16 @@ class UserInsurance extends Model
const DELETED_AT = 'dDeleteOn';
protected $connection = 'oldlms';
protected $primaryKey = 'nIDUser';
protected $table = 'tm_users_insurance';
protected $fillable = [
'nIDUser',
'sNamaPeserta',
'dStartDate',
'dExpireDate',
'dTanggalLahir',
'nNoKTP',
'sNoPolis',
];
}