From c3e898c9800cb6639e554e9b4e2687459056cbe8 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Fri, 3 Apr 2026 17:25:07 +0530 Subject: [PATCH] GWM: payout upload --- app/Config/Routes.php | 1 + app/Controllers/PolicyController.php | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 808e78f..685dadc 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -135,6 +135,7 @@ $routes->group('api', ['filter' => ["jwtAuth:1,2,3,4,agent","appSignature"] ], f $routes->get("policy/fuelTypeMaster", "PolicyController::fuelTypeMaster"); $routes->get("policy/softdelete", "PolicyController::softdelete"); $routes->get('policy/downloadPendingCommissionExcel', 'PolicyController::downloadPendingCommissionExcel'); + $routes->get('policy/downloadCommissionUploadSampleExcel', 'PolicyController::downloadCommissionUploadSampleExcel'); $routes->post('policy/uploadCommissionExcel', 'PolicyController::uploadCommissionExcel'); $routes->post('policy/payoutInilneEditUpdate', 'PolicyController::payoutInilneEditUpdate'); diff --git a/app/Controllers/PolicyController.php b/app/Controllers/PolicyController.php index 1dcb692..30e0ed9 100644 --- a/app/Controllers/PolicyController.php +++ b/app/Controllers/PolicyController.php @@ -1615,6 +1615,32 @@ class PolicyController extends ResourceController } } + /** + * GET: static sample .xlsx for clients (same columns as uploadCommissionExcel). + * No filters; use downloadPendingCommissionExcel for real pending rows from the database. + */ + public function downloadCommissionUploadSampleExcel() + { + try { + $header = ['Agent Code', 'Policy Number', 'Payout Amount']; + // Example rows — clients replace with real data or delete before upload. + $dataRows = [ + ['AG001', 'YOUR-POLICY-NUMBER-1', '1500.00'], + ['AG002', 'YOUR-POLICY-NUMBER-2', ''], + ]; + $title = 'Sample: fill Payout Amount, keep Agent Code matching the policy, upload via policy/uploadCommissionExcel'; + $fileName = 'commission_payout_upload_sample.xlsx'; + + $this->streamPendingCommissionExcel($header, $dataRows, $title, $fileName); + } catch (\Throwable $e) { + return $this->respond([ + 'status' => 'failed', + 'code' => 500, + 'message' => $e->getMessage(), + ], 500); + } + } + /** * POST multipart field: commission_excel (xlsx). Updates partner_policy.commission_amount by policy number. */