diff --git a/application/controllers/employeedetails.php b/application/controllers/employeedetails.php new file mode 100644 index 00000000..ea5cf886 --- /dev/null +++ b/application/controllers/employeedetails.php @@ -0,0 +1,561 @@ +load->model('employeedetails_model'); + $this->isLoggedIn(); + } + /** + * This function used to load the first screen of the user + */ + public function index() + { + $this->global['pageTitle'] = 'Siddharth : Employee Details'; + + $this->loadViews("employeeListing", $this->global, NULL , NULL); + } + + /** + * This function is used to load the Employee details + */ + function employeeListing() + { + if($this->isAdmin() == TRUE) + { + $this->loadThis(); + } + else + { + + $this->load->model('employeedetails_model'); + + $searchText = $this->input->post('searchText'); + $data['searchText'] = $searchText; + + $this->load->library('pagination'); + + $count = $this->employeedetails_model->employeeListingCount($searchText); + + + $returns = $this->paginationCompress ( "employeeListing/", $count[0]['Count'], 10 ); + + $data['userRecords'] = $this->employeedetails_model->employeeListing($searchText, $returns["page"], $returns["segment"]); + + $this->global['pageTitle'] = 'Siddharth : 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->form_validation->set_message('Gender_validate', 'Please Select Gender.'); + 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->form_validation->set_message('Martial_validate', 'Please Select Martial status.'); + 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->form_validation->set_message('Blood_validate', 'Please Select Blood Group.'); + 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->form_validation->set_message('select_validate', 'Please Select Educational Qualification.'); + 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->form_validation->set_message('Dep_validate', 'Please Select Department.'); + 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->form_validation->set_message('Des_validate', 'Please Select Desigination.'); + return false; + } + else // user picked something + { + return true; + } +} + /** + * This function is used to save the new Employee form in the database + */ + + function AddNewEmployee() + { + if($this->isAdmin() == TRUE) + { + $this->loadThis(); + } + else + { + $this->load->library('form_validation'); + + $this->form_validation->set_rules('ContactNumber', 'ContactNumber', 'trim|required|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('emailid', 'emailid', 'trim|required|valid_email'); + $this->form_validation->set_rules('gender', 'gender', 'callback_Gender_validate'); + $this->form_validation->set_rules('MartialStatus', 'MartialStatus', 'callback_Martial_validate'); + + $this->form_validation->set_rules('bloodgroup', 'bloodgroup', 'callback_Blood_validate'); + + $this->form_validation->set_rules('emergencycontactnumber', 'emergencycontactnumber', 'trim|required|min_length[10]|max_length[10]'); + + $this->form_validation->set_rules('desigination', 'Desigination', 'callback_Des_validate'); + $this->form_validation->set_rules('departmentname', 'departmentname', 'callback_Dep_validate'); + $this->form_validation->set_rules('eduqualifaction', 'eduqualifaction', 'callback_select_validate'); + $this->form_validation->set_rules('referrercontno', 'referrercontno', 'trim|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('aadharno', 'aadharno', 'trim|min_length[12]|max_length[12]'); + $this->form_validation->set_rules('panno', 'panno', 'trim|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('passportno', 'passportno', 'trim|min_length[8]|max_length[8]'); + $this->form_validation->set_rules('accountno', 'accountno', 'trim|min_length[10]|max_length[20]'); + + + if($this->form_validation->run() == FALSE) + { + $this->addemployee(); + //echo 'Validate method called'; + } + else + { + //echo 'Validate not method called'; + $Picture = $this->add(); + + $FirstName = $this->input->post('FirstName'); + $LastName = $this->input->post('LastName'); + $FatherName = $this->input->post('FatherName'); + $DateofBirth = $this->input->post('DateofBirth'); + $ContactNumber = $this->input->post('ContactNumber'); + $EmailId = $this->input->post('emailid'); + $Gender = $this->input->post('gender'); + $MartialStatus = $this->input->post('MartialStatus'); + + $BloodGroup = $this->input->post('bloodgroup'); + $CurrentAddress = $this->input->post('currentaddress'); + $permanentaddress = $this->input->post('permanentaddress'); + $emergencycontactname = $this->input->post('emergencycontactname'); + $emergencycontactnumber = $this->input->post('emergencycontactnumber'); + $desigination = $this->input->post('desigination'); + $departmentCode = $this->input->post('departmentname'); + $dateofjoining = $this->input->post('dateofjoining'); + $Previousexperience = $this->input->post('Previousexperience'); + $eduqualifaction = $this->input->post('eduqualifaction'); + $addqualification = $this->input->post('addqualification'); + $referredby = $this->input->post('referredby'); + $referrercontno = $this->input->post('referrercontno'); + $accountno = $this->input->post('accountno'); + $ifsccode = $this->input->post('ifsccode'); + $bankbranchname = $this->input->post('bankbranchname'); + $bankaddress = $this->input->post('bankaddress'); + $aadharno = $this->input->post('aadharno'); + $panno = $this->input->post('panno'); + $passportno = $this->input->post('passportno'); + $ValidTill = $this->input->post('ValidTill'); + $addinfo = $this->input->post('addinfo'); + $IsActive = '1'; + $createdby = $this->session->userdata ( 'userId' ); + + + $DOB = $this->getDateformat($DateofBirth); + $DOJ = $this->getDateformat($dateofjoining); + if($ValidTill != '') + { + $Valid = $this->getDateformat($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); + + $this->load->model('employeedetails_model'); + $result = $this->employeedetails_model->addNewemployee($Employee); + + if($result > 0) + { + + // $this->session->set_flashdata('Success', 'New Employee created successfully!'); + redirect('employeeListing','refresh'); +echo ""; + } + else + { + + $this->session->set_flashdata('Error', 'New Employee details not saved'); + redirect('employeeListing','refresh'); +echo ""; + } + + } + } + } + + function getDateformat($Val) + { + $date = new DateTime($Val); + $retDate = $date->format('Y-m-d H:i:s'); + return $retDate; + } + + /** + * This function is used to load the add new Employee form with dropdown values */ + function addemployee() + { + if($this->isAdmin() == TRUE) + { + $this->loadThis(); + } + else + { + $this->load->model('employeedetails_model'); + $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['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'] = 'Siddharth : Add New Employee'; + $this->loadViews("addemployee", $this->global, $data, NULL); + } + } + /** + * This function is used to check whether the Employee is existing in the database or not */ + function CheckEmail() + { + $id = $this->input->post('id'); + $this->load->model('employeedetails_model'); + $query = $this->employeedetails_model->checkMailExists($id ); + + $query = $query[0]['EmailId']; + print_r($query); + + } + function pageNotFound() + { + $this->global['pageTitle'] = 'CodeInsect : 404 - Page Not Found'; + + $this->loadViews("404", $this->global, NULL, NULL); + } + + function add(){ + + + $picture = ''; + //Check whether user upload picture + if(!empty($_FILES['photo']['name'])) + { + + $config['upload_path'] = 'uploads/images/'; + $config['allowed_types'] = 'jpg|jpeg|png|gif'; + $config['file_name'] = $_FILES['photo']['name']; + + //Load upload library and initialize configuration + $this->load->library('upload',$config); + $this->upload->initialize($config); + + if($this->upload->do_upload('photo')) + { + $uploadData = $this->upload->data(); + $picture = $uploadData['file_name']; + } + else + { + $error = array('error' => $this->upload->display_errors()); + $picture = ''; + } + } + else + { + $picture = ''; + } + + return $picture ; + } + + function ViewEmployee($EmpNO='') + { + if($this->isAdmin() == TRUE) + { + $this->loadThis(); + } + else + { + if($EmpNO == '') + { + $EmpID = $_GET['EmpID']; + } + else + { + + $EmpID = $EmpNO; } + + $GenderConfigID = 'C013'; + $MartialConfigID = 'C012'; + $QualificationConfigID = 'C014'; + $DesignationConfigID = 'C010'; + $BloodGroupConfigID = 'C011'; + $this->load->model('employeedetails_model'); + $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['DepartmentList'] = $this->employeedetails_model->getDepartment(); + $data['EmpDetails'] = $this->employeedetails_model->viewemployee($EmpID); + $this->global['pageTitle'] = 'Siddharth : 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->input->post('employeeid'); + $EmailId = $this->input->post('emailid'); + + $this->load->model('employeedetails_model'); + $query = $this->employeedetails_model->checkMailExists($EmailId, $Empid); + if (count($query)> 0) + { + $this->form_validation->set_message('checkMailEmp', 'The Entered Email id is exists in the Database.'); + return false; + } + else + { + return true; + } + } + /* To Update the employee details*/ + function UpdateEmployee() + { + if($this->isAdmin() == TRUE) + { + $this->loadThis(); + } + else + { + $EmpId = $this->input->post('employeeid'); + $this->load->library('form_validation'); + + $this->form_validation->set_rules('ContactNumber', 'ContactNumber', 'trim|required|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('emailid', 'emailid', 'trim|required|valid_email|callback_checkMailEmp'); + $this->form_validation->set_rules('gender', 'gender', 'callback_Gender_validate'); + $this->form_validation->set_rules('MartialStatus', 'MartialStatus', 'callback_Martial_validate'); + + $this->form_validation->set_rules('bloodgroup', 'bloodgroup', 'callback_Blood_validate'); + + $this->form_validation->set_rules('emergencycontactnumber', 'emergencycontactnumber', 'trim|required|min_length[10]|max_length[10]'); + + $this->form_validation->set_rules('desigination', 'Desigination', 'callback_Des_validate'); + $this->form_validation->set_rules('departmentname', 'departmentname', 'callback_Dep_validate'); + $this->form_validation->set_rules('eduqualifaction', 'eduqualifaction', 'callback_select_validate'); + $this->form_validation->set_rules('referrercontno', 'referrercontno', 'trim|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('aadharno', 'aadharno', 'trim|min_length[12]|max_length[12]'); + $this->form_validation->set_rules('panno', 'panno', 'trim|min_length[10]|max_length[10]'); + $this->form_validation->set_rules('passportno', 'passportno', 'trim|min_length[8]|max_length[8]'); + $this->form_validation->set_rules('accountno', 'accountno', 'trim|min_length[10]|max_length[20]'); + + if($this->form_validation->run() == FALSE) + { + $this->ViewEmployee($EmpId); + + } + else + { + + $this->load->model('employeedetails_model'); + $EmpId = $this->input->post('employeeid'); + $PictureName = $this->input->post('Image'); + + if ($PictureName != '') + { + //echo 'Exists'; + $Picture = $PictureName; + } + else + { + //echo 'Not Exists'; + $Picture = $this->add(); + } + //echo $Picture; + + $FirstName = $this->input->post('FirstName'); + $LastName = $this->input->post('LastName'); + $FatherName = $this->input->post('FatherName'); + $DateofBirth = $this->input->post('DateofBirth'); + $ContactNumber = $this->input->post('ContactNumber'); + $EmailId = $this->input->post('emailid'); + $Gender = $this->input->post('gender'); + $MartialStatus = $this->input->post('MartialStatus'); + $BloodGroup = $this->input->post('bloodgroup'); + $CurrentAddress = $this->input->post('currentaddress'); + $permanentaddress = $this->input->post('permanentaddress'); + $emergencycontactname = $this->input->post('emergencycontactname'); + $emergencycontactnumber = $this->input->post('emergencycontactnumber'); + $desigination = $this->input->post('desigination'); + $departmentCode = $this->input->post('departmentname'); + $dateofjoining = $this->input->post('dateofjoining'); + $Previousexperience = $this->input->post('Previousexperience'); + $eduqualifaction = $this->input->post('eduqualifaction'); + $addqualification = $this->input->post('addqualification'); + $referredby = $this->input->post('referredby'); + $referrercontno = $this->input->post('referrercontno'); + $accountno = $this->input->post('accountno'); + $ifsccode = $this->input->post('ifsccode'); + $bankbranchname = $this->input->post('bankbranchname'); + $bankaddress = $this->input->post('bankaddress'); + $aadharno = $this->input->post('aadharno'); + $panno = $this->input->post('panno'); + $passportno = $this->input->post('passportno'); + $ValidTill = $this->input->post('ValidTill'); + $addinfo = $this->input->post('addinfo'); + + $chked = $this->input->post('isactive'); + // echo 'chkvalue'. $chked ; + if( $chked != '') + { + $IsActive = '1'; + } + else + { + $IsActive = '0'; + } + // echo 'chkvalue'. $IsActive ; + $UpdatedBY = $this->session->userdata ( 'userId' ); + + + $DOB = $this->getDateformat($DateofBirth); + $DOJ = $this->getDateformat($dateofjoining); + if($ValidTill != '') + { + $Valid = $this->getDateformat($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,'UpdatedBY'=>$UpdatedBY); + + + $result = $this->employeedetails_model->UpdateEmployee($Employee,$EmpId); + + if($result > 0) + { + + // $this->session->set_flashdata('Success', $EmpId.'Employee Updated successfully!'); + redirect('employeeListing','refresh'); +echo ""; + } + else + { + + $this->session->set_flashdata('Error', $EmpId.'Employee details not saved'); + redirect('employeeListing','refresh'); +echo ""; + } + + // redirect('employeeListing'); + } + } + } +} + +?> \ No newline at end of file