Re Route
This commit is contained in:
@@ -8,4 +8,21 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Benefit extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = [
|
||||
"corporate_id",
|
||||
"code",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
|
||||
public function scopeFilter($query, array $filters)
|
||||
{
|
||||
$query->when($filters['search'] ?? false, function ($query, $search) {
|
||||
return $query
|
||||
->where('code', 'like', "%" . $search . "%")
|
||||
->orWhere('name', 'like', "%" . $search . "%")
|
||||
->orWhere('description', 'like', "%" . $search . "%");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
11
app/Models/CorporateBenefit.php
Normal file
11
app/Models/CorporateBenefit.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CorporateBenefit extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
}
|
||||
@@ -19,4 +19,13 @@ class CorporatePlan extends Model
|
||||
{
|
||||
return $this->belongsTo(Corporate::class);
|
||||
}
|
||||
|
||||
public function scopeFilter($query, array $filters)
|
||||
{
|
||||
$query->when($filters['search'] ?? false, function ($query, $search) {
|
||||
return $query
|
||||
->where('code', 'like', "%" . $search . "%")
|
||||
->orWhere('name', 'like', "%" . $search . "%");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class CorporatePolicy extends Model
|
||||
{
|
||||
@@ -28,4 +29,9 @@ class CorporatePolicy extends Model
|
||||
{
|
||||
return $this->belongsTo(Corporate::class);
|
||||
}
|
||||
|
||||
public function setCodeAttribute($value)
|
||||
{
|
||||
$this->attributes['code'] = !empty($value) ? $value : Str::upper(Str::random('6'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,14 +10,17 @@ class MemberBenefit extends Model
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = [
|
||||
'corporate_id',
|
||||
'service_code',
|
||||
'plan_code',
|
||||
'benefit_code',
|
||||
'code',
|
||||
'description',
|
||||
'budget',
|
||||
'budget_conditions',
|
||||
'budget_code',
|
||||
'primary_benefit_code',
|
||||
'benefit_mode',
|
||||
'room_class_coverage',
|
||||
'max_bed_coverage',
|
||||
'tolerance_parameter',
|
||||
@@ -25,6 +28,7 @@ class MemberBenefit extends Model
|
||||
'limit_amount',
|
||||
'area_limit',
|
||||
'shared_benefit',
|
||||
'shared_benefit_type',
|
||||
'msc',
|
||||
'genders',
|
||||
'min_age',
|
||||
@@ -33,6 +37,7 @@ class MemberBenefit extends Model
|
||||
'daily_frequency',
|
||||
'weekly_frequency',
|
||||
'monthly_frequency',
|
||||
'yearly_frequency',
|
||||
'custom_frequency_days',
|
||||
'custom_duration_value',
|
||||
'allowed_transaction_types',
|
||||
@@ -52,6 +57,7 @@ class MemberBenefit extends Model
|
||||
'co_share_c_percentage',
|
||||
'cashless_deductible',
|
||||
'reimbursement_deductible',
|
||||
'digital_deductible',
|
||||
'co_share_m_deductible',
|
||||
'co_share_s_deductible',
|
||||
'co_share_c_deductible',
|
||||
@@ -63,4 +69,96 @@ class MemberBenefit extends Model
|
||||
'show_benefit_item',
|
||||
'show_benefit_value',
|
||||
];
|
||||
|
||||
public static $doc_headers_to_field_map = [
|
||||
"Service" => 'service_code',
|
||||
"Plan" => 'plan_code',
|
||||
"Benefit Code" => 'benefit_code',
|
||||
"Customer Benefit Code" => 'code',
|
||||
"Detail Benefit" => 'description',
|
||||
"ASO/Budget" => 'budget',
|
||||
"Budget Condition" => 'budget_conditions',
|
||||
"Budget Code" => 'budget_code',
|
||||
"Primary benefit" => 'primary_benefit_code',
|
||||
"Benefit Mode" => 'benefit_mode',
|
||||
"Room Class" => 'room_class_coverage',
|
||||
"Max Bed" => 'max_bed_coverage',
|
||||
"Tolerance Paramater" => 'tolerance_parameter',
|
||||
"Max. Room Class" => 'max_room_class',
|
||||
"Limit Value" => 'limit_amount',
|
||||
"Area" => 'area_limit',
|
||||
"Shared Benefit With" => 'shared_benefit',
|
||||
"Shared Benefit Type" => 'shared_benefit_type',
|
||||
"MSC" => 'msc',
|
||||
"Gender" => 'genders',
|
||||
"Min Age" => 'min_age',
|
||||
"Max Age" => 'max_age',
|
||||
"Freq. Period" => 'max_frequency_period',
|
||||
"Daily Frequency" => 'daily_frequency',
|
||||
"Weekly Frequency" => 'weekly_frequency',
|
||||
"Monthly Frequency" => 'monthly_frequency',
|
||||
"Yearly Frequency" => 'yearly_frequency',
|
||||
"Custom Duration" => 'custom_frequency_days',
|
||||
"Custom Duration Value" => 'custom_duration_value',
|
||||
"Cashless, Reimbursement" => 'allowed_transaction_types',
|
||||
"High Plan Factor" => 'high_plan_factor',
|
||||
"Pre Post Treatment" => 'pre_post_treatment',
|
||||
"Pre Treatment" => 'pre_treatment_days',
|
||||
"Post Treatment" => 'post_treatment_days',
|
||||
"Layer Type 1" => 'layer_type_1',
|
||||
"Layer Value 1" => 'layer_value_1',
|
||||
"Layer Type 2" => 'layer_type_2',
|
||||
"Layer Value 2" => 'layer_value_2',
|
||||
"Cashless (%)" => 'cashless_percentage',
|
||||
"Reimburse (%)" => 'reimbursement_percentage',
|
||||
"Digital (%)" => 'digital_percentage',
|
||||
"CoShareM (%)" => 'co_share_m_percentage',
|
||||
"CoShareS (%)" => 'co_share_s_percentage',
|
||||
"CoShareC (%)" => 'co_share_c_percentage',
|
||||
"Cashless Deductible" => 'cashless_deductible',
|
||||
"Reimbursement Deductible" => 'reimbursement_deductible',
|
||||
"Digital Deductible" => 'digital_deductible',
|
||||
"DeductibleM" => 'co_share_m_deductible',
|
||||
"DeductibleS" => 'co_share_s_deductible',
|
||||
"DeductibleC" => 'co_share_c_deductible',
|
||||
"Prorate Type" => 'prorate_type',
|
||||
"Prorate Lookup" => 'prorate_lookup',
|
||||
"Max Days for Disability" => 'max_days_for_disability',
|
||||
"Max Periode of Disability" => 'max_period_for_disability',
|
||||
"Currency" => 'currency',
|
||||
"Show Benefit Item" => 'show_benefit_item',
|
||||
"Show Benefit Value" => 'show_benefit_value',
|
||||
];
|
||||
|
||||
public function setPrePostTreatmentAttribute($value)
|
||||
{
|
||||
return empty($value) ? null : ($value == 'Y');
|
||||
}
|
||||
|
||||
public function getPrePostTreatmentAttribute($value)
|
||||
{
|
||||
return empty($value) ? null : ($value ? 'Y' : 'N');
|
||||
}
|
||||
|
||||
public function scopeFilter($query, array $filters)
|
||||
{
|
||||
$query->when($filters['search'] ?? false, function ($query, $search) {
|
||||
return $query
|
||||
->where('service_code', 'like', "%" . $search . "%")
|
||||
->orWhere('code', 'like', "%" . $search . "%")
|
||||
->orWhereHas('plan', function ($query) use ($search) {
|
||||
$query->where('code', 'like', "%" . $search . "%");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public function benefit()
|
||||
{
|
||||
return $this->belongsTo(Benefit::class, 'benefit_code', 'code');
|
||||
}
|
||||
|
||||
public function plan()
|
||||
{
|
||||
return $this->belongsTo(Plan::class, 'plan_code', 'code');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user