860 lines
33 KiB
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;
|
|
}
|
|
|
|
|
|
}
|