diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 3ba36f45..2e9e11c9 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -772,6 +772,8 @@ class ClientController extends AdminController $editData['client'] = $this->clientModel->where(['id' => $id])->first(); $editData['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $id)->findAll(); + $editData['client_kyc_primary_table'] = $this->generateKycPrimaryTable($id); + $editData['client_kyc_other_table'] = $this->generateKycOthersTable($id); $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(); $editData['client_branch']['role'] = get_role_id(); @@ -870,6 +872,8 @@ class ClientController extends AdminController { $this->myLogger->logme('error', 'create Client kyc function called'); $data = $this->request->getPost(); + $form_type = $this->request->getPost('form_type') ?? null; + // print_r($data); die; unset($data['file_name']); $uploadFilePath = WRITEPATH . 'uploads/client_kyc_documents'; @@ -885,8 +889,12 @@ class ClientController extends AdminController $data['created_by'] = get_session_userid(); $insert = $this->clientKYCDocsModel->insert($data); if ($insert) { - - $kycDocs = $this->clientKYCDocsModel->where('client_id', $this->request->getPost('client_id'))->findAll(); + // $kycDocs = $this->clientKYCDocsModel->where('client_id', $this->request->getPost('client_id'))->findAll(); + if($form_type == "others"){ + $kycDocs = $this->generateKycOthersTable($this->request->getPost('client_id')); + }else{ + $kycDocs = $this->generateKycPrimaryTable($this->request->getPost('client_id')); + } return $this->respond(['status' => true, 'code' => 200, 'data' => $kycDocs, 'file_name' => $File], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200); @@ -899,6 +907,8 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'edit client kyc function called'); $uploadFilePath = WRITEPATH . 'uploads/client_kyc_documents'; $File = file_Upload($this->request->getFile('file_name'), $uploadFilePath); + $form_type = $this->request->getPost('form_type') ?? null; + if (!empty($File)) { $data['file_name'] = $File; } @@ -907,8 +917,14 @@ class ClientController extends AdminController $data['kyc_doc_type_id'] = $this->request->getPost('kyc_doc_id'); $data['updated_by'] = get_session_userid(); $insert = $this->clientKYCDocsModel->insert($data); + if ($insert) { - $kycDocs = $this->clientKYCDocsModel->getKycDocsName($id); + // $kycDocs = $this->clientKYCDocsModel->getKycDocsName($id); + if($form_type == "others"){ + $kycDocs = $this->generateKycOthersTable($this->request->getPost('client_id')); + }else{ + $kycDocs = $this->generateKycPrimaryTable($this->request->getPost('client_id')); + } return $this->respond(['status' => true, 'code' => 200, 'data' => $kycDocs], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200); @@ -2163,11 +2179,32 @@ class ClientController extends AdminController $builder->groupBy(['kd.id', 'ck.file_name']); $query = $builder->get(); - $result['data'] = $query->getResult(); + $result['data'] = $query->getResultArray(); + $result['client_id'] = $client_id; $table = view('client_kyc_primary_table', $result); - print_r($table); + return $table; + // print_r($table); die; + + } + + public function generateKycOthersTable($client_id){ + + $result['data'] = $this->clientKYCDocsModel + ->where('is_active', 1) + ->where('client_id', $client_id) + ->groupStart() + ->where('kyc_doc_type_id', null) + ->orWhere('kyc_doc_type_id', 0) + ->groupEnd() + ->findAll(); + + $result['client_id'] = $client_id; + $table = view('client_kyc_other_table', $result); + + return $table; + // print_r($table); die; } diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 971be548..6b2e7cd4 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -27,6 +27,7 @@ use App\Models\ClientDepositModel; use App\Models\PolicyPremium2Model; use App\Models\AuditHistoryModel; use App\Models\UserModel; +use App\Models\PartnerEndorsementRequestModel; use App\Controllers\Jobs; @@ -68,6 +69,7 @@ class EmployeeController extends AdminController protected $PolicyPremium2Model; protected $auditHistory; protected $userModel; + protected $partnerEndorsementRequestModel; public function __construct() { @@ -90,6 +92,7 @@ class EmployeeController extends AdminController $this->PolicyPremium2Model = new PolicyPremium2Model(); $this->auditHistory = new AuditHistoryModel(); $this->userModel = new userModel(); + $this->partnerEndorsementRequestModel = new PartnerEndorsementRequestModel(); } public function list() @@ -3007,11 +3010,31 @@ class EmployeeController extends AdminController } + /** + * Below function displays the endorsement list page. + * + * This method retrieves filter data from the request and fetches the endorsement list + * based on the provided filters such as client ID, policy ID, and status. + */ public function retailendorsementList() { - $data['message'] = 'File Not Found'; - echo view('errors/404', $data); + + $data = []; + $data['status'] = ['open' => 'Open', 'inprogress' => 'In-Progress', 'complete' => 'Complete']; + if (count($this->request->getGet())) { + $filterData = $this->request->getGet(); + $data['employees'] = $this->partnerEndorsementRequestModel->getRetailEndorsementList( + client_id: $filterData['client_id'], + insurer_id: $filterData['insurer_id'], + status: $filterData['status'] + ); + $data['getData'] = $filterData; + // echo "
";
+            // print_r($data); die;
+        }
+        $this->myLogger->logme('error', 'list called');
+        $this->loadLayout('retail_endorsement_list', $data);
     }
 
 }
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index 72ea2e99..7854fb21 100755
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -3423,7 +3423,7 @@ class EmployeeRestController extends AdminController
         $client_policy_id = $received_data['client_policy_id'];
         $insured_emp_id = $received_data['insured_emp_id'];
 
