This commit is contained in:
2023-07-27 11:21:08 +07:00
parent b2ae4a63c4
commit b763a2bec0

View File

@@ -11,6 +11,7 @@ use App\Models\CorporatePolicy;
use App\Models\CorporatePlan; use App\Models\CorporatePlan;
use App\Models\Member; use App\Models\Member;
use App\Models\MemberPolicy; use App\Models\MemberPolicy;
use App\Models\MemberPlan;
use App\Models\Person; use App\Models\Person;
use App\Models\Plan; use App\Models\Plan;
use Box\Spout\Writer\Common\Creator\WriterEntityFactory; use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
@@ -649,31 +650,31 @@ class MemberEnrollmentService
]), 0, null, $row); ]), 0, null, $row);
} }
if ($members_expire_date >= $corporate->currentPolicy->end && ($members_expire_date != $corporate->currentPolicy->end)) { // if ($members_expire_date >= $corporate->currentPolicy->end && ($members_expire_date != $corporate->currentPolicy->end)) {
throw new ImportRowException(__('enrollment.LESS_THAN', [ // throw new ImportRowException(__('enrollment.LESS_THAN', [
'date_param' => 'Member Expired Date', // 'date_param' => 'Member Expired Date',
'date' => $members_expire_date, // 'date' => $members_expire_date,
'date_param2' => 'END Period Date', // 'date_param2' => 'END Period Date',
'end' => $corporate->currentPolicy->end // 'end' => $corporate->currentPolicy->end
]), 0, null, $row); // ]), 0, null, $row);
} // }
if ($members_expire_date <= $member_effective_date && ($members_expire_date != $member_effective_date)) { // if ($members_expire_date <= $member_effective_date && ($members_expire_date != $member_effective_date)) {
throw new ImportRowException(__('enrollment.MORE_THAN', [ // throw new ImportRowException(__('enrollment.MORE_THAN', [
'date_param' => 'Member Expired Date', // 'date_param' => 'Member Expired Date',
'date' => $members_expire_date, // 'date' => $members_expire_date,
'date_param2' => 'Member Effective Date', // 'date_param2' => 'Member Effective Date',
'start' => $member_effective_date // 'start' => $member_effective_date
]), 0, null, $row); // ]), 0, null, $row);
} // }
if($corporate->code != $row['corporate_id']){ // if($corporate->code != $row['corporate_id']){
throw new ImportRowException(__('enrollment.CORPORATE_CODE_NOT_MATCH', [ // throw new ImportRowException(__('enrollment.CORPORATE_CODE_NOT_MATCH', [
'corporate_id' => $row['corporate_id'] // 'corporate_id' => $row['corporate_id']
]), 0, null, $row); // ]), 0, null, $row);
} // }
switch ($row['record_mode']) { switch ($row['record_mode']) {
case "1": // New Member case "1": // New Member
@@ -792,18 +793,19 @@ class MemberEnrollmentService
} }
break; break;
case "2": // Member Information Update (Without Replacement Card) case "2": // Member Information Update (Without Replacement Card)
$this->validateRow($row);
// $this->validateRow($row);
$member = Member::query() $member = Member::query()
->where('member_id', $row['member_id']) ->where('member_id', $row['member_id'])
->first(); ->first();
// Validate If Exist Member // // Validate If Exist Member
if (!$member) { // if (!$member) {
throw new ImportRowException(__('enrollment.MEMBER_NOT_FOUND', [ // throw new ImportRowException(__('enrollment.MEMBER_NOT_FOUND', [
'member_id' => $row['member_id'], // 'member_id' => $row['member_id'],
'policy_id' => $row['policy_number'] // 'policy_id' => $row['policy_number']
]), 0, null, $row); // ]), 0, null, $row);
} // }
try { try {
$memberPolicy = MemberPolicy::query() $memberPolicy = MemberPolicy::query()
->where('policy_id', $row['policy_number']) ->where('policy_id', $row['policy_number'])
@@ -811,6 +813,17 @@ class MemberEnrollmentService
->with('member') ->with('member')
->first(); ->first();
// Pengecekan jika ada perubahan di plan
$plan = Plan::query()
->where('code', $row['plan_id'])
->first();
if ($plan){
$memberPlan = MemberPlan::query()
->where('member_id', $member->id)
->first();
$memberPlan->plan_id = $plan->id;
$memberPlan->save();
}
if (!$memberPolicy) { if (!$memberPolicy) {
throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [ throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [
'member_id' => $row['member_id'], 'member_id' => $row['member_id'],