diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 5dc43d28..0beaad5e 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -87,6 +87,7 @@ $routes->get('exportasset', 'Assetdetails::exportasset'); // Employee Detail Routes $routes->add('addemployee', 'Employeedetails::addemployee'); $routes->post('addNewEmployee', 'Employeedetails::AddNewEmployee'); +$routes->post('deleteEmployeeFile', 'Employeedetails::deleteEmployeeFile'); $routes->get('employeeListing', 'Employeedetails::index'); $routes->get('employeedetails/ViewEmployee', 'Employeedetails::ViewEmployee'); $routes->post('employeedetails/UpdateEmployee', 'Employeedetails::UpdateEmployee'); diff --git a/app/Controllers/Employeedetails.php b/app/Controllers/Employeedetails.php index 8d5d33ba..c7c93734 100644 --- a/app/Controllers/Employeedetails.php +++ b/app/Controllers/Employeedetails.php @@ -15,7 +15,9 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Alignment; - +use App\Models\EmpFilesModel; +use App\Models\AppConfigModel; +use App\Models\Emppaydate_model; /** * Module : Employee @@ -29,7 +31,11 @@ class Employeedetails extends BaseController { protected $companydetailsmodel; protected $employeedetails_model; + protected $empFiles; + protected $appConfig; + protected $emppaydate_model; protected $session; + /** * This is default constructor of the class @@ -39,6 +45,9 @@ class Employeedetails extends BaseController parent::__construct(); $this->employeedetails_model = new Employeedetails_model(); $this->companydetailsmodel = new Companydetails_model(); + $this->empFiles = new EmpFilesModel(); + $this->appConfig = new AppConfigModel(); + $this->emppaydate_model = new Emppaydate_model(); $this->session = session(); helper('form'); //$this->load->library('form_validation'); $this->isLoggedIn(); @@ -196,8 +205,10 @@ class Employeedetails extends BaseController $validation = \Config\Services::validation(); - - + + + + // $this->validator->setRules([ // 'ContactNumber'=> 'trim|required|min_length[10]|max_length[10]', @@ -236,7 +247,6 @@ class Employeedetails extends BaseController } // $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'); @@ -285,6 +295,10 @@ class Employeedetails extends BaseController $ESIno = $this->request->getPost('esino'); $Nominee = $this->request->getPost('nomineename'); $createdby = $this->session->get('userId'); + $is_management_team = $this->request->getPost('is_management_team'); + $esi_applicable = $this->request->getPost('esi_applicable'); + $pf_applicable = $this->request->getPost('pf_applicable'); + $work_location = $this->request->getPost('work_location'); if ($licenseExpiryDate != '') { //$License_ExpiryDate = get_date_format($licenseExpiryDate); @@ -305,7 +319,7 @@ class Employeedetails extends BaseController //echo $DOB; $Employee = array( - 'FirstName' => $FirstName, 'LastName' => $LastName, 'FatherName' => $FatherName, + 'FirstName' => $FirstName, 'FatherName' => $FatherName, 'Gender' => $Gender, 'DateofBirth' => $DOB, 'ContactNumber' => $ContactNumber, 'EmailId' => $EmailId, 'BloodGroup' => $BloodGroup, 'MartialStatus' => $MartialStatus, 'DateofJoining' => $DOJ, 'PreviousYearsOfExp' => $Previousexperience, 'Designation' => $desigination, @@ -319,13 +333,56 @@ class Employeedetails extends BaseController 'Reference_ContactNumber' => $referrercontno, 'Remarks' => $addinfo, 'CreatedBy' => $createdby, 'personalEmailId' => $comEmailId, 'DriverLicense' => $driverlicense, 'LicenseValidtill' => $License_ExpiryDate, 'VoterID' => $VoterID, 'PFNO' => $PFno, 'ESI' => $ESIno, - 'NomineeDetails' => $Nominee + 'NomineeDetails' => $Nominee , 'is_management_team' => $is_management_team , 'esi_applicable'=>$esi_applicable, + 'pf_applicable'=>$pf_applicable,'work_location'=>$work_location ); //print_r($Employee);die(); $result = $this->employeedetails_model->addNewemployee($Employee); - if ($result > 0) { + if ($result) { + + // Get the uploaded files + $files = $this->request->getFiles(); + $fileNames = $this->request->getPost('file_name'); // Get user-entered file names + if(isset($files['emp_file'])) + { + foreach ($files['emp_file'] as $index => $file) { + if ($file->isValid() && !$file->hasMoved()) { + // Move the file to the desired directory + $newName = $file->getRandomName(); + $file->move(ROOTPATH . 'public/uploads/images/emp_files', $newName); + $path = ROOTPATH . 'public/uploads/images/emp_files/'.$newName; + // Store the file information in the database + $this->empFiles->save([ + 'file_name' => $fileNames[$index], // User-entered file name + 'emp_file' => $newName, // New file name + 'emp_id' => $result, + 'path' => $path + + ]); + } + } + } + + + $EmpID = $result; + $Total_Salary = $this->request->getPost('Total_salary'); + $Basic_Pay = $this->request->getPost('Basic_Pay'); + $HRA_Rate = $this->request->getPost('HRA_Rate'); + $HRA_Amount = $this->request->getPost('HRA_Amount'); + + $Allowances = $this->request->getPost('Allowances'); + $PF_Rate = $this->request->getPost('PF_Rate'); + $ESI_Rate = $this->request->getPost('ESI_Rate'); + $Food_Allowances = $this->request->getPost('Food_Allowances'); + $Incentives = $this->request->getPost('Incentives'); + $CreateBy = $this->session->get('userId'); + + $emppay = array('EmpID' => $EmpID, 'TotalSalary' => $Total_Salary, 'Basic_Pay' => $Basic_Pay, 'HRA_Rate' => $HRA_Rate, 'HRA_Amount' => $HRA_Amount, 'Allowances' => $Allowances, 'PF_Rate' => $PF_Rate, 'ESI_Rate' => $ESI_Rate, 'Food_Allowances' => $Food_Allowances, 'Incentives' => $Incentives, 'Created_By' => $CreateBy); + + + $this->emppaydate_model->addNewemppay($emppay); // $this->session->set_flashdata('Success', 'New Employee created successfully!'); $this->session->setFlashdata('success', 'New Employee created successfully!'); @@ -341,6 +398,16 @@ class Employeedetails extends BaseController // } } + + function deleteEmployeeFile(){ + $id = $this->request->getPost('id'); + $update = $this->empFiles->set(['is_active' => 0])->where('id',$id)->update(); + if($update){ + return true; + }else{ + return false; + } + } /** * This function is used to load the add new Employee form with dropdown values */ function addemployee() @@ -352,6 +419,7 @@ class Employeedetails extends BaseController $QualificationConfigID = 'C014'; $DesignationConfigID = 'C010'; $BloodGroupConfigID = 'C011'; + $LocationConfigID = 'C031'; $data['Gender'] = $this->employeedetails_model->getConfigValue($GenderConfigID); $data['Martial'] = $this->employeedetails_model->getConfigValue($MartialConfigID); @@ -359,8 +427,11 @@ class Employeedetails extends BaseController $data['Qualification'] = $this->employeedetails_model->getConfigValue($QualificationConfigID); $data['Designation'] = $this->employeedetails_model->getConfigValue($DesignationConfigID); $data['BloodGroup'] = $this->employeedetails_model->getConfigValue($BloodGroupConfigID); - + $data['Location'] = $this->employeedetails_model->getConfigValue($LocationConfigID); $data['Department'] = $this->employeedetails_model->getDepartment(); + $data['hra_rate'] = $this->appConfig->where('key',1)->get()->getRow()->value; + $data['pf_rate'] = $this->appConfig->where('key',2)->get()->getRow()->value; + $data['esi_rate'] = $this->appConfig->where('key',3)->get()->getRow()->value; $this->global['pageTitle'] = 'Add New Employee'; // if($this->role == ROLE_ADMIN || $this->DEPCode == HR) @@ -494,6 +565,7 @@ class Employeedetails extends BaseController $QualificationConfigID = 'C014'; $DesignationConfigID = 'C010'; $BloodGroupConfigID = 'C011'; + $LocationConfigID = 'C031'; //print_r('hai'); $data['GenderList'] = $this->employeedetails_model->getConfigValue($GenderConfigID); @@ -502,8 +574,12 @@ class Employeedetails extends BaseController $data['DesignationList'] = $this->employeedetails_model->getConfigValue($DesignationConfigID); $data['BloodGroupList'] = $this->employeedetails_model->getConfigValue($BloodGroupConfigID); $data['bankdetails'] = $this->employeedetails_model->getBankDetails(); + $data['Location'] = $this->employeedetails_model->getConfigValue($LocationConfigID); $data['DepartmentList'] = $this->employeedetails_model->getDepartment(); $data['EmpDetails'] = $this->employeedetails_model->viewemployee($EmpID); + $data['emp_data'] = $this->empFiles->where('emp_id',$EmpID)->where('is_active',1)->findAll(); + $data['empPay'] = $this->emppaydate_model->getEmpPayData($EmpID); + $this->global['pageTitle'] = 'View Employee'; $this->loadViews("editEmployee", $this->global, $data, NULL); @@ -649,6 +725,10 @@ class Employeedetails extends BaseController $esino = $this->request->getPost('esino'); $Nominee = $this->request->getPost('nomineename'); $chked = $this->request->getPost('isactive'); + $is_management_team = $this->request->getPost('is_management_team'); + $esi_applicable = $this->request->getPost('esi_applicable'); + $pf_applicable = $this->request->getPost('pf_applicable'); + $work_location = $this->request->getPost('work_location'); // echo 'chkvalue'. $chked ; if ($chked != '') { $IsActive = '1'; @@ -688,12 +768,54 @@ class Employeedetails extends BaseController '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 + 'VoterID' => $VoterID, 'PFNO' => $pfno, 'ESI' => $esino, 'NomineeDetails' => $Nominee,'is_management_team' => $is_management_team , + 'esi_applicable'=>$esi_applicable,'pf_applicable'=>$pf_applicable,'work_location'=>$work_location ); //print_r($Employee);die(); $result = $this->employeedetails_model->UpdateEmployee($Employee, $EmpId); - if ($result > 0) { + // Get the uploaded files + $files = $this->request->getFiles(); + $fileNames = $this->request->getPost('file_name'); // Get user-entered file names + if(isset($files['emp_file'])) + { + foreach ($files['emp_file'] as $index => $file) { + if ($file->isValid() && !$file->hasMoved()) { + // Move the file to the desired directory + $newName = $file->getRandomName(); + $file->move(ROOTPATH . 'public/uploads/images/emp_files', $newName); + $path = ROOTPATH . 'public/uploads/images/emp_files/'.$newName; + // Store the file information in the database + $this->empFiles->save([ + 'file_name' => $fileNames[$index], // User-entered file name + 'emp_file' => $newName, // New file name + 'emp_id' => $EmpId, + 'path' => $path + + ]); + } + } + } + + + + $Total_Salary = $this->request->getPost('Total_salary'); + $Basic_Pay = $this->request->getPost('Basic_Pay'); + $HRA_Rate = $this->request->getPost('HRA_Rate'); + $HRA_Amount = $this->request->getPost('HRA_Amount'); + $Allowances = $this->request->getPost('Allowances'); + $PF_Rate = $this->request->getPost('PF_Rate'); + $ESI_Rate = $this->request->getPost('ESI_Rate'); + $Food_Allowances = $this->request->getPost('Food_Allowances'); + $Incentives = $this->request->getPost('Incentives'); + $CreateBy = $this->session->get('userId'); + $emppay = array('EmpID' => $EmpId, 'TotalSalary' => $Total_Salary, 'Basic_Pay' => $Basic_Pay, 'HRA_Rate' => $HRA_Rate, 'HRA_Amount' => $HRA_Amount, 'Allowances' => $Allowances, 'PF_Rate' => $PF_Rate, 'ESI_Rate' => $ESI_Rate, 'Food_Allowances' => $Food_Allowances, 'Incentives' => $Incentives, 'Created_By' => $CreateBy); + + + $empPayUpdate = $this->emppaydate_model->editemppay($emppay); + + if ($result + $empPayUpdate > 0) { + // $this->session->set_flashdata('Success', $EmpId.'Employee Updated successfully!'); $this->session->setFlashdata('success', 'You Have Successfully updated the Employee Record!'); diff --git a/app/Models/AppConfigModel.php b/app/Models/AppConfigModel.php new file mode 100644 index 00000000..40cff6ad --- /dev/null +++ b/app/Models/AppConfigModel.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/app/Models/EmpFilesModel.php b/app/Models/EmpFilesModel.php new file mode 100644 index 00000000..7fb6f630 --- /dev/null +++ b/app/Models/EmpFilesModel.php @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/app/Models/Employeedetails_model.php b/app/Models/Employeedetails_model.php index e5369a74..7585c4d9 100644 --- a/app/Models/Employeedetails_model.php +++ b/app/Models/Employeedetails_model.php @@ -19,7 +19,7 @@ class Employeedetails_model extends Model $builder = $this->db->table('t_employee_details Emp') ->select(' Emp.*,Dep.DepartmentName as DepartmentName') ->join('t_departmentdetails Dep', 'Emp.Departmentcode = Dep.DEPCode', 'left') - ->orderBy("Emp.EmpID", "asc"); + ->orderBy("Emp.EmpID", "desc"); $query = $builder->get(); @@ -79,9 +79,18 @@ class Employeedetails_model extends Model $builder = $this->db->table('t_employee_details'); $builder->insert($Employee); - $EmpID = $this->db->affectedRows(); + if ($this->db->affectedRows() > 0) { + $builder->select('*'); + $builder->orderBy('created_date', 'DESC'); + $builder->limit(1); - return $EmpID; + $query = $builder->get(); + $result = $query->getRowArray(); + return $result['EmpID']; + } else { + + return 0; + } } diff --git a/app/Models/Emppaydate_model.php b/app/Models/Emppaydate_model.php index 759061a9..33968517 100644 --- a/app/Models/Emppaydate_model.php +++ b/app/Models/Emppaydate_model.php @@ -77,16 +77,26 @@ class Emppaydate_model extends Model return $query->getResult(); } + + function getEmpPayData($EmpID) + { + $sql = '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 from t_emp_pay_data + + where t_emp_pay_data.EmpID = ?;'; + $query = $this->db->query($sql,array($EmpID)); + + return $query->getRow(); + } function editemppay($emppaydatas) { - $paydateid=$emppaydatas['Pay_Data_ID']; + $EmpID=$emppaydatas['EmpID']; //echo $paydateid; //print_r($emppaydatas);die(); $this->db->table('t_emp_pay_data') - ->where('Pay_Data_ID', $paydateid) + ->where('EmpID', $EmpID) ->update($emppaydatas); return TRUE; diff --git a/app/Views/addEmployee.php b/app/Views/addEmployee.php index 1066d7fe..3c6fb74c 100644 --- a/app/Views/addEmployee.php +++ b/app/Views/addEmployee.php @@ -1,12 +1,68 @@ + \ No newline at end of file diff --git a/app/Views/editEmployee.php b/app/Views/editEmployee.php index d8ee8c71..9b4994a7 100644 --- a/app/Views/editEmployee.php +++ b/app/Views/editEmployee.php @@ -1,9 +1,65 @@ + format('d-m-Y'); $PreviousYearsOfExp = $Emp->PreviousYearsOfExp; $Designation = $Emp->Designation; + $work_location = $Emp->work_location; $Departmentcode = $Emp->Departmentcode; $DepartmentName = $Emp->DepartmentName; $PresentAddress = $Emp->PresentAddress; @@ -127,6 +188,10 @@ if(!empty($EmpDetails)) { $IsActive = ''; } + + $is_management_team = $Emp->is_management_team; + $esi_applicable = $Emp->esi_applicable; + $pf_applicable = $Emp->pf_applicable; } } @@ -134,906 +199,1292 @@ if(!empty($EmpDetails)) ?> - +.form-group { + padding-bottom: 4%; +} + +.pad { + padding-bottom: 1%; +} + +.badge { + color: red; + background-color: #fff; +} + +legend { + border-bottom: 1px solid #ae9797 !important; +} + +.box { + border-top: 0px solid #70b673 !important; +} +