-        $file_data = "";
+        $file_data = [];
         if(isset($get_file_data) && !empty($get_file_data)){
             $file_path =   WRITEPATH . 'uploads/claim_files/';
             $file_data = multi_file_Upload($get_file_data, $file_path);
diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php
index 2cc47520..a80ec116 100755
--- a/app/Controllers/EmployeeServiceController.php
+++ b/app/Controllers/EmployeeServiceController.php
@@ -1702,6 +1702,15 @@ class EmployeeServiceController extends AdminController
                                 $value['relationship'] =  ucfirst(trim($value['relationship']));
                                 if(count($employee))
                                 {
+                                        if (isset($employee[0]['email_corporate']) && $employee[0]['email_corporate'] != '') 
+                                        {
+                                          unset($value['email_corporate']);
+                                        }
+
+                                        if (isset($employee[0]['mobile']) && $employee[0]['mobile'] != '') 
+                                        {
+                                          unset($value['mobile']);
+                                        }
                                     $value['updated_by'] = $file['created_by'];
                                     $value['id'] = $employee[0]['id'];
                                     $value['emp_status'] = 'active';
diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php
index cada5a8f..2b9afb78 100644
--- a/app/Controllers/PolicyTransactionController.php
+++ b/app/Controllers/PolicyTransactionController.php
@@ -383,7 +383,12 @@ class PolicyTransactionController extends BaseController
             }
 
             $client_data = $this->clientModel->where('id', $data['client_id'])->first();
-            $data['client_kyc']       = $this->clientKYCDocsModel->where('client_id',  $data['client_id'])->findAll();
+            $data['client_kyc'] = $this->clientKYCDocsModel->where('client_id',  $data['client_id'])->findAll();
+            
+            $clientController = new ClientController();
+            $data['client_kyc_primary_table']  =  $clientController->generateKycPrimaryTable($data['client_id']);
+            $data['client_kyc_other_table']  =  $clientController->generateKycOthersTable($data['client_id']);
+
             $data['entity_type_id'] =  $client_data['entity_type_id'];
 
             return $this->respondSuccess($insert, "Policy transaction created successfully", $data);
@@ -433,6 +438,11 @@ class PolicyTransactionController extends BaseController
 
             $client_data = $this->clientModel->where('id', $data['client_id'])->first();
             $data['client_kyc']       = $this->clientKYCDocsModel->where('client_id',  $data['client_id'])->findAll();
+            
+            $clientController = new ClientController();
+            $data['client_kyc_primary_table']  =  $clientController->generateKycPrimaryTable($data['client_id']);
+            $data['client_kyc_other_table']  =  $clientController->generateKycOthersTable($data['client_id']);
+
             $data['entity_type_id'] =  $client_data['entity_type_id'];
 
             return $this->respondSuccess($id, "Policy transaction updated successfully", $data);
@@ -977,7 +987,12 @@ class PolicyTransactionController extends BaseController
             ->join('employee_polices', 'employees.id = employee_polices.employee_id', 'left')
             ->where('employees.client_id', $data['client_id'])
             ->where('employees.is_active', 1)->findAll();
-        $data['client_kyc']   = $this->clientKYCDocsModel->where('client_id',  $data['client_id'])->findAll();
+        // $data['client_kyc']   = $this->clientKYCDocsModel->where('client_id',  $data['client_id'])->findAll();
+
+        $clientController = new ClientController();
+        $data['client_kyc_primary_table']  =  $clientController->generateKycPrimaryTable($data['client_id']);
+        $data['client_kyc_other_table']  =  $clientController->generateKycOthersTable($data['client_id']);
+
         $data['vehicle_docs'] = $this->clientKYCDocsModel
             ->where('client_id',  $data['client_id'])
             ->where('vehicle_id', $data['vehicle_id'])
diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php
index 2ce2e529..255b6507 100755
--- a/app/Controllers/UserController.php
+++ b/app/Controllers/UserController.php
@@ -676,12 +676,17 @@ class UserController extends AdminController
                 $fileId = $this->request->getPost('id');
 
                 if ($file && $file->isValid() && !$file->hasMoved()) {
-                        $fileName = $file->getName(); 
-                        $path = WRITEPATH.'uploads/incentives';
+                    
+                        $originalName = $file->getClientName(); 
+                        $extension    = $file->getExtension();  
+
+                        $fileName = pathinfo($originalName, PATHINFO_FILENAME) . '_' . date('Ymd_His') . '.' . $extension;
+
+                        $path = WRITEPATH . 'uploads/incentives';
                         $file->move($path, $fileName);
                         $data = [
                             'manager_id' => $managerId,
-                            'incentive_month' => date('Y-m-d', strtotime($month)),
+                            'incentive_month' => date('M Y', strtotime($month)),
                             'incentive_file_name' => $fileName,
                             'created_by' =>   get_session_userid()
                         ];
@@ -757,23 +762,33 @@ class UserController extends AdminController
             }
     }
 
