Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
velz 2024-06-26 12:41:37 +05:30
commit a2f85d77ac
35 changed files with 1800 additions and 1036 deletions

View File

@ -213,7 +213,7 @@ $routes->group("/master", ["filter" => "authMVC"], function ($routes) {
$routes->post("create", "MasterController::createCDMasterData");
$routes->post("edit", "MasterController::editCDMasterData");
$routes->get("list/(:any)", "MasterController::getCDMasterDataByID/$1");
// $routes->get("remove/(:any)", "MasterController::policyTypeRemove/$1");
$routes->get("remove/(:any)", "MasterController::removeCDMaster/$1");
});
});
@ -248,6 +248,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
$routes->get("check_policy_type/(:any)", "ClientController::checkPolicyType/$1");
$routes->get("getPolicyTerms/(:any)", "ClientController::getPolicyTerms/$1");
$routes->get("getPolicyTermsFormJson/(:any)", "ClientController::getPolicyTermsFormJson/$1");
$routes->get("checkHRNumber/(:any)", "ClientController::checkHRNumber/$1");
});
$routes->cli('cli/processjob', 'JobWorker::processJob');
@ -271,9 +272,9 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) {
$routes->get("getChatResponse", "ChatBotController::getChatResponse");
$routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
$routes->get("getChatResponse", "ChatBotController::getChatResponse");
$routes->get("getEmployeeProfile", "EmployeeRestController::getEmployeeProfile");
$routes->post("employeeUpload", "EmployeeRestController::employeeUpload");
$routes->get("relationshipList", "EmployeeRestController::relationshipList");
@ -304,6 +305,9 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
$routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage");
});
$routes->post("sendEmail", "EmployeeRestController::send_email");

View File

@ -0,0 +1,118 @@
<?php
namespace App\Controllers;
use App\Helpers\MailHelper;
use App\Helpers\sendMailNotification;
use App\Models\EmployeeModel;
use App\Models\EmployeePolicyModel;
use App\Models\ClientModel;
use App\Models\ClientRMModel;
use App\Models\PolicesModel;
use App\Models\RelationshipModel;
use App\Models\FileModel;
use App\Models\ClientPolicyModel;
use App\Models\PolicyPremium1Model;
use App\Models\PolicyPremium2Model;
use App\Models\PolicyTypeModel;
use App\Models\NotificationModel;
use App\Models\UserModel;
use App\Models\FEContentModel;
use App\Models\AddImgModel;
use App\Models\ChatBotModel;
use CodeIgniter\API\ResponseTrait;
class ChatBotController extends AdminController
{
use ResponseTrait;
protected $myLogger;
protected $employeeModel;
protected $employeePolicyModel;
protected $clientModel;
protected $clientRMModel;
protected $fileModel;
protected $policesModel;
protected $relationshipModel;
protected $clientPolicyModel;
protected $policyPremium1Model;
protected $policyPremium2Model;
protected $policyTypeModel;
protected $notificationModel;
protected $userModel;
protected $feContentModel;
protected $addImgModel;
protected $ChatBotModel;
public function __construct()
{
set_session_context('Employee');
$this->myLogger = \Config\Services::mylogger();
$this->employeeModel = new EmployeeModel();
$this->employeePolicyModel = new EmployeePolicyModel();
$this->clientModel = new ClientModel();
$this->clientRMModel = new ClientRMModel();
$this->policesModel = new PolicesModel();
$this->relationshipModel = new RelationshipModel();
$this->fileModel= new FileModel();
$this->clientPolicyModel = new ClientPolicyModel();
$this->policyPremium1Model = new PolicyPremium1Model();
$this->policyPremium2Model = new PolicyPremium2Model();
$this->policyTypeModel = new PolicyTypeModel();
$this->notificationModel = new NotificationModel();
$this->userModel = new UserModel();
$this->feContentModel = new FEContentModel();
$this->addImgModel = new AddImgModel();
$this->ChatBotModel = new ChatBotModel();
}
public function getChatResponse()
{
// try {
$request_for = $this->request->getGet('request_for');
$option = $this->request->getGet('option');
$requestData = $this->ChatBotModel->where('request', $request_for)
->where('is_active', 1 )
->first();
if ($requestData) {
if($option != 0){
$decodedData = json_decode($requestData['options'],true);
$requestFor = $decodedData[$request_for][$option];
$requestData = $this->ChatBotModel->where('request', $requestFor)
->where('is_active', 1 )
->first();
}
$result = ['request_for'=>$requestData['request'],'options'=>json_decode($requestData['options'],true)];
return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200);
} else {
return $this->respond(['status' => 'failed','code' => 404,'data' => 'No Data'],404);
}
// } catch (\Throwable $th) {
// return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
// }
}
}

View File

