CLASSE Time Sheet Application (AKA Replicon Replacement)
This project has been integrated as a collection of feature requests tagged with "timesheet" in the Business Office App Suite project
. Please use that page for further feature requests, bug reports, and documentation for this project.
Create a web app that users use to report time spent working on various projects (WBS's).
- Pay Period
- For salaried, employees, two pay periods each month, consisting of the first to the 15th, and the 16th to the last day of each month.
- For hourly employees, each week is a pay period.
- A "chart" or "spreadsheet" where users enter time spent on each WBS. The rows are WBS's, and each user can have a variable and changing list of WBS's. The columns are days.
- A total for each day should be calculated and displayed
- A total for the pay period should be calculated and displayed
- Users need the ability to add and remove WBS's for each pay period.
- Users need to be able to save a timesheet.
- When a timesheet is submitted, it then needs to be approved by the "CAM" (Cost Account Manager) for each WBS that time was charged to.
- if the CAM rejects the timesheet, it is reopened and sent back to the user.
- Users need to be able browse to different timesheets so that they can enter and view time for timesheets in the past and in the future.
- Users need to be able to enter an optional comment for each time entry.
- DB server = testdb
- DB name = timesheet
- DB user = busoffadmin
- JDBC Resource = jdbc/timesheet_busoffadmin
- JDBC Connection Pool = mysql_testdb_timesheet_busoffadmin
- Create the grid UI, where you can enter a number (including decimals) into each cell.
- The columns are days. 1-15 for the first pay period of each month, and 16-28,29,30, or 31 for the second pay period of each month.
- The rows are WBS numbers. Each timesheet will have a different number of rows.
- Add the ability to delete and add WBS numbers (from the wbs table in the DB).
- Update the grid so that when you click on the cell to enter a number, you have an option to add a text description. This could just be a text field that appears below the grid, an "expand" icon that you click on to open up a text field, etc.
- Update the grid so that when the user clicks save, entries in the time_charge table will be created or updated based on the current status of their timesheet.
- A user logs in through apache. Their classeid is used to match an employee id in the employee table.
- When they log in, they are presented with their timesheet for the current pay period. If the timesheet doesn't already exist int he timesheet table, it should be created.
- If the timesheet is being created for the first time, it should default to the WBS list the user used most recently.
- The user will add or remove WBS's as necessary, and will enter time into the cells on their timesheet. Each entry will have an optional description.
- When the user clicks save, entries in the time_charge table will be created or updated based on the current status of their timesheet.
- Example of old UI. Note that this is just an example. The new UI could be simplified as long as it meets the stated specifications.:
Requirements / notes
- approvers for WBS's
- WBS totals useful for approvers, not for entering
- hid weekends by default, with ability to expand?
- auto-fill holidays, with ability to override?
- only click approve once - comments only necessary when declining
- each WBS has a descri[ption, and always order by WBS
- after viewing and improving an individuals time, automatically see next employees view (not the list of employees)
- time off = holiday, vacation, or personal
- some WBS's require a comment (like non LEPP / CHESS)
- lock timesheet once Bill's processed. important for financial audit.
- make sure credits / debits in final LLJV match what was in initial KFS report. (done)
- timestamp approvals
- Dave Rice use case: export reports to Excel
- For supervisors: timesheet summary table has breakdown by task (RT #42586)
- send email when approvals are due
Focus Group Requests
- When Bill pulls report, everything is locked.
- Allow supervisor or cam to withdraw approval, and user is notified.
- Allow users to unsubmit timesheet, even if something has been approved. cams and supervisors are notified
- Preserve export of raw data to csv. Timesheet (classic). Basically, a line for each entry anyone makes.
- improve / speed up searches.
- Easy access for supervisors of what percentage of expected submissions are complete. Or, globally what percentage of timesheets are submitted.
- For users - listing of accounts, descriptions of accounts, and who is responsible.
- Maybe adding "notes" field to title, description, and wbs
- In displays for approvals, show names not just netid's or employee id's. Maybe just show last names for consistency with existing convention.
- Run a report for charges on a given wbs for a given period, showing hours, cams and/or user,
- ability to list all users - last name, first name
- prevent a specific user from charging a specific wbs???
- give CAM ability to require comments for specific WBS's they're responsible for. Or, minimum time without comments.
- ??? by default, repeat comments from previous entry ???
- Electronics group: no complaints!
- Task list dropdown: option to list alphabetically or numerically
- Sub-dropdown menus to save a column in the timesheet interface
- Search will automatically complete WBS or description (like Google)
- Not clear how important the comments are, depends on the CAM
- Nate's "lame complaints":
- Default should be expanded timesheet
- Checksum to make sure all hours accounted for
- Approvals: CAM can choose default show whole timesheet or only hours to be approved
- BKH: vacations correlated with Workday
- Dropdown menus for task/project not strictly necessary -- people usually use the add/remove tasks button at the bottom