MERGE_CODE_MERAGE : RV

This commit is contained in:
VENKATESHWARAN 2025-08-21 15:00:24 +05:30
commit 22f25022f7
6 changed files with 210 additions and 12 deletions

View File

@ -495,6 +495,11 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
$routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage");
$routes->post("logHrActivity", "RestAuthenticationController::logHrActivity");
$routes->get("hrFileList", "EmployeeRestController::hrFileList");
$routes->get("hrFileUploadMasters", "EmployeeRestController::hrFileUploadMasters");
$routes->get("hrFileDownload", "EmployeeRestController::hrFileDownload");
$routes->post("hrFileUpload", "EmployeeRestController::hrFileUpload");
});
$routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEmployeeActiveOrInactivePolicy");
$routes->get("sendPushNotification", "EmployeeRestController::sendPushNotification");

View File

@ -133,6 +133,9 @@ class ClientController extends AdminController
$field = $this->request->getPost('field');
$value = $this->request->getPost('value');
if($value == '')
return $this->response->setJSON(['isDuplicate' => false]);
// Load the database if not already loaded
$db = db_connect();

View File

@ -27,6 +27,7 @@ use App\Models\ClientDepositModel;
use App\Models\PolicyPremium2Model;
use App\Models\AuditHistoryModel;
use App\Models\UserModel;
use App\Models\HrFileUploadModel;
@ -73,6 +74,7 @@ class EmployeeController extends AdminController
protected $PolicyPremium2Model;
protected $auditHistory;
protected $userModel;
protected $hrFileUploadModel;
public function __construct()
@ -96,6 +98,7 @@ class EmployeeController extends AdminController
$this->PolicyPremium2Model = new PolicyPremium2Model();
$this->auditHistory = new AuditHistoryModel();
$this->userModel = new userModel();
$this->hrFileUploadModel = new HrFileUploadModel();
}
public function list()
@ -2825,4 +2828,12 @@ class EmployeeController extends AdminController
}

View File