@ -301,9 +301,9 @@ class ClientController extends AdminController
$editData['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $id)->findAll();
$editData['client_branch'] = $this->clientBranchModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
$editData['client_relation'] = $this->clientRMModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
// dd('Hi');
$editData['client_branch']['role'] = get_role_id();
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($id);
// dd($this->clientPolicyModel->getLastQuery());
foreach ($clientPoliceData as $key => $value) {
$clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
@ -311,12 +311,10 @@ class ClientController extends AdminController
}
$editData['client_policy'] = $clientPoliceData;
$editData['notification'] =$this->notificationModel->select('template_name,enabled')->where('client_id',$id)->findAll();
$editData['placeHolders'] = ['member_name','nhance_logo','tpa_id','ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name'];
// dd($editData);
echo view('layout/header', $headerData);
echo view('client_onboarding', $editData);
echo view('layout/footer');
@ -565,6 +563,7 @@ class ClientController extends AdminController
if($insert){
$branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll();
$branchData['role'] = get_role_id();
return $this->respond(['status' => true,'code' => 200,'data' => $branchData], 200);
}else{
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
@ -1907,7 +1906,7 @@ class ClientController extends AdminController
"sum_insured" => "Sum Insured",
"family_floater" => "Family Floater",
"family_floaters" => "Family Floaters",
"member_count" => "Elders Count:",
"elders_count" => "Elders Count:",
"other_member_min_age" => "Min Age:",
"other_member_max_age" => "Min Age:",
"waiverofpreexistingdiseases" => "Waiver of Pre-existing Diseases",
@ -2067,19 +2066,27 @@ class ClientController extends AdminController
} else if (array_key_exists($key, $mapping)) {
$transformedData[$mapping[$key]] = $value;
} else if ($key == 'special_condition_label') {
foreach ($value as $key => $value) {
$transformedData[$value] = $data['special_condition_input'][$key];
if (is_array($value)) {
foreach ($value as $key => $value) {
$transformedData[$value] = $data['special_condition_input'][$key];
}
}
} else if ($key == 'gpa_special_condition_label') {
foreach ($value as $key => $value) {
$transformedData[$value] = $data['gpa_special_condition_input'][$key];
} else if ($key == 'gpa_special_condition_label') {
if (is_array($value)) {
foreach ($value as $key => $value) {
$transformedData[$value] = $data['gpa_special_condition_input'][$key];
}
}
} else if ($key == 'other_special_condition_label') {
if (is_array($value)) {
foreach ($value as $key => $value) {
$transformedData[$value] = $data['other_special_condition_label'][$key];
}
}
} else if ($key == 'age_ratio') {
if (isset($data['sumInsured2'])) {
$transformedData['Self'] = "(Min: " . $data['age_ratio']['self']['min'] . ", Max: " . $data['age_ratio']['self']['max'] . ")";
}
} else {
@ -2199,7 +2206,7 @@ class ClientController extends AdminController
}
public function checkPolicyType($client_policy_id, $policy_type_id, $client_branch_id, $client_id){
public function checkPolicyType($policy_type_id, $client_branch_id, $client_id){
$policyCount = $this->clientPolicyModel
->where('policy_type_id', $policy_type_id)
@ -2217,23 +2224,52 @@ class ClientController extends AdminController
}
public function getPolicyTerms($client_policy_id){
public function getPolicyTerms($client_policy_id)
{
$policy_terms = $this->clientPolicyModel->where('id', $client_policy_id)->first();
if(isset($policy_terms['policy_terms']) && $policy_terms['policy_terms'] != null){
$JSON = json_decode($policy_terms['policy_terms']);
$si = $JSON->sum_insured ?? $JSON->sumInsured2;
$multi_si = $JSON->multiple_sum_insured;
$multi_si[] = $si;
}else{
$$multi_si = [];
if (!$policy_terms) {
return $this->respond(['status' => false, 'error' => 'Policy not found'], 404);
}
return $this->respond(['status' => true, 'data'=>$multi_si], 200);
if (is_array($policy_terms)) {
if (!isset($policy_terms['policy_terms'])) {
return $this->respond(['status' => false, 'error' => 'Policy terms not found in array'], 500);
}
$JSON = json_decode($policy_terms['policy_terms']);
} elseif (is_object($policy_terms)) {
if (!isset($policy_terms->policy_terms)) {
return $this->respond(['status' => false, 'error' => 'Policy terms not found in object'], 500);
}
$JSON = json_decode($policy_terms->policy_terms);
} else {
return $this->respond(['status' => false, 'error' => 'Unexpected data type for policy terms'], 500);
}
if (!$JSON) {
return $this->respond(['status' => false, 'error' => 'Invalid JSON format in policy terms'], 500);
}
$multi_si = [];
if (isset($JSON->sum_insured) && !empty($JSON->sum_insured)) {
$multi_si[] = $JSON->sum_insured;
} elseif (isset($JSON->sumInsured2) && !empty($JSON->sumInsured2)) {
$multi_si[] = $JSON->sumInsured2;
}
if (isset($JSON->multiple_sum_insured) && is_array($JSON->multiple_sum_insured)) {
foreach ($JSON->multiple_sum_insured as $msi) {
if (!empty($msi)) {
$multi_si[] = $msi;
}
}
}
return $this->respond(['status' => true, 'data' => $multi_si], 200);
}
public function getPolicyTermsFormJson($policy_type_id){
@ -2246,4 +2282,24 @@ class ClientController extends AdminController
}
public function checkHRNumber($mobileNumber)
{
try {
$mobileNumberCount = $this->levelContactModel
->join('client_branch', 'client_branch.id = level_contacts.ref_id')
->join('clients', 'clients.id = client_branch.client_id')
->where('clients.is_active', 1)
->where('client_branch.is_active', 1)
->where('level_contacts.is_active', 1)
->where('level_contacts.contact_type', 'client')
->where('level_contacts.mobile', $mobileNumber)
->countAllResults();
return $this->respond(['status' => true, 'data' => $mobileNumberCount, 'message' => "try"], 200);
} catch (\Exception $e) {
log_message('error', 'Error checking mobile number: ' . $e->getMessage());
return $this->respond(['status' => false, 'data' => 0, 'message' => 'An error occurred while checking the mobile number. Please try again later.'], 500);
}
}
}

View File

@ -140,15 +140,30 @@ class EmpDataServiceController extends BaseController
// Fetch employee data for export from the database
$objects = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
$insurer_id = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
$cash_balance = $this->clientDepositModel->where('client_id', $export_data['client_id'])->where('insurer_id', $insurer_id['insurer_id'])->orderBy('id', 'DESC')->first();
$policy_details = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
if($cash_balance == null){
// dd($export_data, $policy_details['cd_ac_no']);
if ($policy_details['cd_ac_no'] == null) {
// dd("The policy does not have a CD account number");
$this->myLogger->logme('error', 'The policy does not have a CD account number.');
return 5;
}
$cash_balance = $this->clientDepositModel->where('cd_ac_no', $policy_details['cd_ac_no'])->orderBy('id', 'DESC')->first();
if ($cash_balance == null) {
$balance = $this->CDMasterModel
->where('client_id', $export_data['client_id'])
->where('insurer_id', $policy_details['insurer_id'])
->where('cd_ac_no', $policy_details['cd_ac_no'])
->first();
$balance = $this->CDMasterModel->where('client_id', $export_data['client_id'])->where('insurer_id', $insurer_id['insurer_id'])->orderBy('id', 'DESC')->first();
$cash_balance['balance'] = $balance['opening_bal'];
}
// dd($cash_balance);
// Calculate the total amount from the objects
$totals = array_reduce($objects, function ($carry, $item) {
@ -158,9 +173,8 @@ class EmpDataServiceController extends BaseController
$totals = round($totals, 2);
if (!empty($cash_balance)) {
if ((int) $cash_balance['balance'] < (int) $totals) {
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount.');
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount. CASH BALANCE : {balance} and TOTAL AMOUNT : {total}', ['balance' => $cash_balance['balance'], 'total' => $totals]);
return 0;
@ -363,6 +377,26 @@ class EmpDataServiceController extends BaseController
$ids = [];
$objects = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($export_data);
$policy_details = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
if ($policy_details['cd_ac_no'] == null) {
$this->myLogger->logme('error', 'The policy does not have a CD account number.');
return 1;
}
$cash_balance = $this->clientDepositModel->where('cd_ac_no', $policy_details['cd_ac_no'])->orderBy('id', 'DESC')->first();
if ($cash_balance == null) {
$balance = $this->CDMasterModel
->where('client_id', $export_data['client_id'])
->where('insurer_id', $policy_details['insurer_id'])
->where('cd_ac_no', $policy_details['cd_ac_no'])
->first();
$cash_balance['balance'] = $balance['opening_bal'];
}
$totals = 0;
foreach ($objects as $obj) {
@ -374,6 +408,14 @@ class EmpDataServiceController extends BaseController
// echo '<pre>';
// print_r($ids); die;
if (!empty($cash_balance)) {
if ((int) $cash_balance['balance'] < (int) $rounded_totals) {
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount.');
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount. CASH BALANCE : {balance} and TOTAL AMOUNT : {total}', ['balance' => $cash_balance['balance'], 'total' => $totals]);
return 0;
}
}
$count = count($objects);
$export_data['count'] = $count;
$export_data['amount'] = $rounded_totals;
@ -545,7 +587,7 @@ class EmpDataServiceController extends BaseController
}
//not in use
public function generateExcelForAdditionAndDependentAddition($export_data)
{
$ids = [];
@ -628,7 +670,7 @@ class EmpDataServiceController extends BaseController
}
}
}
//end not in use
/**
* The below functions are Imports data from an Excel file for :
@ -2788,7 +2830,7 @@ class EmpDataServiceController extends BaseController
//Endorsement Addition and Dependent Addition
//not in use
public function AdditionAndDependentAddition($params)
{
@ -3179,6 +3221,7 @@ class EmpDataServiceController extends BaseController
}
//end not in use
/**
* The below functions are Calculates and records cash deposits for employee policies at inception.

View File

@ -79,13 +79,16 @@ class EmployeeController extends AdminController
$data['employees'] = $this->employeePolicyModel->getEmployeePolicy(
client_id: $filterData['client_id'],
policy_id: $filterData['policy_id'],
status: $filterData['status'],
branch_id: $filterData['branch_id']
branch_id: $filterData['branch_id'],
emp_code : $filterData['emp_code'],
emp_name : $filterData['emp_name'],
status : $filterData['status'],
);
$data['getData'] = $filterData;
}
// dd($this->request->getGet());
$this->myLogger->logme('error', 'list called');
$this->loadLayout('employee_list', $data);
}
@ -408,10 +411,15 @@ class EmployeeController extends AdminController
$return = $empDataServiceController->generateExcelForAdditionandInception($batch_data);
if ($return == 0) {
if ($return === 0) {
session()->setFlashdata('error', "Insufficient deposit amount.");
return redirect()->to(base_url('employee/upload'));
}else if($return === 5){
session()->setFlashdata('error', "The policy does not have a CD account number.");
return redirect()->to(base_url('employee/upload'));
}
if (!$return) {
@ -439,10 +447,14 @@ class EmployeeController extends AdminController
$return = $empDataServiceController->generateExcelForSIEnhancement($batch_data);
if ($return == 0) {
if ($return === 0) {
session()->setFlashdata('error', "Insufficient deposit amount.");
return redirect()->to(base_url('employee/upload'));
}else if($return === 5){
session()->setFlashdata('error', "The policy does not have a CD account number.");
return redirect()->to(base_url('employee/upload'));
}
if (!$return) {
@ -1056,33 +1068,34 @@ class EmployeeController extends AdminController
public function viewECard()
{
$this->loadLayout('ecard_template/default_ecard');
// $this->loadLayout('ecard_template/default_ecard');
// Load the session library if it's not autoloaded
// $session = \Config\Services::session();
// Access session data
$sessionData = session()->get();
// Check if session data exists and if expiration time is set
if (!empty($sessionData) && isset($sessionData['isLoggedIn']) && isset($sessionData['session_expiration'])) {
// Get the session expiration timestamp
$expirationTimestamp = $sessionData['session_expiration'];
// Get the current timestamp
$currentTimestamp = time();
// Check if the current time is greater than the expiration time
if ($currentTimestamp > $expirationTimestamp) {
// Session has expired
echo "Session has expired";
} else {
// Session is active
echo "Session is active";
}
} else {
// Session data is not set or session is not started
echo "Session is not started or data is not set";
$empDataServiceController = new EmpDataServiceController();
$file_name = generate_filename("TCS", 'inception', 'export', 'insurer', 'policy', 'branch');
$batch_data = [
'client_id' => 12,
'client_policy_id' => 12,
'client_branch_id' => 1,
'insurer_or_tpa' => 'insurer',
'event_type' => 'inception',
'actions' => 'export',
'file_name' => $file_name,
];
$return = $empDataServiceController->generateExcelForAdditionandInception($batch_data);
if ($return == 0) {
dd('error', "Insufficient deposit amount.");
}else if($return == 1){
dd('error', "The policy does not have a CD account number.");
}
if (!$return) {
dd('error', "No data was found");
}
}

View File

@ -1123,13 +1123,7 @@ class MasterController extends AdminController
public function CDMasterList()
{
$data['CD_Master_Data'] = $this->CDMasterModel
->select('cd_master.*, clients.client_name, clients.short_name, insurers.name as insurer_name, user_profiles.first_name as user_name')
->join('clients', 'clients.id = cd_master.client_id')
->join('insurers', 'insurers.id = cd_master.insurer_id')
->join('user_profiles', 'user_profiles.id = cd_master.created_by')
->where('cd_master.is_active', 1)
->findAll();
$data['CD_Master_Data'] = $this->CDMasterModel->getCDMasterList();
$data['insurers'] = $this->insurerModel->findAll();
$data['clients'] = $this->clientModel->findAll();
$this->loadLayout('cd_master_list', $data);
@ -1217,4 +1211,18 @@ class MasterController extends AdminController
}
}
public function removeCDMaster($id){
$this->myLogger->logme('error','CDMaster Remove function called');
$data['updated_by'] = get_session_userid();
$data['is_active'] = 0;
$update = $this->CDMasterModel->where('id', $id)->set($data)->update();
if($update){
return $this->respond(['status' => true,'code' => 200], 200);
}else{
return $this->respond(['status' => false,'code' => 404], 200);
}
}
}

View File

@ -33,7 +33,7 @@ class DepositHelper
public static function saveDeposit(array $data, int $loggedInUserID): array
{
// Retrieve the last known balance
$lastBalance = self::calculateLastBalance($data['client_id'], $data['insurer_id']);
$lastBalance = self::calculateLastBalance($data['client_id'], $data['insurer_id'], $data['cd_ac_no']);
// Calculate the new balance based on the transaction type
$newBalance = self::calculateBalance(
@ -87,24 +87,26 @@ class DepositHelper
*
* @return float The last known balance.
*/
public static function calculateLastBalance(int $clientId, int $insurerId): float
public static function calculateLastBalance(int $clientId, int $insurerId, $cd_ac_no): float
{
$model = new ClientDepositModel();
$getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE client_id = ? AND insurer_id = ? ORDER BY created_at DESC LIMIT 1";
$getLastBalanceParams = [$clientId, $insurerId];
// $getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE client_id = ? AND insurer_id = ? ORDER BY created_at DESC LIMIT 1";
// $getLastBalanceParams = [$clientId, $insurerId];
$lastBalance = $model->query($getLastBalanceQuery, $getLastBalanceParams)->getRow()->balance;
$getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE cd_ac_no = ? ORDER BY created_at DESC LIMIT 1";
$getLastBalanceParams = [$cd_ac_no];
if(!$lastBalance){
$lastBalance = $model->query($getLastBalanceQuery, $getLastBalanceParams)->getRow()->balance ?? null;
if(empty($lastBalance) && $lastBalance == null){
$cd_model = new ClientDepositModel();
$getLastBalanceQuery = "SELECT opening_bal FROM cd_master WHERE client_id = ? AND insurer_id = ? ORDER BY created_at DESC LIMIT 1";
$getLastBalanceParams = [$clientId, $insurerId];
$getLastBalanceQuery = "SELECT opening_bal FROM cd_master WHERE client_id = ? AND insurer_id = ? AND cd_ac_no = ? ORDER BY created_at DESC LIMIT 1";
$getLastBalanceParams = [$clientId, $insurerId, $cd_ac_no];
$lastBalance = $cd_model->query($getLastBalanceQuery, $getLastBalanceParams)->getRow()->opening_bal ?? 0;
}
return $lastBalance;

View File

@ -239,3 +239,12 @@ if (!function_exists('get_username')) {
}
if (!function_exists('get_role_id')) {
function get_role_id() {
$role_id = get_session_userdata()->role;
return $role_id;
}
}

View File

@ -61,4 +61,26 @@ class CDMasterModel extends Model
return $data;
}
public function getCDMasterList(){
$query = $this->db->table('cd_master')
->select('cd_master.*, clients.client_name, clients.short_name, insurers.name AS insurer_name, user_profiles.first_name AS user_name, IFNULL(cd_ac_counts.cd_ac_no_count, 0) AS cd_ac_no_count')
->join('clients', 'clients.id = cd_master.client_id')
->join('insurers', 'insurers.id = cd_master.insurer_id')
->join('user_profiles', 'user_profiles.id = cd_master.created_by')
->join(
'(SELECT cd_master.cd_ac_no, COUNT(client_policy.cd_ac_no) AS cd_ac_no_count
FROM cd_master
JOIN client_policy ON client_policy.cd_ac_no = cd_master.cd_ac_no
GROUP BY cd_master.cd_ac_no) AS cd_ac_counts',
'cd_ac_counts.cd_ac_no = cd_master.cd_ac_no',
'left'
)
->where('cd_master.is_active', 1)
->get();
$result = $query->getResultArray();
return $result;
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class ChatBotModel extends Model
{
protected $table = 'chat_bot';
protected $primaryKey = 'id';
protected $allowedFields = [
"id",
"request",
"options",
"created_by",
"updated_by",
"is_active",
];
}
?>

View File

@ -77,12 +77,14 @@ class ClientPolicyModel extends Model
->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
->select('policy_type.policy_type as policy_type_name')
->select('client_branch.branch_name as branch_name')
->join('insurers', 'insurers.id = client_policy.insurer_id')
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
->join('tpa', 'tpa.id = client_policy.tpa_id', 'left')
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
->join('policies', 'policies.id = client_policy.policy_id')
->join('policy_type', 'policy_type.id = policies.policy_type_id')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
->where('client_policy.client_id', $client_id)
->where('client_policy.policy_status', 1)
->where('client_policy.is_active', 1)

View File

@ -76,31 +76,68 @@ class EmployeePolicyModel extends Model
}
// -----------------------------------------------------------------------------------------------------
public function getEmployeePolicy($client_id,$policy_id,$status,$branch_id)
public function getEmployeePolicy($client_id = 0, $policy_id=0, $status=0, $branch_id=0, $emp_code="", $emp_name="")
{
$result = $this->select(['employee_polices.*','pm.name as policy_name','im.short_name as insurer_short_name','ib.branch_name as insurer_branch_name','ib.branch_code as insurer_branch_code','tpam.name as tpa_name','tpam.short_name as tpa_short_name','tpab.branch_code as tpa_branch_code','cm.client_name','cm.short_name as client_short_name','emp.relationship','emp.relationship_code','emp.change_event','emp.emp_code','emp.name','emp.email_corporate','emp.dob','emp.gender','emp.emp_status','emp.is_active as emp_is_active','emp.mobile as mobile'])
->join('employees emp', 'employee_polices.employee_id = emp.id')
->join('client_policy cp', 'employee_polices.client_policy_id = cp.id') //cp - client policy
->join('policies pm', 'cp.policy_id = pm.id') //pm - policy master
->join('insurers im', 'cp.insurer_id = im.id') //im - insurar master
->join('insurer_branch ib', 'cp.insurer_branch_id = ib.id') //ib - insurar branch
->join('tpa tpam', 'cp.tpa_id = tpam.id','left') //tpam - tpa master
->join('tpa_branch tpab', 'cp.tpa_branch_id = tpab.id','left') //tpab - tpa brach
->join('clients cm', 'cp.client_id = cm.id') //cm - client master
->where('emp.client_id',$client_id)
->where('emp.client_branch_id',$branch_id)
->where('employee_polices.is_active',1)
->where('emp.is_active',1)
->where('employee_polices.client_policy_id',$policy_id)
->orderBy('emp.emp_code','ASC')->orderBy('employee_polices.employee_id','ASC');
if($status != 0 && !empty($status)){
$result = $this->select([
'employee_polices.*',
'pm.name as policy_name',
'im.short_name as insurer_short_name',
'ib.branch_name as insurer_branch_name',
'ib.branch_code as insurer_branch_code',
'tpam.name as tpa_name',
'tpam.short_name as tpa_short_name',
'tpab.branch_code as tpa_branch_code',
'cm.client_name',
'cm.short_name as client_short_name',
'emp.relationship',
'emp.relationship_code',
'emp.change_event',
'emp.emp_code',
'emp.name',
'emp.email_corporate',
'emp.dob',
'emp.gender',
'emp.emp_status',
'emp.is_active as emp_is_active',
'emp.mobile as mobile'
])
->join('employees emp', 'employee_polices.employee_id = emp.id')
->join('client_policy cp', 'employee_polices.client_policy_id = cp.id') //cp - client policy
->join('policies pm', 'cp.policy_id = pm.id') //pm - policy master
->join('insurers im', 'cp.insurer_id = im.id') //im - insurer master
->join('insurer_branch ib', 'cp.insurer_branch_id = ib.id') //ib - insurer branch
->join('tpa tpam', 'cp.tpa_id = tpam.id', 'left') //tpam - tpa master
->join('tpa_branch tpab', 'cp.tpa_branch_id = tpab.id', 'left') //tpab - tpa branch
->join('clients cm', 'cp.client_id = cm.id') //cm - client master
->orderBy('emp.emp_code', 'ASC')
->orderBy('employee_polices.employee_id', 'ASC');
// Conditionally add where clauses
if ($client_id !=0 && !empty($client_id)) {
$result->where('emp.client_id', $client_id);
}
if ($branch_id !=0 && !empty($branch_id)) {
$result->where('emp.client_branch_id', $branch_id);
}
if ($policy_id !=0 && !empty($policy_id)) {
$result->where('employee_polices.client_policy_id', $policy_id);
}
if ($status !=0 && !empty($status)) {
$result->where('employee_polices.status', $status);
}
if (!empty($emp_code)) {
$result->where('emp.emp_code', $emp_code);
}
if (!empty($emp_name)) {
$result->like('emp.name', $emp_name);
}
$result = $result->findAll();
return ($result);
// Always check these conditions
$result->where('employee_polices.is_active', 1)
->where('emp.is_active', 1);
return $result->findAll();
}

View File

@ -58,12 +58,12 @@ table.dataTable thead th {
<?php echo $row['user_name']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);"
class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"
aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<a href="javascript: void(0);"class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item btnEdit" data-id="<?= $row['id'];?>" data-toggle="modal" data-target="#con-close-modal"> <i
class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a class="dropdown-item btnEdit" data-id="<?= $row['id'];?>" data-toggle="modal" data-target="#con-close-modal"> <i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<?php if($row['cd_ac_no_count'] == 0) { ?>
<a class="dropdown-item" data-id="<?= $row['id'];?>" onclick="removeCDMaster(this)"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
<?php } ?>
</div>
</div>
</td>
@ -290,4 +290,50 @@ table.dataTable thead th {
})
function removeCDMaster(element) {
Swal.fire({
title: "Are you sure?",
text: "You need to remove this CD.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/cash_deposite/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('CD removed successfully.', 'success');
location.reload();
} else {
toastr.warning('Failed to remove CD.', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('Something Wrong!', 'warning');
}
});
}
});
}
</script>

View File

@ -1,11 +1,12 @@
<div class="tab-pane fade" id="branch-tab">
<input type="hidden" id="client_id_for_client_branch" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
<input type="hidden" id="client_id_for_client_branch" value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<div class="row float-right" style="padding-bottom: 10px;position: relative;right: 13px;">
<button type="button" id="btnBranchAdd" class="btn btn-primary waves-effect waves-light btn-sm"><span class="fa fa-plus-square" aria-hidden="true" style="padding: 5px 10px;"></span>Add Branch</button>
<button type="button" id="btnBranchAdd" class="btn btn-primary waves-effect waves-light btn-sm"><span
class="fa fa-plus-square" aria-hidden="true" style="padding: 5px 10px;"></span>Add Branch</button>
</div>
<div class="table-responsive" id="branch_table" >
<div class="table-responsive" id="branch_table">
<table class="table table-borderless table-nowrap mb-0">
<thead class="thead-light">
<tr>
@ -23,52 +24,51 @@
<div class="col-12">
<div class="card-body">
<div class="row float-right" style="position: relative; bottom: 20px; right: 13px;">
<button type="button" id="btnBranchBack" class="btn btn-primary waves-effect waves-light btn-sm btnBack"><span class="fa fa-list" aria-hidden="true" style="padding: 5px 10px;"></span>Back To List</button>
<button type="button" id="btnBranchBack"
class="btn btn-primary waves-effect waves-light btn-sm btnBack"><span class="fa fa-list"
aria-hidden="true" style="padding: 5px 10px;"></span>Back To List</button>
</div>
<hr>
<form role="form" class="parsley-examples" method="post" id="branch_form"
enctype="multipart/form-data">
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="client_id" id="client_id_branch" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
<input type="hidden" name="branch_id_primarykey" id="branch_id_primarykey"/>
<form role="form" class="parsley-examples" method="post" id="branch_form" enctype="multipart/form-data">
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="client_id" id="client_id_branch"
value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<input type="hidden" name="branch_id_primarykey" id="branch_id_primarykey" />
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-6">
<label for="branch_name">Branch Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_name" placeholder="Enter Branch Name" name="branch_name" required>
<input type="text" class="form-control" id="branch_name" placeholder="Enter Branch Name"
name="branch_name" required>
</div>
<div class="form-group col-md-6">
<label for="branch_code">Branch Code<span
class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_code"
placeholder="Enter Branch Code" name="branch_code" required>
<label for="branch_code">Branch Code<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_code" placeholder="Enter Branch Code"
name="branch_code" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="state">State<span
class="text-danger">*</span></label>
<label for="state">State<span class="text-danger">*</span></label>
<select class="form-control" id="state" name="state" required>
<option value="">Select State</option>
<?php foreach($state as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
<?php } ?>
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="district">District<span
class="text-danger">*</span></label>
<input type="text" class="form-control" id="district"
placeholder="Enter District" name="district" required>
<label for="district">District<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="district" placeholder="Enter District"
name="district" required>
</div>
<div class="form-group col-md-4">
<label for="city">City<span
class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_city"
placeholder="Enter City" name="city" required>
<label for="city">City<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_city" placeholder="Enter City"
name="city" required>
</div>
</div>
@ -79,26 +79,37 @@
<div class="form-row">
<div class="form-group col-md-6">
<label for="first_name">Name<span class="text-danger">*</span></label>
<input value="" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required>
<input value="" type="text" class="form-control" placeholder="Enter Contact Name"
name="name[]" id="name" required>
</div>
<div class="form-group col-md-6">
<label for="last_name">Email<span class="text-danger">*</span></label>
<input value="" type="text" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" data-parsley-trigger="change" data-parsley-type="email" required>
<input value="" type="text" class="form-control" placeholder="Enter Contact Email"
name="email[]" id="email" data-parsley-trigger="change" data-parsley-type="email"
required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="mobile">Mobile<span class="text-danger">*</span></label>
<input value="" type="text" class="form-control" placeholder="Enter Contact Mobile" name="mobile[]" id="mobile" onkeypress = "return onlyNumbers(event)" maxlength="10" minlength="10" data-parsley-type-message="Please enter a valid 10-digit mobile number." data-parsley-required-message="Please enter a valid 10-digit mobile number." required>
<input value="" type="text" class="form-control" placeholder="Enter Contact Mobile"
name="mobile[]" id="mobile" onchange="checkMobileNumber(this)"
onkeypress="return onlyNumbers(event)" maxlength="10" minlength="10"
data-parsley-type-message="Please enter a valid 10-digit mobile number."
data-parsley-required-message="Please enter a valid 10-digit mobile number."
required>
</div>
<div class="form-group col-md-6">
<label for="designation">Designation<span class="text-danger">*</span></label>
<input value="" type="text" class="form-control" placeholder="Enter Designation Name" name="designation[]" id="designation" required>
<input value="" type="text" class="form-control" placeholder="Enter Designation Name"
name="designation[]" id="designation" required>
</div>
</div>
<div class="form-group" style="display: flex;">
<button style="margin-right: 10px;" type="button" class="btn btn-primary btn-sm ac" onclick="appendContactHtml()" id="add">Add Contact</button>
<button type="button" class="btn btn-danger btn-sm" onclick="removeContact(this)" id="remove_btn">Remove</button>
<button style="margin-right: 10px;" type="button" class="btn btn-primary btn-sm ac"
onclick="appendContactHtml()" id="add">Add Contact</button>
<button type="button" class="btn btn-danger btn-sm" onclick="removeContact(this)"
id="remove_btn">Remove</button>
</div>
<div id="container"></div>
@ -119,168 +130,196 @@
<script>
var branch_form_action = '';
var contactCount = 1;
var branch_PrimaryKey = $('#client_id_for_client_branch').val();
var branch_PrimaryKey = $('#client_id_for_client_branch').val();
$(document).ready(function () {
$(document).ready(function() {
branch_PrimaryKey = $('#client_id_branch').val();
branch_PrimaryKey = $('#client_id_branch').val();
$('#add_branch').hide();
$('.btnBack').hide();
if(branch_PrimaryKey !== ''){
if (branch_PrimaryKey !== '') {
var branchTable = '';
var data = <?= isset($client_branch) ? json_encode($client_branch) : '[]' ?>;
var data = <?= isset($client_branch) ? json_encode($client_branch) : '[]' ?>;
var role = data.role
delete data.role;
console.log(role)
$.each(data, function(index, item) {
branchTable += `
<tr>
<td>${item.branch_name}</td>
<td>${item.branch_code}</td>
<td>
<a class="mdi mdi-lead-pencil btnBranchEdit" href="#" data-id="${item.id}" style="font-size:18px;"></a>
<a style="color:#02a8b5" data-id="${item.id}" onclick="removeClientBranch(this)"><i data-id="${item.id}" class="mdi mdi-delete" style="font-size:18px;"></i></a>
</td>
</tr>
`;
if(role != 3 && role != 4){
branchTable += `
<tr>
<td>${item.branch_name}</td>
<td>${item.branch_code}</td>
<td>
<a class="mdi mdi-lead-pencil btnBranchEdit" href="#" data-id="${item.id}" style="font-size:18px;"></a>
<a style="color:#02a8b5" data-id="${item.id}" onclick="removeClientBranch(this)"><i data-id="${item.id}" class="mdi mdi-delete" style="font-size:18px;"></i></a>
</td>
</tr>
`;
}else{
branchTable += `
<tr>
<td>${item.branch_name}</td>
<td>${item.branch_code}</td>
<td>
<a class="mdi mdi-lead-pencil btnBranchEdit" href="#" data-id="${item.id}" style="font-size:18px;"></a>
</td>
</tr>
`;
}
});
$('#branch_list').append(branchTable);
$('#branch_list').append(branchTable);
}
});
});
$('#btnBranchAdd').click(function(){
$('#btnBranchAdd').click(function() {
branch_form_action = '<?= base_url("client/branch/create"); ?>';
branch_form_action = '<?= base_url("client/branch/create"); ?>';
$('#add_branch').show();
$('#branch_table').hide();
$('.btnBack').show();
$('#btnBranchAdd').hide();
$('#add_branch').show();
$('#branch_table').hide();
$('.btnBack').show();
$('#btnBranchAdd').hide();
$('#branch_name').val('');
$('#branch_code').val('');
$('#state').val('');
$('#district').val('');
$('#branch_city').val('');
$('#branch_form')[0].reset();
$('.ac').css('display', 'block');
contactCount = 1
$('#branch_name').val('');
$('#branch_code').val('');
$('#state').val('');
$('#district').val('');
$('#branch_city').val('');
$('#branch_form')[0].reset();
$('.ac').css('display', 'block');
contactCount = 1
var addButton = document.getElementById('add');
if (addButton.style.display === 'none') {
addButton.style.display = 'block';
}
var addButton = document.getElementById('add');
if (addButton.style.display === 'none') {
addButton.style.display = 'block';
}
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
elementToRemove.parentNode.removeChild(elementToRemove);
}
localStorage.removeItem('buttonIds')
elementToRemove.parentNode.removeChild(elementToRemove);
}
localStorage.removeItem('buttonIds')
}
})
})
$('.btnBack').click(function(){
$('.btnBack').click(function() {
$('#add_branch').hide();
$('#branch_table').show();
$('.btnBack').hide();
$('#btnBranchAdd').show();
$('#add_branch').hide();
$('#branch_table').show();
$('.btnBack').hide();
$('#btnBranchAdd').show();
$('#branch_name').val('');
$('#branch_code').val('');
$('#state').val('');
$('#district').val('');
$('#branch_city').val('');
$('#branch_form')[0].reset();
$('.ac').css('display', 'block');
$('.parsley-errors-list').remove();
$('#branch_form').parsley().reset();
contactCount = 1
$('#branch_name').val('');
$('#branch_code').val('');
$('#state').val('');
$('#district').val('');
$('#branch_city').val('');
$('#branch_form')[0].reset();
$('.ac').css('display', 'block');
$('.parsley-errors-list').remove();
$('#branch_form').parsley().reset();
contactCount = 1
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
elementToRemove.parentNode.removeChild(elementToRemove);
}
elementToRemove.parentNode.removeChild(elementToRemove);
}
}
})
})
$("#branch_form").submit(function(event) {
$("#branch_form").submit(function(event) {
event.preventDefault();
branch_PrimaryKey = $('#client_id_branch').val();
event.preventDefault();
branch_PrimaryKey = $('#client_id_branch').val();
console.log('branch_PrimaryKey', branch_PrimaryKey)
if (branch_PrimaryKey === '') {
toastr.error('Client is required', 'Error');
$('#insurer').val('');
$('#tpa').val('');
$('#policy').html('<option value="" selected>Select Policy</option>');
return;
}
console.log('branch_PrimaryKey', branch_PrimaryKey)
var isValid = $('#branch_form').parsley().validate();
if (branch_PrimaryKey === '') {
toastr.error('Client is required', 'Error');
$('#insurer').val('');
$('#tpa').val('');
$('#policy').html('<option value="" selected>Select Policy</option>');
return;
}
if (isValid) {
var isValid = $('#branch_form').parsley().validate();
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
if (isValid) {
var formData = new FormData($('#branch_form')[0]);
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
$.ajax({
data: formData,
url: branch_form_action,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
var formData = new FormData($('#branch_form')[0]);
if(res){
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('#add_branch').hide();
$('#branch_table').show();
$('.btnBack').hide();
$('#btnBranchAdd').show();
var message = (branch_PrimaryKey === '') ? 'Client Branch Created successfully' : 'Client Branch Updated successfully';
toastr.success(message, 'Success');
}, 1000);
}
$.ajax({
data: formData,
url: branch_form_action,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
if (res) {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('#add_branch').hide();
$('#branch_table').show();
$('.btnBack').hide();
$('#btnBranchAdd').show();
var message = (branch_PrimaryKey === '') ?
'Client Branch Created successfully' :
'Client Branch Updated successfully';
toastr.success(message, 'Success');
}, 1000);
}
$('#branch_list tr').remove();
var branchTableInsert = ''
var role = res.data.role
delete res.data.role;
console.log(role)
$.each(res.data, function(index, item) {
console.log('client_branch_data', item)
if(role != 3 && role != 4){
$('#branch_list tr').remove();
var branchTableInsert = ''
$.each(res.data, function(index, item) {
branchTableInsert += `
<tr>
<td>${item.branch_name}</td>
@ -290,92 +329,26 @@ $(document).ready(function () {
<a style="color:#02a8b5" data-id="${item.id}" onclick="removeClientBranch(this)"><i data-id="${item.id}" class="mdi mdi-delete" style="font-size:18px;"></i></a>
</td>
</tr>
`;
});
$('#branch_list').append(branchTableInsert);
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
}
contactCount = 1
});
`;
}else{
$('body').on('click', '.btnBranchEdit', function () {
branchTableInsert += `
<tr>
<td>${item.branch_name}</td>
<td>${item.branch_code}</td>
<td>
<a class="mdi mdi-lead-pencil btnBranchEdit" href="#" data-id="${item.id}" style="font-size:18px;"></a>
</td>
</tr>
`;
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
elementToRemove.parentNode.removeChild(elementToRemove);
}
localStorage.removeItem('buttonIds')
}
contactCount = 1
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var branch_id = $(this).attr('data-id');
$('#branch_id_primarykey').val(branch_id);
branch_form_action = '<?= base_url("client/branch/edit"); ?>';
$.ajax({
url: '<?php echo base_url('client/branch/list/');?>'+branch_id,
type: "GET",
dataType: 'json',
success: function (res) {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 500);
// console.log('branch contact : ',res.contact)
$('#add_branch').show();
$('#branch_table').hide();
$('.btnBack').show();
$('#btnBranchAdd').hide();
$('#branch_name').val(res.data.branch_name);
$('#branch_code').val(res.data.branch_code);
$('#state option[value="' + res.data.state + '"]').prop('selected', true);
$('#district').val(res.data.district);
$('#branch_city').val(res.data.city);
$('#branch_PrimaryKey').val(res.data.id);
$('#name').val(res.contact[0].name);
$('#email').val(res.contact[0].email);
$('#mobile').val(res.contact[0].mobile);
$('#designation').val(res.contact[0].designation);
res.contact.shift();
// console.log(res.contact.length)
for (let index = 0; index < res.contact.length; index++) {
const contact = res.contact[index];
if (contact !== undefined) {
appendContactHtml(contact);
}
}
});
$('#branch_list').append(branchTableInsert);
},
error: function (xhr, status, error) {
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
@ -383,29 +356,110 @@ $(document).ready(function () {
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
}
});
console.log(branch_form_action);
}
contactCount = 1
});
$('body').on('click', '.btnBranchEdit', function() {
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
for (var i = 0; i < buttonIds.length; i++) {
var firstElement = buttonIds[i].split('_')[0];
console.log(firstElement);
// Find the element by its ID
var elementToRemove = document.getElementById(firstElement);
console.log(elementToRemove);
if (elementToRemove) {
console.log(elementToRemove);
elementToRemove.parentNode.removeChild(elementToRemove);
}
localStorage.removeItem('buttonIds')
}
contactCount = 1
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var branch_id = $(this).attr('data-id');
$('#branch_id_primarykey').val(branch_id);
branch_form_action = '<?= base_url("client/branch/edit"); ?>';
$.ajax({
url: '<?php echo base_url('client/branch/list/');?>' + branch_id,
type: "GET",
dataType: 'json',
success: function(res) {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 500);
// console.log('branch contact : ',res.contact)
$('#add_branch').show();
$('#branch_table').hide();
$('.btnBack').show();
$('#btnBranchAdd').hide();
$('#branch_name').val(res.data.branch_name);
$('#branch_code').val(res.data.branch_code);
$('#state option[value="' + res.data.state + '"]').prop('selected', true);
$('#district').val(res.data.district);
$('#branch_city').val(res.data.city);
$('#branch_PrimaryKey').val(res.data.id);
$('#name').val(res.contact[0].name);
$('#email').val(res.contact[0].email);
$('#mobile').val(res.contact[0].mobile);
$('#designation').val(res.contact[0].designation);
res.contact.shift();
// console.log(res.contact.length)
for (let index = 0; index < res.contact.length; index++) {
const contact = res.contact[index];
if (contact !== undefined) {
appendContactHtml(contact);
}
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
console.log(branch_form_action);
});
$("#remove_btn").click(function(){
$("#name").val('');
$("#email").val('');
$("#mobile").val('');
$("#designation").val('');
})
$("#remove_btn").click(function() {
$("#name").val('');
$("#email").val('');
$("#mobile").val('');
$("#designation").val('');
})
// Initialize the contact count
function appendContactHtml(contact = false, reset = false) {
// Initialize the contact count
function appendContactHtml(contact = false, reset = false) {
console.log('appendContactHtml function called ')
contactCount++;
console.log('appendContactHtml function called ')
contactCount++;
var container = document.getElementById('container');
var uniqueId = Date.now().toString();
var container = document.getElementById('container');
var uniqueId = Date.now().toString();
var html = `
var html = `
<div id="${uniqueId}">
<hr>
<h6 class="header-title">Contact ${contactCount}</h6>
@ -423,7 +477,7 @@ $(document).ready(function () {
<div class="form-row">
<div class="form-group col-md-6">
<label for="${uniqueId}_mobile">Mobile<span class="text-danger">*</span></label>
<input value="${contact !== undefined && contact !== false ? contact.mobile : ''}" type="text" class="form-control" placeholder="Enter Contact Mobile" name="mobile[]" id="${uniqueId}_mobile" onkeypress = "return onlyNumbers(event)" maxlength="10" min="10" data-parsley-type-message="Please enter a valid 10-digit mobile number." data-parsley-required-message="Please enter a valid 10-digit mobile number." required>
<input value="${contact !== undefined && contact !== false ? contact.mobile : ''}" type="text" class="form-control" placeholder="Enter Contact Mobile" name="mobile[]" id="${uniqueId}_mobile" onchange="checkMobileNumber(this)" onkeypress = "return onlyNumbers(event)" maxlength="10" min="10" data-parsley-type-message="Please enter a valid 10-digit mobile number." data-parsley-required-message="Please enter a valid 10-digit mobile number." required>
</div>
<div class="form-group col-md-6">
<label for="${uniqueId}_designation">Designation<span class="text-danger">*</span></label>
@ -437,132 +491,169 @@ $(document).ready(function () {
</div>
`;
if(reset == false){
console.log(reset)
container.insertAdjacentHTML('beforeend', html);
storeButtonId(uniqueId + '_add');
if (reset == false) {
console.log(reset)
container.insertAdjacentHTML('beforeend', html);
storeButtonId(uniqueId + '_add');
if (contactCount >= 3) {
hideStoredAddButtons();
}
}
}
function removeContact(button) {
var uniqueId = button.id.split("_")[0];
var contactSection = document.getElementById(uniqueId);
if (contactSection) {
contactSection.parentNode.removeChild(contactSection);
contactCount --;
if (contactCount < 3) {
var addButton = document.querySelector('.ac');
if (addButton) {
addButton.style.display = 'block';
}
}
if (contactCount >= 3) {
hideStoredAddButtons();
}
}
function storeButtonId(id) {
}
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
buttonIds.push(id);
localStorage.setItem('buttonIds', JSON.stringify(buttonIds));
}
function removeContact(button) {
var uniqueId = button.id.split("_")[0];
var contactSection = document.getElementById(uniqueId);
if (contactSection) {
contactSection.parentNode.removeChild(contactSection);
contactCount--;
function hideStoredAddButtons() {
var storedIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
storedIds.forEach(function(id) {
var addButton = document.getElementById(id);
var first_addButton = document.querySelector('.ac')
if (contactCount < 3) {
var addButton = document.querySelector('.ac');
if (addButton) {
addButton.style.display = 'none';
first_addButton.style.display = 'none';
addButton.style.display = 'block';
}
});
}
}
}
function showNextAddButton() {
var storedIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
var addButtonShown = false;
function storeButtonId(id) {
// Iterate through the stored IDs to find the next "Add" button to show
storedIds.forEach(function(id) {
if (!addButtonShown) {
var addButton = document.getElementById(id);
if (addButton && addButton.style.display === 'none') {
addButton.style.display = 'block';
addButtonShown = true; // Set to true once an "Add" button is shown
}
var buttonIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
buttonIds.push(id);
localStorage.setItem('buttonIds', JSON.stringify(buttonIds));
}
function hideStoredAddButtons() {
var storedIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
storedIds.forEach(function(id) {
var addButton = document.getElementById(id);
var first_addButton = document.querySelector('.ac')
if (addButton) {
addButton.style.display = 'none';
first_addButton.style.display = 'none';
}
});
}
function showNextAddButton() {
var storedIds = JSON.parse(localStorage.getItem('buttonIds')) || [];
var addButtonShown = false;
// Iterate through the stored IDs to find the next "Add" button to show
storedIds.forEach(function(id) {
if (!addButtonShown) {
var addButton = document.getElementById(id);
if (addButton && addButton.style.display === 'none') {
addButton.style.display = 'block';
addButtonShown = true; // Set to true once an "Add" button is shown
}
});
}
}
});
}
function validateForm() {
var isValid = true;
$('#branch_form input, #branch_form select').each(function() {
function validateForm() {
var isValid = true;
if ($(this).is('input[type="text"]') || $(this).is('select')) {
if ($.trim($(this).val()) == '') {
isValid = false;
return false;
}
$('#branch_form input, #branch_form select').each(function() {
if ($(this).is('input[type="text"]') || $(this).is('select')) {
if ($.trim($(this).val()) == '') {
isValid = false;
return false;
}
}
});
});
return isValid;
}
return isValid;
}
function onlyNumbers(event){
function onlyNumbers(event) {
var charcode;
charcode = event.which || event.keyCode;
if(charcode>= 48 && charcode <= 57)return true;
return false;
}
var charcode;
charcode = event.which || event.keyCode;
if (charcode >= 48 && charcode <= 57) return true;
return false;
}
function removeClientBranch(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("client/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
function removeClientBranch(element) {
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this client branch.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("client/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if (res) {
if (res.status == true) {
toastr.success('Client branch removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove client branch', 'warning');
}
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('Something Wrong!', 'warning');
}, 1000);
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
}
});
}
});
}
function checkMobileNumber(input) {
console.log('function called')
console.log(input);
console.log('Input Value', input.value);
var mobileNumber = input.value;
var url = '<?php echo base_url('util/checkHRNumber/') ?>' + mobileNumber;
$.get(url, function(response) {
console.log(response)
console.log(response.data)
if (response.data > 0) {
toastr.warning('The Mobile Number Already Exist.', 'Warning');
input.value = "";
return;
}
}).fail(function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
});
}
</script>

View File

@ -16,7 +16,8 @@
<div class="row">
<div class="col-6" style="position: relative;left: 455px;">
<button id="close_btn" class="btn btn-primary waves-effect waves-light client_info_close">Close</button>
<button id="close_btn"
class="btn btn-primary waves-effect waves-light client_info_close">Close</button>
</div>
<div class="col-1 float-right" style="position: relative;left: 255px;">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse"
@ -33,7 +34,7 @@
<div class="card-body" style="position: relative;bottom: 25px;">
<div class="row" >
<div class="row">
<div class="col-6">
@ -204,7 +205,7 @@
</div>
</div>
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body" style="position: relative;bottom: 25px;">
<div class="card-body" style="position: relative;bottom: 25px;">
<div class="row">
<table id="tb1" class="table table-hover m-0 table-centered dt-responsive nowrap w-100"
cellspacing="0">
@ -253,7 +254,7 @@
</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="modal_body" >
<div class="modal-body" id="modal_body">
</div>
</div><!-- /.modal-content -->
@ -270,50 +271,71 @@ $(document).ready(function() {
$(document).on('click', '.policy_terms', function() {
var terms = $(this).data('id');
console.log(terms);
console.log(terms.length);
console.log(JSON.stringify(terms));
// terms = JSON.parse(terms);
$('#modal_body').empty();
function createListItems(obj) {
if (obj.length == 0) {
const message = document.createElement('div');
message.textContent = 'Policy Terms Not Available';
message.style.display = 'flex';
message.style.justifyContent = 'center';
message.style.alignItems = 'center';
message.style.height = '100%'; // Adjust as necessary to fit the context
message.style.textAlign = 'center';
return message;
}
const fragment = document.createDocumentFragment();
for (const key in obj) {
if (obj.hasOwnProperty(key) && obj[key] !== null && obj[key] !== '' && key !=
'family_floater' && key != 'gpa_special_condition_input' && key !=
'gpa_special_condition_label' && key != 'special_condition_label' && key !=
'special_condition_input' && key != 'age_ratio') {
if (
obj.hasOwnProperty(key) &&
obj[key] !== null &&
obj[key] !== '' &&
key !== 'family_floater' &&
key !== 'gpa_special_condition_input' &&
key !== 'gpa_special_condition_label' &&
key !== 'special_condition_label' &&
key !== 'special_condition_input' &&
key !== 'age_ratio' &&
key !== 'multiple_sum_insured' &&
key !== 'other_special_condition_label' &&
key !== 'other_special_condition_input'
) {
const listItem = document.createElement('li');
let formattedKey = key.replace(/_/g, ' ');
var formattedKey = '';
formattedKey = key.replace(/_/g, ' ');
obj[key] = obj[key].replace(/<\/?[^>]+>/gi, '');
console.log('type', typeof obj[key])
// Strip HTML tags from values
if (typeof obj[key] === 'string') {
console.log('before', obj[key])
obj[key] = obj[key].replace(/<\/?[^>]+>/gi, '');
console.log('after', obj[key])
}
// Convert 0 and 1 to 'No' and 'Yes'
if (obj[key] == 0) {
obj[key] = 'No';
}
if (obj[key] == 1) {
obj[key] = 'Yes';
}
console.log(formattedKey)
if (key == 'burnExpenses' && obj[key] == 'Yes') {
listItem.innerHTML =
`<strong>${formattedKey.charAt(0).toUpperCase() + formattedKey.slice(1)}:</strong> ${obj['burnExpensesData']}`;
} else if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
// Handle nested objects
if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
listItem.innerHTML =
`<strong>${formattedKey.charAt(0).toUpperCase() + formattedKey.slice(1)}:</strong>`;
const nestedList = document.createElement('ul');
nestedList.appendChild(createListItems(obj[key]));
listItem.appendChild(nestedList);
} else {
listItem.innerHTML =
`<strong>${formattedKey.charAt(0).toUpperCase() + formattedKey.slice(1)}:</strong> ${Array.isArray(obj[key]) ? JSON.stringify(obj[key]) : obj[key]}`;
@ -325,7 +347,8 @@ $(document).on('click', '.policy_terms', function() {
return fragment;
}
$('#modal_body').append(createListItems(terms));
});
$('#modal_body').append(createListItems(terms));
});
</script>

View File

@ -59,7 +59,9 @@ table.dataTable thead th {
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="<?= base_url("client/list/"); ?><?= $row->id;?>"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a class="dropdown-item" href="<?= base_url("client/deposit/{$row->id}"); ?>"><i class="mdi mdi-cash mr-2 text-muted font-18 vertical-middle"></i>Deposit</a>
<a class="dropdown-item" data-id="<?= $row->id;?>" onclick="removeClient(this)"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
<?php if(get_role_id() != 3 && get_role_id() != 4) { ?>
<a class="dropdown-item" data-id="<?= $row->id;?>" onclick="removeClient(this)"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
<?php } ?>
</div>
</div>
</td>
@ -111,38 +113,47 @@ table.dataTable thead th {
function removeClient(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("client/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this client.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
}
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("client/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Client removed successfully.', 'success');
location.reload();
} else {
toastr.warning('Failed to remove client.', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('Something Wrong!', 'warning');
}
});
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
});
}

View File

@ -7,14 +7,15 @@
<div class="table-responsive" id="table_list">
<table class="table table-borderless table-nowrap mb-0" id="table-client-policy">
<table class="table table-borderless table mb-0" id="table-client-policy">
<thead class="thead-light">
<tr>
<th>Insurer</th>
<th>Policy</th>
<th>Client Branch</th>
<th>TPA</th>
<th>Date</th>
<th>Enrollment <br> Status</th>
<th>Enrollment Status</th>
<th>Status</th>
<th>Action</th>
</tr>
@ -39,6 +40,7 @@
<input type="hidden" name="PrimaryKey" id="policy_PrimaryKey" />
<input type="hidden" id="policy_form_action" />
<input type="hidden" name="policy_type_id" id="policy_type_id" />
<input type="hidden" id="insurer_policy_id" />
<input type="hidden" name="client_id" id="client_id_policy" value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<div class="form-group">
@ -258,13 +260,13 @@
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
}
policyTable += `
<tr>
<td>${item.insurer_short} - ${item.insurer_branch_name}</td>
<td>${item.policy_name} (${item.policy_type_name})</td>
<td>${item.branch_name ? item.branch_name : ' - '}</td>
<td>${tpaValue}</td>
<td>${(item.policy_start_date)} / <br> ${(item.policy_end_date)}</td>
<td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td>
<td style="text-align: center;">${(enrollmentStatus)}</td>
<td>${checkDateStatus(item.policy_end_date, 1)}</td>
<td>
@ -314,6 +316,8 @@
$('#policy_form_action').val('<?= base_url("client/policy/create"); ?>');
$('#policy_status_field').hide()
$('#base_policy_id').hide();
$('#policy_PrimaryKey').val("");
$('#insurer_policy_id').val("");
$('#first').hide();
@ -481,8 +485,9 @@
<tr>
<td>${item.insurer_short} - ${item.insurer_branch_name}</td>
<td>${item.policy_name} (${item.policy_type_name})</td>
<td>${item.branch_name}</td>
<td>${tpaValue}</td>
<td>${rearrangeDateFormat(item.policy_start_date)} / <br> ${rearrangeDateFormat(item.policy_end_date)}</td>
<td>${rearrangeDateFormat(item.policy_start_date)} / ${rearrangeDateFormat(item.policy_end_date)}</td>
<td style="text-align: center;">${(enrollmentStatus)}</td>
<td>${checkDateStatus(item.policy_end_date, 1)}</td>
<td>
@ -632,6 +637,7 @@
});
});
$(document).ready(function() {
@ -646,28 +652,35 @@
console.log('client_id', client_id)
console.log('branch_id', branch_id)
console.log('policy_type_id', dataId)
console.log('client_policy_id', $('#policy_PrimaryKey').val())
$('#policy_type_id').val(dataId);
var url = '<?php echo base_url('util/check_policy_type/') ?>' + id + '/' + dataId + '/' + branch_id + '/' + client_id
var url = '<?php echo base_url('util/check_policy_type/') ?>' + dataId + '/' + branch_id + '/' + client_id;
$.get(url, function(response){
if (dataId && branch_id && client_id) { // Check if all parameters exist
if ($('#policy_PrimaryKey').val() == "" || id != $('#insurer_policy_id').val()) {
$.get(url, function(response) {
console.log(response);
console.log(response.count);
console.log(response)
//console.log(response.data)
if (response.count > 0) {
console.log('Policy already exist in the branch');
toastr.error('Policy already exist in the branch', 'Error');
$('#policy').val('').change();
}
console.log('outer');
if(response.count > 0){
console.log('Policy already exist in the branch')
toastr.error('Policy already exist in the branch', 'Error');
$('#policy').val('').change();
}).fail(function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
});
}
console.log('outer')
}).fail(function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
});
} else {
console.log('Missing parameter(s): dataId, branch_id, or client_id');
}
if (dataId == 1) {
@ -738,7 +751,7 @@
dataType: 'json',
success: function(res) {
//console.log('client_policy_res', res)
console.log('client_policy_res', res)
setTimeout(function() {
$('.loader').fadeOut();
@ -771,6 +784,7 @@
$('#policy_type_id').val(res.data.policy_type_id);
$('#policy_PrimaryKey').val(res.data.id);
$('#insurer_policy_id').val(res.data.policy_id);
$('#policy_no').val(res.data.policy_no);
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date));
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date));
@ -1302,8 +1316,6 @@
});
}
if ($(this).val() == 3) {
toastr.warning('Please Change the Policy Terms after Submit the Policy!', 'INFO');
}
@ -1437,54 +1449,58 @@
contentType: false,
success: function(res) {
//console.log(res)
console.log(res)
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 500);
if(res.status == true){
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id)
.change();
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change();
$('#policy_no').val(res.data.policy_no).change();
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date))
.change();
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change();
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id)
.change();
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change();
$('#policy_no').val(res.data.policy_no).change();
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date))
.change();
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change();
var policeOptionHTML = '';
$policy_type_value = $('#policy_type').val();
$.each(res.policy, function(index, item) {
var policeOptionHTML = '';
$policy_type_value = $('#policy_type').val();
$.each(res.policy, function(index, item) {
// //console.log(item);
// //console.log(item);
policeOptionHTML += '<option data-id="' + item.policy_type_id +
'" value="' + item.id + '" ' + (res.data.policy_id === item
.id ?
'selected="selected"' : '') + '>' + item.name +
'</option>';
policeOptionHTML += '<option data-id="' + item.policy_type_id +
'" value="' + item.id + '" ' + (res.data.policy_id === item
.id ?
'selected="selected"' : '') + '>' + item.name +
'</option>';
});
});
$('#policy').html(policeOptionHTML);
$('#policy').html(policeOptionHTML);
if (dataId == 3 || policy_type == 1) {
if (dataId == 3 || policy_type == 1) {
// //console.log('step 1')
// //console.log('step 1')
setTimeout(function() {
// //console.log('step 2')
var $option = $('#policy').find('option[data-id="3"]');
if ($option.length > 0) {
// //console.log('step 3')
$option.prop('selected', true).change();
} else {
// //console.log('step 4');
toastr.warning(
'The insurer does not have a GMC-Parents policy.',
'Warning');
}
}, 1500);
}
setTimeout(function() {
// //console.log('step 2')
var $option = $('#policy').find('option[data-id="3"]');
if ($option.length > 0) {
// //console.log('step 3')
$option.prop('selected', true).change();
} else {
// //console.log('step 4');
toastr.warning(
'The insurer does not have a GMC-Parents policy.',
'Warning');
}
}, 1500);
}
},

View File

@ -16,7 +16,7 @@
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-4">
<label for="emp_code">Account Manager</label>
<label for="emp_code">Account Manager ( L2 )</label>
<select class="form-control" id="account_manager" name="account_manager[]" multiple>
<?php foreach($RM as $value) { ?>
<?php if($value['role'] === '3') { ?>
@ -26,7 +26,7 @@
</select>
</div>
<div class="form-group col-md-4">
<label for="profile">Manager</label>
<label for="profile">Manager ( L1 )</label>
<select class="form-control" id="manager" name="manager">user_id
<option value="">Select Manager</option>
<?php foreach($RM as $value) { ?>

View File

@ -59,6 +59,16 @@ table.dataTable tbody td {
</select>
</div>
<div class="form-group col-md-4">
<label>Employee Code</label> <br />
<input type="text" class="form-control" id="emp_code" name="emp_code" value="<?= isset($getData['emp_code']) && !empty($getData['emp_code']) ? $getData['emp_code'] : '' ?>">
</div>
<div class="form-group col-md-4">
<label>Employee Name</label> <br />
<input type="text" class="form-control" id="emp_name" name="emp_name" value="<?= isset($getData['emp_name']) && !empty($getData['emp_name']) ? $getData['emp_name'] : '' ?>">
</div>
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
@ -318,18 +328,22 @@ function fetchEmpolyeeList(event) {
var policy_id = $('#policies').val();
var status = $('#status2').val();
var branch_id = $('#branch_id').val();
var emp_code = $('#emp_code').val();
var emp_name = $('#emp_name').val();
// console.log(client_id + '-' + policy_id);
if (client_id == '0' || policy_id == '0') {
alert('Please select values in both dropdowns.');
return;
}
// if (client_id == '0' || policy_id == '0') {
// alert('Please select values in both dropdowns.');
// return;
// }
var queryParams = {
client_id: client_id,
policy_id: policy_id,
branch_id: branch_id,
emp_code : emp_code,
emp_name : emp_name,
status : status,
};

View File

@ -587,16 +587,25 @@
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
"buttons": [{
"extend": 'csv',
"text": 'CSV',
"title": 'Endorsement-List',
"className": 'my_class',
"exportOptions": {
"columns": ':not(:last-child)'
},
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Endorsement-List',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)',
format: {
body: function (data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) {
return `'${data}`;
}
return data.toString();// Ensures all data is treated as strings
}
}
}
}],
"initComplete": function(settings, json) {
initComplete: function(settings, json) {
$('.my_class').css({
"position": "relative",
"left": "79px"
@ -608,7 +617,12 @@
},
paging: true,
// pagingType: 'full_numbers'
columnDefs: [
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column
],
});
});
</script>

