88 lines
3.1 KiB
PHP
Executable File
88 lines
3.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use CodeIgniter\Model;
|
|
use App\Models\PolicyPremium1Model;
|
|
use App\Models\PolicyPremium2Model;
|
|
use App\Models\PolicyGridModel;
|
|
|
|
class PolicesModel extends Model
|
|
{
|
|
protected $table = 'policies';
|
|
protected $primaryKey = 'id';
|
|
protected $allowedFields = [
|
|
"id",
|
|
"insurer_id",
|
|
"policy_type_id",
|
|
"name",
|
|
"created_by",
|
|
"updated_by",
|
|
"is_active",
|
|
];
|
|
|
|
public function getPolicyPremium($policy_id){
|
|
|
|
return $this->db->table('client_policy')
|
|
->select('policy_type.*')
|
|
->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
|
|
->where('client_policy.id', $policy_id)
|
|
->get()
|
|
->getResult();
|
|
}
|
|
|
|
|
|
|
|
public function getPolicySlabRatesForEmpOnboard($policy_id,$client_id)
|
|
|
|
{
|
|
|
|
$premium_slab_data = null;
|
|
$additional_premium_slab_data = null;
|
|
$grid_type = null;
|
|
$additional_grid_type = null;
|
|
|
|
$policyPremium1Model = new PolicyPremium1Model();
|
|
$premium_slab_data = $policyPremium1Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1])->findAll();
|
|
// dd($premium_slab_data);
|
|
if(is_array($premium_slab_data) && !count($premium_slab_data))
|
|
{
|
|
// echo '2';
|
|
$policyPremium2Model = new PolicyPremium2Model();
|
|
$premium_slab_data = $policyPremium2Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1])->findAll();
|
|
|
|
// check any additional rack rate configured
|
|
$additional_premium_slab_data = $policyPremium2Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1,'rack_rate_type' => 1])->findAll();
|
|
|
|
|
|
}
|
|
|
|
if(isset($premium_slab_data[0]['policy_grid_id']))
|
|
{
|
|
$pre_grid_id = 0;
|
|
$grid_type = [];
|
|
foreach ($premium_slab_data as $key => $value)
|
|
{
|
|
if($value['policy_grid_id'] != $pre_grid_id)
|
|
{
|
|
$grid_id = $value['policy_grid_id'];
|
|
$policyGridModel = new PolicyGridModel();
|
|
$grid_type = $policyGridModel->find($grid_id);
|
|
$premium_slab_data[$key]['grid_master'] = $grid_type;
|
|
}
|
|
$premium_slab_data[$key]['grid_master'] = $grid_type;
|
|
}
|
|
|
|
}
|
|
if(isset($additional_premium_slab_data[0]['policy_grid_id']))
|
|
{
|
|
$additional_grid_id = $additional_premium_slab_data[0]['policy_grid_id'];
|
|
$policyGridModel = new PolicyGridModel();
|
|
$additional_grid_type = $policyGridModel->find($additional_grid_id);
|
|
}
|
|
|
|
|
|
return ['slab_rates' => $premium_slab_data,'grid_master' => $grid_type,'additional_slab_info' => ['slab_rates' => $additional_premium_slab_data,'grid_master' => $additional_grid_type]];
|
|
}
|
|
}
|