This project is a simple project. Currently the website consists of 12 jsp's and 15 java servlets. The system is a service-request/ticket system for a mock tech support company.
** Currently implemented:
"technicians", "clients", and "managers" can login to the system. New service requests (requests for work to be performed FOR the clients BY the technicians) can be created by clients. Technicians can claim a service request to assign it to themselves indicating that they will perform the work requested. Service requests have a status field with 5 potential state values: new, in progress, hold, problem, resolved.
Requests are automatically "new" upon their creation. "in progress" is a the state indicating a technician is currently assigned that service request. "resolved" indicates that the service request is complete, all necessary work has been performed.
Technicians can view all "new" service requests in the system(listUnresolvedSR.jsp), (because "new" indicates that no tech has claimed them yet). Technicians can also view ALL service requests currently claimed by them (listMySR.jsp). ("in progress")
A service request can selected from the list of service requests (listMySR.jsp) and information pertaining to that service request is displayed. (myInfoSR.jsp) The information shown includes: date reported, client who made the request, a problem description, client id.
** Not yet implemented (REQUIRED WORK to Complete project):
1.) Modify myInfoSR.jsp to allow technicians to add "work records" to a service request. A work record will be a documentation of work performed on the service request. Service requests can have many work records, performed by a number of technicians. The work record is to contain: work record id, technician name who performed work, work description, work date, start time and stop time (enterable by tech for billing reasons) and equipment id (enterable by tech).
2.) A jsp is needed to show a clean view of the work performed by the tech (note that "work description" is just one large text field.) and all other work record information so that it can be printed as a receipt for the client upon completion of the work.
3.) Technicians need to be able to change the already implemented status field of a service request from "in progress" to either "resolved", "hold", or "problem".
4.) Managers that are logged in need to be able to view a list of service requests with "problem" status (almost identical to listMySR.jsp). Managers need to select a particular service request from that list to see all of the information about the service request (almost identical to myInfoSR.jsp) including a list of all work records attached to that service request. From here the manager will be able to change a "problem" request to a "hold" status. (i.e. waiting on a component or authorization from client to perform work)
5.) Managers need to be able to view a report all ServReq not completed, grouped by client, then by status. (The SQL statement no be used for this report is (select c.clientId, c.clientName, s.Status, count(*) as NumOpen from servicerequest s inner join client c on s.clientId = c.clientId where s.status 'Resolved' group by c.clientId, c.clientName, s.Status order by s.clientId, s.Status;)
The database schema is already defined and the database is already hosted with some sample data. Data can be added to this database or modified for testing purposes. This is, however, a shared database with many people and the schema shall not be modified in any way because it would compromise the compatibility with their own projects.
Any questions that arise during your work will be answer quickly. I have a total understanding of what is required and I can articulate it without any problem if you run into complications. This project must be complete no later than Dec 11th, 2011 @ 9:00pm EST.