HRMS FINAL - EMPLOYEE DIRECTORY + REQUESTS ========================================== This build separates the Employee Directory from the Employee Request workflow. ADMIN SIDEBAR - Dashboard - Employees: active employee directory only - Employee Requests: all pending/approved/document-submitted requests - Branches - Settings EMPLOYEE DIRECTORY - All Branches filter - S.No, Employee Number, Employee Name, DOB, Designation, Branch, Joining Date, Gross, Status - View / Edit / Increment actions - View shows complete profile, joining details, salary structure, PF/ESI percentage and employee share, net salary, documents and increment history - Increment changes Gross/ESI/Net but does NOT change Basic Salary - Employee numbers start EMP1001 and continue sequentially - Aadhaar is unique across the entire employee table REQUEST WORKFLOW 1. Branch submits employee request. 2. Admin sees the request in Employee Requests (sidebar badge). 3. Admin approves. 4. Branch sees Upload Documents request and submits Company Document, Certificate, Aadhaar, PAN and Bank Book. 5. Admin receives the Docs Submitted request in Employee Requests. 6. Admin clicks Edit / Review, verifies documents and enters joining date, payroll, PF/Non-PF, Basic, HRA, HCS, PF %, ESI % and other payroll values. 7. Final Accept creates the employee record and EMP number, moves request to Final Accepted and enables Offer Letter. 8. Employee then appears automatically in Employees -> Employee List. IMPORTANT FIX The employee directory no longer depends on a successful JOIN to employee_requests. This prevents a completed/final-accepted employee from disappearing from Employee List when an older database has request-table differences. INSTALL - Extract this folder under C:\xampp\htdocs\ - Import database.sql into MySQL/phpMyAdmin (database: hrms) - Open the project URL from your localhost setup FINAL FIX (03-Sep-2026): Employee List now reads directly from active employees and no longer depends on the optional employee_increments subquery. This fixes the situation where Dashboard shows Total Employees = 1 but Employees -> Employee List shows 0. FINAL UPDATE (03-Sep-2026): - Add New Employee now includes Branch, DOB, Gender, Email, Contact Number, designation, payroll and optional document uploads. - Employee View now has a dedicated Contact Details section and shows uploaded Company, Certificate, Aadhaar, PAN and Bank Book documents. - Direct Admin-created employees store uploaded documents in the employee record; workflow-created employees retain documents from the completed request. - Employee Change now supports Salary Increment, Branch Transfer and Change Designation. Branch transfers and designation changes are recorded in Employee Change History. - Edit Employee now includes Gender, Email and Contact Number. - Employee Requests remains a separate sidebar page with pending applications, approved document requests, document-submitted reviews and final acceptance. - Document upload validation supports PDF/JPG/JPEG/PNG up to 10 MB per file in application code. TESTED: - PHP syntax checked for all project PHP files. - Inline JavaScript syntax checked after removing PHP template expressions. - Employee directory query remains independent of request/increment joins, so active employees do not disappear from the list. UPLOAD FIX (03-Sep-2026): - Added an inline fallback upload form so document upload does not depend on the modal JavaScript. - Added XAMPP Apache .htaccess upload limits: 10 MB per file and 60 MB total POST size. - Upload request link now opens the inline form directly when JavaScript is unavailable.