diff --git a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php index 504a7540..0c8ac06b 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php @@ -160,7 +160,7 @@ class CorporateMemberController extends Controller public function import(Request $request, $corporate_id) { // setting tambahan php - ini_set('max_execution_time', 300); + Helper::setCustomPHPIniSettings(); $request->validate([ 'file' => 'required|file|mimes:xls,xlsx,csv,txt', diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php index 725fd330..16d9f3cf 100644 --- a/Modules/Internal/Services/MemberEnrollmentService.php +++ b/Modules/Internal/Services/MemberEnrollmentService.php @@ -872,7 +872,7 @@ class MemberEnrollmentService } break; case "2": // Member Information Update (Without Replacement Card) - + $this->validateRow($row); $member = Member::query() ->where('member_id', $row['member_id']) @@ -912,22 +912,24 @@ class MemberEnrollmentService $member->save(); try { + DB::beginTransaction(); $memberPolicy = MemberPolicy::query() ->where('policy_id', $row['policy_number']) ->where('member_id', $row['member_id']) ->with('member') ->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(); - } + // $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(); + // } // // Pengecekan jika ada perubahan di plan // $plan = Plan::query() @@ -942,9 +944,7 @@ class MemberEnrollmentService // } // Hapus Member plan terkait - $member->memberPlans()->delete(); - - + $delete = MemberPlan::where('member_id', $member->id)->delete(); //Update plan $plans = explode(",",$row['plan_id']); if (count($plans) > 0) { @@ -1074,6 +1074,7 @@ class MemberEnrollmentService ); } + if (!$memberPolicy) { throw new ImportRowException(__('enrollment.MEMBER_NOT_EXISTS', [ 'member_id' => $row['member_id'], diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 39944ac8..7c8a8ef3 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -387,4 +387,13 @@ class Helper return false; } } + + public static function setCustomPHPIniSettings() + { + ini_set('max_execution_time', 300); // Waktu untuk execution suatu function atau script + ini_set('post_max_size', '32M'); // Batas post Yang di Upload + ini_set('upload_max_filesize', '10M'); // Batas File yang di Upload + ini_set('max_input_time ', '120'); // Batas max time menunggu input max 5 menit + } + } diff --git a/app/Models/Member.php b/app/Models/Member.php index 417a428d..a6c1bbe8 100644 --- a/app/Models/Member.php +++ b/app/Models/Member.php @@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Altek\Accountant\Contracts\Recordable; class Member extends Model { @@ -21,6 +22,7 @@ class Member extends Model "record_type", "record_mode", "payor_id", + "plan_id", "user_id", "name_prefix", "name", diff --git a/app/Models/MemberPlan.php b/app/Models/MemberPlan.php index 23ec7a66..99a269cb 100644 --- a/app/Models/MemberPlan.php +++ b/app/Models/MemberPlan.php @@ -3,13 +3,14 @@ namespace App\Models; use App\Traits\Blameable; +use Altek\Accountant\Contracts\Recordable; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\SoftDeletes; +// use Illuminate\Database\Eloquent\SoftDeletes; class MemberPlan extends Model { - use HasFactory, SoftDeletes, Blameable; + use HasFactory, Blameable; protected $fillable = [ 'member_id', diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index c62770ae..abebd0f1 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -80,6 +80,11 @@ class AppServiceProvider extends ServiceProvider $this->logAuditTrail($model, 'deleted'); }); + MemberPlan::deleted(function ($model) { + + $this->logAuditTrail($model, 'deleted'); + }); + //Hospital CorporateHospital::updated(function ($model) { diff --git a/database/migrations/2024_01_11_114206_add_column_to_members.php b/database/migrations/2024_01_11_114206_add_column_to_members.php new file mode 100644 index 00000000..81abd492 --- /dev/null +++ b/database/migrations/2024_01_11_114206_add_column_to_members.php @@ -0,0 +1,32 @@ +string('plan_id')->after('payor_id')->default(null); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('members', function (Blueprint $table) { + $table->dropColumn('plan_id'); + }); + } +};