From 0648ca425fe4df6534192bd06eba04e429162c8c Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 18 Nov 2025 09:21:47 +0530 Subject: [PATCH] CHANGE_COMMISSION --- app/Controllers/RuleImportController.php | 10 ++- app/Models/CommissionFilesModel.php | 33 +++++++++ app/Views/commission_file_upload.php | 88 +++++++++++++----------- app/Views/layout/header.php | 2 +- 4 files changed, 88 insertions(+), 45 deletions(-) diff --git a/app/Controllers/RuleImportController.php b/app/Controllers/RuleImportController.php index 0c073e55..d181284e 100644 --- a/app/Controllers/RuleImportController.php +++ b/app/Controllers/RuleImportController.php @@ -35,7 +35,7 @@ class RuleImportController extends AdminController $data['departments'] = $this->departments; $data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll(); $data['commission_file_list'] = $this->commissionFilesModel - ->select('commission_files.*, insurers.name as insurer_name, user_profiles.first_name as created_user_name') + ->select('commission_files.*, insurers.short_name as insurer_name, user_profiles.first_name as created_user_name') ->join('insurers', 'commission_files.insurer_id = insurers.id') ->join('user_profiles', 'commission_files.created_by = user_profiles.id') ->where('commission_files.is_active', 1) @@ -98,6 +98,7 @@ class RuleImportController extends AdminController // --------------------------------------------------------- // 2. Read POST fields // --------------------------------------------------------- + // print_r($this->request->getPost()); die; $insurerId = $this->request->getPost('insurer_id'); $department = $this->request->getPost('department'); $commissionMonth = $this->request->getPost('commission_month'); @@ -108,6 +109,9 @@ class RuleImportController extends AdminController return $this->respond(['status' => false, 'code' => 404, 'message' => 'Missing required fields: insurer_id, department, commission_month'], 200); } + $commissionMonth = $commissionMonth . '-01'; + $commissionMonth = change_date_format($commissionMonth, 'Y-M-d', 'Y-m-d'); + // Optional / default fields $postedFileName = $this->request->getPost('file_name') ?: $file->getClientName(); $fileStatus = $this->request->getPost('file_status') ?: 'pending'; @@ -271,7 +275,7 @@ class RuleImportController extends AdminController // Update DB: status, rules_count, updated_by $this->commissionFilesModel->update($insertId, [ - 'file_status' => 'pending', + 'file_status' => 'success', 'rules_count' => $rulesCount, 'updated_by' => (int)$createdBy, 'updated_at' => date('Y-m-d H:i:s'), @@ -354,7 +358,7 @@ class RuleImportController extends AdminController try { $this->commissionFilesModel->update($insertId, [ 'file_status' => 'failed', - 'updated_by' => isset($createdBy) ? (int)$createdBy : null, + 'updated_by' => get_session_userid(), 'updated_at' => date('Y-m-d H:i:s'), 'notes' => 'Upload exception: ' . $ex->getMessage(), ]); diff --git a/app/Models/CommissionFilesModel.php b/app/Models/CommissionFilesModel.php index 03035526..9ddf1e35 100644 --- a/app/Models/CommissionFilesModel.php +++ b/app/Models/CommissionFilesModel.php @@ -29,6 +29,39 @@ class CommissionFilesModel extends Model protected $createdField = 'created_at'; protected $updatedField = 'updated_at'; + // Callbacks + protected $allowCallbacks = true; + protected $beforeInsert = ["checkAndADDCreatedByValue"]; + protected $afterInsert = []; + protected $beforeUpdate = ["checkAndUpdateUpdatedByValue"]; + protected $afterUpdate = []; + protected $beforeFind = []; + protected $afterFind = []; + protected $beforeDelete = []; + protected $afterDelete = []; + + protected function checkAndADDCreatedByValue(array $data) + { + // Check if 'updated_by' value is null or empty + if (empty($data['data']['created_by'])) { + // Set 'updated_by' value to the current session user ID + $data['data']['created_by'] = get_session_userid(); + } + + return $data; + } + + protected function checkAndUpdateUpdatedByValue(array $data) + { + // Check if 'updated_by' value is null or empty + if (empty($data['data']['updated_by'])) { + // Set 'updated_by' value to the current session user ID + $data['data']['updated_by'] = get_session_userid(); + } + + return $data; + } + // Validation rules (optional) // protected $validationRules = [ // 'file_name' => 'required|min_length[1]|max_length[100]', diff --git a/app/Views/commission_file_upload.php b/app/Views/commission_file_upload.php index f3e0770c..72fc1ca3 100644 --- a/app/Views/commission_file_upload.php +++ b/app/Views/commission_file_upload.php @@ -1,7 +1,9 @@