From 293274aae3ff535a3b7219541549cab6945e99dc Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Mon, 7 Apr 2025 12:51:41 +0000 Subject: [PATCH] changes in export xl in employee module --- app/Config/Autoload.php | 2 +- app/Controllers/Employeedetails.php | 203 ++++++++++++++++----------- app/Models/Employeedetails_model.php | 16 ++- app/Views/employeeListing.php | 11 +- 4 files changed, 137 insertions(+), 95 deletions(-) diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php index be6c1869..832c52b0 100755 --- a/app/Config/Autoload.php +++ b/app/Config/Autoload.php @@ -90,5 +90,5 @@ class Autoload extends AutoloadConfig * * @var list */ - public $helpers = ['cias','datetime','image','alert','excel']; + public $helpers = ['cias','datetime','image','alert']; } diff --git a/app/Controllers/Employeedetails.php b/app/Controllers/Employeedetails.php index 8847a3f7..c447fdab 100755 --- a/app/Controllers/Employeedetails.php +++ b/app/Controllers/Employeedetails.php @@ -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) { diff --git a/app/Models/Employeedetails_model.php b/app/Models/Employeedetails_model.php index 2ad3d0e7..9e2348e0 100755 --- a/app/Models/Employeedetails_model.php +++ b/app/Models/Employeedetails_model.php @@ -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(); + } } diff --git a/app/Views/employeeListing.php b/app/Views/employeeListing.php index 4f567c38..9dcc2b9c 100755 --- a/app/Views/employeeListing.php +++ b/app/Views/employeeListing.php @@ -90,7 +90,7 @@
-
+
- Add New Employee +
@@ -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,