View File

@ -473,38 +473,48 @@
function removeInsurerBranch(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this insurer branch.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Insurer branch removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove insurer branch', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove insurer branch', 'warning');
}
});
} else {
toastr.warning('Remove Not Done!', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
}
});
}
</script>

View File

@ -134,38 +134,47 @@ class csvExport {
function removeInsurer(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this insurer.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
}
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Insurer removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove insurer', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove insurer', 'warning');
}
});
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
}

View File

@ -323,38 +323,49 @@ $(document).ready(function () {
function removeKYCDocs(element) {
var kyc_docs_id_for_reload = $('#kyc_type_id').val();
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/kyc/kycdocs/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
// location.reload();
window.location.href = '<?= base_url("master/kyc/list/") ?>' + kyc_docs_id_for_reload;
Swal.fire({
title: "Are you sure?",
text: "You need to remove this!.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
if (result.isConfirmed) {
var kyc_docs_id_for_reload = $('#kyc_type_id').val();
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/kyc/kycdocs/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('KYC docs removed successfully');
// location.reload();
window.location.href = '<?= base_url("master/kyc/list/") ?>' + kyc_docs_id_for_reload;
} else {
toastr.warning('Failed to remove KYC docs', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove KYC docs', 'warning');
}
});
}
});
}