@ -32,7 +32,7 @@ use App\Models\ClientBranchModel;
use App\Models\AuditHistoryModel;
use App\Models\SIMappingModel;
use App\Models\InsurerModel;
use App\Models\HrFileUploadModel;
use App\Controllers\Jobs ;
use App\Controllers\JobWorker ;
@ -79,6 +79,7 @@ class EmployeeRestController extends AdminController
protected $siMappingModel;
protected $employeeHelper;
protected $insurerModel;
protected $hrFileUploadModel;
public function __construct()
@ -106,6 +107,7 @@ class EmployeeRestController extends AdminController
$this->siMappingModel = new SIMappingModel();
$this->employeeHelper = new EmployeeHelper();
$this->insurerModel = new InsurerModel();
$this->hrFileUploadModel = new HrFileUploadModel();
}
@ -1335,7 +1337,7 @@ class EmployeeRestController extends AdminController
$array->family_floaters_of_dependent_and_gst_value = 0;
}
$checkGmcParentsPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, policy_type.long_name as Policy_Name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms, client_policy.enrolment_visibility')
$checkGmcParentsPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, policy_type.long_name as Policy_Name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.is_premium_summery as is_premium_summery, client_policy.enrolment_visibility')
->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
->where('client_policy.policy_type_id', 3 )
->where('client_policy.is_addon', 1 )
@ -3496,4 +3498,142 @@ class EmployeeRestController extends AdminController
}
//--------------------------------------------------------------------------------------------
public function hrFileUpload()
{
try {
// Check file
$file = $this->request->getFile('file_name');
if (!$file) {
return $this->response->setJSON([
'status' => false,
'message' => "Invalid file or file not uploaded.",
'data' => "No Data"
]);
}
// Upload folder path
$uploadPath = WRITEPATH . 'uploads/hr_files/';
// If directory not exists, create it
if (!is_dir($uploadPath)) {
mkdir($uploadPath, 0777, true);
}
// New file name with timestamp
$newFileName = time() . '_' . $file->getRandomName();
// Move file
$file->move($uploadPath, $newFileName);
// Prepare data
$data = [
'client_id' => $this->request->getPost('client_id'),
'client_branch_id' => $this->request->getPost('client_branch_id'),
'policy_no' => $this->request->getPost('policy_no'),
'file_name' => $newFileName,
'file_action' => $this->request->getPost('file_action'),
'status' => $this->request->getPost('status'),
'created_by' => $this->request->getPost('created_by'),
'updated_by' => $this->request->getPost('created_by'),
];
// Save into DB
$this->hrFileUploadModel->insert($data);
return $this->respondCreated([
'status' => true,
'message' => 'File uploaded successfully',
'data' => $data
]);
} catch (\Exception $e) {
return $this->failServerError($e->getMessage());
}
}
public function hrFileDownload($id = null)
{
try {
$file_id = $this->request->getGet('id') ?? $id;
// Find record
$record = $this->hrFileUploadModel->find($file_id);
if (!$record) {
return $this->failNotFound("File record not found");
}
$uploadPath = WRITEPATH . 'uploads/hr_files/';
$filePath = $uploadPath . $record['file_name'];
if (!file_exists($filePath)) {
return $this->failNotFound("File not found on server");
}
// Force file download
return $this->response->download($filePath, null)
->setFileName($record['file_name']);
} catch (\Exception $e) {
return $this->failServerError($e->getMessage());
}
}
public function hrFileList()
{
try {
$request = service('request');
$builder = $this->hrFileUploadModel;
// Allowed filter keys
$filters = [
'client_id',
'client_branch_id',
'policy_no',
'file_action',
'status',
'created_by'
];
// Apply filters dynamically
foreach ($filters as $key) {
$value = $request->getGetPost($key); // supports both GET and POST
if (!empty($value)) {
$builder->where($key, $value);
}
}
// Fetch results
$data = $builder->findAll();
return $this->respond([
'status' => true,
'message' => 'File list fetched successfully',
'data' => $data
]);
} catch (\Exception $e) {
return $this->failServerError($e->getMessage());
}
}
public function hrFileUploadMasters()
{
try {
//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'];
return $this->respond([
'status' => true,
'message' => 'File inception upload masters',
'data' => $data
]);
} catch (\Exception $e) {
return $this->failServerError($e->getMessage());
}
}
}

View File

@ -30,20 +30,25 @@ class EmployeeHelper
public function validation_addEmployeeAndDependence($data){
$employeeData = $this->employeeModel->where('emp_code',$data[0]->emp_code)
->where('client_id',$data[0]->client_id)
->where('client_branch_id',$data[0]->client_branch_id)
->where('is_active', 1 )
->where('is_addon_value',0)
->findAll();
$arr [] = $data;
$arr [] = $data;
$client_policy_id = $data[0]->client_policy_id ;
$array = $this->clientPolicyModel
->where('id',$client_policy_id)
->find();
$is_addon_value = $array[0]['is_addon'];
if($is_addon_value == 1){ $is_addon_value = 0 ; }else{ $is_addon_value = 1 ; }
$employeeData = $this->employeeModel->where('emp_code',$data[0]->emp_code)
->where('client_id',$data[0]->client_id)
->where('client_branch_id',$data[0]->client_branch_id)
->where('is_active', 1 )
->where('is_addon_value',$is_addon_value)
->findAll();
$array = $array[0];

View File

@ -0,0 +1,34 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class HrFileUploadModel extends Model
{
protected $table = 'hr_file_upload';
protected $primaryKey = 'id';
protected $useAutoIncrement = true;
// Allowed fields
protected $allowedFields = [
'client_id',
'client_branch_id',
'policy_no',
'file_name',
'file_action',
'status',
'created_by',
'created_at',
'updated_by',
'updated_at'
];
// Automatically set timestamps
protected $useTimestamps = true;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
// Return type
protected $returnType = 'array';
}