diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index b3c5c7a4..f6311b6d 100755
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -161,6 +161,7 @@ $routes->group("/employee", ["filter" => "authMVC"], function ($routes) {
$routes->get("test-rack-rate", "EmployeeController::testRackRate");
$routes->post("test-rack-rate", "EmployeeController::testRackRate");
$routes->get('test_members_list', 'EmployeeController::test_members_list');
+ $routes->post('get_emp_history','EmployeeController::getEmpHistory');
});
$routes->group("/master", ["filter" => "authMVC"], function ($routes) {
diff --git a/app/Controllers/Chatbot/ReimbursementClaimStatusConversation.php b/app/Controllers/Chatbot/ReimbursementClaimStatusConversation.php
index db8831bc..fd6e3337 100644
--- a/app/Controllers/Chatbot/ReimbursementClaimStatusConversation.php
+++ b/app/Controllers/Chatbot/ReimbursementClaimStatusConversation.php
@@ -27,7 +27,7 @@ class ReimbursementClaimStatusConversation extends Conversation
$this->bot->types();
if ($data){
- $this->say("The claim status for the claim Number {$data['claim_number']} is currently in {$data['claim_status']} status.
More Detailed Information is sent to your mail");
+ $this->say("The claim status for the claim Number {$data['claim_number']} is currently in {$data['client_status']} status.
More Detailed Information is sent to your mail");
$this->bot->startConversation(new doYouWantToContinueConversation());
}else{
$this->say("No Claim Raised against the user.");
diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php
index 1cb8e029..4252cff6 100755
--- a/app/Controllers/ClientController.php
+++ b/app/Controllers/ClientController.php
@@ -676,13 +676,15 @@ class ClientController extends AdminController
$client_id = $this->request->getPost('client_id');
$insurer_id = $this->request->getPost('insurer_id');
+ $record_date = $this->request->getPost('record_date');
$CD_Account_Number = $this->CDMasterModel
->where('client_id', $client_id)
->where('insurer_id', $insurer_id)
->first();
-
// Prepare the array with data
+ $date = \DateTime::createFromFormat('d/m/Y', $record_date);
+ $record_date = $date->format('Y-m-d');
$data = [
'amount' => $this->request->getPost('amount'),
'sub_type_id' => $this->request->getPost('sub_type_id'),
@@ -694,7 +696,10 @@ class ClientController extends AdminController
'description' => $this->request->getPost('description'),
'transaction_type' => $this->request->getPost('transaction_type') ?: 'Credit',
'updated_by' => 1,
+ 'record_date' => $record_date
];
+ // log_message('error','data for insert'.json_encode($data));die();
+ // print_rr($data);die();
// Call the saveDeposit function from DepositHelper
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index 09092020..b27a0dae 100755
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -25,6 +25,7 @@ use App\Models\InsurerExcelExportTemplateModel;
use App\Models\InsurerModel;
use App\Models\ClientDepositModel;
use App\Models\PolicyPremium2Model;
+use App\Models\AuditHistoryModel;
use App\Controllers\Jobs;
@@ -64,6 +65,7 @@ class EmployeeController extends AdminController
protected $insurerModel;
protected $cashDepositModel;
protected $PolicyPremium2Model;
+ protected $auditHistory;
public function __construct()
{
@@ -84,6 +86,7 @@ class EmployeeController extends AdminController
$this->insurerModel = new InsurerModel();
$this->cashDepositModel = new ClientDepositModel();
$this->PolicyPremium2Model = new PolicyPremium2Model();
+ $this->auditHistory = new AuditHistoryModel();
}
public function list()
@@ -2725,4 +2728,18 @@ class EmployeeController extends AdminController
}
}
+ public function getEmpHistory(){
+
+ $emp_id = $this->request->getPost('emp_id');
+
+ $data['emp_history'] = $this->auditHistory->select('field_name,old_value,new_value,created_by,created_at')->where('pk',$emp_id)->where('table_name','employees')->findAll();
+
+ $emp_pol_pk = $this->employeePolicyModel->select('id')->where('employee_id',$emp_id)->first()['id'];
+ $data['emp_pol_history'] = $this->auditHistory->select('field_name,old_value,new_value,created_by,created_at')->where('pk',$emp_pol_pk)->where('table_name','employee_polices')->findAll();
+
+ return $this->respond(['status' => true, 'data' => $data],200);
+
+
+ }
+
}
diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php
index bea4ebd8..b5f31223 100644
--- a/app/Controllers/LeadsController.php
+++ b/app/Controllers/LeadsController.php
@@ -66,6 +66,9 @@ class LeadsController extends BaseController
protected $clientType;
protected $leadType;
protected $leadsStatus;
+ protected $claim_type_for_gpa;
+ protected $cause_of_death;
+
public function __construct()
{
@@ -98,6 +101,19 @@ class LeadsController extends BaseController
'completed_with_corrections' => 'Completed with Corrections',
'completed_without_corrections' => 'Completed w/o Corrections',
];
+ $this->claim_type_for_gpa = [
+ 'accident_death' => 'Accident Death',
+ 'permanent_total_disablement' => 'Permanent Total Disablement',
+ 'permanent_partial_disablement' => 'Permanent Partial Disablement',
+ 'temporary_total_disablement_benefit' => 'Temporary Total Disablement benefit'
+ ];
+
+ $this->cause_of_death = [
+ 'natural_death' => 'Natural Death',
+ 'suicide' => 'Suicide',
+ 'accident' => 'Accident'
+ ];
+
}
public function viewLeadsList()
@@ -125,7 +141,7 @@ class LeadsController extends BaseController
// Fetch insurer and TPA branch data
$data['insurer'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames();
$data['tpa'] = $this->tpaBranchModel->getTpaBranchesWithTpaNames();
-
+ // print_r($data['tpa']);die();
// Fetch sales team members who are active in team 5
$data['salse_team'] = $this->userModel
->select('user_profiles.*')
@@ -136,7 +152,10 @@ class LeadsController extends BaseController
->findAll();
// dd($data);
-
+ $data['lastFiveYears'] = $this->getLastFiveFinancialYears();
+ $data['gpaClaimType'] = $this->claim_type_for_gpa;
+ $data['causeOfDeath'] = $this->cause_of_death;
+ // dd($lastFiveYears);
if ($this->request->is('get')) {
// Fetch leads data
$data ['lead_data_list'] = $this->leadsModel->getLeadDataForLising();
@@ -272,7 +291,18 @@ class LeadsController extends BaseController
$last_3_years_claims = null;
if($value != 2){
- $last_3_years_claims = $data['finyear'];
+ $last_3_years_claims = [];
+ $finyear = json_decode($data['finyear']);
+
+ foreach ($finyear as $year){
+ $received_policy_type = ($year->finyear[0]->policy_type);
+ if ($value == $received_policy_type){
+ array_push($last_3_years_claims,$year);
+ }else{
+ continue;
+ }
+ }
+ $last_3_years_claims = json_encode($last_3_years_claims);
}
$processedData[] = [
@@ -340,7 +370,7 @@ class LeadsController extends BaseController
'notes' => $data['notes'] ?? null,
];
}
-
+ // print_r($processedData);die();
return $processedData;
}
@@ -2329,4 +2359,26 @@ class LeadsController extends BaseController
}
}
+ function getLastFiveFinancialYears() {
+ $currentYear = date('Y');
+ $currentMonth = date('m');
+
+ // In India, the financial year starts from April (04)
+ if ($currentMonth < 4) {
+ $currentYear--; // Adjust year if it's Jan-Mar
+ }
+
+ $financialYears = [];
+
+ for ($i = 0; $i < 5; $i++) {
+ $startYear = $currentYear - $i - 1;
+ $endYear = $currentYear - $i;
+ $financialYears[] = "$startYear-$endYear";
+ }
+
+ return $financialYears;
+ }
+
+
+
}
diff --git a/app/Helpers/ChatbotHelper.php b/app/Helpers/ChatbotHelper.php
index 6dff5c6c..08fcbb83 100644
--- a/app/Helpers/ChatbotHelper.php
+++ b/app/Helpers/ChatbotHelper.php
@@ -224,13 +224,22 @@ class ChatbotHelper
}
public static function getReimbursementClaimStatus($chat_session_info){
+
+ $client_claim_status = [
+ 'Received' => [1,2,3,4],
+ 'Under Process' => [5,6,7,10],
+ 'Finished' => [9,11,12],
+ 'Rejected' => [8],
+ 'Cancelled' => [13,14]
+ ];
$emp_id = $chat_session_info['emp_id'];
+ log_message('error','emp_id'.$emp_id);
$emp_code = $chat_session_info['emp_code'];
$client_id = $chat_session_info['client_id'];
$client_branch_id = $chat_session_info['client_branch_id'];
$ticketMaster = new TicketMasterModel();
- $data = $ticketMaster->select('tcs.claim_status,ticket_master.claim_number,ticket_master.id')
+ $data = $ticketMaster->select('tcs.id as tcs_id,tcs.claim_status,ticket_master.claim_number,ticket_master.id,ticket_master.emp_name,ticket_master.emp_mail')
// ->join('client_policy cp',"cp.client_id = {$client_id} and cp.client_branch_id = {$client_branch_id} and cp.policy_id = {$policy_id} and cp.is_active = 1")
->join('ticket_claim_status tcs',"ticket_master.claim_status_id = tcs.id and tcs.is_active = 1")
->where('ticket_master.emp_id',$emp_id)
@@ -238,14 +247,38 @@ class ChatbotHelper
->where('ticket_master.is_active',1)
->orderBy('ticket_master.created_at', 'DESC')
->first();
+ $server_claim_status = $data['tcs_id'];
+ $matched_key = null;
+ foreach ($client_claim_status as $key => $statuses) {
+ if (in_array($server_claim_status, $statuses)) {
+ $matched_key = $key;
+ break; // Stop loop once found
+ }
+ }
+ log_message('error','Data from ticket master'.json_encode($data));
+ // print_r($data);
+ // die();
$ticket_controller = new TicketController();
- if (!empty($data)){
+ if (!empty($data) && !empty($matched_key)){
$ticket_id = $data['id'];
- $mail_content = $ticket_controller->constructMailContent($ticket_id);
- $mail_response = $ticket_controller->sendTrigger($mail_content);
- return $data;
+ $mail_content = Self::ReimbursementStatusMailTemplate($data['emp_name'],$data['claim_number'],$matched_key);
+ $common = ['mail_type'=>'Claim Status'];
+ $email_id = $data['emp_mail'];
+ $res = MailHelper::send_email(['mail' => $email_id, 'subject' => 'Here is your claim status you requested in bot.', 'message' => $mail_content,'common'=>$common]);
+
+ $res = json_decode($res);
+ log_message('error','res: '.json_encode($res));
+ if($res->status == 'success')
+ {
+ $data['client_status'] = $matched_key;
+ return $data;
+ }
+ else
+ {
+ return false;
+ }
}else{
return false;
@@ -253,6 +286,283 @@ class ChatbotHelper
}
+ public static function ReimbursementStatusMailTemplate($emp_name, $claim_number, $client_status) {
+ $template = '
+
+
+
+
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
+