autolinking dan manual linking
This commit is contained in:
@@ -129,4 +129,10 @@ class LinkingController extends Controller
|
|||||||
|
|
||||||
return Helper::responseJson(data: [], message: 'Member Tidak ditemukan', statusCode: 404, status: 'error');
|
return Helper::responseJson(data: [], message: 'Member Tidak ditemukan', statusCode: 404, status: 'error');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function card($member_id){
|
||||||
|
$member = Member::where('member_id', $member_id)->get()->first();
|
||||||
|
$message = $member->currentPolicy->corporate->welcome_message;
|
||||||
|
return Helper::responseJson(data: MemberResource::make($member), message: $message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,5 +78,7 @@ Route::prefix('linksehat')->group(function () {
|
|||||||
|
|
||||||
Route::post('manual-linking', [LinkingController::class, 'linkingValidate']);
|
Route::post('manual-linking', [LinkingController::class, 'linkingValidate']);
|
||||||
|
|
||||||
|
Route::get('card/{member_id}', [LinkingController::class, 'card']);
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Modules\Linksehat\Transformers\User;
|
|||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
use App\Models\OLDLMS\User;
|
use App\Models\OLDLMS\User;
|
||||||
use App\Models\OLDLMS\UserDetail;
|
use App\Models\OLDLMS\UserDetail;
|
||||||
|
use App\Models\OLDLMS\UserInsurance;
|
||||||
use DB;
|
use DB;
|
||||||
|
|
||||||
|
|
||||||
@@ -53,6 +54,11 @@ class ShowProfileResource extends JsonResource
|
|||||||
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga');
|
$relationship = DB::connection('oldlms')->table('tm_hubungan_keluarga')->where('nID', $this->nIDHubunganKeluarga)->first('sHubunganKeluarga');
|
||||||
// dd( $this->detail->nIDGolonganDarah);
|
// dd( $this->detail->nIDGolonganDarah);
|
||||||
|
|
||||||
|
$userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first();
|
||||||
|
$memberId = Null;
|
||||||
|
if($userInsurance){
|
||||||
|
$memberId = $userInsurance->sNoPolis;
|
||||||
|
}
|
||||||
return [
|
return [
|
||||||
'id' => $this->nID,
|
'id' => $this->nID,
|
||||||
'first_name' => $this->sFirstName,
|
'first_name' => $this->sFirstName,
|
||||||
@@ -67,6 +73,7 @@ class ShowProfileResource extends JsonResource
|
|||||||
'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-',
|
'relationship' => $relationship ? $relationship->sHubunganKeluarga : '-',
|
||||||
'weight' => $this->detail->sWeight,
|
'weight' => $this->detail->sWeight,
|
||||||
'height' => $this->detail->sHeight,
|
'height' => $this->detail->sHeight,
|
||||||
|
'member_id' => $memberId,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ namespace Modules\Linksehat\Transformers\User;
|
|||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
use App\Models\OLDLMS\User;
|
use App\Models\OLDLMS\User;
|
||||||
use App\Models\OLDLMS\UserDetail;
|
use App\Models\OLDLMS\UserDetail;
|
||||||
|
use App\Models\OLDLMS\UserInsurance;
|
||||||
|
use App\Models\Member;
|
||||||
|
use App\Models\Person;
|
||||||
|
use App\Models\CorporateEmployee;
|
||||||
|
use App\Models\Corporate;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
use DB;
|
use DB;
|
||||||
@@ -26,6 +31,50 @@ class UserProfileResource extends JsonResource
|
|||||||
$memberProfile = User::with('detail')->where('nIDUser', $this->nID)->get()->toArray();
|
$memberProfile = User::with('detail')->where('nIDUser', $this->nID)->get()->toArray();
|
||||||
$dataMemberProfile = [];
|
$dataMemberProfile = [];
|
||||||
|
|
||||||
|
$userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first();
|
||||||
|
$memberId = null;
|
||||||
|
$linking = false;
|
||||||
|
if($userInsurance){
|
||||||
|
$memberId = $userInsurance->sNoPolis;
|
||||||
|
$linking = true;
|
||||||
|
} else {
|
||||||
|
$member = Member::where('email', $this->sEmail)->get()->first();
|
||||||
|
$person = Person::where('phone', $this->sPhone)->get()->first();
|
||||||
|
if ($member || $person){ // Autolinking
|
||||||
|
$corporateEmployee = CorporateEmployee::where('member_id', $member->id)->get()->first(); // cek corporate id empolyee/member
|
||||||
|
if ($corporateEmployee){
|
||||||
|
$corporate = Corporate::findOrFail($corporateEmployee->corporate_id)->automatic_linking; // cek autocomplete
|
||||||
|
if ($corporate){
|
||||||
|
if($member) {
|
||||||
|
// Insert into database linksehat
|
||||||
|
$insurance = UserInsurance::updateOrCreate(
|
||||||
|
[
|
||||||
|
'nIDUser' => $this->nID,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'nIDUser' => $this->nID,
|
||||||
|
'nIDInsurance' => $_ENV['LINKSEHAT_ASO_INSURANCE_ID'],
|
||||||
|
'sNoPolis' => $member->member_id,
|
||||||
|
'sNamaPeserta' => $member->fullName,
|
||||||
|
'sKartuPeserta' => '',
|
||||||
|
'sLayanan' => 'RJ,TC',
|
||||||
|
'dStartDate' => $member->members_effective_date,
|
||||||
|
'dExpireDate' => $member->members_expire_date,
|
||||||
|
'dTanggalLahir' => $member->birth_date,
|
||||||
|
'nNoKTP' => $member->nric != '' ? $member->nric : 0 ,
|
||||||
|
'sIsConfrimed' => 1,
|
||||||
|
'sStatus' => 1,
|
||||||
|
]);
|
||||||
|
$message = $member->currentPolicy->corporate->welcome_message;
|
||||||
|
$linking = true;
|
||||||
|
|
||||||
|
$memberId = $member->member_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if (count($memberProfile) > 0){
|
if (count($memberProfile) > 0){
|
||||||
|
|
||||||
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
|
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
|
||||||
@@ -107,8 +156,9 @@ class UserProfileResource extends JsonResource
|
|||||||
'full_name' => $this->sFirstName . ' '. $this->sLastName,
|
'full_name' => $this->sFirstName . ' '. $this->sLastName,
|
||||||
'avatar' => $avatar,
|
'avatar' => $avatar,
|
||||||
'member_type' => $this->nIDUser ? 'Dependent' : 'Principal',
|
'member_type' => $this->nIDUser ? 'Dependent' : 'Principal',
|
||||||
'member_profile' => $dataMemberProfile,
|
'member_profile' => $dataMemberProfile,
|
||||||
|
'member_id' => $memberId,
|
||||||
|
'linking' => $linking,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class MemberResource extends JsonResource
|
|||||||
'date_of_birth' => $this->birth_date,
|
'date_of_birth' => $this->birth_date,
|
||||||
'gender' => $this->gender,
|
'gender' => $this->gender,
|
||||||
'start_date' => $this->members_effective_date,
|
'start_date' => $this->members_effective_date,
|
||||||
'corporate_logo' => $this->corporateLogo,
|
'corporate_logo' => $_ENV['LMS_APP_STORAGE'] . $this->corporateLogo,
|
||||||
'valid_until' => $this->members_expire_date,
|
'valid_until' => $this->members_expire_date,
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user