Merge remote-tracking branch 'origin/staging' into origin/production
This commit is contained in:
@@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Illuminate\Support\Facades\View;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
@@ -31,17 +32,21 @@ class AuthController extends Controller
|
||||
|
||||
return Helper::responseJson(statusCode: Response::HTTP_NOT_FOUND, message: $message);
|
||||
}
|
||||
|
||||
$token = rand(1000, 9999); // Menghasilkan angka acak antara 100000 dan 999999
|
||||
if($request->phoneOrEmail == 'manager+one@gmail.com' || $request->phoneOrEmail == 'manager+two@gmail.com')
|
||||
{
|
||||
$token = 4444;
|
||||
}
|
||||
if (filter_var($request->phoneOrEmail, FILTER_VALIDATE_EMAIL)) {
|
||||
User::query()->find($user->id)->update([
|
||||
'email' => $request->phoneOrEmail,
|
||||
'otp' => 4444, //rand(1000, 9999),
|
||||
'otp' => $token,
|
||||
'otp_created_at' => now()
|
||||
]);
|
||||
} else {
|
||||
User::query()->find($user->id)->update([
|
||||
'phone' => $request->phoneOrEmail,
|
||||
'otp' => 4444,//rand(1000, 9999),
|
||||
'otp' => $token,
|
||||
'otp_created_at' => now()
|
||||
]);
|
||||
}
|
||||
@@ -49,6 +54,18 @@ class AuthController extends Controller
|
||||
// TODO Send the OTP
|
||||
if (filter_var($request->phoneOrEmail, FILTER_VALIDATE_EMAIL)) {
|
||||
// Send Email
|
||||
//send to alarm
|
||||
if($request->phoneOrEmail != 'manager+one@gmail.com' && $request->phoneOrEmail != 'manager+two@gmail.com')
|
||||
{
|
||||
$nameTo = 'User';
|
||||
$dataEmail = [
|
||||
'email' => $request->phoneOrEmail,
|
||||
'name' => $nameTo,
|
||||
'subject' => 'OTP Login Client Portal Tanggal '. date('Y-m-d H:i:s'),
|
||||
'body' => View::make('email/forgot_password', ['token' => $token])->render(),
|
||||
];
|
||||
Helper::sendEmail($dataEmail);
|
||||
}
|
||||
} else {
|
||||
// Send Whatsapp
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ use Modules\Client\Transformers\Dashboard\MemberEmployeeDataResources as Dashboa
|
||||
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
|
||||
use Modules\Client\Transformers\EmployeeData\UserProfile\DataMemberResource as EmployeeDataProfileMemberResource;
|
||||
use Modules\Internal\Services\MemberEnrollmentService;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CorporateMemberController extends Controller
|
||||
{
|
||||
@@ -255,4 +256,84 @@ class CorporateMemberController extends Controller
|
||||
|
||||
return Helper::responseJson(DataServiceMonitoring::make($data));
|
||||
}
|
||||
|
||||
public function getDeposit($corporate_id)
|
||||
{
|
||||
$deposit = DB::table('corporate_policies')
|
||||
->select('total_premi')
|
||||
->where('corporate_id','=', $corporate_id)
|
||||
->first();
|
||||
$usage = DB::table('corporate_employees')
|
||||
->join('request_logs', 'request_logs.member_id', '=', 'corporate_employees.member_id')
|
||||
->join('request_log_benefits', 'request_log_benefits.request_log_id', '=', 'request_logs.id')
|
||||
->where('corporate_employees.corporate_id', '=', $corporate_id)
|
||||
->sum('request_log_benefits.amount_approved');
|
||||
// Ganti dengan logika Anda untuk mendapatkan data deposit
|
||||
$deposit = [
|
||||
'deposit' => $deposit->total_premi,
|
||||
'limit' => $deposit->total_premi - $usage,
|
||||
'usage' => $usage
|
||||
];
|
||||
|
||||
return response()->json($deposit);
|
||||
}
|
||||
|
||||
public function getLimits($corporate_id, $member_id)
|
||||
{
|
||||
$deposit = DB::table('corporate_policies')
|
||||
->select('total_premi')
|
||||
->where('corporate_id','=', $corporate_id)
|
||||
->first();
|
||||
$usage = DB::table('corporate_employees')
|
||||
->join('request_logs', 'request_logs.member_id', '=', 'corporate_employees.member_id')
|
||||
->join('request_log_benefits', 'request_log_benefits.request_log_id', '=', 'request_logs.id')
|
||||
->where('corporate_employees.corporate_id', '=', $corporate_id)
|
||||
->where('request_logs.member_id', '=', $member_id)
|
||||
->sum('request_log_benefits.amount_approved');
|
||||
|
||||
$services = DB::table('member_plans')
|
||||
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
|
||||
->leftJoin('services', 'services.code', '=', 'plans.service_code')
|
||||
->where('member_plans.member_id', '=', $member_id)
|
||||
->whereNull('member_plans.deleted_at')
|
||||
->select(
|
||||
'plans.service_code',
|
||||
'services.name as title',
|
||||
'plans.limit_rules as total',
|
||||
DB::raw("
|
||||
(
|
||||
IFNULL((SELECT SUM(request_log_benefits.amount_approved)
|
||||
FROM request_logs
|
||||
INNER JOIN request_log_benefits
|
||||
ON request_log_benefits.request_log_id = request_logs.id
|
||||
WHERE request_logs.member_id = $member_id
|
||||
AND request_logs.service_code = plans.service_code),0)
|
||||
) as current
|
||||
")
|
||||
|
||||
)
|
||||
->get();
|
||||
$total_premi = 0;
|
||||
foreach ($services as $value)
|
||||
{
|
||||
if($value->total > 0 && $value->total != 999999999)
|
||||
{
|
||||
$total_premi += $value->total;
|
||||
}
|
||||
else if($value->total == 999999999)
|
||||
{
|
||||
$total_premi = 999999999;
|
||||
}
|
||||
|
||||
}
|
||||
// Ganti dengan logika Anda untuk mendapatkan data deposit
|
||||
$deposit = [
|
||||
'deposit' => $total_premi,
|
||||
'usage' => $usage,
|
||||
'services' => $services
|
||||
];
|
||||
|
||||
return response()->json($deposit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ use Modules\Internal\Http\Controllers\Api\FormulariumController;
|
||||
use Modules\Internal\Http\Controllers\Api\FormulariumTemplateController;
|
||||
use Modules\Internal\Http\Controllers\Api\AuditTrailController;
|
||||
use Modules\Internal\Http\Controllers\Api\CorporateController;
|
||||
use Modules\Internal\Http\Controllers\Api\NavigationController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -70,6 +71,9 @@ Route::prefix('client')->group(function () {
|
||||
|
||||
Route::get('corporate', [CorporateCurrentController::class, 'index']);
|
||||
Route::put('corporate-update', [CorporateCurrentController::class, 'update']);
|
||||
Route::get('get-deposits', [CorporateMemberController::class, 'getDeposit']);
|
||||
|
||||
Route::get('get-limits/{member_id}', [CorporateMemberController::class, 'getLimits']);
|
||||
});
|
||||
Route::get('claims/{id}', [ClaimController::class, 'show']);
|
||||
|
||||
@@ -90,5 +94,8 @@ Route::prefix('client')->group(function () {
|
||||
|
||||
Route::get('audittrail/{corporate_id}', [AuditTrailController::class, 'index']);
|
||||
Route::get('corporates/import-document-example/{document_type}', [CorporateController::class, 'importDocumentExample']);
|
||||
|
||||
// Navigation
|
||||
Route::get('navigations', [NavigationController::class, 'index']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -86,6 +86,7 @@ class DataServiceMonitoring extends JsonResource
|
||||
return [
|
||||
'companyName' => $this->member->currentCorporate->name ?? null,
|
||||
'serviceCode' => $this->service_code ?? null,
|
||||
'member_id' => $this->member->id ?? null,
|
||||
'memberId' => $this->member->member_id ?? null,
|
||||
'fullName' => $this->member->full_name ?? null,
|
||||
'dateOfBirth' => $this->member->birth_date ?? null,
|
||||
|
||||
@@ -28,7 +28,17 @@ class UserManagementController extends Controller
|
||||
|
||||
public function permission_list(Request $request)
|
||||
{
|
||||
$permissions = Permission::all();
|
||||
// Ambil nilai guard_name dari query string
|
||||
$guardName = $request->query('guard_name');
|
||||
|
||||
// Jika guard_name ada dalam query, filter berdasarkan guard_name
|
||||
if ($guardName) {
|
||||
$permissions = Permission::where('guard_name', $guardName)->orderBy('name','asc')->get();
|
||||
} else {
|
||||
// Jika guard_name tidak ada, ambil semua permissions
|
||||
$permissions = Permission::all();
|
||||
}
|
||||
|
||||
return response()->json($permissions);
|
||||
}
|
||||
|
||||
@@ -73,7 +83,7 @@ class UserManagementController extends Controller
|
||||
]);
|
||||
|
||||
if (isset($validated['permission_check'])) {
|
||||
|
||||
|
||||
$permissions = Permission::whereIn('id', $validated['permission_check'])
|
||||
->where('guard_name', $validated['guard_name'])
|
||||
->get();
|
||||
@@ -145,7 +155,7 @@ class UserManagementController extends Controller
|
||||
|
||||
if ($request->password){
|
||||
$userAccess->password = Hash::make($request->password);
|
||||
}
|
||||
}
|
||||
|
||||
$person = Person::updateOrCreate(
|
||||
[
|
||||
|
||||
@@ -387,4 +387,5 @@ Route::prefix('internal')->group(function () {
|
||||
Route::get('options', [OptionController::class, 'index']);
|
||||
|
||||
Route::get('final-log/{id}', [ClaimController::class, 'downloadFinalLog'])->name('claim.download-final-log');
|
||||
Route::get('hospitals', [RequestLogController::class, 'hospitals']);
|
||||
});
|
||||
|
||||
@@ -23,6 +23,8 @@ use Box\Spout\Common\Entity\Row;
|
||||
use Carbon\Carbon;
|
||||
use DateTime;
|
||||
use DB;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Str;
|
||||
|
||||
class MemberEnrollmentService
|
||||
{
|
||||
@@ -336,15 +338,16 @@ class MemberEnrollmentService
|
||||
$this->member = $member;
|
||||
}
|
||||
|
||||
public function dateParser($date_from_row) {
|
||||
public function dateParser($date_from_row)
|
||||
{
|
||||
|
||||
if ($date_from_row instanceof DateTime) {
|
||||
return $date_from_row->format('Y-m-d');
|
||||
} else if ($date_from_row != null) {
|
||||
if (strtotime($date_from_row)){
|
||||
if (strtotime($date_from_row)) {
|
||||
return date('Y-m-d', strtotime($date_from_row));
|
||||
} else {
|
||||
// throw new ImportRowException(__('Format Date Invalid'), 0, null, $date_from_row);
|
||||
// throw new ImportRowException(__('Format Date Invalid'), 0, null, $date_from_row);
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
@@ -353,18 +356,19 @@ class MemberEnrollmentService
|
||||
}
|
||||
}
|
||||
|
||||
public function validateDate($dateString, $dateFormat = 'Ymd'){
|
||||
public function validateDate($dateString, $dateFormat = 'Ymd')
|
||||
{
|
||||
$date = DateTime::createFromFormat($dateFormat, $dateString);
|
||||
if ($date && ($date->format($dateFormat) == $dateString)) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected function validateRow($row)
|
||||
{
|
||||
$title =[
|
||||
$title = [
|
||||
'member_effective_date' => 'Member Effective Date',
|
||||
'member_expiry_date' => 'Member Expired Date',
|
||||
'activation_date' => 'Activation Date',
|
||||
@@ -401,13 +405,13 @@ class MemberEnrollmentService
|
||||
|
||||
if ($row['record_type'] == 'D') {
|
||||
$member = Member::query()
|
||||
->where('member_id', $row['principal_id'])
|
||||
// ->whereHas('employeds', function ($query) use ($corporate) {
|
||||
// $query->where('corporate_id', $corporate->id);
|
||||
// })
|
||||
->first();
|
||||
->where('member_id', $row['principal_id'])
|
||||
// ->whereHas('employeds', function ($query) use ($corporate) {
|
||||
// $query->where('corporate_id', $corporate->id);
|
||||
// })
|
||||
->first();
|
||||
|
||||
if(empty($member)){
|
||||
if (empty($member)) {
|
||||
// throw new ImportRowException(__('enrollment.PRINCIPAL_NOT_IN_MEMBER_ID'), 0, null, $row);
|
||||
} else {
|
||||
// if ($member['record_type'] != 'P'){
|
||||
@@ -551,11 +555,11 @@ class MemberEnrollmentService
|
||||
{
|
||||
try {
|
||||
$activation_date = NULL;
|
||||
if (!empty($row['activation_date'])){
|
||||
if (!empty($row['activation_date'])) {
|
||||
$activation_date = $row['activation_date'];
|
||||
}
|
||||
$date_terminated = NULL;
|
||||
if(!empty($row['date_terminated'])){
|
||||
if (!empty($row['date_terminated'])) {
|
||||
$date_terminated = $row['date_terminated'];
|
||||
}
|
||||
|
||||
@@ -627,7 +631,7 @@ class MemberEnrollmentService
|
||||
$date_terminated = $this->dateParser($row['date_terminated']);
|
||||
|
||||
|
||||
if(!empty($row['activation_date'])){
|
||||
if (!empty($row['activation_date'])) {
|
||||
// $activation_date = date("Y-m-d", strtotime($row['activation_date']));
|
||||
// if (($activation_date == $date_terminated) && ($activation_date == $member_effective_date)) {
|
||||
// throw new ImportRowException(__('enrollment.MORE_THAN', [
|
||||
@@ -638,7 +642,7 @@ class MemberEnrollmentService
|
||||
// ]), 0, null, $row);
|
||||
// }
|
||||
}
|
||||
if (!empty($row['date_terminated'])){
|
||||
if (!empty($row['date_terminated'])) {
|
||||
// $date_terminated = date("Y-m-d", strtotime($row['date_terminated']));
|
||||
// if($date_terminated){
|
||||
// if ($date_terminated <= $member_effective_date && ($date_terminated != $member_effective_date)) {
|
||||
@@ -712,7 +716,7 @@ class MemberEnrollmentService
|
||||
// }
|
||||
|
||||
|
||||
if($corporate->code != $row['corporate_id']){
|
||||
if ($corporate->code != $row['corporate_id']) {
|
||||
throw new ImportRowException(__('enrollment.CORPORATE_CODE_NOT_MATCH', [
|
||||
'corporate_id' => $row['corporate_id']
|
||||
]), 0, null, $row);
|
||||
@@ -744,6 +748,7 @@ class MemberEnrollmentService
|
||||
);
|
||||
$member->person_id = $person->id;
|
||||
$member->save();
|
||||
|
||||
throw new ImportRowException(__('enrollment.MEMBER_UNIQUE', [
|
||||
'member_id' => $row['member_id'],
|
||||
'policy_id' => $row['policy_number']
|
||||
@@ -752,6 +757,77 @@ class MemberEnrollmentService
|
||||
$member = new Member();
|
||||
}
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
$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::create(
|
||||
[
|
||||
'sFirstName' => $first_name,
|
||||
'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'),
|
||||
]
|
||||
);
|
||||
|
||||
$nIDUser = $userLms->nID;
|
||||
$userLmsDetail = UserDetail::create(
|
||||
[
|
||||
'nIDUser' => $nIDUser,
|
||||
// 'dTanggalLahir' => $row['date_of_birth'],
|
||||
'dTanggalLahir' => $this->dateParser($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,
|
||||
]
|
||||
);
|
||||
|
||||
UserInsurance::updateOrCreate(
|
||||
['nIDUser' => $nIDUser],
|
||||
[
|
||||
'nIDInsurance' => 106,
|
||||
'sNamaPeserta' => $row['name'],
|
||||
'dStartDate' => $row['member_effective_date'],
|
||||
'dExpireDate' => $row['member_expiry_date'],
|
||||
'dTanggalLahir' => $row['date_of_birth'] ? $this->dateParser($row['date_of_birth']) : null,
|
||||
'sNoPolis' => $row['member_id'],
|
||||
'sVerificationCode' => (string) Uuid::uuid5(Uuid::NAMESPACE_DNS, $row['member_id'])
|
||||
]
|
||||
);
|
||||
|
||||
$memberPolicy = $member->policies()
|
||||
->where('policy_id', $row['policy_number'])
|
||||
->first();
|
||||
@@ -765,13 +841,13 @@ class MemberEnrollmentService
|
||||
|
||||
// Validate If Plan Exist
|
||||
// TODO validate corporate plan
|
||||
$plans = explode(",",$row['plan_id']);
|
||||
$plans = explode(",", $row['plan_id']);
|
||||
if (count($plans) > 0) {
|
||||
foreach($plans as $d){
|
||||
foreach ($plans as $d) {
|
||||
$plan = Plan::query()
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
if (!$plan) {
|
||||
throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row);
|
||||
}
|
||||
@@ -836,13 +912,13 @@ class MemberEnrollmentService
|
||||
]);
|
||||
// Bisa disini penyebab data dobel
|
||||
|
||||
$plans = explode(",",$row['plan_id']);
|
||||
$plans = explode(",", $row['plan_id']);
|
||||
if (count($plans) > 0) {
|
||||
foreach($plans as $d){
|
||||
foreach ($plans as $d) {
|
||||
$plan = Plan::query()
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
if (!$plan) {
|
||||
throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row);
|
||||
}
|
||||
@@ -868,7 +944,6 @@ class MemberEnrollmentService
|
||||
'end' => $this->dateParser($row['member_expiry_date']),
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
DB::commit();
|
||||
} catch (\Exception $e) {
|
||||
@@ -967,7 +1042,7 @@ class MemberEnrollmentService
|
||||
|
||||
// Bisa disini penyebab data dobel
|
||||
$member->employeds()->updateOrCreate([
|
||||
'member_id' => $member->id
|
||||
'division_id' => $division_id
|
||||
],[
|
||||
'corporate_id' => $corporate->id,
|
||||
'branch_code' => $row['branch_code'],
|
||||
@@ -979,26 +1054,28 @@ class MemberEnrollmentService
|
||||
}
|
||||
|
||||
|
||||
$plans = explode(",",$row['plan_id']);
|
||||
$plans = explode(",", $row['plan_id']);
|
||||
if (count($plans) > 0) {
|
||||
foreach($plans as $d){
|
||||
foreach ($plans as $d) {
|
||||
$plan = Plan::query()
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
->where('code', $d)
|
||||
->where('corporate_id', $corporate->id)
|
||||
->first();
|
||||
if (!$plan) {
|
||||
throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row);
|
||||
}
|
||||
$member->memberPlans()->updateOrCreate([
|
||||
'member_id' => $member->id,
|
||||
'plan_id' => $plan->id,
|
||||
],
|
||||
[
|
||||
'plan_id' => $plan->id,
|
||||
'status' => 'active',
|
||||
'start' => $this->dateParser($row['member_effective_date']),
|
||||
'end' => $this->dateParser($row['member_expiry_date']),
|
||||
]);
|
||||
$member->memberPlans()->updateOrCreate(
|
||||
[
|
||||
'member_id' => $member->id,
|
||||
'plan_id' => $plan->id,
|
||||
],
|
||||
[
|
||||
'plan_id' => $plan->id,
|
||||
'status' => 'active',
|
||||
'start' => $this->dateParser($row['member_effective_date']),
|
||||
'end' => $this->dateParser($row['member_expiry_date']),
|
||||
]
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$plan = Plan::query()
|
||||
@@ -1008,16 +1085,18 @@ class MemberEnrollmentService
|
||||
if (!$plan) {
|
||||
throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row);
|
||||
}
|
||||
$member->memberPlans()->updateOrCreate([
|
||||
'member_id' => $member->id,
|
||||
'plan_id' => $plan->id,
|
||||
],
|
||||
[
|
||||
'plan_id' => $plan->id,
|
||||
'status' => 'active',
|
||||
'start' => $this->dateParser($row['member_effective_date']),
|
||||
'end' => $this->dateParser($row['member_expiry_date']),
|
||||
]);
|
||||
$member->memberPlans()->updateOrCreate(
|
||||
[
|
||||
'member_id' => $member->id,
|
||||
'plan_id' => $plan->id,
|
||||
],
|
||||
[
|
||||
'plan_id' => $plan->id,
|
||||
'status' => 'active',
|
||||
'start' => $this->dateParser($row['member_effective_date']),
|
||||
'end' => $this->dateParser($row['member_expiry_date']),
|
||||
]
|
||||
);
|
||||
}
|
||||
// end update plan
|
||||
|
||||
@@ -1025,7 +1104,7 @@ class MemberEnrollmentService
|
||||
$userInsuranceLms = UserInsurance::query()
|
||||
->where('sNoPolis', $row['member_id'])
|
||||
->first();
|
||||
if ($userInsuranceLms){
|
||||
if ($userInsuranceLms) {
|
||||
$userInsuranceLms->sNamaPeserta = $row['name'];
|
||||
$userInsuranceLms->dStartDate = $row['member_effective_date'];
|
||||
$userInsuranceLms->dExpireDate = $row['member_expiry_date'];
|
||||
@@ -1034,24 +1113,26 @@ class MemberEnrollmentService
|
||||
UserInsurance::updateOrCreate(
|
||||
['nIDUser' => $nIDUser],
|
||||
[
|
||||
'nIDInsurance' => 106,
|
||||
'sNamaPeserta' => $row['name'],
|
||||
'dStartDate' => $row['member_effective_date'],
|
||||
'dExpireDate' => $row['member_expiry_date'],
|
||||
'dTanggalLahir' => $row['date_of_birth'] ? $this->dateParser($row['date_of_birth']) : null,
|
||||
// 'nNoKTP' => $row['nric'] ?? ,
|
||||
'sNoPolis' => $row['member_id'],
|
||||
'sVerificationCode' => (string) Uuid::uuid5(Uuid::NAMESPACE_DNS, $row['member_id'])
|
||||
]
|
||||
);
|
||||
/* Lihat ID Marital status di table tm_status_pernikahan Linksehat */
|
||||
if ($row['relationship_with_principal'] == 'H'){
|
||||
$sMartialStatus= 6;
|
||||
if ($row['relationship_with_principal'] == 'H') {
|
||||
$sMartialStatus = 6;
|
||||
$nIDHubunganKeluarga = 3;
|
||||
} else if ($row['relationship_with_principal'] == 'W'){
|
||||
} else if ($row['relationship_with_principal'] == 'W') {
|
||||
$sMartialStatus = 7;
|
||||
$nIDHubunganKeluarga = 4;
|
||||
} else if ($row['relationship_with_principal'] == 'S'){
|
||||
} else if ($row['relationship_with_principal'] == 'S') {
|
||||
$sMartialStatus = 4;
|
||||
$nIDHubunganKeluarga = 5;
|
||||
} else if ($row['relationship_with_principal'] == 'D'){
|
||||
} else if ($row['relationship_with_principal'] == 'D') {
|
||||
$sMartialStatus = 5;
|
||||
$nIDHubunganKeluarga = 5;
|
||||
} else {
|
||||
@@ -1060,7 +1141,7 @@ class MemberEnrollmentService
|
||||
}
|
||||
|
||||
|
||||
if($row['sex'] == 'M'){
|
||||
if ($row['sex'] == 'M') {
|
||||
$nIDJenisKelamin = 1;
|
||||
} else {
|
||||
$nIDJenisKelamin = 2;
|
||||
@@ -1082,7 +1163,7 @@ class MemberEnrollmentService
|
||||
],
|
||||
[
|
||||
'sFirstName' => $first_name,
|
||||
'sLastName' => $middle_name . ' ' .$last_name, // Ubah ini dengan variabel yang sesuai dengan nama belakang (last name)
|
||||
'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,
|
||||
@@ -1105,7 +1186,6 @@ class MemberEnrollmentService
|
||||
'sKTP' => $row['nric'] ?? null,
|
||||
]
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
if (!$memberPolicy) {
|
||||
@@ -1600,11 +1680,9 @@ class MemberEnrollmentService
|
||||
$value = $row_data[$this->doc_headers_to_field_map[$header]] ?? null;
|
||||
if (is_string($value)) {
|
||||
$cells[] = WriterEntityFactory::createCell($value);
|
||||
}
|
||||
else if ($value instanceof DateTime) {
|
||||
} else if ($value instanceof DateTime) {
|
||||
$cells[] = WriterEntityFactory::createCell(Carbon::parse($value)->format('Ymd'));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$cells[] = WriterEntityFactory::createCell($value);
|
||||
}
|
||||
}
|
||||
@@ -1613,13 +1691,13 @@ class MemberEnrollmentService
|
||||
}
|
||||
|
||||
// This validation for range date in period corporate // validasi untuk range tanggal dalam period corporate yang ditentukan
|
||||
public function validateRangePeriode($dates){
|
||||
public function validateRangePeriode($dates)
|
||||
{
|
||||
$date = date("Y-m-d", strtotime($dates));
|
||||
if (!isset($corporate->currentPolicy) || $corporate->currentPolicy->start <= $date) {
|
||||
|
||||
}
|
||||
if (!isset($corporate->currentPolicy) || $corporate->currentPolicy->end >= $date) {
|
||||
dd($corporate->currentPolicy->end, $dates);
|
||||
dd($corporate->currentPolicy->end, $dates);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,9 @@ class ChatController extends Controller
|
||||
foreach($dataChannel as $d){
|
||||
$user = User::with('detail')->where('nID', $d['member_id'])->first();
|
||||
$lastMessage = Message::where('channel_id', $d['id'])
|
||||
->where('type', '!=', 'summary')
|
||||
->where('type', '!=', 'trigger')
|
||||
|
||||
->latest('created_at')
|
||||
->first();
|
||||
$urlAvatarDefault = $user->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/female-avatar.png';
|
||||
@@ -262,9 +265,9 @@ class ChatController extends Controller
|
||||
}
|
||||
|
||||
$prescription = Prescription::where('livechat_id', $livechat->id)->first();
|
||||
$prescriptionItems = PrescriptionItem::with('drug')->where('prescription_id',$prescription->id)->get();
|
||||
$prescriptions = [];
|
||||
if ($prescriptionItems){
|
||||
if ($prescription){
|
||||
$prescriptionItems = PrescriptionItem::with('drug')->where('prescription_id',$prescription->id)->get();
|
||||
foreach($prescriptionItems as $item){
|
||||
$row['medicine'] = $item->drug->name;
|
||||
$row['direction'] = $item->direction;
|
||||
|
||||
Reference in New Issue
Block a user