Merge branch 'new_theme' of bitbucket.org:venbainformationtechnology/ria into new_theme

This commit is contained in:
vadivelJ96 2025-04-07 18:46:24 +05:30
commit 2be9e0cdd0
4 changed files with 137 additions and 95 deletions

View File

@ -90,5 +90,5 @@ class Autoload extends AutoloadConfig
*
* @var list<string>
*/
public $helpers = ['cias','datetime','image','alert','excel'];
public $helpers = ['cias','datetime','image','alert'];
}

View File

@ -926,108 +926,145 @@ class Employeedetails extends BaseController
function exportemployee()
{
$exportData = $this->employeedetails_model->export_excel();
$companyName = $this->companydetailsmodel->companylisting();
$companyName = isset($companyName[0]->CompanyName) ? $companyName[0]->CompanyName : "Resico India Pvt Ltd";
$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');
$sheet->mergeCells('A1:AN1');
$sheet->getStyle('A1')->getAlignment()->setHorizontal('center');
$sheet->setTitle('Employee Details');// Sheet 1 replaced
$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'
'A1' => $companyName.' - Employee Details',
'A2' => 'EmpID',// personal
'B2' => 'Name',
'C2' => 'Father / Husband Name',
'D2' => 'Gender',
'E2' => 'Date of Birth',
'F2' => 'ContactNumber',
'G2' => 'MartialStatus',
'H2' => 'Date of Joining',
'I2' => 'Previous Years of Experience',
'J2' => 'Designation',
'K2' => 'DepartmentName',
'L2' => 'PresentAddress',
'M2' => 'PermanentAddress',
'N2' => 'Qualification',
'O2' => 'Work_Location',
'P2' => 'Management Team',
'Q2' => 'Driver',
'R2' => 'Bank Name', // bank & Work related
'S2' => 'Account Number',
'T2' => 'IFSC',
'U2' => 'Bank Address',
'V2' => 'Total Salary',
'W2' => 'Basic Pay',
'X2' => 'HRA Rate(%)',
'Y2' => 'HRA Amount',
'Z2' => 'UAN',
'AA2' => 'PF Applicable',
'AB2' => 'PF Rate(%)',
'AC2' => 'ESI Applicable',
'AD2' => 'ESI Rate(%)',
'AE2' => 'ESI Number',
'AF2' => 'TDS Applicable',
'AG2' => 'TDS Rate(%)',
'AH2' => 'Aadhar Number', //IDentity
'AI2' => 'PAN Number',
'AJ2' => 'Passport Number',
'AK2' => 'Active / Inactive',// Others
'AL2' => 'Reason',
'AM2' => 'Created By',
'AN2' => 'Updated By'
];
foreach ($headers as $cell => $value) {
$sheet->setCellValue($cell, $value);
$sheet->getStyle($cell)->getFont()->setSize($cell == 'L3' ? 14 : 12);
$sheet->getStyle($cell)->getFont()->setSize($cell == 'A1' ? 14 : 12);
$sheet->getStyle($cell)->getFont()->setBold(true);
}
$sheet->getStyle("A2:AN2")->applyFromArray([
'font' => [
'bold' => true,
'size' => 12,
],
'alignment' => [
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
]
]);
// $sheet->getRowDimension(5)->setRowHeight(25);
foreach (range('A', 'Z') as $col) {
$sheet->getColumnDimension($col)->setAutoSize(true);
}
foreach (range('A', 'N') as $col) {
$sheet->getColumnDimension('A' . $col)->setAutoSize(true);
}
if ($exportData) {
$i = 6;
$i = 3;
$s = 1;
foreach ($exportData as $data) {
;
// $dob = get_date_time_dynamical_format("Y-m-d H:i:s","d-m-Y","$data['DateofBirth']");
$rowData = [
'A' . $i,
$data['EmpID'],
'B' . $i => $data['FirstName'] . '-' . $data['LastName'],
'A' . $i => $data['EmpID'],
'B' . $i => $data['Name'],
'C' . $i => $data['FatherName'],
'D' . $i => $data['Gender'],
'E' . $i => $data['DateofBirth'],
'E' . $i => get_date_time_dynamical_format("Y-m-d H:i:s","d-m-Y",$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'],
'G' . $i => $data['MartialStatus'],
'H' . $i => get_date_time_dynamical_format("Y-m-d H:i:s","d-m-Y",$data['DateofJoining']),
'I' . $i => $data['PreviousYearsOfExp'] ? $data['PreviousYearsOfExp'] : 0,
'J' . $i => $data['Designation'],
'K' . $i => $data['DepartmentName'],
'L' . $i => $data['PresentAddress'],
'M' . $i => $data['PermanentAddress'],
'N' . $i => $data['Edu_Qualification'],
'O' . $i => $data['work_location'],
'P' . $i => $data['is_management_team'] ? $data['is_management_team'] : '-',
'Q' . $i => $data['is_driver'] ? $data['is_driver'] : '-',
'R' . $i => $data['BankBranchName'],//bank related
'S' . $i => $data['BankAccountNo'],
'T' . $i => $data['IFSCCode'],
'U' . $i => $data['BankAddress'],
'V' . $i => $data['TotalSalary'], //'Total Salary',
'W' . $i => $data['Basic_Pay'], //'Basic Pay',
'X' . $i => $data['HRA_Rate'], //'HRA Rate(%)',
'Y' . $i => $data['HRA_Amount'], //'HRA Amount',
'Z' . $i => $data['UANO'], //'UAN',
'AA' . $i => $data['pf_applicable'] ? $data['pf_applicable'] : 0, //'PF Applicable',
'AB' . $i => $data['PF_Rate'], //'PF Rate(%)',
// 'AC' . $i => $data['PFNO'],
'AC' . $i => $data['esi_applicable'] ? $data['esi_applicable'] : 0 , //'ESI Applicable',
'AD' . $i => $data['ESI_Rate'], //'ESI Rate(%)',
'AE' . $i => $data['ESI'], //'ESI Number',
'AF' . $i => $data['tds_applicable'] ? $data['tds_applicable'] : 0, //'TDS Applicable',
'AG' . $i => $data['TDS_Rate'], //'TDS Rate(%)',
'AH' . $i => $data['AadharNo'] ? $data['AadharNo'] : '-', //IDentity
'AI' . $i => $data['PANNo'] ? $data['PANNo'] : '-',
'AJ' . $i => $data['PassportNo'] ? $data['PassportNo'] : '-',
'AK' . $i => $data['IsActive'] == 1 ? 'Active' : "In-active",//others
'AL' . $i => $data['reason'] ? $data['reason'] : '-',
'AM' . $i => $data['CreatedByName'],
'AN' . $i => $data['UpdatedByName'],
];
foreach ($rowData as $cell => $value) {

View File

@ -256,13 +256,17 @@ class Employeedetails_model extends Model
function export_excel()
{
$builder = $this->db->table('t_employee_details as det')
->select(' det.*,Dep.DepartmentName as DepartmentName,det.firstname,emp1.firstname as UpdatedByName,emp1.firstname as CreatedByName')
->join('t_departmentdetails Dep', 'det.Departmentcode = Dep.DEPCode', 'left')
->join('tbl_users as tbl', ' det.createdby = tbl.userid', 'left')
$builder = $this->db->table('t_employee_details as ed')
->select('CONCAT_WS(" ", ed.FirstName, ed.LastName) as Name, ed.*,Dep.DepartmentName as DepartmentName,CONCAT_WS(" ", emp1.FirstName, emp1.LastName) as UpdatedByName,CONCAT_WS(" ", emp.FirstName, emp.LastName) as CreatedByName')
->select('t_emp_pay_data.Pay_Data_ID,t_emp_pay_data.EmpID,t_emp_pay_data.Basic_Pay,t_emp_pay_data.HRA_Rate,t_emp_pay_data.Allowances,t_emp_pay_data.Food_Allowances,t_emp_pay_data.Incentives,t_emp_pay_data.PF_Rate,t_emp_pay_data.ESI_Rate,t_emp_pay_data.HRA_Amount,t_emp_pay_data.TotalSalary')
->join('t_departmentdetails Dep', 'ed.Departmentcode = Dep.DEPCode', 'left')
->join('tbl_users as tbl', ' ed.createdby = tbl.userid', 'left')
->join('t_employee_details as emp', 'emp.empid=tbl.empid', 'left')
->join('tbl_users as tbl1', ' det.UpdatedBy = tbl1.userid', 'left')
->join('t_employee_details as emp1', 'emp1.empid=tbl1.empid', 'left');
->join('tbl_users as tbl1', ' ed.UpdatedBy = tbl1.userid', 'left')
->join('t_employee_details as emp1', 'emp1.empid=tbl1.empid', 'left')
->join('t_emp_pay_data', 'ed.EmpID=t_emp_pay_data.EmpID', 'left');
return $builder->get()->getResultArray();
}
}

View File

@ -90,7 +90,7 @@
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<div class="page-title-right">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">HR</a></li>
<li class="breadcrumb-item active">
@ -99,7 +99,10 @@
</ol>
</div>
<a class="btn btn-success" href="<?php echo base_url(); ?>addemployee">Add New Employee</a>
<div>
<a class="btn btn-success" href="<?php echo base_url(); ?>exportemployee">Export Excel</a>
<a class="btn btn-success" href="<?php echo base_url(); ?>addemployee">Add New Employee</a>
</div>
</div>
</div>
</div>
@ -222,9 +225,7 @@
var table = $('#datatable').DataTable({
dom: 'Blfrtip',
buttons: [
'excel', 'pdf'
],
buttons: [ 'pdf' ],
pageLength: 10,
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
responsive: false,