home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************************************
- * *
- * Class name: expenseApplet *
- * *
- * Purpose: Main menu for Expenses, allowing access to creating a new expense report, viewing *
- * current expense reports, adding new categories, and adding new employees. *
- * *
- * Imports: java.awt.* *
- * java.applet.* *
- * symjava.sql.* *
- * java.io.* *
- * java.util.* *
- * java.lang.* *
- * *
- * Methods include: public boolean handleEvent(Event event) *
- * public synchronized void show() *
- * public void clickedEmployeeInfo() *
- * public void clickedExpenseCategories() *
- * public void clickedFind () *
- * public void clickedNewExpenseReport() *
- * public void clickedViewExpenseReport(String empID) *
- * public void getConnected() *
- * public void getEmployees (Panel newwindow, Choice employeename) *
- * public void getEmployees2(List emplist) *
- * public void getExpenseInfo(String empID) *
- * *
- * *
- * Additional Notes: *
- * THIS SOFTWARE HAS BEEN COMPILED AND EXECUTED SUCCESSFULLY IN SPECIFIC SYMANTEC *
- * ENVIRONMENTS, AND IS BEING PROVIDED ONLY AS SAMPLE CODE. *
- * *
- * SYMANTEC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, *
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SYMANTEC SHALL NOT *
- * BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING, OR DISTRIBUTING *
- * THIS SOFTWARE OR ITS DERIVATIVES. *
- * *
- * Please see the Sample Code Configuration item in the Read Me file for additional *
- * information about the sample database used in this applet. *
- * *
- * Copyright (c) 1996 Symantec. All Rights Reserved. *
- * *
- **************************************************************************************************/
-
- import java.awt.*;
- import java.util.*;
- import symjava.sql.*;
- import java.lang.*;
- import java.applet.Applet;
-
- public class expenseApplet extends Applet {
-
- Driver driver;
- Connection connection;
- String urlValue = " ";
- String sqlStatement = " ";
- Panel oldwindow;
- Button oldbutton;
- int flag = 0;
- List emplist=new List();
- List list1=new List();
- public void init () {
-
- // super(" EXPENSES APPLET ");
-
- //{{INIT_CONTROLS
-
- setLayout(null);
-
- resize(600,600);
- //resize(insets().left + insets().right + 600, insets().top + insets().bottom + 390);
-
- newExpenseReport=new Button("New Expense Report");
- newExpenseReport.setFont(new Font("Helvetica",Font.BOLD,10));
- add(newExpenseReport);
- newExpenseReport.reshape(insets().left + 0,insets().top + 0,150,34);
- viewExpenseReport=new Button("View Expense Report");
- viewExpenseReport.setFont(new Font("Helvetica",Font.BOLD,10));
- add(viewExpenseReport);
- viewExpenseReport.reshape(insets().left + 150,insets().top + 0,150,34);
- employeeInfo=new Button("Enter Employee Information");
- employeeInfo.setFont(new Font("Helvetica",Font.BOLD,10));
- add(employeeInfo);
- employeeInfo.reshape(insets().left + 300,insets().top + 0,150,34);
- expenseCategories=new Button("Enter Expense Categories");
- expenseCategories.setFont(new Font("Helvetica",Font.BOLD,10));
- add(expenseCategories);
- expenseCategories.reshape(insets().left + 450,insets().top + 0,150,34);
-
- //}}
-
- getConnected();
-
- show();
- }
-
- public synchronized void show() {
- move(50, 50);
- super.show();
- }
-
- public boolean handleEvent(Event event) {
- if (event.id == Event.ACTION_EVENT && event.target == expenseCategories) {
- clickedExpenseCategories();
- return true;
- }
- else
- if (event.id == Event.ACTION_EVENT && event.target == employeeInfo) {
- clickedEmployeeInfo();
- return true;
- }
- else
- if (event.id == Event.ACTION_EVENT && event.target == viewExpenseReport) {
- clickedViewExpenseReport(null);
- return true;
- }
- else
- if (event.id == Event.ACTION_EVENT && event.target == newExpenseReport) {
- clickedNewExpenseReport();
- return true;
- }
- else
- if (event.id == Event.ACTION_EVENT && event.target == emplist) {
- String empID = selectedEmployee(emplist);
- remove(emplist);
- emplist.clear();
- clickedViewExpenseReport(empID);
- }
- return super.handleEvent(event);
- }
-
-
- //{{DECLARE_CONTROLS
- Label label1;
- Button newExpenseReport;
- Button viewExpenseReport;
- Button employeeInfo;
- Button expenseCategories;
- //}}
-
-
- /************************** Establish connection ***************************************/
- public void getConnected() {
- urlValue = "jdbc:dbaw://localhost:8889/SQL_Server/dbaw/pubs";
-
- try {
- String DriverName = "symantec.itools.db.jdbc.Driver";
- driver = (Driver)Class.forName(DriverName).newInstance();
- }
- catch (ClassNotFoundException e) {
- System.out.println("Class Exception recieved: " + e.getMessage());
- return;
- }
- catch (IllegalAccessException e) {
- System.out.println("Access Exception recieved: " + e.getMessage());
- return;
- }
- catch (InstantiationException e) {
- System.out.println("Instantiation Exception recieved: " + e.getMessage());
- return;
- }
- Properties p = new Properties();
- try
- {
- p.put("user", "sa");
- p.put("password", "dbawsqlserver");
- connection = (Connection)driver.connect(urlValue, p);
- }
- catch (SQLException e)
- {
- System.out.println("Exception recieved: " + e.getMessage());
- return;
- }
-
- if (connection == null)
- System.out.println("No driver found!");
- else
- System.out.println(" Connection Established - SUCCESS!");
-
- }
- /***************************************************************************************/
-
- public void clickedNewExpenseReport() {
-
- Choice employeename=new Choice();
- Choice cat1=new Choice();
- Choice cat2=new Choice();
- Choice cat3=new Choice();
- Choice cat4=new Choice();
- Choice cat5=new Choice();
-
- if (flag != 0) {
- remove(oldwindow);
- oldbutton.setFont(new Font("Helvetica",Font.BOLD,10));
- }
- Button newbutton = newExpenseReport;
- newbutton.setFont(new Font("Helvetica",Font.BOLD,12));
-
- emplist.hide();
- Panel newwindow = new expenseEntryForm(this, employeename, cat1, cat2, cat3, cat4, cat5);
- getEmployees(newwindow, employeename);
- getCategories(cat1, cat2, cat3, cat4, cat5);
-
- oldwindow = newwindow;
- oldbutton = newbutton;
- flag = 1;
-
- add(newwindow);
- newwindow.add(employeename);
- employeename.reshape(insets().left + 228,insets().top + 146,128,25);
- newwindow.add(cat1);
- cat1.reshape(insets().left + 172,insets().top + 311,138,22);
- newwindow.add(cat2);
- cat2.reshape(insets().left + 172,insets().top + 338,138,22);
- newwindow.add(cat3);
- cat3.reshape(insets().left + 172,insets().top + 366,138,22);
- newwindow.add(cat4);
- cat4.reshape(insets().left + 172,insets().top + 394,138,22);
- newwindow.add(cat5);
- cat5.reshape(insets().left + 172,insets().top + 420,138,22);
- }
-
-
-
- public void clickedViewExpenseReport(String empID) {
- if (flag != 0) {
- remove(oldwindow);
- oldbutton.setFont(new Font("Helvetica",Font.BOLD,10));
- }
-
- // emplist.hide();
- Panel newwindow = new expenseView(this, empID);
- add(newwindow);
- Button newbutton = viewExpenseReport;
- newbutton.setFont(new Font("Helvetica",Font.BOLD,12));
- list1.setFont(new Font("Courier",Font.PLAIN,8));
- newwindow.add(list1);
- list1.reshape(insets().left + 48,insets().top + 353,681,75);
- oldwindow = newwindow;
- oldbutton = newbutton;
- flag = 1;
- }
- public void clickedEmployeeInfo() {
- if (flag != 0) {
- remove(oldwindow);
- oldbutton.setFont(new Font("Helvetica",Font.BOLD,10));
- }
-
- emplist.hide();
- Panel newwindow = new employeeEntry(this);
- add(newwindow);
- Button newbutton = employeeInfo;
- newbutton.setFont(new Font("Helvetica",Font.BOLD,12));
- oldwindow = newwindow;
- oldbutton = newbutton;
- flag = 1;
- }
- public void clickedExpenseCategories() {
- if (flag != 0) {
- remove(oldwindow);
- oldbutton.setFont(new Font("Helvetica",Font.BOLD,10));
- }
-
- emplist.hide();
- Panel newwindow = new categoryEntry(this);
- add(newwindow);
- Button newbutton = expenseCategories;
- newbutton.setFont(new Font("Helvetica",Font.BOLD,12));
- oldwindow = newwindow;
- oldbutton = newbutton;
- flag = 1;
- }
-
- public void clickedFind () {
-
- add(emplist);
- emplist.reshape(insets().left + 50,insets().top + 50,300,200);
-
- getEmployees2(emplist);
- }
-
-
- public void getEmployees (Panel newwindow, Choice employeename) {
- Statement s2;
- ResultSet rs2;
- String empName;
- employeename.addItem("<null>");
-
- /***************** Query the Employees Table *************************************************/
- try
- {
- s2 = (Statement)connection.createStatement();
- rs2 = (ResultSet)s2.executeQuery("select LastName, FirstName from Employees");
- while (rs2.next()) {
- String lname = rs2.getString(1);
- String fname = rs2.getString(2);
- employeename.addItem(fname + " " + lname);
- }
-
- s2.close();
- }
- catch (SQLException e)
- {
- System.out.println(e.getMessage());
- }
- }
-
- public boolean getCategories(Choice cat1, Choice cat2, Choice cat3, Choice cat4, Choice cat5) {
- Statement s3;
- ResultSet rs3;
-
- /********************* Query the Expense Category Table ***********************************/
- try {
- s3 = (Statement)connection.createStatement();
- rs3 = (ResultSet)s3.executeQuery("select ExpenseCategory from Expense_Categories");
- String catName = "<null>";
- cat1.addItem(catName);
- cat2.addItem(catName);
- cat3.addItem(catName);
- cat4.addItem(catName);
- cat5.addItem(catName);
- while (rs3.next()) {
- catName = rs3.getString(1);
- int len = catName.length();
- if (len < 23) {
- for (int i = 0; i < (23-len); i++) {
- catName = catName + " ";
- }
- }
- cat1.addItem(catName);
- cat2.addItem(catName);
- cat3.addItem(catName);
- cat4.addItem(catName);
- cat5.addItem(catName);
- }
-
- s3.close();
- return true;
- }
- catch (SQLException e)
- {
- String errmsg = (e.getMessage());
- System.out.println(errmsg);
- return false;
- }
- /************************************************************************************************/
- }
-
- public void getEmployees2(List emplist) {
- Statement s2;
- ResultSet rs2;
- String empInfo;
-
- try
- {
- s2 = (Statement)connection.createStatement();
- rs2 = (ResultSet)s2.executeQuery("select EmployeeID, FirstName, LastName from Employees");
- while (rs2.next()) {
- empInfo = rs2.getString(1) + " " + rs2.getString(2) + " " + rs2.getString(3);
- emplist.addItem(empInfo);
- }
- s2.close();
- }
- catch (SQLException e)
- {
- System.out.println(e.getMessage());
- return;
- }
- }
-
- public String selectedEmployee(List emplist) {
-
- String empName = emplist.getSelectedItem();
- int space = empName.indexOf(" ");
- String empID = empName.substring(0, space);
-
- return empID;
- }
-
- //**** get expense info for the selected employee from database ********
-
- public void getExpenseInfo(String empID) {
- Statement s, s2;
- ResultSet rs, rs2;
- float count = 0;
- String Paid = null;
-
- /**************** Query the Expense Reports Table *********************************************/
- try
- {
- s = (Statement)connection.createStatement();
- rs = (ResultSet)s.executeQuery("select ExpenseRptName, ExpenseReportID, DateSubmitted, AdvanceAmount, Paid from Expense_Reports where EmployeeID = '" + empID + "'");
- System.out.println("EmployeeID = '" + empID + "'");
- boolean stuff = rs.next();
- String rptID = rs.getString(2);
- int j = 0;
- while (stuff && j < 10) {
- System.out.println(stuff);
- String rptname = rs.getString(1);
- String rptdate = rs.getString(3);
- int space = rptdate.indexOf(" ");
- String Rptdate = rptdate.substring(0, space);
-
- int paid = rs.getInt(5);
-
- float rptadv = rs.getFloat(4);
- float due = 0;
-
- Float RPTADV = new Float(rptadv);
- String Rptadv = RPTADV.toString();
-
- String listItems = "";
- /*********************** Query the Expense Details Table ***********************************/
- s2 = (Statement)connection.createStatement();
- rs2 = (ResultSet)s2.executeQuery("select ExpenseItemAmount from Expense_Details where ExpenseReportID = '" + rptID + "'");
- System.out.println("select ExpenseItemAmount from Expense_Details where ExpenseReportID = '" + rptID + "'");
- boolean stuff2 = rs2.next ();
- int i = 0;
- while (stuff2 && i < 10) {
- String f = rs2.getString(1);
- count += (Float.valueOf(f)).intValue();
- stuff2 = rs2.next();
- f = rs2.getString(1);
- if (f == null || f == "")
- stuff2 = false;
- i+=1;
- }
- if (i==10)
- System.out.println("little while is over stuffed");
-
- /***********************************************************************************************/
- if (paid == 1) Paid = "yes";
- else Paid = "no";
-
- due = count - rptadv;
- Float DUE = new Float(due);
- String Due = DUE.toString();
- Float COUNT = new Float(count);
- String Count = COUNT.toString();
-
- listItems += padStrings(rptname, 20);
- listItems += padStrings(Rptdate, 15);
- listItems += padStrings(Rptadv, 15);
- listItems += padStrings(Count, 15);
- listItems += padStrings(Due, 12);
- listItems += Paid;
-
- list1.addItem(listItems);
-
- s2.close();
- stuff = rs.next();
- rptID = rs.getString(2);
- //if (rptID.equals(null) || rptID.equals(""))
- if (rptID==null || rptID== "")
- stuff = false;
- j+=1;
- }
- if (j==10)
- System.out.println(" big while is over stuffed");
-
- s.close();
- }
- catch (SQLException e)
- {
- System.out.println(e.getMessage()); return;
- }
- /**************************************************************************************************/
- }
-
- //**** pad strings to format output **********
-
- public String padStrings(String theString, int reqSize) {
- int len = theString.length();
- int count = 0;
-
- if (len < reqSize) {
- count = reqSize - len;
- for (int i = 0; i < count; i++) {
- theString += " ";
- }
- }
- else {
- theString = theString.substring(0, reqSize-3);
- theString += " ";
- }
- return theString;
- }
- }
-