-    public function downloadIncentivesFile($file_name)
+    public function downloadIncentivesFile($file_id)
     {
-        $file_name = basename($file_name);
-        $filePath = WRITEPATH . 'uploads/incentives/' . $file_name;
         try {
+            $result = $this->partnerManagerIncentiveFileModel->where('id', $file_id)->first();
+
+            if (!$result || empty($result['incentive_file_name'])) {
+                throw new \Exception("File Name Not Found");
+            }
+
+            $incentive_file_name = $result['incentive_file_name'];
+            $file_name = basename($incentive_file_name);
+            $filePath = WRITEPATH . 'uploads/incentives/' . $file_name;
+
             if (file_exists($filePath)) {
                 return $this->response->download($filePath, null);
             } else {
-                $data['message'] = 'File Not Found';
-                echo view('errors/404', $data);
+                throw new \Exception("File Not Found");
             }
+
         } catch (\Exception $e) {
-            // Handle any exceptions
-            $errorMessage = $e->getMessage();
-            $this->myLogger->logme('error', $errorMessage);
-            // You can return an error response here
-            echo $errorMessage;
+            
+            $this->myLogger->logme('error', $e->getMessage());
+
+            // Show 404 error view
+            $data['message'] = $e->getMessage();
+            return view('errors/404', $data);
         }
     }
+
 }
\ No newline at end of file
diff --git a/app/Models/PartnerEndorsementRequestModel.php b/app/Models/PartnerEndorsementRequestModel.php
index d8b162b4..083c832d 100755
--- a/app/Models/PartnerEndorsementRequestModel.php
+++ b/app/Models/PartnerEndorsementRequestModel.php
@@ -37,4 +37,53 @@ class PartnerEndorsementRequestModel extends Model
         'status',
     ];
 
+    public function getRetailEndorsementList($client_id, $insurers_id, $status)
+    {   
+        $query = $this->db->table('partner_endorsement_request per')
+            ->distinct()
+            ->select('
+                per.id,
+                per.client_id,
+                per.client_policy_id,
+                per.insurer_id,
+                per.insurer_branch_id,
+                per.policy_number,
+                per.endorsement_no,
+                per.endorsement_type,
+                per.endorsement_description,
+                per.created_at,
+                per.updated_by,
+                per.updated_at,
+                per.is_active,
+                per.created_by,
+                per.manager_id,
+                per.agent_id,
+                per.status,
+                i.name as insurer_name,
+                i.short_name as insurer_short_name,
+                c.client_name,
+                c.short_name as client_short_name,
+                ps.name as manager_name,
+                pa.name as agent_name
+            ')
+            ->join('insurers as i', 'i.id = per.insurer_id', 'left')
+            ->join('clients as c', 'c.id = per.client_id AND c.client_type = 2', 'left')
+            ->join('partner_staff as ps', 'ps.id = per.manager_id AND ps.role_id = 1', 'left')
+            ->join('partner_agent as pa', 'pa.id = per.agent_id', 'left');
+
+        if (!empty($status)) {
+            $query->where('per.status', $status);
+        }
+        if (!empty($client_id)) {
+            $query->where('per.client_id', $client_id);
+        }
+        if (!empty($insurers_id)) {
+            $query->where('per.insurer_id', $insurers_id);
+        }
+
+        $query->orderBy('per.id', 'desc'); 
+
+        return $query->get()->getResultArray();
+    }
+
 }
diff --git a/app/Views/UserList.php b/app/Views/UserList.php
index 3e83907b..544b544b 100755
--- a/app/Views/UserList.php
+++ b/app/Views/UserList.php
@@ -542,7 +542,7 @@ table.dataTable tbody td {
         
     
 
-