ria/app/Controllers/Employeedetails.php

860 lines
33 KiB
PHP

<?php
namespace App\Controllers;
use App\Controllers\BaseController;
use CodeIgniter\Validation\Exceptions\ValidationException;
use App\Models\Companydetails_model;
use App\Models\Employeedetails_model;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
/**
* Module : Employee
* Employeedetails Class to control all employee related operations.
* @author : Gandhimathi
* @version : 1.1
* @since : 07 Apr 2017
* @example : Revised at 15th april 2024
*/
class Employeedetails extends BaseController
{
protected $companydetailsmodel;
protected $employeedetails_model;
protected $session;
/**
* This is default constructor of the class
*/
public function __construct()
{
parent::__construct();
$this->employeedetails_model = new Employeedetails_model();
$this->companydetailsmodel = new Companydetails_model();
$this->session = session();
helper('form'); //$this->load->library('form_validation');
$this->isLoggedIn();
}
/**
* This function is used to load the Employee details
*/
public function index()
{
$data['userRecords'] = $this->employeedetails_model->employeeListing();
$this->global['pageTitle'] = 'Employee Listing';
$this->loadViews("employeeListing", $this->global, $data, NULL);
}
/*
Validation for Gender status Dropdown
*/
function Gender_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('Gender_validate', 'Please Select Gender.');
echo "<script>alert('Please Select Gender.');</script>";
return false;
} else // user picked something
{
return true;
}
}
/*
Validation for Martial status Dropdown
*/
function Martial_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('Martial_validate', 'Please Select Martial status.');
echo "<script>alert('Please Select Martial status.');</script>";
return false;
} else // user picked something
{
return true;
}
}
/*
Validation for BloodGroup Dropdown
*/
function Blood_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('Blood_validate', 'Please Select Blood Group.');
echo "<script>alert('Please Select Blood Group.');</script>";
return false;
} else // user picked something
{
return true;
}
}
/*
Validation for Qualification Dropdown
*/
function select_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('select_validate', 'Supplier Record Not updated!');
echo "<script>alert('Supplier Record Not updated!');</script>";
return false;
} else // user picked something
{
return true;
}
}
/*
Validation for Department Dropdown
*/
function Dep_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('Dep_validate', 'Please Select Department.');
echo "<script>alert('Please Select Department.');</script>";
return false;
} else // user picked something
{
return true;
}
}
/*
Validation for Desigination Dropdown
*/
function Des_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
// $this->validator->setMessage('Des_validate', 'Please Select Desigination.');
echo "<script>alert('Please Select Desigination.');</script>";
return false;
} else // user picked something
{
return true;
}
}
/* To Check the Pan Number is exists in the database or not */
function Pan_validate()
{
// alert('validation pan');
$PanNo = $this->request->getPost('panno');
$query = $this->employeedetails_model->checkPANExists($PanNo);
if (count($query) > 0) {
// $this->validator->setMessage('checkPanValidate', 'The Entered PAN Number is already exists in the Database.');
echo "<script>alert('The Entered PAN Number is already exists in the Database.');</script>";
return false;
} else {
return true;
}
}
/* To Check the Pan Number is exists in the database or not */
function Aadhar_validate()
{
$AadharNo = $this->request->getPost('aadharno');
$query = $this->employeedetails_model->checkAadharExists($AadharNo);
if (count($query) > 0) {
// $this->validator->setMessage('checkAadharValidate', 'The Entered Aadhar Number is already exists in the Database.');
echo "<script>alert('The Entered Aadhar Number is already exists in the Database.');</script>";
return false;
} else {
return true;
}
}
/**
* This function is used to save the new Employee form in the database
*/
function AddNewEmployee()
{
$validation = \Config\Services::validation();
// $this->validator->setRules([
// 'ContactNumber'=> 'trim|required|min_length[10]|max_length[10]',
// 'emailid'=> 'trim|required|valid_email',
// 'gender'=> 'callback_Gender_validate',
// 'MartialStatus'=> 'callback_Martial_validate',
// 'bloodgroup'=>'callback_Blood_validate',
// 'emergencycontactnumber'=> 'trim|required|min_length[10]|max_length[10]',
// 'desigination'=> 'callback_Des_validate',
// 'departmentname'=> 'callback_Dep_validate',
// 'eduqualifaction'=> 'callback_select_validate',
// 'referrercontno'=> 'trim|min_length[10]|max_length[10]',
// 'aadharno'=> 'trim|min_length[14]|max_length[14]',
// 'panno'=> 'trim|min_length[10]|max_length[10]',
// 'passportno'=> 'trim|min_length[9]|max_length[9]',
// 'accountno'=> 'trim|min_length[10]|max_length[20]',
// 'pfno'=> 'trim|min_length[22]|max_length[22]',
// 'esino'=> 'trim|min_length[10]|max_length[10]']);
// if ($this->validator->run() == FALSE) {
// $this->addemployee();
// //echo 'Validate method called';
// } else {
//echo 'Validate not method called';
$photo = $this->request->getFile('photo');
$Picture = "";
if ($photo->isValid() && !$photo->hasMoved()) {
$uploadDir = ROOTPATH . 'public/uploads/images/';
$allowedTypes = ['jpg', 'jpeg', 'png', 'gif'];
if (in_array($photo->getExtension(), $allowedTypes)) {
$newName = $photo->getRandomName();
if(!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); }
$photo->move($uploadDir, $newName);
$Picture = $newName;
}
}
// $Profile = $this->request->getPost('photo');
$FirstName = $this->request->getPost('FirstName');
$LastName = $this->request->getPost('LastName');
$FatherName = $this->request->getPost('FatherName');
$DateofBirth = $this->request->getPost('DateofBirth');
$ContactNumber = $this->request->getPost('ContactNumber');
$EmailId = $this->request->getPost('emailid');
$comEmailId = $this->request->getPost('comemailid');
$Gender = $this->request->getPost('gender');
$MartialStatus = $this->request->getPost('MartialStatus');
$BloodGroup = $this->request->getPost('bloodgroup');
$CurrentAddress = $this->request->getPost('currentaddress');
$permanentaddress = $this->request->getPost('permanentaddress');
$emergencycontactname = $this->request->getPost('emergencycontactname');
$emergencycontactnumber = $this->request->getPost('emergencycontactnumber');
$desigination = $this->request->getPost('desigination');
$departmentCode = $this->request->getPost('departmentname');
$dateofjoining = $this->request->getPost('dateofjoining');
$pre_experience = $this->request->getPost('Previousexperience');
if ($pre_experience == '') {
$Previousexperience = null;
} else {
$Previousexperience = $pre_experience;
}
$eduqualifaction = $this->request->getPost('eduqualifaction');
$addqualification = $this->request->getPost('addqualification');
$referredby = $this->request->getPost('referredby');
$referrercontno = $this->request->getPost('referrercontno');
$accountno = $this->request->getPost('accountno');
$ifsccode = $this->request->getPost('ifsccode');
$bankbranchname = $this->request->getPost('bankbranchname');
$bankaddress = $this->request->getPost('bankaddress');
$aadharno = $this->request->getPost('aadharno');
$panno = $this->request->getPost('panno');
$panno = $panno !== null && is_string($panno) ? strtoupper($panno) : null;
$passportno = $this->request->getPost('passportno');
$passportno = $passportno !== null && is_string($passportno) ? strtoupper($passportno) : null;
$ValidTill = $this->request->getPost('ValidTill');
$addinfo = $this->request->getPost('addinfo');
$IsActive = '1';
$driverlicense = $this->request->getPost('driverlicense');
$driverlicense = $driverlicense !== null && is_string($driverlicense) ? strtoupper($driverlicense) : null;
$licenseExpiryDate = $this->request->getPost('licenseExpiryDate');
$VoterID = $this->request->getPost('voterID');
$VoterID = $VoterID !== null && is_string($VoterID) ? strtoupper($VoterID) : null;
$PFno = $this->request->getPost('pfno');
$ESIno = $this->request->getPost('esino');
$Nominee = $this->request->getPost('nomineename');
$createdby = $this->session->get('userId');
if ($licenseExpiryDate != '') {
//$License_ExpiryDate = get_date_format($licenseExpiryDate);
$License_ExpiryDate = get_date_time_format($licenseExpiryDate);
} else {
$License_ExpiryDate = null;
}
$DOB = get_date_time_format($DateofBirth);
$DOJ = get_date_time_format($dateofjoining);
if ($ValidTill != '') {
$Valid = get_date_time_format($ValidTill);
} else {
$Valid = null;
}
//echo $DOB;
$Employee = array(
'FirstName' => $FirstName, 'LastName' => $LastName, 'FatherName' => $FatherName,
'Gender' => $Gender, 'DateofBirth' => $DOB, 'ContactNumber' => $ContactNumber, 'EmailId' => $EmailId,
'BloodGroup' => $BloodGroup, 'MartialStatus' => $MartialStatus, 'DateofJoining' => $DOJ,
'PreviousYearsOfExp' => $Previousexperience, 'Designation' => $desigination,
'Departmentcode' => $departmentCode, 'PresentAddress' => $CurrentAddress,
'PermanentAddress' => $permanentaddress, 'EmergencyContactName' => $emergencycontactname,
'EmergencyContactNumber' => $emergencycontactnumber, 'Edu_Qualification' => $eduqualifaction,
'Additional_Qualification' => $addqualification, 'AadharNo' => $aadharno, 'PANNo' => $panno,
'BankAccountNo' => $accountno, 'IFSCCode' => $ifsccode, 'BankBranchName' => $bankbranchname,
'BankAddress' => $bankaddress, 'PassportNo' => $passportno, 'Passport_Valid_till' => $Valid,
'IsActive' => $IsActive, 'ProfilePic' => $Picture, 'Reference_Name' => $referredby,
'Reference_ContactNumber' => $referrercontno, 'Remarks' => $addinfo, 'CreatedBy' => $createdby,
'personalEmailId' => $comEmailId, 'DriverLicense' => $driverlicense,
'LicenseValidtill' => $License_ExpiryDate, 'VoterID' => $VoterID, 'PFNO' => $PFno, 'ESI' => $ESIno,
'NomineeDetails' => $Nominee
);
//print_r($Employee);die();
$result = $this->employeedetails_model->addNewemployee($Employee);
if ($result > 0) {
// $this->session->set_flashdata('Success', 'New Employee created successfully!');
$this->session->setFlashdata('success', 'New Employee created successfully!');
// echo "<script>alert('New Employee Created successfully!');</script>";
} else {
// $this->session->set_flashdata('Error', 'New Employee details not saved');
$this->session->setFlashdata('error', 'Record Not Saved!');
// echo "<script>alert('Record Not Saved!');</script>";
// redirect('employeeListing', 'refresh');
}
return redirect()->route('employeeListing');
// }
}
/**
* This function is used to load the add new Employee form with dropdown values */
function addemployee()
{
$GenderConfigID = 'C013';
$MartialConfigID = 'C012';
$QualificationConfigID = 'C014';
$DesignationConfigID = 'C010';
$BloodGroupConfigID = 'C011';
$data['Gender'] = $this->employeedetails_model->getConfigValue($GenderConfigID);
$data['Martial'] = $this->employeedetails_model->getConfigValue($MartialConfigID);
$data['bankdetails'] = $this->employeedetails_model->getBankDetails();
$data['Qualification'] = $this->employeedetails_model->getConfigValue($QualificationConfigID);
$data['Designation'] = $this->employeedetails_model->getConfigValue($DesignationConfigID);
$data['BloodGroup'] = $this->employeedetails_model->getConfigValue($BloodGroupConfigID);
$data['Department'] = $this->employeedetails_model->getDepartment();
$this->global['pageTitle'] = 'Add New Employee';
// if($this->role == ROLE_ADMIN || $this->DEPCode == HR)
// {
$this->loadViews("addEmployee", $this->global, $data, NULL);
// }
// else
// {
// $this->loadViews("access", $this->global, $data, NULL);
// }
}
/**
* This function is used to check whether the Employee is existing in the database or not */
function CheckEmail()
{
$id = $this->request->getPost('id');
//print_r($id);
$query = $this->employeedetails_model->checkMailExists($id);
$response = ($query !== null && !empty($query)) ? $query[0]['EmailId'] : null;
return $this->response->setJSON($response);
}
function checkPAN()
{
$id = $this->request->getPost('id');
//print_r($id);
$query = $this->employeedetails_model->checkPANExists($id);
$response = ($query !== null && !empty($query)) ? $query[0]['PANNo'] : null;
return $this->response->setJSON($response);
// print_r($query);
}
function checkAadharNo()
{
$id = $this->request->getPost('id');
//print_r($id);
$query = $this->employeedetails_model->checkAadharExists($id);
$response = ($query !== null && !empty($query)) ? $query[0]['AadharNo'] : null;
return $this->response->setJSON($response);
}
/* To Check the Pan Number is exists in the database or not for the selected Supplier */
function Pan_validate_emp()
{
//print_r($PanNo);
$Empid = $this->request->getPost('employeeid');
$PanNo = $this->request->getPost('panno');
$query = $this->employeedetails_model->checkPANExists($PanNo, $Empid);
if (count($query) > 0) {
// $this->validator->setMessage('Pan_validate_emp', 'The Entered PAN Number is already exists in the Database.');
echo "<script>alert('The Entered PAN Number is already exists in the Database.');</script>";
return false;
} else {
return true;
}
}
// To Check the Aadhar Number is exists in the database or not for the selected Employee
function Aadhar_validate_emp()
{
$Empid = $this->request->getPost('employeeid');
$AadharNo = $this->request->getPost('aadharno');
$query = $this->employeedetails_model->checkAadharExists($AadharNo, $Empid);
if (count($query) > 0) {
// $this->validator->setMessage('Aadhar_validate_emp', 'The Entered Aadhar Number is exists in the Database.');
echo "<script>alert('The Entered Aadhar Number is exists in the Database.');</script>";
return false;
} else {
return true;
}
}
public function add($photo)
{
$picture = '';
if ($photo->isValid() && !$photo->hasMoved()) {
// Define upload directory and allowed file types
$uploadDir = ROOTPATH . 'public/uploads/images/';
$allowedTypes = ['jpg', 'jpeg', 'png', 'gif'];
// Validate file type
if (in_array($photo->getExtension(), $allowedTypes)) {
// Generate unique file name
$newName = $photo->getRandomName();
if(!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); }
// Move the uploaded file to the upload directory
$photo->move($uploadDir, $newName);
$picture = $newName;
} else {
// Handle invalid file type
$picture = '';
}
}
return $picture;
}
function ViewEmployee($EmpNO = '')
{
if ($EmpNO == '') {
$EmpID = $_GET['EmpID'];
} else {
$EmpID = $EmpNO;
}
$GenderConfigID = 'C013';
$MartialConfigID = 'C012';
$QualificationConfigID = 'C014';
$DesignationConfigID = 'C010';
$BloodGroupConfigID = 'C011';
//print_r('hai');
$data['GenderList'] = $this->employeedetails_model->getConfigValue($GenderConfigID);
$data['MartialList'] = $this->employeedetails_model->getConfigValue($MartialConfigID);
$data['QualificationList'] = $this->employeedetails_model->getConfigValue($QualificationConfigID);
$data['DesignationList'] = $this->employeedetails_model->getConfigValue($DesignationConfigID);
$data['BloodGroupList'] = $this->employeedetails_model->getConfigValue($BloodGroupConfigID);
$data['bankdetails'] = $this->employeedetails_model->getBankDetails();
$data['DepartmentList'] = $this->employeedetails_model->getDepartment();
$data['EmpDetails'] = $this->employeedetails_model->viewemployee($EmpID);
$this->global['pageTitle'] = 'View Employee';
$this->loadViews("editEmployee", $this->global, $data, NULL);
}
/* To Check the email exists in the database or not for the employee*/
function checkMailEmp()
{
$Empid = $this->request->getPost('employeeid');
$EmailId = $this->request->getPost('emailid');
$query = $this->employeedetails_model->checkMailExists($EmailId, $Empid);
if (count($query) > 0) {
// $this->validator->setMessage('checkMailEmp', 'The Entered Email id is exists in the Database.');
echo "<script>alert('The Entered Email id is exists in the Database.');</script>";
return false;
} else {
return true;
}
}
/* To Update the employee details*/
function UpdateEmployee()
{
$EmpId = $this->request->getPost('employeeid');
//$mail = $this->this->.post('emailid');
// $this->validator->setRules([
// 'ContactNumber'=> 'trim|required|min_length[10]|max_length[10]',
// 'emailid'=> 'trim|required|valid_email|callback_checkMailEmp',
// 'gender'=> 'callback_Gender_validate',
// 'MartialStatus'=> 'callback_Martial_validate',
// 'bloodgroup'=> 'callback_Blood_validate',
// 'emergencycontactnumber'=> 'trim|required|min_length[10]|max_length[10]',
// 'desigination'=> 'callback_Des_validate',
// 'departmentname'=> 'callback_Dep_validate',
// 'eduqualifaction'=> 'callback_select_validate',
// 'referrercontno'=> 'trim|min_length[10]|max_length[10]',
// 'aadharno'=> 'trim|max_length[14]',
// 'panno'=> 'trim|max_length[10]',
// 'passportno'=> 'trim|min_length[9]|max_length[9]',
// 'accountno'=> 'trim|min_length[10]|max_length[20]',
// 'pfno'=> 'trim|min_length[22]|max_length[22]',
// 'esino'=> 'trim|min_length[10]|max_length[10]']);
// if ($this->validator->run() == FALSE) {
// $this->ViewEmployee($EmpId);
// } else {
$EmpId = $this->request->getPost('employeeid');
$PictureName = $this->request->getPost('Image');
$ModifyPictureName = $this->request->getPost('ModifyImage');
$Picture = "";
if ($PictureName != '') {
//echo 'Exists';
//$Picture = $PictureName;
if (strlen((string)$ModifyPictureName) == 0) {
//echo 'Exists But Not replace';
$Picture = $PictureName;
} else {
//echo 'Exists But Replace';
//$Picture = $ModifyPictureName;
//$Picture = $this->editimage($ModifyPictureName);
$photo = $this->request->getFile('ModifyImage');
if ($photo->isValid() && !$photo->hasMoved()) {
$uploadDir = ROOTPATH . 'public/uploads/images/';
$allowedTypes = ['jpg', 'jpeg', 'png', 'gif'];
if (in_array($photo->getExtension(), $allowedTypes)) {
$newName = $photo->getRandomName();
if(!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); }
$photo->move($uploadDir, $newName);
$Picture = $newName;
}
}
}
} else {
//echo 'Not Exists';
$photo = $this->request->getFile('photo');
if ($photo->isValid() && !$photo->hasMoved()) {
$uploadDir = ROOTPATH . 'public/uploads/images/';
$allowedTypes = ['jpg', 'jpeg', 'png', 'gif'];
if (in_array($photo->getExtension(), $allowedTypes)) {
$newName = $photo->getRandomName();
if(!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); }
$photo->move($uploadDir, $newName);
$Picture = $newName;
}
}
}
//echo $Picture;
$FirstName = $this->request->getPost('FirstName');
$LastName = $this->request->getPost('LastName');
$FatherName = $this->request->getPost('FatherName');
$DateofBirth = $this->request->getPost('DateofBirth');
$ContactNumber = $this->request->getPost('ContactNumber');
$EmailId = $this->request->getPost('emailid');
$comEmailId = $this->request->getPost('comemailid');
$Gender = $this->request->getPost('gender');
$MartialStatus = $this->request->getPost('MartialStatus');
$BloodGroup = $this->request->getPost('bloodgroup');
$CurrentAddress = $this->request->getPost('currentaddress');
$permanentaddress = $this->request->getPost('permanentaddress');
$emergencycontactname = $this->request->getPost('emergencycontactname');
$emergencycontactnumber = $this->request->getPost('emergencycontactnumber');
$desigination = $this->request->getPost('desigination');
$departmentCode = $this->request->getPost('departmentname');
$dateofjoining = $this->request->getPost('dateofjoining');
//$Previousexperience = $this->request->getPost('Previousexperience');
$pre_experience = $this->request->getPost('Previousexperience');
if ($pre_experience == '') {
$Previousexperience = null;
} else {
$Previousexperience = $pre_experience;
}
$eduqualifaction = $this->request->getPost('eduqualifaction');
$addqualification = $this->request->getPost('addqualification');
$referredby = $this->request->getPost('referredby');
$referrercontno = $this->request->getPost('referrercontno');
$accountno = $this->request->getPost('accountno');
$ifsccode = $this->request->getPost('ifsccode');
$bankbranchname = $this->request->getPost('bankbranchname');
$bankaddress = $this->request->getPost('bankaddress');
$aadharno = $this->request->getPost('aadharno');
$panno = $this->request->getPost('panno');
$panno = $panno !== null && is_string($panno) ? strtoupper($panno) : null;
$passportno = $this->request->getPost('passportno');
$passportno = $passportno !== null && is_string($passportno) ? strtoupper($passportno) : null;
$ValidTill = $this->request->getPost('ValidTill');
$addinfo = $this->request->getPost('addinfo');
$driverlicense = $this->request->getPost('driverlicense');
$driverlicense = $driverlicense !== null && is_string($driverlicense) ? strtoupper($driverlicense) : null;
$licenseExpiryDate = $this->request->getPost('LicenseExpiryDate');
$VoterID = $this->request->getPost('voterID');
$VoterID = $VoterID !== null && is_string($VoterID) ? strtoupper($VoterID) : null;
$pfno = $this->request->getPost('pfno');
$pfno = $pfno !== null && is_string($pfno) ? strtoupper($pfno) : null;
//$uano = $this->request->getPost('uano');
$esino = $this->request->getPost('esino');
$Nominee = $this->request->getPost('nomineename');
$chked = $this->request->getPost('isactive');
// echo 'chkvalue'. $chked ;
if ($chked != '') {
$IsActive = '1';
} else {
$IsActive = '0';
}
// echo 'chkvalue'. $IsActive ;
$UpdatedBY = $this->session->get('userId');
//$licenseExpiryDate = get_date_time_format($licenseExpiryDate);
$DOB = get_date_format($DateofBirth);
$DOJ = get_date_format($dateofjoining);
if ($ValidTill != '') {
$Valid = get_date_format($ValidTill);
} else {
$Valid = null;
}
if ($licenseExpiryDate != '') {
$License_ExpiryDate = get_date_format($licenseExpiryDate);
} else {
$License_ExpiryDate = null;
}
//echo $DOB;
$Employee = array(
'FirstName' => $FirstName, 'LastName' => $LastName, 'FatherName' => $FatherName, 'Gender' => $Gender,
'DateofBirth' => $DOB, 'ContactNumber' => $ContactNumber, 'EmailId' => $EmailId,
'BloodGroup' => $BloodGroup, 'MartialStatus' => $MartialStatus, 'DateofJoining' => $DOJ,
'PreviousYearsOfExp' => $Previousexperience, 'Designation' => $desigination,
'Departmentcode' => $departmentCode, 'PresentAddress' => $CurrentAddress,
'PermanentAddress' => $permanentaddress, 'EmergencyContactName' => $emergencycontactname,
'EmergencyContactNumber' => $emergencycontactnumber, 'Edu_Qualification' => $eduqualifaction,
'Additional_Qualification' => $addqualification, 'AadharNo' => $aadharno, 'PANNo' => $panno,
'BankAccountNo' => $accountno, 'IFSCCode' => $ifsccode, 'BankBranchName' => $bankbranchname,
'BankAddress' => $bankaddress, 'PassportNo' => $passportno, 'Passport_Valid_till' => $Valid,
'IsActive' => $IsActive, 'ProfilePic' => $Picture, 'Reference_Name' => $referredby,
'Reference_ContactNumber' => $referrercontno, 'Remarks' => $addinfo, 'UpdatedBY' => $UpdatedBY,
'personalEmailId' => $comEmailId, 'DriverLicense' => $driverlicense, 'LicenseValidtill' => $License_ExpiryDate,
'VoterID' => $VoterID, 'PFNO' => $pfno, 'ESI' => $esino, 'NomineeDetails' => $Nominee
);
//print_r($Employee);die();
$result = $this->employeedetails_model->UpdateEmployee($Employee, $EmpId);
if ($result > 0) {
// $this->session->set_flashdata('Success', $EmpId.'Employee Updated successfully!');
$this->session->setFlashdata('success', 'You Have Successfully updated the Employee Record!');
// echo "<script>alert('You Have Successfully updated the Employee Record!');</script>";
} else {
// $this->session->set_flashdata('Error', $EmpId . 'Employee details not saved');
$this->session->setFlashdata('error', 'Record Not Updated!');
// echo "<script>alert('Record Not Updated!');</script>";
}
return redirect()->route('employeeListing');
// redirect('employeeListing');
// }
}
function exportemployee()
{
$exportData = $this->employeedetails_model->export_excel();
$file_name = 'Employee_Details' .' '. '.xls'; //save our workbook as this file name
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->mergeCells('L3:S3');
$sheet->getStyle('L3')->getAlignment()->setHorizontal('center');
$sheet->setTitle('Employee details');
$headers = [
'L3'=>'RESICO Employee Details',
'A5'=>'EmpID',
'B5'=>'FirstName-LastName',
'C5'=>'FatherName',
'D5'=>'Gender',
'E5'=>'Date of Birth',
'F5'=>'ContactNumber',
'G5'=>'EmailId',
'H5'=>'BloodGroup',
'I5'=>'MartialStatus',
'J5'=>'DateofJoining',
'K5'=>'PreviousYearsOfExp',
'L5'=>'Designation',
'M5'=>'DepartmentName',
'N5'=>'PresentAddress',
'O5'=>'PermanentAddress',
'P5'=>'EmergencyContactName',
'Q5'=>'EmergencyContactNumber',
'R5'=>'Edu_Qualification',
'S5'=>'Additional_Qualification',
'T5'=>'Reference_Name',
'U5'=>'Reference_ContactNumber',
'V5'=>'BankStatemant',
'W5'=>'AadharNo',
'X5'=>'PANNo',
'Y5'=>'PassportNo',
'Z5'=>'Passport_Valid_till',
'AA5'=>'Voter ID',
'AB5'=>'Driving License',
'AC5'=>'Driving License Expiry Date',
'AD5'=>'Official Email ID',
'AE5'=>'IsActive',
'AF5'=>'PFNO',
'AG5'=>'ESI',
'AH5'=>'Nominee Details',
// 'AI5'=>'PF_Balance',
// 'AJ5'=>'PF_Bal_On',
'AI5'=>'Remarks',
'AJ5'=>'CreatedBy',
'AK5'=>'UpdatedBY'
];
foreach ($headers as $cell => $value) {
$sheet->setCellValue($cell, $value);
$sheet->getStyle($cell)->getFont()->setSize($cell == 'L3' ? 14 : 12);
$sheet->getStyle($cell)->getFont()->setBold(true);
}
if($exportData){
$i = 6;$s = 1;
foreach ($exportData as $data) {
$rowData = [
'A'. $i,$data['EmpID'],
'B'. $i=>$data['FirstName'].'-'.$data['LastName'],
'C'. $i=>$data['FatherName'],
'D'. $i=>$data['Gender'],
'E'. $i=>$data['DateofBirth'],
'F'. $i=>$data['ContactNumber'],
'G'. $i=>$data['EmailId'],
'H'. $i=>$data['BloodGroup'],
'I'. $i=>$data['MartialStatus'],
'J'. $i=>$data['DateofJoining'],
'K'. $i=>$data['PreviousYearsOfExp'],
'L'. $i=>$data['Designation'],
'M'. $i=>$data['DepartmentName'],
'N'. $i=>$data['PresentAddress'],
'O'. $i=>$data['PermanentAddress'],
'P'. $i=>$data['EmergencyContactName'],
'Q'. $i=>$data['EmergencyContactNumber'],
'R'. $i=>$data['Edu_Qualification'],
'S'. $i=>$data['Additional_Qualification'],
'T'. $i=>$data['Reference_Name'],
'U'. $i=>$data['Reference_ContactNumber'],
'V'. $i=>$data['BankAccountNo'].'-'.$data['IFSCCode'].'-'.$data['BankBranchName'].$data['BankAddress'],
'W'. $i=>$data['AadharNo'],
'X'. $i=>$data['PANNo'],
'Y'. $i=>$data['PassportNo'],
'Z'. $i=>$data['Passport_Valid_till'],
'AA'. $i=>$data['VoterID'],
'AB'. $i=>$data['DriverLicense'],
'AC'. $i=>$data['LicenseValidtill'],
'AD'. $i=>$data['personalEmailId'],
'AE'. $i=>$data['IsActive'],
'AF'. $i=>$data['PFNO'],
'AG'. $i=>$data['ESI'],
'AH'. $i=>$data['NomineeDetails'],
// 'AI'. $i=>$data['PF_Balance'],
// 'AJ'. $i=>$data['PF_Bal_On'],
'AI'. $i=>$data['Remarks'],
'AJ'. $i=>$data['CreatedByName'],
'AK'. $i=>$data['UpdatedByName'],
];
foreach ($rowData as $cell => $value) {
$sheet->setCellValue($cell, $value);
}
$i++;
$s++;
}
}
// $writer = new Xlsx($spreadsheet);
// $writer->save($file_name);
// header("Content-Type: application/vnd.ms-excel");
// header('Content-Disposition: attachment; filename="' . basename($file_name) . '"');
// header('Expires: 0');
// header('Cache-Control: must-revalidate');
// header('Pragma: public');
// header('Content-Length:' . filesize($file_name));
// flush();
// readfile($file_name);
// exit;
// Clear the output buffer to prevent any other output
ob_clean();
$writer = new Xlsx($spreadsheet);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'. $file_name .'"');
header('Cache-Control: max-age=0');
header('Expires: 0');
header('Pragma: public');
$writer->save('php://output');
exit;
}
}