Purchase Order | Tech Docs
Contents
Application Details
Developer: Joe Gautreau | Programmer / Web Application Developer | jgautreau@judsonisd.org | (210) 945-5558
Development Platform: ColdFusion MX 7, SQL Server, Model-Glue Framework, CSS Layout
Development Server: Testweb
Development Database: ERCSQL
Production Server: Web1
Production Database: ERCSQL2K5
Launch Date: July 5, 2007
Application Overview
Purchase Order Manager was developed to allow Technology Services the means by which to track purchase orders, po items and po dollars in and out of Technology. This application allows for reports to be created out of the system data, as well as managment of purchase orders and their status, or current place in the flow process, printing of delivery declarations and tracking of work orders tied to a purchase order.
To sum it all up, the Purchase Order Manager application allows simple management and reporting of technology purchase orders.
Roles
There are two different types of roles for this application.
View - This individual can search purchase orders, view individual purchase order details and print delivery declarations.
Manage - This individual can do everything the User role allows, manage the purchase order in the process flow, print delivery declaration, view reports, and track work orders. All system functionality is granted to this role level.
Database Schema
Below you will find the Student Directory Info database schema along with a short description for each table.

Volunteer: This table is populated with the volunteer info submitted by campus and HR personnel. It holds the volunteer info along with their status.
HitData: Relates to the Volunteer table on volunteerID. This table holds formatted hit data on all volunteers whose background check comes back with a HIT.
Status: This table is a lookup table for the different status levels in the app. This table relates to the Volunteer table on statusID.
Ethnicity: This table is a lookup table for the different ethnicity types in the app. This table relates to the Volunteer table on ethnicity.
State: This table is a lookup table for the different state names in the app. This table relates to the Volunteer table on stateAbbrev.
Flow
Insert A Volunteer Flow Document - Click to download the PDF.
Lookup Volunteers Flow Document - Click to download the PDF.
Manage Volunteer Hits Flow Document - Click to download the PDF.
CFC's & Functions
Content.cfc
init:
- Purpose: When called this function returns an instance of the entire object / cfc with all methods available.
- Arguments: None
- Return Type: CFC
getVendors:
- Purpose: This function gets a list of vendors in query format for use in drop down menus where vendors need to be displayed.
- Arguments: active(bit)
- Return Type: Query
getStatusCodes:
- Purpose: This function gets a list of status codes in query format for use in drop down menus where vendors need to be displayed.
- Arguments: None
- Return Type: Query
getAvailableFunctionCodes:
- Purpose: This function goes through the purchrg table and splits out the function code from all budget codes for display in drop down menus.
- Arguments: None
- Return Type: Query
getAvailableDepartmentCodes:
- Purpose: This function goes through the purchrg table and splits out the department code from all budget codes for display in drop down menus.
- Arguments: None
- Return Type: Query
getBuildingCodes:
- Purpose: This function selects all of the building codes (Making sure they are at least 3 characters in length.) and building names and places them into a structure for use throughout the application.
- Arguments: None
- Return Type: Struct (Structure)
Report.cfc
init:
- Purpose: When called this function returns an instance of the entire object / cfc with all methods available.
- Arguments: None
- Return Type: CFC
getPoStats:
- Purpose: This function runs 4 queries starting with getting the total number of purchase orders in the system. It then inserts that value along with a title for that amount in the first item of the structure. Next, a query is ran to get the total number of managed purchase orders in the system. The total is placed into the second item of the structure. Following that the total number of managed purchase orders is subtracted from the total number of purchase orders and placed into the third item of the structure with it's title of total number of unmanaged purchase orders. The third query is then ran to get the current counts for status category and how many purchase orders fall into each one. This result is then placed into the fourth item of the structure. The final query is then ran to select the monthly counts of purchase orders for the past 12 months. This query is inserted into the fifth item in the structure and the entire structure is then returned.
- Arguments: None
- Return Type: Struct (Structure)
get30DayReport:
- Purpose: This function grabs all managed purchase orders that have not been cleared yet are over 30 days since their purchase order date. A sort order ID is passed into the function for the sorting of results as per the user.
- Arguments: orderBy (int)
- Return Type: Query
getDeliveryPendingReport:
- Purpose: This function grabs all managed purchase orders where the delivery status is still pending and sorts them as the user dictates.
- Arguments: orderBy (int)
- Return Type: Query
getClearedReport:
- Purpose: This report which is customizable for the user based on department code, function code, start date and end date, returns the dollar report in a structure of what has and has not been cleared in the system.
- Arguments: startDate (date), endDate (date), deptCode (int), functCode (int)
- Return Type: Struct (Structure)
getBondReport:
- Purpose: This function which is "top secret" ;), or only given to certain users above and beyond the normal system user priviliges, grabs all purchase orders that apply to bond and have been issued. They are then put into a file, dumped on the server and the file name is returned for download.
- Arguments: None
- Return Type: String
Notes
A webservice behind the scenes runs everytime a user is submitted for approval. This webservice takes an XML post and returns an XML result which can be found in the Model. This webservice is provided by Safe Schools and requires authentication to run a volunteer. Authentication is sent with the XML packet.


