Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev
This commit is contained in:
commit
c1dc2de4c0
@ -564,6 +564,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
|
|||||||
$routes->post("ticketConversationSave", "ThzController::ticketConversationSave");
|
$routes->post("ticketConversationSave", "ThzController::ticketConversationSave");
|
||||||
$routes->get("ticketConversationList", "ThzController::ticketConversationList");
|
$routes->get("ticketConversationList", "ThzController::ticketConversationList");
|
||||||
$routes->get("ticketHistoryList", "ThzController::ticketHistoryList");
|
$routes->get("ticketHistoryList", "ThzController::ticketHistoryList");
|
||||||
|
$routes->match(['get','post','put'], 'ticketType', 'ThzController::ticketType');
|
||||||
|
|
||||||
$routes->get("hrFileList", "EmployeeRestController::hrFileList");
|
$routes->get("hrFileList", "EmployeeRestController::hrFileList");
|
||||||
$routes->get("hrFileUploadMasters", "EmployeeRestController::hrFileUploadMasters");
|
$routes->get("hrFileUploadMasters", "EmployeeRestController::hrFileUploadMasters");
|
||||||
@ -664,3 +665,9 @@ $routes->get("ticketConversationList", "ThzController::ticketConversationList");
|
|||||||
$routes->post('ticketAutoFetchDetails',"ThzController::ticketAutoFetchDetails");
|
$routes->post('ticketAutoFetchDetails',"ThzController::ticketAutoFetchDetails");
|
||||||
$routes->match(['get','post','put'], 'ticketType', 'ThzController::ticketType');
|
$routes->match(['get','post','put'], 'ticketType', 'ThzController::ticketType');
|
||||||
$routes->get("ticketHistoryList", "ThzController::ticketHistoryList");
|
$routes->get("ticketHistoryList", "ThzController::ticketHistoryList");
|
||||||
|
|
||||||
|
|
||||||
|
//for testing
|
||||||
|
$routes->group('test', function($routes) {
|
||||||
|
$routes->post('api/saveForm', 'TestingController::saveForm');
|
||||||
|
});
|
||||||
|
|||||||
@ -5060,9 +5060,10 @@ class ClientController extends AdminController
|
|||||||
// ---------- TICKET SERVICE CONTROLLER --------------------------------------------------------------------------------
|
// ---------- TICKET SERVICE CONTROLLER --------------------------------------------------------------------------------
|
||||||
|
|
||||||
$ticketServiceController = new TicketServiceController();
|
$ticketServiceController = new TicketServiceController();
|
||||||
// $response = $ticketServiceController->claimDumpExcelFileFormatValidation(["file_id" => 3]);
|
// $response = $ticketServiceController->claimDumpExcelFileFormatValidation(["file_id" => 34]);
|
||||||
// $response = $ticketServiceController->claimDumpExcelFileDataValidation(["file_id" => 3]);
|
// $response = $ticketServiceController->claimDumpExcelFileDataValidation(["file_id" => 34]);
|
||||||
// $response = $ticketServiceController->claimDumpOnBoardProcess(["file_id" => 3]);
|
// $response = $ticketServiceController->getClaimExcelErrorData(["file_id" => 41]);
|
||||||
|
// $response = $ticketServiceController->claimDumpOnBoardProcess(["file_id" => 17]);
|
||||||
// $response = $ticketServiceController->extractExcelData("claims_dump_form_client.xlsx");
|
// $response = $ticketServiceController->extractExcelData("claims_dump_form_client.xlsx");
|
||||||
// dd($response);
|
// dd($response);
|
||||||
|
|
||||||
@ -5079,8 +5080,16 @@ class ClientController extends AdminController
|
|||||||
// $res = $empServiceController->employeesCorrectionProcess(['file_id' => '1681']);
|
// $res = $empServiceController->employeesCorrectionProcess(['file_id' => '1681']);
|
||||||
// dd( $res);
|
// dd( $res);
|
||||||
|
|
||||||
// $EmployeeMultiEventServiceController = new EmployeeMultiEventServiceController();
|
$EmployeeMultiEventServiceController = new EmployeeMultiEventServiceController();
|
||||||
// $res = $EmployeeMultiEventServiceController->constructMultiEventData(['file_id' => '1056']);
|
// $res = $EmployeeMultiEventServiceController->constructMultiEventData(['file_id' => '1069']);
|
||||||
|
// $res = $EmployeeMultiEventServiceController->excelMultieventFileFormateValidation(['file_id' => '1084']);
|
||||||
|
// $res = $EmployeeMultiEventServiceController->excelMultieventFileDataValidation(['file_id' => '1069']);
|
||||||
|
// $res = $EmployeeMultiEventServiceController->excelMultieventFileOnBoard(['file_id' => '1069']);
|
||||||
|
// dd($res);
|
||||||
|
|
||||||
|
// $res = $EmployeeMultiEventServiceController->getExcelErrorData(1069, $res);
|
||||||
|
// $res['file_id'] = 1069;
|
||||||
|
// echo view('excel_errors', $res);
|
||||||
// dd($res);
|
// dd($res);
|
||||||
|
|
||||||
// ---------- POLICY TRANSACTION CONTROLLER --------------------------------------------------------------------------------
|
// ---------- POLICY TRANSACTION CONTROLLER --------------------------------------------------------------------------------
|
||||||
@ -5454,10 +5463,21 @@ class ClientController extends AdminController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getTheEmpDataForClaimSearchByMobile($param, $type = 'mobile', $client_policy_id = null, $client_id = null)
|
public function getTheEmpDataForClaimSearchByMobile($param, $type = 'mobile', $client_policy_id = null, $client_id = null, $ticket_type_id = null)
|
||||||
{
|
{
|
||||||
$field_name = 'employees.' . $type;
|
$field_name = 'employees.' . $type;
|
||||||
|
|
||||||
|
$policy_type_id = [];
|
||||||
|
if($ticket_type_id == 1){
|
||||||
|
$policy_type_id = [2, 3, 4, 5];
|
||||||
|
}else if($ticket_type_id == 2){
|
||||||
|
$policy_type_id = [1];
|
||||||
|
}else if($ticket_type_id == 3){
|
||||||
|
$policy_type_id = [6];
|
||||||
|
}else if($ticket_type_id == 4){
|
||||||
|
$policy_type_id = [7];
|
||||||
|
}
|
||||||
|
|
||||||
// Construct the base query
|
// Construct the base query
|
||||||
$query = $this->clientPolicyModel
|
$query = $this->clientPolicyModel
|
||||||
->select("
|
->select("
|
||||||
@ -5481,7 +5501,7 @@ class ClientController extends AdminController
|
|||||||
->join('insurers', 'client_policy.insurer_id = insurers.id')
|
->join('insurers', 'client_policy.insurer_id = insurers.id')
|
||||||
->join('tpa', 'client_policy.tpa_id = tpa.id', 'left')
|
->join('tpa', 'client_policy.tpa_id = tpa.id', 'left')
|
||||||
->join('employees', 'clients.id = employees.client_id')
|
->join('employees', 'clients.id = employees.client_id')
|
||||||
->join('employee_polices', 'employees.id = employee_polices.employee_id')
|
->join('employee_polices', 'employees.id = employee_polices.employee_id AND client_policy.id = employee_polices.client_policy_id')
|
||||||
->where('client_policy.is_active', 1)
|
->where('client_policy.is_active', 1)
|
||||||
->where('insurers.is_active', 1)
|
->where('insurers.is_active', 1)
|
||||||
->where('tpa.is_active', 1)
|
->where('tpa.is_active', 1)
|
||||||
@ -5500,6 +5520,10 @@ class ClientController extends AdminController
|
|||||||
$query->where('employee_polices.client_policy_id', $client_policy_id);
|
$query->where('employee_polices.client_policy_id', $client_policy_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($policy_type_id != null){
|
||||||
|
$query->whereIn('client_policy.policy_type_id', $policy_type_id);
|
||||||
|
}
|
||||||
|
|
||||||
$query->groupBy('employees.id')
|
$query->groupBy('employees.id')
|
||||||
->orderBy('employees.id', 'DESC');
|
->orderBy('employees.id', 'DESC');
|
||||||
|
|
||||||
@ -6612,268 +6636,6 @@ class ClientController extends AdminController
|
|||||||
|
|
||||||
// ------------------- DEMO CLIENT FUNCTION --------------------------------------------------------------------------------
|
// ------------------- DEMO CLIENT FUNCTION --------------------------------------------------------------------------------
|
||||||
|
|
||||||
// public function wipeDemoClient()
|
|
||||||
// {
|
|
||||||
// // $this->myLogger->logme('error', "Wipe Demo Client function called");
|
|
||||||
// $this->myLogger->logme('error', "Wipe Demo Client function called"); // Red text
|
|
||||||
|
|
||||||
// $this->myLogger->logme('error', "Wipe Demo client Payload : " . json_encode($this->request->getPost() ?? []));
|
|
||||||
// $client_id = $this->request->getPost('client_id');
|
|
||||||
|
|
||||||
// if (empty($client_id)) {
|
|
||||||
// return $this->respond(['status' => false, 'message' => 'Client id required'], 404);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 1. Client Model
|
|
||||||
// $client_data = $this->clientModel->where('id', $client_id)->where('is_active', 1)->first();
|
|
||||||
// $this->myLogger->logme('error', "Client data : " . json_encode($client_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_data)) {
|
|
||||||
// $is_deleted = $this->clientModel->where('id', $client_id)->delete();
|
|
||||||
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Client data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client record does not exist.");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// return $this->respond(['status' => false, 'message' => 'Client not found'], 404);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 2. Client RM Model
|
|
||||||
// $client_rm_data = $this->clientRMModel->where('client_id', $client_id)->first();
|
|
||||||
// $this->myLogger->logme('error', "Client Relationship Manager data : " . json_encode($client_rm_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_rm_data)) {
|
|
||||||
// $is_deleted = $this->clientRMModel->where('client_id', $client_id)->delete();
|
|
||||||
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Client Relationship Manager data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Relationship Manager record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Relationship Manager data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 3. Client KYC Docs Model
|
|
||||||
// $client_kyc_data = $this->clientKYCDocsModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Client KYC Docs data : " . json_encode($client_kyc_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_kyc_data)) {
|
|
||||||
// $is_deleted = $this->clientKYCDocsModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Client KYC Docs data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client KYC Docs record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client KYC Docs data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 4. Client Branch Model
|
|
||||||
// $client_branch_data = $this->clientBranchModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Client Branch data : " . json_encode($client_branch_data ?? []));
|
|
||||||
|
|
||||||
// $branch_ids = array_column($client_branch_data, 'id') ?? [];
|
|
||||||
// $this->myLogger->logme('error', "Client Branch id count : " . count($branch_ids ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_branch_data)) {
|
|
||||||
|
|
||||||
// $is_deleted = $this->clientBranchModel->where('client_id', $client_id)->delete();
|
|
||||||
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Client Branch data removed successfully.");
|
|
||||||
|
|
||||||
// if(!empty($branch_ids)){
|
|
||||||
|
|
||||||
// $level_contact_data = $this->levelContactModel->where('contact_type', 'client')->whereIn('ref_id', $branch_ids)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Level Contact data : " . json_encode($level_contact_data ?? []));
|
|
||||||
|
|
||||||
// $is_deleted = $this->levelContactModel->where('contact_type', 'client')->whereIn('ref_id', $branch_ids)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Level Contact data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Level Contact record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }else{
|
|
||||||
// $this->myLogger->logme('error', "Level Contact data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Branch record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Branch data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 5. Client Policy Model
|
|
||||||
// $client_policy_data = $this->clientPolicyModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Client Policy data : " . json_encode($client_policy_data ?? []));
|
|
||||||
|
|
||||||
// $policy_ids = array_column($client_policy_data, 'id') ?? [];
|
|
||||||
// $this->myLogger->logme('error', "Client Policy id count : " . count($policy_ids ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_policy_data)) {
|
|
||||||
// $is_deleted = $this->clientPolicyModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
|
|
||||||
// $this->myLogger->logme('error', "Client Policy data removed successfully.");
|
|
||||||
|
|
||||||
// if(!empty($policy_ids)){
|
|
||||||
|
|
||||||
// $employee_policy_data = $this->employeePolicyModel->whereIn('client_policy_id', $policy_ids)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Employee Policy data count : " . count($employee_policy_data ?? []));
|
|
||||||
|
|
||||||
// $is_deleted = $this->employeePolicyModel->whereIn('client_policy_id', $policy_ids)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Employee policy data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Employee policy record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }else{
|
|
||||||
// $this->myLogger->logme('error', "Employee policy data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Policy record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Policy data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 6. Employee Model
|
|
||||||
// $employee_data = $this->employeeModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Employee data count : " . count($employee_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($employee_data)) {
|
|
||||||
|
|
||||||
// $is_deleted = $this->employeeModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Employee data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Employee record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Employee data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 7. Client Deposit Model
|
|
||||||
// $client_deposit_data = $this->clientDepositModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Client Deposit data : " . json_encode($client_deposit_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($client_deposit_data)) {
|
|
||||||
// $is_deleted = $this->clientDepositModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Client Deposit data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Deposit record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Client Deposit data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 8. Policy Premium 1 Model
|
|
||||||
// $policy_premium1_data = $this->policyPremium1Model->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 1 data count : " . count($policy_premium1_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($policy_premium1_data)) {
|
|
||||||
// $is_deleted = $this->policyPremium1Model->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 1 data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 1 record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 1 data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 9. Policy Premium 2 Model
|
|
||||||
// $policy_premium2_data = $this->policyPremium2Model->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 2 data count: " . count($policy_premium2_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($policy_premium2_data)) {
|
|
||||||
// $is_deleted = $this->policyPremium2Model->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 2 data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 2 record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Premium 2 data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 10. Notification Model
|
|
||||||
// $notification_data = $this->notificationModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Notification data : " . json_encode($notification_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($notification_data)) {
|
|
||||||
// $is_deleted = $this->notificationModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Notification data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Notification record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Notification data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 11. CD Master Model
|
|
||||||
// $cd_master_data = $this->CDMasterModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "CD Master data : " . json_encode($cd_master_data ?? []));
|
|
||||||
|
|
||||||
// if (!empty($cd_master_data)) {
|
|
||||||
// $is_deleted = $this->CDMasterModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "CD Master data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "CD Master record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "CD Master data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 12. Policy Transaction Model
|
|
||||||
// $policy_transaction_data = $this->policyTransactionModel->where('client_id', $client_id)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "Policy Transaction data : " . json_encode($policy_transaction_data ?? []));
|
|
||||||
|
|
||||||
// $pt_ids = array_column($policy_transaction_data, 'id') ?? [];
|
|
||||||
// $this->myLogger->logme('error', "Policy Transaction id count : " . count($pt_ids ?? []));
|
|
||||||
|
|
||||||
// if (!empty($policy_transaction_data)) {
|
|
||||||
// $is_deleted = $this->policyTransactionModel->where('client_id', $client_id)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "Policy Transaction data removed successfully.");
|
|
||||||
|
|
||||||
// if(!empty($pt_ids)){
|
|
||||||
|
|
||||||
// $pt_co_share_data = $this->PTCOShareDetailsModel->whereIn('pt_id', $pt_ids)->findAll();
|
|
||||||
// $this->myLogger->logme('error', "PT CO Share data : " . json_encode($pt_co_share_data ?? []));
|
|
||||||
|
|
||||||
// $is_deleted = $this->PTCOShareDetailsModel->whereIn('pt_id', $pt_ids)->delete();
|
|
||||||
// if ($is_deleted) {
|
|
||||||
// $this->myLogger->logme('error', "PT CO Share data removed successfully.");
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "PT CO Share record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }else{
|
|
||||||
// $this->myLogger->logme('error', "PT CO Share data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Transaction record does not exist. To delete");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// $this->myLogger->logme('error', "Policy Transaction data not found.");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $this->myLogger->logme('error', "Wipe Demo Client function closed");
|
|
||||||
// return $this->respond(['status' => true, 'message' => 'Demo client data wiped successfully'], 200);
|
|
||||||
// }
|
|
||||||
|
|
||||||
public function wipeDemoClient()
|
public function wipeDemoClient()
|
||||||
{
|
{
|
||||||
$this->myLogger->logme('error', "========================================");
|
$this->myLogger->logme('error', "========================================");
|
||||||
|
|||||||
@ -277,22 +277,28 @@ class EmployeeController extends AdminController
|
|||||||
$file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => $action, 'client_branch_id' => $branch_id,'uploaded_by' => 1, 'hr_file_id' => $hr_file_id]); //here field policy_id have client_policy_id and not policy id from policy master
|
$file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => $action, 'client_branch_id' => $branch_id,'uploaded_by' => 1, 'hr_file_id' => $hr_file_id]); //here field policy_id have client_policy_id and not policy id from policy master
|
||||||
$this->myLogger->logme("error", '{file_id} uploaded success', ['file_id' => $file_id]);
|
$this->myLogger->logme("error", '{file_id} uploaded success', ['file_id' => $file_id]);
|
||||||
|
|
||||||
//start validation process
|
if ($action == "all") {
|
||||||
if($fileSize < 1) // if file size less than 1
|
|
||||||
{
|
$r = Jobs::addJob(['job_name' => 'excelMultieventFileFormateValidation', 'payload' => ['file_id' => $file_id]]);
|
||||||
$empServiceController = new EmployeeServiceController();
|
|
||||||
$result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]);
|
|
||||||
$this->myLogger->logme("error", '{file_id} is less than 1MB, validating on the fly', ['file_id' => $file_id]);
|
|
||||||
//endof validation process
|
|
||||||
if (isset($result['error_summary']) && count($result['error_summary'])) {
|
|
||||||
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file rejected with errors'], 200);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else //if file size greater than 1 add the file as job
|
|
||||||
{
|
|
||||||
$job_details = new Jobs();
|
|
||||||
$r = Jobs::addJob(['job_name' => 'excelFileFormatValidation','payload' => ['file_id' => $file_id]]);
|
|
||||||
$this->myLogger->logme("error", '{file_id} is greather than 1MB, validating with job queue', ['file_id' => $file_id]);
|
$this->myLogger->logme("error", '{file_id} is greather than 1MB, validating with job queue', ['file_id' => $file_id]);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//start validation process
|
||||||
|
if ($fileSize < 1) // if file size less than 1
|
||||||
|
{
|
||||||
|
$empServiceController = new EmployeeServiceController();
|
||||||
|
$result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]);
|
||||||
|
$this->myLogger->logme("error", '{file_id} is less than 1MB, validating on the fly', ['file_id' => $file_id]);
|
||||||
|
//endof validation process
|
||||||
|
if (isset($result['error_summary']) && count($result['error_summary'])) {
|
||||||
|
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file rejected with errors'], 200);
|
||||||
|
}
|
||||||
|
} else //if file size greater than 1 add the file as job
|
||||||
|
{
|
||||||
|
$job_details = new Jobs();
|
||||||
|
$r = Jobs::addJob(['job_name' => 'excelFileFormatValidation', 'payload' => ['file_id' => $file_id]]);
|
||||||
|
$this->myLogger->logme("error", '{file_id} is greather than 1MB, validating with job queue', ['file_id' => $file_id]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
|
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
|
||||||
@ -303,7 +309,7 @@ class EmployeeController extends AdminController
|
|||||||
//for TPA/insurer upload
|
//for TPA/insurer upload
|
||||||
$data['events'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement'];
|
$data['events'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement'];
|
||||||
//for inception upload
|
//for inception upload
|
||||||
$data['actions'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement'];
|
$data['actions'] = ['all' => 'All', 'inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement'];
|
||||||
// $data['actions'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement','enrollment' => 'Enrolment'];
|
// $data['actions'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement','enrollment' => 'Enrolment'];
|
||||||
|
|
||||||
// $data['import_or_export'] = ['import' => 'Import', 'export' => 'Export'];
|
// $data['import_or_export'] = ['import' => 'Import', 'export' => 'Export'];
|
||||||
@ -469,6 +475,8 @@ class EmployeeController extends AdminController
|
|||||||
$filePath = ROOTPATH . 'public/sample_excel/sample_inception.xls';
|
$filePath = ROOTPATH . 'public/sample_excel/sample_inception.xls';
|
||||||
}else if ($actionType == 'member_data') {
|
}else if ($actionType == 'member_data') {
|
||||||
$filePath = ROOTPATH . 'public/sample_excel/Sample_Member_Data.xlsx';
|
$filePath = ROOTPATH . 'public/sample_excel/Sample_Member_Data.xlsx';
|
||||||
|
}else if ($actionType == 'all') {
|
||||||
|
$filePath = ROOTPATH . 'public/sample_excel/sample_multievent_file.xlsx';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the file exists
|
// Check if the file exists
|
||||||
|
|||||||
2871
app/Controllers/EmployeeMultiEventServiceController.php
Normal file
2871
app/Controllers/EmployeeMultiEventServiceController.php
Normal file
File diff suppressed because it is too large
Load Diff
@ -155,6 +155,18 @@ class JobWorker extends AdminController
|
|||||||
'type' => 'CC', // Handler Category
|
'type' => 'CC', // Handler Category
|
||||||
'handler' => 'App\Controllers\TicketServiceController',
|
'handler' => 'App\Controllers\TicketServiceController',
|
||||||
],
|
],
|
||||||
|
'excelMultieventFileFormateValidation' => [
|
||||||
|
'type' => 'CC', // Handler Category
|
||||||
|
'handler' => 'App\Controllers\EmployeeMultiEventServiceController',
|
||||||
|
],
|
||||||
|
'excelMultieventFileDataValidation' => [
|
||||||
|
'type' => 'CC', // Handler Category
|
||||||
|
'handler' => 'App\Controllers\EmployeeMultiEventServiceController',
|
||||||
|
],
|
||||||
|
'excelMultieventFileOnBoard' => [
|
||||||
|
'type' => 'CC', // Handler Category
|
||||||
|
'handler' => 'App\Controllers\EmployeeMultiEventServiceController',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -386,6 +386,20 @@ class LeadsController extends BaseController
|
|||||||
$data['source_policy_end_date'] = null;
|
$data['source_policy_end_date'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//convert the date
|
||||||
|
if (!empty($data['next_reminder_date'])) {
|
||||||
|
$data['next_reminder_date'] = change_date_format($data['next_reminder_date']);
|
||||||
|
} else {
|
||||||
|
$data['next_reminder_date'] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//convert 0 and 1
|
||||||
|
if (isset($data['is_insurer_auto_mail'])) {
|
||||||
|
$data['is_insurer_auto_mail'] = 1;
|
||||||
|
} else {
|
||||||
|
$data['is_insurer_auto_mail'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// $file_name = file_Upload($files[$index], $uploadFilePath);
|
// $file_name = file_Upload($files[$index], $uploadFilePath);
|
||||||
|
|
||||||
$last_3_years_claims = $data['finyear'];
|
$last_3_years_claims = $data['finyear'];
|
||||||
@ -462,9 +476,12 @@ class LeadsController extends BaseController
|
|||||||
'lead_form_type' => $data['lead_form_type'] ?? 1,
|
'lead_form_type' => $data['lead_form_type'] ?? 1,
|
||||||
'custom_fields' => $data['custom_fields'] ?? null,
|
'custom_fields' => $data['custom_fields'] ?? null,
|
||||||
|
|
||||||
'source_policy_start_date' => $data['source_policy_start_date'] ?? null,
|
'source_policy_start_date' => $data['source_policy_start_date'] ?? null,
|
||||||
'source_policy_end_date' => $data['source_policy_end_date'] ?? null,
|
'source_policy_end_date' => $data['source_policy_end_date'] ?? null,
|
||||||
'claim_history' => $data['claim_history'] ?? 0
|
'claim_history' => $data['claim_history'] ?? 0,
|
||||||
|
|
||||||
|
'next_reminder_date' => $data['next_reminder_date'] ?? 0,
|
||||||
|
'is_insurer_auto_mail' => $data['is_insurer_auto_mail'] ?? 0
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
// print_r($processedData);die();
|
// print_r($processedData);die();
|
||||||
@ -3641,7 +3658,7 @@ class LeadsController extends BaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($data['lead_edit_data'])) {
|
if (!empty($data['lead_edit_data'])) {
|
||||||
foreach (['policy_start_date', 'policy_end_date', 'source_policy_start_date', 'source_policy_end_date', 'incurred_claims_date'] as $dateField) {
|
foreach (['policy_start_date', 'policy_end_date', 'source_policy_start_date', 'source_policy_end_date', 'incurred_claims_date', 'next_reminder_date'] as $dateField) {
|
||||||
$data['lead_edit_data'][$dateField] = !empty($data['lead_edit_data'][$dateField])
|
$data['lead_edit_data'][$dateField] = !empty($data['lead_edit_data'][$dateField])
|
||||||
? change_date_format($data['lead_edit_data'][$dateField], 'Y-m-d', 'd/m/Y')
|
? change_date_format($data['lead_edit_data'][$dateField], 'Y-m-d', 'd/m/Y')
|
||||||
: null;
|
: null;
|
||||||
|
|||||||
25
app/Controllers/TestingController.php
Normal file
25
app/Controllers/TestingController.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
|
||||||
|
use App\Controllers\BaseController;
|
||||||
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
use CodeIgniter\API\ResponseTrait;
|
||||||
|
|
||||||
|
class TestingController extends BaseController
|
||||||
|
{
|
||||||
|
use ResponseTrait;
|
||||||
|
|
||||||
|
public function saveForm()
|
||||||
|
{
|
||||||
|
// Get JSON input
|
||||||
|
$data = $this->request->getPost();
|
||||||
|
|
||||||
|
// For testing: just return the received data
|
||||||
|
return $this->respond([
|
||||||
|
'status' => 'success',
|
||||||
|
'message' => 'Form data received successfully!',
|
||||||
|
'data' => $data
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -31,6 +31,7 @@ class ThzController extends BaseController
|
|||||||
protected $clientModel;
|
protected $clientModel;
|
||||||
|
|
||||||
protected $ticketMailTemplateModel;
|
protected $ticketMailTemplateModel;
|
||||||
|
protected $myLogger;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -43,6 +44,7 @@ class ThzController extends BaseController
|
|||||||
$this->clientPolicyModel = new ClientPolicyModel();
|
$this->clientPolicyModel = new ClientPolicyModel();
|
||||||
$this->clientModel = new ClientModel();
|
$this->clientModel = new ClientModel();
|
||||||
$this->ticketMailTemplateModel = new TicketMailTemplateModel();
|
$this->ticketMailTemplateModel = new TicketMailTemplateModel();
|
||||||
|
$this->myLogger = \Config\Services::mylogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
@ -51,7 +53,8 @@ class ThzController extends BaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function ticketSave(){
|
public function ticketSave(){
|
||||||
|
try
|
||||||
|
{
|
||||||
$data = $this->request->getPost();
|
$data = $this->request->getPost();
|
||||||
|
|
||||||
if (!empty($data['thz_id'])) {
|
if (!empty($data['thz_id'])) {
|
||||||
@ -99,11 +102,27 @@ class ThzController extends BaseController
|
|||||||
'message' => $result ? "Ticket {$text}d successfully " : "Unable to {$text} ticket. Please try again." ,
|
'message' => $result ? "Ticket {$text}d successfully " : "Unable to {$text} ticket. Please try again." ,
|
||||||
'notification' => $emailNotificationResult ? 'Email Notification Success..!!' : 'Email Notification Failed..!!'
|
'notification' => $emailNotificationResult ? 'Email Notification Success..!!' : 'Email Notification Failed..!!'
|
||||||
])->setStatusCode($result ? 200 : 400);
|
])->setStatusCode($result ? 200 : 400);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketList()
|
public function ticketList()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
try{
|
||||||
$returnType = strtolower($this->request->getGet('return_type') ?? 'api');
|
$returnType = strtolower($this->request->getGet('return_type') ?? 'api');
|
||||||
|
|
||||||
|
|
||||||
@ -117,7 +136,8 @@ class ThzController extends BaseController
|
|||||||
|
|
||||||
if ($returnType === 'api') {
|
if ($returnType === 'api') {
|
||||||
if (empty($tickets)) {
|
if (empty($tickets)) {
|
||||||
return $this->response->setJSON([ 'status' => 'error','message' => 'No tickets found'])->setStatusCode(404);
|
// return $this->response->setJSON([ 'status' => 'error','message' => 'No tickets found'])->setStatusCode(404);
|
||||||
|
throw new \RuntimeException('No tickets found', 400);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
@ -126,18 +146,37 @@ class ThzController extends BaseController
|
|||||||
$data['assignee'] = $this->userModel->where('is_active', 1)->whereIn('role', ['2', '3','4'])->findAll(); // enga 5-"head" and 1-"admin" assign pannvaga so dropdown la varakudhathu
|
$data['assignee'] = $this->userModel->where('is_active', 1)->whereIn('role', ['2', '3','4'])->findAll(); // enga 5-"head" and 1-"admin" assign pannvaga so dropdown la varakudhathu
|
||||||
// 2,3,4 remain person varannum.
|
// 2,3,4 remain person varannum.
|
||||||
$data['client_list'] = $this->clientModel->getCreatedByUserName();
|
$data['client_list'] = $this->clientModel->getCreatedByUserName();
|
||||||
|
$data['ticket_type'] = $this->thzTypeModel->where('is_active', 1)->findAll();
|
||||||
|
|
||||||
return $this->loadLayout('thz_list', $data);
|
return $this->loadLayout('thz_list', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->response->setJSON([
|
return $this->response->setJSON([
|
||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
'data' => $tickets,
|
'data' => $tickets,
|
||||||
])->setStatusCode(200);
|
])->setStatusCode(200);
|
||||||
|
}
|
||||||
|
catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketConversationSave(){
|
public function ticketConversationSave(){
|
||||||
|
|
||||||
|
try {
|
||||||
$data = $this->request->getPost();
|
$data = $this->request->getPost();
|
||||||
|
|
||||||
$data['notes_type'] = $data['notes_type'] ?? 'External' ;
|
$data['notes_type'] = $data['notes_type'] ?? 'External' ;
|
||||||
@ -145,7 +184,8 @@ class ThzController extends BaseController
|
|||||||
$result = $this->thzMasterNotesModel->insert($data);
|
$result = $this->thzMasterNotesModel->insert($data);
|
||||||
|
|
||||||
if(empty($result)){
|
if(empty($result)){
|
||||||
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(404);
|
// return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(404);
|
||||||
|
throw new \RuntimeException('No tickets found', 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($data['notes_type'] == "External"){
|
if($data['notes_type'] == "External"){
|
||||||
@ -161,41 +201,72 @@ class ThzController extends BaseController
|
|||||||
'message' => $result ? "Ticket Notes created successfully" : "Unable to create ticket notes. Please try again." ,
|
'message' => $result ? "Ticket Notes created successfully" : "Unable to create ticket notes. Please try again." ,
|
||||||
'notification' => $emailNotificationResult ? 'Email Notification Success..!!' : 'Email Notification Failed Or No Need..!!'
|
'notification' => $emailNotificationResult ? 'Email Notification Success..!!' : 'Email Notification Failed Or No Need..!!'
|
||||||
])->setStatusCode($result ? 200 : 400);
|
])->setStatusCode($result ? 200 : 400);
|
||||||
|
}
|
||||||
|
catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketAutoFetchDetails(){
|
public function ticketAutoFetchDetails()
|
||||||
|
{
|
||||||
|
try {
|
||||||
$data = $this->request->getPost();
|
$data = $this->request->getPost();
|
||||||
|
|
||||||
$client_id = $data['client_id'];
|
$client_id = $data['client_id'] ?? null;
|
||||||
$mobile = $data['mobile'];
|
$mobile = $data['mobile'] ?? null;
|
||||||
|
|
||||||
if($client_id && $mobile){
|
if ($client_id && $mobile) {
|
||||||
|
$details = $this->thzMasterModel->ticketAutoFetchDetails($client_id, $mobile);
|
||||||
$details = $this->thzMasterModel->ticketAutoFetchDetails($client_id ,$mobile);
|
|
||||||
|
|
||||||
if(empty($details)){
|
|
||||||
return $this->response->setJSON((['status' => 'error', 'message' => 'No Data found']))->setStatusCode(400);
|
|
||||||
}else{
|
|
||||||
|
|
||||||
$policyIds = array_column($details, 'policy_id');
|
|
||||||
$policyIds = array_filter($policyIds);
|
|
||||||
$clientPolicy = $this->clientPolicyModel->whereIn('id', $policyIds)->where('is_active', 1)->get()->getResultArray();
|
|
||||||
$result['client_details'] = $details;
|
|
||||||
$result['policy_details'] = empty($clientPolicy) ? [] : $clientPolicy ;
|
|
||||||
|
|
||||||
|
if (empty($details)) {
|
||||||
|
throw new \RuntimeException('No Data found', 400);
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
return $this->response->setJSON((['status' => 'error', 'message' => 'Client and Mobile Not found']))->setStatusCode(400);
|
$policyIds = array_filter(array_column($details, 'policy_id'));
|
||||||
|
$clientPolicy = !empty($policyIds)
|
||||||
|
? $this->clientPolicyModel->whereIn('id', $policyIds)->where('is_active', 1)->get()->getResultArray()
|
||||||
|
: [];
|
||||||
|
|
||||||
|
$result['client_details'] = $details;
|
||||||
|
$result['policy_details'] = $clientPolicy ?? [];
|
||||||
|
} else {
|
||||||
|
throw new \RuntimeException('Client and Mobile Not found', 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->response->setJSON((['status' => 'success', 'data' => $result]))->setStatusCode(200);
|
return $this->response->setJSON(['status' => 'success', 'data' => $result])->setStatusCode(200);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketConversationList(){
|
public function ticketConversationList()
|
||||||
|
{
|
||||||
$data = $this->request->getGet();
|
$data = $this->request->getGet();
|
||||||
|
|
||||||
$returnType = strtolower($this->request->getGet('return_type') ?? 'api');
|
$returnType = strtolower($this->request->getGet('return_type') ?? 'api');
|
||||||
@ -215,16 +286,32 @@ class ThzController extends BaseController
|
|||||||
$notes = $this->thzMasterNotesModel->ticketConversationList($thz_id, $returnType );
|
$notes = $this->thzMasterNotesModel->ticketConversationList($thz_id, $returnType );
|
||||||
$result['notes'] = !empty($notes) ? $notes : [];
|
$result['notes'] = !empty($notes) ? $notes : [];
|
||||||
}else{
|
}else{
|
||||||
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(400);
|
// return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(400);
|
||||||
|
throw new \RuntimeException('No tickets found', 400);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(404);
|
// return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']))->setStatusCode(404);
|
||||||
|
throw new \RuntimeException('No tickets found', 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($returnType === 'api') {
|
if ($returnType === 'api') {
|
||||||
return $this->response->setJSON((['status' => 'success', 'data' => $result]))->setStatusCode(200);
|
try {
|
||||||
|
return $this->response->setJSON((['status' => 'success', 'data' => $result]))->setStatusCode(200);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
$assign_to = $result['master'][0]['assign_to'];
|
$assign_to = $result['master'][0]['assign_to'];
|
||||||
@ -248,23 +335,23 @@ class ThzController extends BaseController
|
|||||||
// 2,3,4 remain person varannum.
|
// 2,3,4 remain person varannum.
|
||||||
$result['policy_terms'] = $toGetPolicyId ? $this->getPolicyTerms($toGetPolicyId) : '';
|
$result['policy_terms'] = $toGetPolicyId ? $this->getPolicyTerms($toGetPolicyId) : '';
|
||||||
|
|
||||||
return $this->loadLayout('thz_notes', $result);
|
$result['ticket_type'] = $this->thzTypeModel->where('is_active', 1)->findAll();
|
||||||
}
|
|
||||||
|
|
||||||
|
return $this->loadLayout('thz_notes', $result);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketType()
|
public function ticketType()
|
||||||
{
|
{
|
||||||
$method = $this->request->getMethod(); // get, post
|
$method = $this->request->getMethod(); // get, post
|
||||||
|
try{
|
||||||
if ($method === 'get') {
|
if ($method === 'get') {
|
||||||
|
$types = $this->thzTypeModel->select('id,name,is_active')->where('is_active', 1)->findAll();
|
||||||
$types = $this->thzTypeModel->where('is_active', 1)->findAll();
|
|
||||||
if (empty($types)) {
|
if (empty($types)) {
|
||||||
return $this->response->setJSON(['status' => 'error','message' => 'No ticket types found'])->setStatusCode(404);
|
return $this->response->setJSON(['status' => 'error','message' => 'No ticket types found'])->setStatusCode(404);
|
||||||
}
|
}
|
||||||
return $this->response->setJSON(['status' => 'success','data' => $types])->setStatusCode(200);
|
return $this->response->setJSON(['status' => 'success','data' => $types])->setStatusCode(200);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($method === 'post') {
|
if ($method === 'post') {
|
||||||
@ -280,20 +367,37 @@ class ThzController extends BaseController
|
|||||||
$result = true;
|
$result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = isset($insertID) && !empty($insertID) ? $insertID : $updateID ;
|
$id = isset($insertID) && !empty($insertID) ? $insertID : ($updateID ?? null);
|
||||||
|
|
||||||
return $this->response->setJSON([
|
return $this->response->setJSON([
|
||||||
'status' => $id ? 'success' : 'error',
|
'status' => $id ? 'success' : 'error',
|
||||||
'message' => $id ? "Ticket Type {$text}d successfully " : "Unable to {$text} ticket type. Please try again." ,
|
'message' => $id ? "Ticket Type {$text}d successfully" : "Unable to {$text} ticket type. Please try again.",
|
||||||
'id' => $id
|
'id' => $id
|
||||||
])->setStatusCode($id ? 200 : 400);
|
])->setStatusCode($id ? 200 : 400);
|
||||||
}
|
}
|
||||||
return $this->response->setJSON(['status' => 'error','message' => 'No ticket types found'])->setStatusCode(404);
|
return $this->response->setJSON([ 'status' => 'error', 'message' => 'Invalid request method' ])->setStatusCode(405);
|
||||||
|
}
|
||||||
|
catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database' : 'application' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticketHistoryList()
|
public function ticketHistoryList()
|
||||||
{
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
$data = $this->request->getGet();
|
$data = $this->request->getGet();
|
||||||
$thz_id = $data['thz_id'];
|
$thz_id = $data['thz_id'];
|
||||||
// $details = $this->thzHistoryModal->whereIn('thz_id', $thz_id)->where('is_active', 1)->get()->getResultArray();
|
// $details = $this->thzHistoryModal->whereIn('thz_id', $thz_id)->where('is_active', 1)->get()->getResultArray();
|
||||||
@ -306,11 +410,27 @@ class ThzController extends BaseController
|
|||||||
|
|
||||||
|
|
||||||
if (empty($details)) {
|
if (empty($details)) {
|
||||||
return $this->response->setJSON([ 'status' => 'error','message' => 'No History found'])->setStatusCode(404);
|
// return $this->response->setJSON([ 'status' => 'error','message' => 'No History found'])->setStatusCode(404);
|
||||||
|
throw new \RuntimeException('No History found', 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->response->setJSON(['status' => 'success','data' => $details])->setStatusCode(200);
|
return $this->response->setJSON(['status' => 'success','data' => $details])->setStatusCode(200);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
$code = ($e->getCode() && $e->getCode() >= 100 && $e->getCode() < 600) ? $e->getCode() : 500;
|
||||||
|
|
||||||
|
$isDbError = $e instanceof \CodeIgniter\Database\Exceptions\DatabaseException
|
||||||
|
|| $e instanceof \mysqli_sql_exception
|
||||||
|
|| $e instanceof \PDOException;
|
||||||
|
|
||||||
|
$context = ['title' => get_class($e),'type' => get_class($e),'code' => $code,'message' => $e->getMessage(),'file' => $e->getFile(),'line' => $e->getLine()];
|
||||||
|
|
||||||
|
$this->myLogger->logme('error', "Exception: {message} in {file} on line {line}", $context, 0);
|
||||||
|
|
||||||
|
return $this->response->setJSON([ 'status' => 'error', 'message' => $isDbError ? 'Data Access Error' : $e->getMessage(),
|
||||||
|
'ref' => $isDbError ? 'database / ' : 'application / ' . $code . ' / ' . $e->getLine()
|
||||||
|
])->setStatusCode($code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1868,18 +1868,40 @@ class TicketController extends BaseController
|
|||||||
public function getPoliciesbyEmpID()
|
public function getPoliciesbyEmpID()
|
||||||
{
|
{
|
||||||
$received_data = $this->request->getPost();
|
$received_data = $this->request->getPost();
|
||||||
|
$ticket_type_id = $this->request->getPost('ticket_type_id') ?? null;
|
||||||
$emp_id = $received_data['emp_id'];
|
$emp_id = $received_data['emp_id'];
|
||||||
|
|
||||||
// Get all client policy IDs for the given employee
|
// Get all client policy IDs for the given employee
|
||||||
$policies = $this->employeePolicyModel
|
if ($ticket_type_id == 1) {
|
||||||
->select('client_policy_id')
|
|
||||||
->where('employee_id', $emp_id)
|
|
||||||
->where('is_active', 1)
|
|
||||||
->where('status', 'active')
|
|
||||||
->findAll();
|
|
||||||
|
|
||||||
|
//get the self data for get the all policy list aginst the emp_code
|
||||||
|
$self_data = $this->employeeModel->where('is_active', 1)->where('id', $emp_id)->first();
|
||||||
|
|
||||||
|
$db = db_connect();
|
||||||
|
$builder = $db->table('employees e');
|
||||||
|
$builder->select('ep.*');
|
||||||
|
$builder->join('employee_polices ep', 'e.id = ep.employee_id');
|
||||||
|
$builder->join('client_policy cp', 'cp.id = ep.client_policy_id AND cp.policy_type_id IN (2,3,4,5)');
|
||||||
|
$builder->where('e.is_active', 1);
|
||||||
|
$builder->where('ep.is_active', 1);
|
||||||
|
$builder->where('e.emp_code', $self_data['emp_code']);
|
||||||
|
$builder->groupBy('client_policy_id');
|
||||||
|
|
||||||
|
$query = $builder->get();
|
||||||
|
$policies = $query->getResultArray();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$policies = $this->employeePolicyModel
|
||||||
|
->select('client_policy_id')
|
||||||
|
->where('employee_id', $emp_id)
|
||||||
|
->where('is_active', 1)
|
||||||
|
->where('status', 'active')
|
||||||
|
->findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return empty if no policies found
|
||||||
if (empty($policies)) {
|
if (empty($policies)) {
|
||||||
return []; // Return empty if no policies found
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract client policy IDs into an array
|
// Extract client policy IDs into an array
|
||||||
@ -1902,7 +1924,7 @@ class TicketController extends BaseController
|
|||||||
->join('tpa', 'tpa.id = client_policy.tpa_id AND tpa.is_active = 1', 'left')
|
->join('tpa', 'tpa.id = client_policy.tpa_id AND tpa.is_active = 1', 'left')
|
||||||
->where('client_policy.policy_status', 1)
|
->where('client_policy.policy_status', 1)
|
||||||
->whereIn('client_policy.id', $policy_ids)
|
->whereIn('client_policy.id', $policy_ids)
|
||||||
->findAll();
|
->findAll();
|
||||||
|
|
||||||
// dd($policyNameandID);
|
// dd($policyNameandID);
|
||||||
if ($policyNameandID){
|
if ($policyNameandID){
|
||||||
|
|||||||
@ -7,5 +7,5 @@ use CodeIgniter\Model;
|
|||||||
class GmailSentHistoryModel extends Model{
|
class GmailSentHistoryModel extends Model{
|
||||||
protected $table = 'gmail_sent_history';
|
protected $table = 'gmail_sent_history';
|
||||||
protected $primaryKey = 'id';
|
protected $primaryKey = 'id';
|
||||||
protected $allowedFields = ["id", "mail", "bcc", "cc", "message", "attachments", "client_id", "client_branch_id", "client_policy_id", "employee_policy_id", "employee_id", "mail_type", "gmail_api_status", "gmail_api_id", "module", "pk", "from_mail", "created_by", "created_at", "updated_by", "updated_at", "isactive","received_message"];
|
protected $allowedFields = ["id", "mail", "bcc", "cc", "message", "attachments", "client_id", "client_branch_id", "client_policy_id", "employee_policy_id", "employee_id", "mail_type", "gmail_api_status", "gmail_api_id", "module", "pk", "from_mail", "created_by", "created_at", "updated_by", "updated_at", "isactive","received_message", "common"];
|
||||||
}
|
}
|
||||||
@ -101,6 +101,10 @@ class LeadsModel extends Model
|
|||||||
|
|
||||||
'total_lives_at_incept',
|
'total_lives_at_incept',
|
||||||
'premium_at_incept',
|
'premium_at_incept',
|
||||||
|
|
||||||
|
'next_reminder_date',
|
||||||
|
'is_insurer_auto_mail',
|
||||||
|
'quote_received_insurer',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,9 @@ class LevelContactModel extends Model
|
|||||||
->select('
|
->select('
|
||||||
level_contacts.id,
|
level_contacts.id,
|
||||||
insurers.short_name as insurer_name,
|
insurers.short_name as insurer_name,
|
||||||
|
insurers.id as insurer_id,
|
||||||
insurer_branch.branch_code,
|
insurer_branch.branch_code,
|
||||||
|
insurer_branch.id as insurer_branch_id,
|
||||||
level_contacts.name as contact_person_name,
|
level_contacts.name as contact_person_name,
|
||||||
level_contacts.email as contact_person_email
|
level_contacts.email as contact_person_email
|
||||||
')
|
')
|
||||||
@ -51,7 +53,7 @@ class LevelContactModel extends Model
|
|||||||
$query->where('insurer_branch.insurer_id', $insurer_id);
|
$query->where('insurer_branch.insurer_id', $insurer_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $query->get()->getResultArray();
|
$result = $query->orderBy('insurers.id')->get()->getResultArray();
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -332,6 +332,20 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3">
|
||||||
|
<label for="">Next Reminder Date<span class="text-danger"></span></label>
|
||||||
|
<input type="text" class="form-control" id="next_reminder_date" name="next_reminder_date" placeholder="DD/MM/YYYY">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3">
|
||||||
|
<label class="switch" style="position: relative;top: 33px;left: 0px;">
|
||||||
|
<input id="is_insurer_auto_mail" type="checkbox" name="is_insurer_auto_mail">
|
||||||
|
<span class="slider round" style="height: 27px;"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label for="is_insurer_auto_mail" style="position: relative;top: 35px;left: 20px;">Insurer Auto Mail</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
@ -556,6 +570,12 @@
|
|||||||
|
|
||||||
console.log('---- completed ----')
|
console.log('---- completed ----')
|
||||||
|
|
||||||
|
var next_reminder_date = flatpickr("#next_reminder_date", {
|
||||||
|
dateFormat: "d/m/Y",
|
||||||
|
allowInput: false,
|
||||||
|
maxDate: "today"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
//------------------------------ GET DATA ( EDIT, BRANCH, POLICY ) ---------------------------------------------------------------------------
|
//------------------------------ GET DATA ( EDIT, BRANCH, POLICY ) ---------------------------------------------------------------------------
|
||||||
|
|||||||
@ -823,6 +823,13 @@ if (isset($selected_lead_type)) {
|
|||||||
$('#entity_type_id').val(data.entity_type_id || '');
|
$('#entity_type_id').val(data.entity_type_id || '');
|
||||||
$('#lead_status').val(data.status || '');
|
$('#lead_status').val(data.status || '');
|
||||||
$('#notes').val(data.notes || '');
|
$('#notes').val(data.notes || '');
|
||||||
|
$('#next_reminder_date').val(data.next_reminder_date || '');
|
||||||
|
|
||||||
|
if (data.is_insurer_auto_mail == 1) {
|
||||||
|
$('#is_insurer_auto_mail').prop('checked', true);
|
||||||
|
} else {
|
||||||
|
$('#is_insurer_auto_mail').prop('checked', false);
|
||||||
|
}
|
||||||
|
|
||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
// $('#client_id').val(data.client_id || '').change();
|
// $('#client_id').val(data.client_id || '').change();
|
||||||
@ -1144,7 +1151,5 @@ if (isset($selected_lead_type)) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|||||||
@ -229,6 +229,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
var policy_type_id = "";
|
var policy_type_id = "";
|
||||||
|
var other_auto_save_enable = false;
|
||||||
$('body').on('click', '.btnPolicyMaster', function() {
|
$('body').on('click', '.btnPolicyMaster', function() {
|
||||||
|
|
||||||
$("#append_html_for_other_policy_terms").empty();
|
$("#append_html_for_other_policy_terms").empty();
|
||||||
@ -276,10 +277,12 @@
|
|||||||
if (res.emp_count_by_policy != 0) {
|
if (res.emp_count_by_policy != 0) {
|
||||||
$("#btnOtherTermsSubmit").hide();
|
$("#btnOtherTermsSubmit").hide();
|
||||||
$("#otherButtonSpecialCondition").hide();
|
$("#otherButtonSpecialCondition").hide();
|
||||||
|
other_auto_save_enable = false;
|
||||||
} else {
|
} else {
|
||||||
$("#btnOtherTermsSubmit").show();
|
$("#btnOtherTermsSubmit").show();
|
||||||
$("#otherButtonSpecialCondition").show();
|
$("#otherButtonSpecialCondition").show();
|
||||||
startAutoSubmit('OTHERS');
|
// startAutoSubmit('OTHERS');
|
||||||
|
other_auto_save_enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -760,12 +763,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function beautifyString(str) {
|
function beautifyString(str) {
|
||||||
return str
|
return str
|
||||||
.split('_') // Split the string by underscores
|
.split('_') // Split the string by underscores
|
||||||
.map(word =>
|
.map(word =>
|
||||||
word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() // Capitalize each word
|
word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() // Capitalize each word
|
||||||
)
|
)
|
||||||
.join(' '); // Join with spaces instead of underscores
|
.join(' '); // Join with spaces instead of underscores
|
||||||
}
|
}
|
||||||
|
|
||||||
function autoSaveOtherTerms(){
|
function autoSaveOtherTerms(){
|
||||||
@ -836,4 +839,42 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function debounceothers(fn, delay) {
|
||||||
|
let timeout;
|
||||||
|
return function () {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
timeout = setTimeout(fn, delay);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
const form = document.querySelector("#otherPolicyTerms");
|
||||||
|
|
||||||
|
// MutationObserver (always runs)
|
||||||
|
const observer = new MutationObserver(() => {
|
||||||
|
$("#otherPolicyTerms").find("input, select, textarea").each(function () {
|
||||||
|
if (other_auto_save_enable) { // only bind autosave if enabled
|
||||||
|
if (!$(this).attr("data-observed")) {
|
||||||
|
const debouncedSave = debounceothers(autoSaveOtherTerms, 1000);
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
observer.observe(form, { childList: true, subtree: true });
|
||||||
|
|
||||||
|
// Bind for existing fields (only if enabled)
|
||||||
|
if (other_auto_save_enable) {
|
||||||
|
const debouncedSave = debounceothers(autoSaveOtherTerms, 1000);
|
||||||
|
$("#otherPolicyTerms").find("input, select, textarea").each(function () {
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("This policy has employee processed (autosave disabled) -- OTHERS") ;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -889,6 +889,7 @@
|
|||||||
<script>
|
<script>
|
||||||
var policy_grid_id = $('#client_id').val();
|
var policy_grid_id = $('#client_id').val();
|
||||||
var grid_html = '';
|
var grid_html = '';
|
||||||
|
var gmc_auto_save_enable = false;
|
||||||
|
|
||||||
$('.close').click(function() {
|
$('.close').click(function() {
|
||||||
|
|
||||||
@ -1138,10 +1139,12 @@
|
|||||||
if (response.emp_count_by_policy != 0) {
|
if (response.emp_count_by_policy != 0) {
|
||||||
$('#btnGridSubmit1').hide();
|
$('#btnGridSubmit1').hide();
|
||||||
$('#myButtonSpecialCondition').hide();
|
$('#myButtonSpecialCondition').hide();
|
||||||
|
gmc_auto_save_enable = false;
|
||||||
} else {
|
} else {
|
||||||
$('#btnGridSubmit1').show();
|
$('#btnGridSubmit1').show();
|
||||||
$('#myButtonSpecialCondition').show();
|
$('#myButtonSpecialCondition').show();
|
||||||
startAutoSubmit('GMC');
|
// startAutoSubmit('GMC');
|
||||||
|
gmc_auto_save_enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsonObject = JSON.parse(response.data);
|
let jsonObject = JSON.parse(response.data);
|
||||||
@ -1993,4 +1996,43 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function debounce(fn, delay) {
|
||||||
|
let timeout;
|
||||||
|
return function () {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
timeout = setTimeout(fn, delay);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
const form = document.querySelector("#policyJsonForm");
|
||||||
|
|
||||||
|
// MutationObserver (always runs)
|
||||||
|
const observer = new MutationObserver(() => {
|
||||||
|
$("#policyJsonForm").find("input, select, textarea").each(function () {
|
||||||
|
if (gmc_auto_save_enable) { // only bind autosave if enabled
|
||||||
|
if (!$(this).attr("data-observed")) {
|
||||||
|
const debouncedSave = debounce(autoSaveGmcTerms, 1000);
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
observer.observe(form, { childList: true, subtree: true });
|
||||||
|
|
||||||
|
// Bind for existing fields (only if enabled)
|
||||||
|
if (gmc_auto_save_enable) {
|
||||||
|
const debouncedSave = debounce(autoSaveGmcTerms, 1000);
|
||||||
|
$("#policyJsonForm").find("input, select, textarea").each(function () {
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("This policy has employee processed (autosave disabled) -- GMC") ;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -473,6 +473,7 @@
|
|||||||
|
|
||||||
var policy_grid_id = $('#client_id').val();
|
var policy_grid_id = $('#client_id').val();
|
||||||
var grid_html = '';
|
var grid_html = '';
|
||||||
|
var gpa_auto_save_enable = false;
|
||||||
|
|
||||||
$("#policyGPATerms").submit(function(event) {
|
$("#policyGPATerms").submit(function(event) {
|
||||||
|
|
||||||
@ -603,10 +604,12 @@
|
|||||||
if (res.emp_count_by_policy != 0) {
|
if (res.emp_count_by_policy != 0) {
|
||||||
$("#btnGPATermsSubmit").hide();
|
$("#btnGPATermsSubmit").hide();
|
||||||
$("#gpaButtonSpecialCondition").hide();
|
$("#gpaButtonSpecialCondition").hide();
|
||||||
|
gpa_auto_save_enable = false;
|
||||||
} else {
|
} else {
|
||||||
$("#btnGPATermsSubmit").show();
|
$("#btnGPATermsSubmit").show();
|
||||||
$("#gpaButtonSpecialCondition").show();
|
$("#gpaButtonSpecialCondition").show();
|
||||||
startAutoSubmit('GPA');
|
startAutoSubmit('GPA');
|
||||||
|
gpa_auto_save_enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -720,7 +723,17 @@
|
|||||||
// console.log('jsonObject value', jsonObject[key])
|
// console.log('jsonObject value', jsonObject[key])
|
||||||
// console.log('jsonObject value type', typeof jsonObject[key])
|
// console.log('jsonObject value type', typeof jsonObject[key])
|
||||||
|
|
||||||
let elements = document.getElementsByName(key);
|
let elements; // declare the element variable
|
||||||
|
|
||||||
|
if (key === "terrorism") {
|
||||||
|
let form = document.getElementById("policyGPATerms");
|
||||||
|
elements = form.querySelectorAll('[name="terrorism"]');
|
||||||
|
} else {
|
||||||
|
elements = document.getElementsByName(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// let elements = document.getElementsByName(key);
|
||||||
if (elements && elements.length > 0) {
|
if (elements && elements.length > 0) {
|
||||||
let element = elements[0];
|
let element = elements[0];
|
||||||
|
|
||||||
@ -1086,4 +1099,43 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function debouncegpa(fn, delay) {
|
||||||
|
let timeout;
|
||||||
|
return function () {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
timeout = setTimeout(fn, delay);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
const form = document.querySelector("#policyGPATerms");
|
||||||
|
|
||||||
|
// MutationObserver (always runs)
|
||||||
|
const observer = new MutationObserver(() => {
|
||||||
|
$("#policyGPATerms").find("input, select, textarea").each(function () {
|
||||||
|
if (gpa_auto_save_enable) { // only bind autosave if enabled
|
||||||
|
if (!$(this).attr("data-observed")) {
|
||||||
|
const debouncedSave = debouncegpa(autoSaveGpaTerms, 1000);
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
observer.observe(form, { childList: true, subtree: true });
|
||||||
|
|
||||||
|
// Bind for existing fields (only if enabled)
|
||||||
|
if (gpa_auto_save_enable) {
|
||||||
|
const debouncedSave = debouncegpa(autoSaveGpaTerms, 1000);
|
||||||
|
$("#policyGPATerms").find("input, select, textarea").each(function () {
|
||||||
|
$(this).on("input change", debouncedSave);
|
||||||
|
$(this).attr("data-observed", "true");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("This policy has employee processed (autosave disabled) -- GPA");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -7,8 +7,17 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* .table thead th {
|
||||||
|
vertical-align: bottom;
|
||||||
|
border-bottom: 2px solid #fff;
|
||||||
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
/* Add shadow + spacing row "card" effect */
|
||||||
|
tbody tr {
|
||||||
|
/* box-shadow: 0 2px 5px rgba(0,0,0,0.08); */
|
||||||
|
}
|
||||||
|
|
||||||
/* Search input with icon */
|
/* Search input with icon */
|
||||||
.dataTables_filter {
|
.dataTables_filter {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -196,7 +205,7 @@ table thead th {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap text-custom-black text-custom app-font-family app-datatable">
|
<table id="scroll-horizontal-datatable" class="table w-100 nowrap text-custom-black text-custom app-font-family app-datatable">
|
||||||
<thead class="app-table-head">
|
<thead class="app-table-head">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Ticket ID</th>
|
<th>Ticket ID</th>
|
||||||
@ -341,17 +350,17 @@ table thead th {
|
|||||||
<label for="ticket_type">Ticket Type<span class="text-danger">*</span></label>
|
<label for="ticket_type">Ticket Type<span class="text-danger">*</span></label>
|
||||||
<select class="form-control" id="ticket_type" name="ticket_type" required onchange="hideandshowpolicy()">
|
<select class="form-control" id="ticket_type" name="ticket_type" required onchange="hideandshowpolicy()">
|
||||||
<option value="">Select Ticket Type</option>
|
<option value="">Select Ticket Type</option>
|
||||||
<option value="Sales" selected >Sales</option>
|
<!-- <option value="Sales" selected >Sales</option> -->
|
||||||
<option value="Service">Service</option>
|
<!-- <option value="Service">Service</option> -->
|
||||||
<!-- <option value="0">+ Add New</option>
|
<!-- <option value="0">+ Add New</option> -->
|
||||||
<?php if (!empty($ticket_type)): ?>
|
<?php if (!empty($ticket_type)): ?>
|
||||||
<?php foreach ($ticket_type as $t): ?>
|
<?php foreach ($ticket_type as $t): ?>
|
||||||
<option value="<?= esc($t['name']) ?>"
|
<option value="<?= esc($t['name']) ?>"
|
||||||
<?= ($t['name'] === "Sales") ? 'selected' : '' ?>>
|
<?= (strtolower($t['name']) === "sales") ? 'selected' : '' ?>>
|
||||||
<?= esc($t['name']) ?>
|
<?= esc($t['name']) ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
<?php endif; ?> -->
|
<?php endif; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -725,15 +734,14 @@ $(document).ready(function() {
|
|||||||
hideandshowpolicy();
|
hideandshowpolicy();
|
||||||
|
|
||||||
var ticketsTable = $('#scroll-horizontal-datatable');
|
var ticketsTable = $('#scroll-horizontal-datatable');
|
||||||
$('#scroll-horizontal-datatable_filter').prepend('<i class="mdi mdi-magnify"></i>');
|
|
||||||
|
|
||||||
if (ticketsTable.length) {
|
if (ticketsTable.length) {
|
||||||
|
|
||||||
ticketsTable.DataTable({
|
ticketsTable.DataTable({
|
||||||
scrollX: true,
|
scrollX: true,
|
||||||
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" +
|
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" +
|
||||||
"<'row'<'col-sm-12'tr>>" +
|
"<'row'<'col-sm-12'tr>>" +
|
||||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '<i class="mdi mdi-plus" ></i><span class="app-font-family btn-custom"> Create New Ticket </span>',
|
text: '<i class="mdi mdi-plus" ></i><span class="app-font-family btn-custom"> Create New Ticket </span>',
|
||||||
@ -775,7 +783,6 @@ $(document).ready(function() {
|
|||||||
},
|
},
|
||||||
paging: true,
|
paging: true,
|
||||||
pageLength: 25,
|
pageLength: 25,
|
||||||
ordering: false,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -347,8 +347,15 @@ hr{
|
|||||||
<label for="ticket_type" class="sub-title-text app-font-family">Ticket Type<span class="text-danger">*</span></label>
|
<label for="ticket_type" class="sub-title-text app-font-family">Ticket Type<span class="text-danger">*</span></label>
|
||||||
<select class="form-control" id="ticket_type" name="ticket_type" required>
|
<select class="form-control" id="ticket_type" name="ticket_type" required>
|
||||||
<option value="">Select Ticket Type</option>
|
<option value="">Select Ticket Type</option>
|
||||||
<option value="Sales">Sales</option>
|
<!-- <option value="Sales">Sales</option>
|
||||||
<option value="Service">Service</option>
|
<option value="Service">Service</option> -->
|
||||||
|
<?php if (!empty($ticket_type)): ?>
|
||||||
|
<?php foreach ($ticket_type as $t): ?>
|
||||||
|
<option value="<?= esc($t['name']) ?>" >
|
||||||
|
<?= esc($t['name']) ?>
|
||||||
|
</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<?php endif; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -924,8 +924,11 @@
|
|||||||
hiddenData = $("#empIDHidden").val();
|
hiddenData = $("#empIDHidden").val();
|
||||||
hiddenData = JSON.parse(hiddenData);
|
hiddenData = JSON.parse(hiddenData);
|
||||||
console.log('employee id ', hiddenData['emp_id']);
|
console.log('employee id ', hiddenData['emp_id']);
|
||||||
|
let ticket_type_id = $('#ticket_type_id').val();
|
||||||
|
console.log("ticket_type_id", ticket_type_id);
|
||||||
data = {
|
data = {
|
||||||
emp_id: hiddenData['emp_id']
|
emp_id: hiddenData['emp_id'],
|
||||||
|
ticket_type_id: ticket_type_id,
|
||||||
}
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?= base_url("/ticket/getPoliciesbyEmpID") ?>',
|
url: '<?= base_url("/ticket/getPoliciesbyEmpID") ?>',
|
||||||
|
|||||||
@ -205,6 +205,7 @@
|
|||||||
var client_list = ''; // local variable for storing the client branch list
|
var client_list = ''; // local variable for storing the client branch list
|
||||||
var branch_list = ''; // local variable for storing the client branch list
|
var branch_list = ''; // local variable for storing the client branch list
|
||||||
var policy_list = ''; // local variable for storing the client policy list
|
var policy_list = ''; // local variable for storing the client policy list
|
||||||
|
var selected_ticket_type_id = `<?= $selected_ticket_type ?? null ?>`;
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
getClientAndBranchAndPolicy();
|
getClientAndBranchAndPolicy();
|
||||||
@ -592,7 +593,8 @@
|
|||||||
let type = $('#employee_data_points').val()
|
let type = $('#employee_data_points').val()
|
||||||
let param = $('#emp_mobile_number_for_claim').val()
|
let param = $('#emp_mobile_number_for_claim').val()
|
||||||
let client_policy_id = $('#emp_client_policy_data_list').val()
|
let client_policy_id = $('#emp_client_policy_data_list').val()
|
||||||
let client_id = $('#mobile_emp_client_data_list').val()
|
let client_id = $('#mobile_emp_client_data_list').val();
|
||||||
|
console.log('selected_ticket_type_id', selected_ticket_type_id);
|
||||||
|
|
||||||
if (searchType == 'client') {
|
if (searchType == 'client') {
|
||||||
type = 'emp_code';
|
type = 'emp_code';
|
||||||
@ -600,7 +602,7 @@
|
|||||||
client_id = $('#emp_client_data_list').val()
|
client_id = $('#emp_client_data_list').val()
|
||||||
}
|
}
|
||||||
let url = '<?= base_url('util/getTheEmpDataForClaimSearchByMobile/') ?>' + param + '/' + type + '/' +
|
let url = '<?= base_url('util/getTheEmpDataForClaimSearchByMobile/') ?>' + param + '/' + type + '/' +
|
||||||
client_policy_id + '/' + client_id;
|
client_policy_id + '/' + client_id + '/'+ selected_ticket_type_id;
|
||||||
|
|
||||||
// Data to send in the AJAX request
|
// Data to send in the AJAX request
|
||||||
let requestData = {
|
let requestData = {
|
||||||
@ -608,6 +610,7 @@
|
|||||||
type: type,
|
type: type,
|
||||||
client_policy_id: client_policy_id,
|
client_policy_id: client_policy_id,
|
||||||
client_id: client_id,
|
client_id: client_id,
|
||||||
|
ticket_type_id: selected_ticket_type_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Show loader
|
// Show loader
|
||||||
|
|||||||
@ -3713,7 +3713,7 @@ function appendInput(data) {
|
|||||||
for (const id in contacts) {
|
for (const id in contacts) {
|
||||||
const contact = contacts[id];
|
const contact = contacts[id];
|
||||||
html += `
|
html += `
|
||||||
<option value="${contact.id}">${contact.insurer_name} - ${contact.branch_code} - ${contact.contact_person_name} - ${contact.contact_person_email}</option>
|
<option value="${contact.id}" data-value="${contact.insurer_branch_id}-${contact.insurer_id}" >${contact.insurer_name} - ${contact.branch_code} - ${contact.contact_person_name} - ${contact.contact_person_email}</option>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3885,13 +3885,21 @@ function constructURL_ForInsurerAndClientMailSend() {
|
|||||||
} else {
|
} else {
|
||||||
var insurerContact = $('#insurerContact').val();
|
var insurerContact = $('#insurerContact').val();
|
||||||
insurerContact = insurerContact.map(Number);
|
insurerContact = insurerContact.map(Number);
|
||||||
|
|
||||||
|
let insurerIds = [];
|
||||||
|
$("#insurerContact option:selected").each(function () {
|
||||||
|
insurerIds.push($(this).data("value"));
|
||||||
|
});
|
||||||
|
console.log(insurerIds);
|
||||||
|
|
||||||
formData.append('file_type', 'rfq');
|
formData.append('file_type', 'rfq');
|
||||||
formData.append('recipient_type', 'insurer');
|
formData.append('recipient_type', 'insurer');
|
||||||
formData.append('recipient_mail', JSON.stringify(insurerContact));
|
formData.append('recipient_mail', JSON.stringify(insurerContact));
|
||||||
|
formData.append('insurer_ids', JSON.stringify(insurerIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
ajaxRequest(formData)
|
ajaxRequest(formData);
|
||||||
console.log('formData', formData)
|
console.log('formData', formData);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
public/sample_excel/sample_multievent_file.xls
Normal file
BIN
public/sample_excel/sample_multievent_file.xls
Normal file
Binary file not shown.
BIN
public/sample_excel/sample_multievent_file.xlsx
Normal file
BIN
public/sample_excel/sample_multievent_file.xlsx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user