View File

@ -133,39 +133,49 @@ class csvExport {
function removeKYC(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/kyc/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this!",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/kyc/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('KYC entity removed successfully', 'success');
} else {
toastr.warning('Remove Not Done!', 'warning');
location.reload();
} else {
toastr.warning('Failed to remove KYC entity', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
}
});
}

View File

@ -136,6 +136,7 @@
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="https://cdn.datatables.net/plug-ins/2.0.8/sorting/scientific.js"></script>
<script>
toastr.options = {

View File

@ -78,7 +78,8 @@ label {
<span id="otherPolicyTermsClose"
style="float: right;font-size: 26px;color: red;margin-top: -42px;margin-left: 3px;margin-right: 7px;">x</span>
<h5><label for="gpaTerms" style="margin-bottom: 20px;">Policy Terms <span id="nameOfThePolicyOnOther"></span></label>
<h5><label for="gpaTerms" style="margin-bottom: 20px;">Policy Terms <span
id="nameOfThePolicyOnOther"></span></label>
</h5>
<form role="form" class="parsley-examples" method="post" id="otherPolicyTerms" enctype="multipart/form-data">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
@ -87,7 +88,7 @@ label {
<input type="hidden" name="policy_id" id="gpa_policy_id" />
<input type="hidden" id="emp_count" />
<div id="append_html_for_other_policy_terms" ></div>
<div id="append_html_for_other_policy_terms"></div>
<hr>
@ -108,12 +109,10 @@ label {
<script>
$("#otherPolicyTerms").submit(function(event) {
event.preventDefault();
var isValid = $('#otherPolicyTerms').parsley().validate();
console.log('isvalid', isValid);
@ -133,30 +132,37 @@ $("#otherPolicyTerms").submit(function(event) {
var formData = new FormData($('#otherPolicyTerms')[0]);
var policy_form_action = '<?= base_url("client/terms/other_terms") ?>';
// Convert the FormData object to a JSON object
const formObject = {};
formData.forEach((value, key) => {
if(key != 'csrf_test_name' && key != 'client_policy_id' && key != 'policy_id' && key != 'client_id'){
if (key.endsWith('[]')) {
const baseKey = key.slice(0, -2);
if (!formObject[baseKey]) {
formObject[baseKey] = [];
}
formObject[baseKey].push(value);
} else {
formObject[key] = value;
// Convert the FormData object to a JSON object
const formObject = {};
formData.forEach((value, key) => {
if (key != 'csrf_test_name' && key != 'client_policy_id' && key != 'policy_id' && key !=
'client_id') {
if (key.endsWith('[]')) {
const baseKey = key.slice(0, -2);
if (!formObject[baseKey]) {
formObject[baseKey] = [];
}
formObject[baseKey].push(value.replace(/,/g, ''));
} else if(key == 'sum_insureds'){
formObject['sum_insured'] = value.replace(/,/g, '');
}
else {
formObject[key] = value;
}
});
}
});
console.log(formObject);
console.log(formObject);
const jsonString = JSON.stringify(formObject);
console.log(jsonString);
const jsonString = JSON.stringify(formObject);
console.log(jsonString);
// Append the JSON string to the FormData object
formData.append('policy_terms', jsonString);
// return;
// Append the JSON string to the FormData object
formData.append('policy_terms', jsonString);
$.ajax({
@ -189,7 +195,6 @@ $("#otherPolicyTerms").submit(function(event) {
});
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('#OtherPolicyTermsForm').css('display', 'none');
@ -208,7 +213,7 @@ $('body').on('click', '.btnPolicyMaster', function() {
var client_policy_id = $(this).data('id');
var policy_type_id = $(this).data('typeid');
console.log('policy_type_id', policy_type_id);
console.log('client_policy_id :' ,client_policy_id);
console.log('client_policy_id :', client_policy_id);
$('#other_client_policy_id').val(client_policy_id);
@ -238,7 +243,7 @@ $('body').on('click', '.btnPolicyMaster', function() {
console.log('response of the other policy terms', res);
console.log('employee count', res.emp_count_by_policy);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -287,7 +292,16 @@ $('body').on('click', '.btnPolicyMaster', function() {
}
});
}
}
if (key.includes("multiple_sum_insured")) {
gpaJsonObjectForSpecialCondition[key].forEach((value, index) => {
appendOtherSIAddMore(value);
});
}
});
@ -295,9 +309,15 @@ $('body').on('click', '.btnPolicyMaster', function() {
let jsonObject = JSON.parse(res.data);
Object.keys(jsonObject).forEach(function(key) {
console.log(key)
let elements = document.getElementsByName(key);
// console.log(elements)
if(key == 'sum_insured'){
elements = document.getElementsByName('sum_insureds')
}
console.log(elements)
if (elements && elements.length > 0) {
let element = elements[0];
@ -309,7 +329,6 @@ $('body').on('click', '.btnPolicyMaster', function() {
element.checked = jsonObject[key] === '1';
} else if (element.type === 'radio') {
element.checked = element.value === jsonObject[key];
}
} else {
@ -317,7 +336,11 @@ $('body').on('click', '.btnPolicyMaster', function() {
if (jsonObject[key] == undefined) {
element.value = " ";
} else {
element.value = jsonObject[key];
console.log(element);
console.log(jsonObject[key]);
console.log(element.value);
}
}
}
@ -327,6 +350,10 @@ $('body').on('click', '.btnPolicyMaster', function() {
}
$('#sum_insured_others').trigger('keyup');
$(".multiple_sum_insured").trigger("keyup");
},
error: function(xhr, status, error) {
@ -338,7 +365,7 @@ $('body').on('click', '.btnPolicyMaster', function() {
}
});
}
}
});
</script>
@ -395,13 +422,14 @@ $(document).on('click', '#otherPolicyTermsClose', function() {
});
$("#sumInsured2").on("keyup", function() {
$("#sum_insured_others").on("keyup", function() {
var inputNumber = $(this).val();
console.log('sum_insured_others keyup', inputNumber)
if (inputNumber) {
var result = convertCommaNumberToWords(inputNumber);
$("#numberToWordSumInsured").text(result);
$("#numberToWordOthers").text(result);
} else {
$("#numberToWordSumInsured").text("");
$("#numberToWordOthers").text("");
}
});
@ -417,6 +445,20 @@ $("#totalSumInsured").on("keyup", function() {
});
function si_keup_num_to_word2(input) {
console.log('keyup sum insured');
var inputNumber = $(input).val();
console.log(inputNumber)
if (inputNumber) {
var result = convertCommaNumberToWords(inputNumber);
$("#numberToWordOthers").text(result);
} else {
$("#numberToWordOthers").text("");
}
};
function appendPolicyTermsHTML(policy_type) {
@ -429,6 +471,25 @@ function appendPolicyTermsHTML(policy_type) {
<div class="form-group">
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="sumInsured">Sum Insured</label>
</div>
<div class="col-md-4">
<input style="width: 128%;" type="text" name="sum_insureds" id="sum_insured_others" class="form-control" onkeypress = "return onlyNumbers(event)" onkeyup=" formatNumber(this); si_keup_num_to_word2(this)">
</div>
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-primary si-add-more" onclick="appendOtherSIAddMore()">+</button>
</div>
<div class="col-md-6">
</div>
<div class="col-md-6">
<div id='numberToWordOthers' class="text-danger-2" ></div>
</div>
</div>
<div id="sum_insured_add_more" ></div>
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="totalSumInsured">Policy Type</label>
@ -523,11 +584,30 @@ function appendPolicyTermsHTML(policy_type) {
`
} else if (policy_type == 6) {
termsHTML = `
<div class="form-group EDLI">
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="sumInsured">Sum Insured</label>
</div>
<div class="col-md-4" >
<input style="width: 128%;" type="text" name="sum_insureds" id="sum_insured_others" class="form-control" onkeypress = "return onlyNumbers(event)" onkeyup=" formatNumber(this); si_keup_num_to_word2(this)">
</div>
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-primary si-add-more" onclick="appendOtherSIAddMore()">+</button>
</div>
<div class="col-md-6">
</div>
<div class="col-md-6">
<div id='numberToWordOthers' class="text-danger-2" ></div>
</div>
</div>
<div id="sum_insured_add_more" ></div>
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="totalSumInsured">Existing Insurer</label>
@ -592,28 +672,31 @@ function appendPolicyTermsHTML(policy_type) {
}
function appendOtherTermsSIAddMore(data = null){
function appendOtherSIAddMore(data = null) {
console.log('function called')
const addMoreContainer = document.getElementById('sum_insured_add_more');
var html = `
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="sumInsured">Additional Sum Insured</label>
</div>
<div class="col-md-4">
<input value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this)">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-danger si-remove-multi" onclick="removeGMCAdditionalSI(this)">x</button>
<button type="button" class="btn btn-primary si-add-more" onclick="appendGPASIAddMore()">+</button>
</div>
<div class="col-md-6">
<div class="text-danger-2 numberToWordSumInsured"></div>
</div>
</div>`;
console.log(addMoreContainer)
$('#other_si_add_more').append(html);
const html = `
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="sumInsured">Additional Sum Insured</label>
</div>
<div class="col-md-4">
<input style="width: 128%;" value="${data ? data : ''}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)">
</div>
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-danger si-remove-multi" onclick="removeGMCAdditionalSI(this)">x</button>
<button type="button" class="btn btn-primary si-add-more" onclick="appendOtherSIAddMore()">+</button>
</div>
<div class="col-md-6">
</div>
<div class="col-md-6">
<div class="text-danger-2 numberToWordSumInsured"></div>
</div>
</div>`;
addMoreContainer.insertAdjacentHTML('beforeend', html);
}
</script>

View File

@ -396,42 +396,52 @@ $(document).ready(function () {
function removePolicies(element) {
var policy_id_for_reload = $('#policy_type_id').val()
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/policies/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
// $('#branch_table').empty();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this Policy.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
// location.reload();
window.location.href = '<?= base_url("master/policy/list/") ?>' + policy_id_for_reload;
if (result.isConfirmed) {
var policy_id_for_reload = $('#policy_type_id').val()
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/policies/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Policy removed successfully', 'success');
// $('#branch_table').empty();
// location.reload();
window.location.href = '<?= base_url("master/policy/list/") ?>' + policy_id_for_reload;
} else {
toastr.warning('Remove Not Done!', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
} else {
toastr.warning('Failed to remove policy', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove policy', 'warning');
}
});
}
});
}
}
</script>

View File

@ -111,9 +111,9 @@
<label for="sumInsured">Sum Insured</label>
</div>
<div class="col-md-4">
<input type="text" name="sum_insured" id="sum_insured" class="form-control" onkeypress = "return onlyNumbers(event)" onkeyup=" formatNumber(this); si_keup_num_to_word(this)">
<input style="width: 128%;" type="text" name="sum_insured" id="sum_insured" class="form-control" onkeypress = "return onlyNumbers(event)" onkeyup=" formatNumber(this); si_keup_num_to_word(this)">
</div>
<div class="col-md-2">
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-primary si-add-more" onclick="appendGMCSIAddMore()">+</button>
</div>
<div class="col-md-6">
@ -141,14 +141,14 @@
<tr>
<td style="width: 11%;"><span style="margin-right: 20px;">Self:</span></td>
<td style="width: 11%;"><input type="checkbox" style="margin-right: 70px;" name="family_floaters[]" value="self" id="self" checked> </td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo (isset($self_min_age) && $self_min_age > 0) ? $self_min_age : '18'; ?>" style="width: 35%;;" type="number" name="self_min_age" id="self_min_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($self_max_age) ? $self_max_age : '60'; ?>" style="width: 35%;;" type="number" name="self_max_age" id="self_max_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo (isset($self_min_age) && $self_min_age > 0) ? $self_min_age : '18'; ?>" style="width: 35%;;" type="number" name="self_min_age" id="self_min_age" onchange="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($self_max_age) ? $self_max_age : '60'; ?>" style="width: 35%;;" type="number" name="self_max_age" id="self_max_age" onchange="lowerIsEighteen(this)"></div></td>
</tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
<tr>
<td style="width: 11%;"><span style="margin-right: 20px;">Spouse:</span></td>
<td style="width: 11%;"><input type="checkbox" style="margin-right: 70px;"name="family_floaters[]" value="spouse" id="spouse"></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($spouse_min_age) ? $spouse_min_age : '18'; ?>" style="width: 35%;;" type="number" name="spouse_min_age" id="spouse_min_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($spouse_max_age) ? $spouse_max_age : '60'; ?>" style="width: 35%;;" type="number" name="spouse_max_age" id="spouse_max_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($spouse_min_age) ? $spouse_min_age : '18'; ?>" style="width: 35%;;" type="number" name="spouse_min_age" id="spouse_min_age" onchange="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($spouse_max_age) ? $spouse_max_age : '60'; ?>" style="width: 35%;;" type="number" name="spouse_max_age" id="spouse_max_age" onchange="lowerIsEighteen(this)"></div></td>
</tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
<tr>
<td style="width: 11%;"><span for="children">Children:</span></td>
@ -190,8 +190,8 @@
<tbody>
<tr>
<td style="width: 22%;" ><div class="other-member-age"><span style="margin-right: 20px;">Elders Count:</span><input class="underline-input" id="member_count" style="width: 30%; width: 30%;background: lightgray;" type="number" name="elder_member_count" id="member_count" readonly></div></td>
<td style="width: 28%;" ><div class="other-member-age" style="margin-left: 32px;"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($other_member_min_age) ? $other_member_min_age : '18'; ?>" style="width: 35%;;" type="number" class="underline-input min_age" name="other_member_min_age" id="other_member_min_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="other-member-age" style="margin-left: 17px;"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($other_member_max_age) ? $other_member_max_age : '60'; ?>" style="width: 35%;;" type="number" class="underline-input max_age" name="other_member_max_age" id="other_member_max_age" oninput="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="other-member-age" style="margin-left: 32px;"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($other_member_min_age) ? $other_member_min_age : '18'; ?>" style="width: 35%;;" type="number" class="underline-input min_age" name="other_member_min_age" id="other_member_min_age" onchange="lowerIsEighteen(this)"></div></td>
<td style="width: 28%;" ><div class="other-member-age" style="margin-left: 17px;"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($other_member_max_age) ? $other_member_max_age : '60'; ?>" style="width: 35%;;" type="number" class="underline-input max_age" name="other_member_max_age" id="other_member_max_age" onchange="lowerIsEighteen(this)"></div></td>
</tr>
</tbody>
</table>
@ -507,7 +507,7 @@
<div class="row" style="margin-bottom: 10px;display:none;">
<div class="col-md-6">
<label for="totalSumInsured">AYUSH treatment cover Data</label>
<label for="totalSumInsured">AYUSH treatment cover Limit</label>
</div>
<div class="col-md-6">
<input type="text" name="ayushTreatmentCoverData" id="ayushTreatmentCoverData" class="form-control">
@ -637,7 +637,7 @@
<div class="row" style="margin-bottom: 10px;display:none;">
<div class="col-md-6">
<label for="totalSumInsured">Cataract Data</label>
<label for="totalSumInsured">Cataract Limit</label>
</div>
<div class="col-md-6">
<input type="text" name="cataractData" id="cataractData" class="form-control">
@ -929,10 +929,21 @@
}
if (key.includes("multiple_sum_insured")) {
jsonObject[key].forEach((value, index) => {
appendGMCSIAddMore(value);
});
// if (key.includes("multiple_sum_insured")) {
// jsonObject[key].forEach((value, index) => {
// appendGMCSIAddMore(value);
// });
// }
if (key.includes("multiple_sum_insured") && key != "") {
if (Array.isArray(jsonObject[key])) {
jsonObject[key].forEach((value, index) => {
appendGMCSIAddMore(value);
});
} else {
console.error(`${key} is not an array.`);
}
}
if (key.includes("family_floaters")) {
@ -1418,9 +1429,9 @@
<label for="sumInsured">Additional Sum Insured</label>
</div>
<div class="col-md-4">
<input value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)">
<input style="width: 128%;" value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)">
</div>
<div class="col-md-2">
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-danger si-remove-multi" onclick="removeGMCAdditionalSI(this)">x</button>
<button type="button" class="btn btn-primary si-add-more" onclick="appendGMCSIAddMore()">+</button>
</div>

View File

@ -91,9 +91,9 @@
<label for="sumInsured">Sum Insured</label>
</div>
<div class="col-md-4">
<input class="form-control" type="text" name="sumInsured2" id="sumInsured2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" style="width: 100% !important;">
<input style="width: 128%;" class="form-control" type="text" name="sumInsured2" id="sumInsured2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" style="width: 100% !important;">
</div>
<div class="col-md-2">
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-primary si-add-more" onclick="appendGPASIAddMore()">+</button>
</div>
<div class="col-md-6">
@ -137,13 +137,13 @@
<td style="width: 20%;">
<div class="self-age">
<span style="margin-right: 20px;">Min Age:</span>
<input class="underline-input min_age" value="<?php echo isset($self_min_age) ? $self_min_age : '18'; ?>" style="width: 65%;" type="number" name="self_min_age" id="self_min_age_gpa" oninput="lowerIsEighteen(this)">
<input class="underline-input min_age" value="<?php echo isset($self_min_age) ? $self_min_age : '18'; ?>" style="width: 65%;" type="number" name="self_min_age" id="self_min_age_gpa" onchange="lowerIsEighteen(this)">
</div>
</td>
<td style="width: 20%;">
<div class="self-age">
<span style="margin-right: 20px;">Max Age:</span>
<input class="underline-input max_age" value="<?php echo isset($self_max_age) ? $self_max_age : '60'; ?>" style="width: 65%;" type="number" name="self_max_age" id="self_max_age_gpa" oninput="lowerIsEighteen(this)">
<input class="underline-input max_age" value="<?php echo isset($self_max_age) ? $self_max_age : '60'; ?>" style="width: 65%;" type="number" name="self_max_age" id="self_max_age_gpa" onchange="lowerIsEighteen(this)">
</div>
</td>
<td ></td>
@ -575,11 +575,17 @@
}
}
if (key.includes("multiple_sum_insured")) {
gpaJsonObjectForSpecialCondition[key].forEach((value, index) => {
appendGPASIAddMore(value);
});
if (key.includes("multiple_sum_insured") && key != "") {
if (Array.isArray(gpaJsonObjectForSpecialCondition[key])) {
gpaJsonObjectForSpecialCondition[key].forEach((value, index) => {
appendGPASIAddMore(value);
});
} else {
console.error(`${key} is not an array.`);
}
}
});
let jsonObject = JSON.parse(res.data);
@ -792,9 +798,9 @@
<label for="sumInsured">Additional Sum Insured</label>
</div>
<div class="col-md-4">
<input value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)">
<input style="width: 128%;" value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)">
</div>
<div class="col-md-2">
<div class="col-md-2" style="position: relative;left: 88px;">
<button type="button" class="btn btn-danger si-remove-multi" onclick="removeGMCAdditionalSI(this)">x</button>
<button type="button" class="btn btn-primary si-add-more" onclick="appendGPASIAddMore()">+</button>
</div>

View File

@ -63,8 +63,7 @@
<label for="individual" style="position: relative;top: 5px;left: 5px;">
Individual </label>&nbsp;
<input type="radio" id="single" name="premium_type" value="1">
<label for="single" style="position: relative;top: 5px;left: 5px;"> Single
Insurance </label>
<label for="single" style="position: relative;top: 5px;left: 5px;"> Family Floater </label>
</div>
</div>
</div>
@ -123,8 +122,7 @@
<label for="individual" style="position: relative;top: 5px;left: 5px;">
Individual </label>&nbsp;
<input type="radio" id="single_2" name="premium_type" value="1">
<label for="single" style="position: relative;top: 5px;left: 5px;"> Single
Insurance </label>
<label for="single" style="position: relative;top: 5px;left: 5px;"> Family Floater </label>
</div>
</div>
</div>
@ -827,12 +825,16 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
};
$("#GridForm").submit(async function(event) {
$("#GridForm").submit(function(event) {
event.preventDefault();
var check = checkDuplicate(0);
console.log(check)
if(check){
return;
}
event.preventDefault();
if ($('#grid_emp_count').val() == 'false') {
toastr.warning('Client has active employees', 'Warning');
@ -854,9 +856,16 @@ $("#GridForm").submit(async function(event) {
checkPolicyTermsSI(function(result) {
console.log('checkPolicyTermsSI callback')
console.log(result);
if (!result) {
if (check) {
console.log('after result');
if (check = false) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
@ -901,15 +910,14 @@ $("#GridForm").submit(async function(event) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning(`Value does not exist in the Policy Terms.`);
toastr.warning(`Sum Insured Amount does not exist in the Policy Terms.`);
}
}).catch(function(error) {
console.error('Error checking policy terms:', error);
// Handle error if necessary
toastr.error(`Error checking policy terms: ${error}`);
});
}).catch(function(error) {
console.error('Error checking policy terms:', error);
// Handle error if necessary
console.log(`Error checking policy terms: ${error}`);
});
});
@ -941,46 +949,61 @@ $("#AdditionalGridForm").submit(function(event) {
var formData = new FormData($('#AdditionalGridForm')[0]);
var policy_form_action = '<?= base_url("client/premimum/create") ?>';
checkPolicyTermsSI(function(result) {
if (check) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$.ajax({
data: formData,
url: policy_form_action,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
//console.log("Response", res);
if (res.status === false) {
toastr.error('Policy Dose Not Create', 'Error');
return;
}
if (!result) {
if (check) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$.ajax({
data: formData,
url: policy_form_action,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
var message = (policy_PrimaryKey === '') ?
'Policy Additional Rack Rate Added successfully' :
'Policy Additional Rack Rate Added Successfully';
toastr.success(message, 'Success');
$('.close').click();
//console.log("Response", res);
},
error: function(xhr, status, error) {
if (res.status === false) {
toastr.error('Policy Dose Not Create', 'Error');
return;
}
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
var message = (policy_PrimaryKey === '') ?
'Policy Additional Rack Rate Added successfully' :
'Policy Additional Rack Rate Added Successfully';
toastr.success(message, 'Success');
$('.close').click();
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
}
});
}
}else{
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning(`Sum Insured Amount does not exist in the Policy Terms.`);
}
}).catch(function(error) {
console.error('Error checking policy terms:', error);
// Handle error if necessary
console.log(`Error checking policy terms: ${error}`);
});
});
@ -2574,6 +2597,8 @@ function si_orbp_change_function() {
// $('.gpa_sum_insure_remove').remove();
var selectedValue = $('#si_or_bp').val();
console.log('selectedValue', selectedValue)
if (selectedValue == 2) {
$('.gpa_sum_insure_remove').hide();
@ -2659,8 +2684,8 @@ function si_orbp_change_function() {
$('#basic_multiplier').removeAttr('required', false);
$('#premium_multiplier').removeAttr('required', false);
$('#basic_pay').removeAttr('required', false);
$('#gpa_basic_si').removeAttr('required', false);
$('#gpa_basic_premium').removeAttr('required', false);
$('#gpa_basic_si_first').removeAttr('required', false);
$('#gpa_basic_premium_first').removeAttr('required', false);
$('#gpa_sum_multiplier2').removeAttr('required', false);
$('#gpa_sum_si2').removeAttr('required', false);
@ -2711,8 +2736,8 @@ function si_orbp_change_function() {
$('#basic_multiplier').removeAttr('required', false);
$('#premium_multiplier').removeAttr('required', false);
$('#basic_pay').removeAttr('required', false);
$('#gpa_basic_si').removeAttr('required', false);
$('#gpa_basic_premium').removeAttr('required', false);
$('#gpa_basic_si_first').removeAttr('required', false);
$('#gpa_basic_premium_first').removeAttr('required', false);
$('#gpa_sum_multiplier').attr('required', false);
$('#gpa_sum_si').attr('required');
@ -2936,126 +2961,130 @@ function checkTermsSISameAsRackRateSI(input) {
}
function checkPolicyTermsSI(callback) {
function checkPolicyTermsSI(callback) {
console.log('checkPolicyTermsSI function called');
console.log('r function called');
var id = $('#additional_grid')[0];
var id = $('#additional_grid')[0];
var container = $('#additional_grid_content_input');
var val = 0;
var val = 0;
if (val == 0) {
id = $('#grid')[0];
container = $('#grid_content_input');
}
console.log(id);
console.log(container);
var siInputs = 0;
var siInputs = null;
if (id.value === '2') {
siInputs = container.find('input[name="gpa_si"]');
} else if (id.value === '3') {
siInputs = container.find('input[name="3_si[]"]');
} else if (id.value === '4') {
siInputs = container.find('input[name="4_si[]"]');
} else if (id.value === '5') {
siInputs = container.find('input[name="5_si[]"]');
} else if (id.value === '6') {
siInputs = container.find('input[name="6_si[]"]');
} else if (id.value === '7') {
siInputs = container.find('input[name="7_si[]"]');
} else if (id.value === '8') {
siInputs = container.find('input[name="8_si[]"]');
} else if (id.value === '9') {
siInputs = container.find('input[name="9_si[]"]');
} else if (id.value === '10') {
siInputs = container.find('input[name="10_si[]"]');
} else if (id.value === '11') {
siInputs = container.find('input[name="11_si[]"]');
} else if (id.value === '1') {
var selectedValue = $('#si_or_bp').val();
if (selectedValue == 1) {
siInputs = container.find('input[name="gpa_sum_si[]"]');
} else if (selectedValue == 3) {
siInputs = container.find('input[name="gpa_sum_si2[]"]');
}
switch (id.value) {
case '1':
var selectedValue = $('#si_or_bp').val();
if (selectedValue == 1) {
siInputs = container.find('input[name="gpa_sum_si[]"]');
} else if (selectedValue == 3) {
siInputs = container.find('input[name="gpa_sum_si2[]"]');
}
break;
case '2':
siInputs = container.find('input[name="gpa_si"]');
break;
case '3':
siInputs = container.find('input[name="3_si[]"]');
break;
case '4':
siInputs = container.find('input[name="4_si"]');
break;
case '5':
siInputs = container.find('input[name="5_si[]"]');
break;
case '6':
siInputs = container.find('input[name="6_si"]');
break;
case '7':
siInputs = container.find('input[name="7_si[]"]');
break;
case '8':
siInputs = container.find('input[name="8_si[]"]');
break;
case '9':
siInputs = container.find('input[name="gpa_si"]');
break;
case '10':
siInputs = container.find('input[name="10_si[]"]');
break;
case '11':
siInputs = container.find('input[name="11_si[]"]');
break;
case '12':
siInputs = container.find('input[name="12_si[]"]');
break;
case '13':
siInputs = container.find('input[name="13_si[]"]');
break;
default:
siInputs = [];
}
console.log('siInputs', siInputs);
var client_policy_id = $('#client_policy_id').val();
console.log('client_policy_id', client_policy_id)
console.log('client_policy_id', client_policy_id);
var url = '<?php echo base_url('util/getPolicyTerms/') ?>' + client_policy_id;
var arrayLength = 0;
console.log('url', url);
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
success: function(response) {
console.log(response);
console.log(response.data);
var array1 = response.data;
var array2 = [];
var policy_terms_si = response.data;
var rack_rate_si = [];
siInputs.each(function() {
var input = $(this).val();
array2.push(input.replace(/,/g, ''));
console.log('input value', input);
rack_rate_si.push(input.replace(/,/g, ''));
});
console.log('array1', array1)
console.log('array2', array2)
console.log('policy_terms_si', policy_terms_si);
console.log('rack_rate_si', rack_rate_si);
let new_array = [];
function intersection(arr1, arr2) {
return arr1.filter(value => arr2.includes(value));
rack_rate_si.forEach(element => {
if (!policy_terms_si.includes(element)) {
new_array.push(element);
}
});
console.log('filtered array', new_array);
var arrayLength = new_array.length;
console.log('arrayLength', arrayLength);
if (arrayLength > 0) {
callback(true);
} else {
callback(false);
}
var commonElements = intersection(array1, array2);
function removeCommonElements(arr, common) {
return arr.filter(value => !common.includes(value));
}
array1 = removeCommonElements(array1, commonElements);
array2 = removeCommonElements(array2, commonElements);
console.log('array1', array1)
console.log('array2', array2)
// var result = array1.concat(array2);
var result = array1;
console.log('result', result)
arrayLength = result.length;
console.log('arrayLength', arrayLength)
if (arrayLength > 0) {
callback(true);
} else {
callback(false);
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
toastr.error(`Failed to retrieve Policy Terms. Error: ${error}`);
console.log(xhr.responseText);
console.log(status, error);
console.log(`Failed to retrieve Policy Terms. Error: ${error}`);
callback(false);
}
});
}
</script>

View File

@ -377,13 +377,18 @@ function generateTable(rack_rate_type) {
$('#excel_table').html(table);
}
if ($('.duplicate').length > 0) {
//console.log('test');
toastr.warning("Duplicates found!", "warning");
$('.excel_table_class').empty();
$('.excel_textarea').val('');
if(secondKey != 2){
console.log(secondKey)
if ($('.duplicate').length > 0) {
//console.log('test');
toastr.warning("Duplicates found!", "warning");
$('.excel_table_class').empty();
$('.excel_textarea').val('');
}
}
if (emptyCellCount > 0) {
toastr.warning('Number of empty cells: ' + emptyCellCount);
$('.excel_table_class').empty();
@ -566,4 +571,5 @@ function submitData(rack_rate_type) {
}
</script>

View File

@ -138,38 +138,47 @@ class csvExport {
function removePolciyType(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this!",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Policy type removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove policy type', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove policy type', 'warning');
}
});
}
});
}

View File

@ -507,36 +507,46 @@ function validateForm() {
function removeTPABranch(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/tpa/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
Swal.fire({
title: "Are you sure?",
text: "You need to remove this TPA branch.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
location.reload();
} else {
toastr.warning('Remove Not Done!', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/tpa/branch/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('TPA branch removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove TPA branch', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove TPA branch', 'warning');
}
});
}
});
}
</script>

View File

@ -132,39 +132,47 @@ class csvExport {
function removeTPA(element) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/tpa/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Remove Done!', 'success');
location.reload();
Swal.fire({
title: "Are you sure?",
text: "You need to remove this TPA",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
} else {
toastr.warning('Remove Not Done!', 'warning');
}
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/tpa/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('TPA removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove TPA', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove TPA', 'warning');
}
});
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning');
}, 1000);
}
});
});
}

View File

@ -20,7 +20,7 @@
"laminas/laminas-escaper": "^2.9",
"php-amqplib/php-amqplib": "^2.8",
"phpmailer/phpmailer": "^6.9",
"phpoffice/phpspreadsheet": "^2.0",
"phpoffice/phpspreadsheet": "^2.1",
"psr/log": "^1.1",
"slim/slim": "^4.13",
"zircote/swagger-php": "^4.8"