From c2fadd0e69877908106dfdce20d4ac32e6eb4c3d Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Tue, 30 Dec 2025 14:28:03 +0530 Subject: [PATCH 1/6] Endoresment create changes : GWM --- app/Controllers/EndorsementController.php | 25 +++++++---------------- app/Models/EndorsementTypeModel.php | 1 + 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index 21b093a..c8b0ffb 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -109,7 +109,7 @@ class EndorsementController extends ResourceController ->where('partner_policy.policy_number', $reqData['policy_number']) ->first(); - if (empty($policy)) { + if (empty($policy) && $reqData['policy_from'] == 'Internal') { return $this->respond(['status' => 'failed','code' => 404,'data' => 'Policy not found'], 200); } @@ -128,7 +128,8 @@ class EndorsementController extends ResourceController // Prepare endorsement data $endorsementData = [ - 'policy_number' => $policy['policy_number'], + 'policy_from' => $reqData['policy_from'], + 'policy_number' => $policy['policy_number'] ?? $reqData['policy_number'], 'client_policy_id' => $policy['client_policy_id'] ?? null, 'insurer_id' => $policy['insurer_id'] ?? null, 'insurer_branch_id' => $policy['insurer_branch_id'] ?? null, @@ -144,27 +145,15 @@ class EndorsementController extends ResourceController 'is_active' => 1 ]; - // ✅ Insert endorsement + if (!$this->EndorsementModel->insert($endorsementData)) { - return $this->respond([ - 'status' => 'failed', - 'code' => 422, - 'data' => $this->EndorsementModel->errors() - ], 422); + return $this->respond([ 'status' => 'failed', 'code' => 422, 'data' => $this->EndorsementModel->errors()], 422); } - return $this->respond([ - 'status' => 'success', - 'code' => 200, - 'data' => ['endorsement_id' => $this->EndorsementModel->getInsertID()] - ], 200); + return $this->respond([ 'status' => 'success', 'code' => 200, 'data' => ['endorsement_id' => $this->EndorsementModel->getInsertID()] ], 200); } catch (\Exception $e) { - return $this->respond([ - 'status' => 'failed', - 'code' => 500, - 'data' => $e->getMessage() - ], 500); + return $this->respond([ 'status' => 'failed', 'code' => 500, 'data' => $e->getMessage() ], 500); } } diff --git a/app/Models/EndorsementTypeModel.php b/app/Models/EndorsementTypeModel.php index c8b6c34..f7ed484 100644 --- a/app/Models/EndorsementTypeModel.php +++ b/app/Models/EndorsementTypeModel.php @@ -14,6 +14,7 @@ class EndorsementTypeModel extends Model protected $returnType = 'array'; protected $allowedFields = [ + 'policy_from', 'endorsement_type', 'is_active', 'created_by', From 2e00095510742260a0b18e53c3c8a945c8f7785f Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Tue, 30 Dec 2025 14:47:40 +0530 Subject: [PATCH 2/6] Endoresment update changes : GWM --- app/Config/Routes.php | 1 + app/Controllers/EndorsementController.php | 68 +++++++++++++++++++++++ app/Models/EndorsementModel.php | 2 + app/Models/EndorsementTypeModel.php | 2 +- 4 files changed, 72 insertions(+), 1 deletion(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 3025bc1..82bd513 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -133,6 +133,7 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { //endorsement $routes->get('endorsement/endorsementList', 'EndorsementController::endorsementList'); $routes->post('endorsement/createEndorsement', 'EndorsementController::createEndorsement'); + $routes->post('endorsement/updateEndorsement', 'EndorsementController::updateEndorsement'); //dashboard $routes->get('dashboard/managerDashboard', 'DashboardController::managerDashboard'); diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index c8b0ffb..d3e2aea 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -157,6 +157,74 @@ class EndorsementController extends ResourceController } } + public function updateEndorsement() + { + try { + + $endorsementId = $this->request->getPost('id'); + + if (!$endorsementId) { + return $this->respond([ 'status' => 'failed', 'code' => 400, 'data' => 'endorsementId is required' ], 200); + } + + $reqData = $this->request->getPost(); + + // Fetch existing record + $endorsement = $this->EndorsementModel->find($endorsementId); + + if (empty($endorsement)) { + return $this->respond([ 'status' => 'failed', 'code' => 404, 'data' => 'Endorsement not found' ], 200); + } + + // Handle upload (endorsement completion file) + $uploadFile = $this->request->getFile('endorsement_completion_file'); + $uploadedCompletionFile = $endorsement['endorsement_completion_file']; // keep old if not replaced + + if ($uploadFile && $uploadFile->isValid()) { + + $uploadPath = WRITEPATH . 'uploads/endorsement/'; + if (!is_dir($uploadPath)) { + mkdir($uploadPath, 0777, true); + } + + $uploadedCompletionFile = time() . '_' . $uploadFile->getRandomName(); + $uploadFile->move($uploadPath, $uploadedCompletionFile); + } + + // Prepare data to update + $updateData = [ + 'endorsement_type' => $reqData['endorsement_type'] ?? $endorsement['endorsement_type'], + 'endorsement_description' => $reqData['endorsement_description'] ?? $endorsement['endorsement_description'], + 'endorsement_no' => $reqData['endorsement_no'] ?? $endorsement['endorsement_no'], + 'status' => 'Completed', // Fixed Update to Completed + 'endorsement_completion_file' => $uploadedCompletionFile, + 'updated_by' => $reqData['updated_by'] ?? null, + ]; + + if (!$this->EndorsementModel->update($endorsementId, $updateData)) { + return $this->respond([ + 'status' => 'failed', + 'code' => 422, + 'data' => $this->EndorsementModel->errors() + ], 422); + } + + return $this->respond([ + 'status' => 'success', + 'code' => 200, + 'data' => ['endorsement_id' => $endorsementId, 'message' => 'Endorsement updated successfully'] + ], 200); + + } catch (\Exception $e) { + return $this->respond([ + 'status' => 'failed', + 'code' => 500, + 'data' => $e->getMessage() + ], 500); + } + } + + diff --git a/app/Models/EndorsementModel.php b/app/Models/EndorsementModel.php index e9c57a7..8992f29 100644 --- a/app/Models/EndorsementModel.php +++ b/app/Models/EndorsementModel.php @@ -12,6 +12,7 @@ class EndorsementModel extends Model protected $useSoftDeletes = false; protected $allowedFields = [ + 'policy_from', 'client_id', 'client_policy_id', 'insurer_id', @@ -24,6 +25,7 @@ class EndorsementModel extends Model 'endorsement_description', 'status', 'endorsement_file_name', + 'endorsement_completion_file', 'created_at', 'updated_by', 'updated_at', diff --git a/app/Models/EndorsementTypeModel.php b/app/Models/EndorsementTypeModel.php index f7ed484..51e16a8 100644 --- a/app/Models/EndorsementTypeModel.php +++ b/app/Models/EndorsementTypeModel.php @@ -14,7 +14,7 @@ class EndorsementTypeModel extends Model protected $returnType = 'array'; protected $allowedFields = [ - 'policy_from', + 'endorsement_type', 'is_active', 'created_by', From 9e9171cdf8070f8ac2f7dd776d640aa6ffbb7a67 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Tue, 30 Dec 2025 15:58:42 +0530 Subject: [PATCH 3/6] GWM --- app/Controllers/EndorsementController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index d3e2aea..06df28f 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -135,7 +135,7 @@ class EndorsementController extends ResourceController 'insurer_branch_id' => $policy['insurer_branch_id'] ?? null, 'client_id' => $policy['client_id'] ?? null, 'agent_id' => $policy['agent_id'] ?? null, - 'manager_id' => $policy['manager_id'] ?? null, + 'manager_id' => $reqData['manager_id'] ?? null, 'endorsement_type' => $reqData['endorsement_type'], 'endorsement_description'=> $reqData['endorsement_description'], 'endorsement_no' => $reqData['endorsement_no'] ?? null, From 0a3699730506fac014d39663056c3233af1098f5 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Tue, 30 Dec 2025 18:18:40 +0530 Subject: [PATCH 4/6] GWM --- app/Controllers/EndorsementController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index 06df28f..04afc6a 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -196,7 +196,7 @@ class EndorsementController extends ResourceController 'endorsement_type' => $reqData['endorsement_type'] ?? $endorsement['endorsement_type'], 'endorsement_description' => $reqData['endorsement_description'] ?? $endorsement['endorsement_description'], 'endorsement_no' => $reqData['endorsement_no'] ?? $endorsement['endorsement_no'], - 'status' => 'Completed', // Fixed Update to Completed + 'status' => $reqData['status'] , 'endorsement_completion_file' => $uploadedCompletionFile, 'updated_by' => $reqData['updated_by'] ?? null, ]; From 92b4287e1329688cff3e80da1aaf81c790cc29a0 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Wed, 31 Dec 2025 11:45:30 +0530 Subject: [PATCH 5/6] New columns added in endorsment request table : GWM --- app/Config/Routes.php | 1 + app/Controllers/EndorsementController.php | 37 +++++++++++++++++++++++ app/Models/EndorsementModel.php | 4 +++ 3 files changed, 42 insertions(+) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 82bd513..17b7e18 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -134,6 +134,7 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { $routes->get('endorsement/endorsementList', 'EndorsementController::endorsementList'); $routes->post('endorsement/createEndorsement', 'EndorsementController::createEndorsement'); $routes->post('endorsement/updateEndorsement', 'EndorsementController::updateEndorsement'); + $routes->get('endorsement/downloadDndorsementCompletionFile', 'EndorsementController::downloadDndorsementCompletionFile'); //dashboard $routes->get('dashboard/managerDashboard', 'DashboardController::managerDashboard'); diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index 04afc6a..766126a 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -198,6 +198,10 @@ class EndorsementController extends ResourceController 'endorsement_no' => $reqData['endorsement_no'] ?? $endorsement['endorsement_no'], 'status' => $reqData['status'] , 'endorsement_completion_file' => $uploadedCompletionFile, + 'contact_person' => $reqData['contact_person'] , + 'financia_or_non_financial' => $reqData['financia_or_non_financial'] , + 'endorsement_premium' => $reqData['endorsement_premium'] , + 'pending_days' => $reqData['pending_days'] , 'updated_by' => $reqData['updated_by'] ?? null, ]; @@ -225,6 +229,39 @@ class EndorsementController extends ResourceController } + public function downloadDndorsementCompletionFile() + { + try { + $id = $this->request->getGet('id'); + + if (!$id) { + return $this->respond(['status' => 'failed', 'code' => 400, 'data' => 'ID is required'], 200); + } + + // Fetch record from DB + $fileRecord = $this->EndorsementModel->find($id); + + if (!$fileRecord) { + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => 'File not found'], 200); + } + + $filePath = WRITEPATH . 'uploads/endorsement/' . $fileRecord['endorsement_completion_file']; + + if (!file_exists($filePath)) { + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => 'File missing on server'], 200); + } + + // Force file download + return $this->response->download($filePath, null); + + } catch (\Exception $e) { + return $this->respond(['status' => 'failed', 'code' => 500, 'message' => $e->getMessage()], 500); + } + } + + + + diff --git a/app/Models/EndorsementModel.php b/app/Models/EndorsementModel.php index 8992f29..e9d8e85 100644 --- a/app/Models/EndorsementModel.php +++ b/app/Models/EndorsementModel.php @@ -26,6 +26,10 @@ class EndorsementModel extends Model 'status', 'endorsement_file_name', 'endorsement_completion_file', + 'contact_person', + 'financia_or_non_financial', + 'endorsement_premium', + 'pending_days', 'created_at', 'updated_by', 'updated_at', From b4304f184bff5b45845b62f3a76c7907f35ba1ce Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Wed, 31 Dec 2025 11:47:57 +0530 Subject: [PATCH 6/6] New columns added in endorsment request table : GWM --- app/Config/Routes.php | 2 +- app/Controllers/EndorsementController.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 17b7e18..8496c68 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -134,7 +134,7 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { $routes->get('endorsement/endorsementList', 'EndorsementController::endorsementList'); $routes->post('endorsement/createEndorsement', 'EndorsementController::createEndorsement'); $routes->post('endorsement/updateEndorsement', 'EndorsementController::updateEndorsement'); - $routes->get('endorsement/downloadDndorsementCompletionFile', 'EndorsementController::downloadDndorsementCompletionFile'); + $routes->get('endorsement/downloadEndorsementCompletionFile', 'EndorsementController::downloadEndorsementCompletionFile'); //dashboard $routes->get('dashboard/managerDashboard', 'DashboardController::managerDashboard'); diff --git a/app/Controllers/EndorsementController.php b/app/Controllers/EndorsementController.php index 766126a..dbed485 100644 --- a/app/Controllers/EndorsementController.php +++ b/app/Controllers/EndorsementController.php @@ -229,7 +229,7 @@ class EndorsementController extends ResourceController } - public function downloadDndorsementCompletionFile() + public function downloadEndorsementCompletionFile() { try { $id = $this->request->getGet('id');