public Vector getAllOrganizations(int iFKCompanyID) {
    Vector v = new Vector();
    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    /*
     * Change(s) : Changed the SQL statement to get the company name as well
     * Reason(s) : Able to set the selected company name when company selection is changed in OrganizationList.jsp
     * Updated By: Gwen Oh
     * Updated On: 26 Sep 2011
     */
    // String sSQL="SELECT * FROM tblOrganization WHERE FKCompanyID= "+ iFKCompanyID;
    String sSQL =
        "SELECT tblOrganization.*, tblConsultingCompany.CompanyName FROM "
            + "tblOrganization INNER JOIN tblConsultingCompany ON tblOrganization.FKCompanyID = tblConsultingCompany.CompanyID "
            + "WHERE tblOrganization.FKCompanyID="
            + iFKCompanyID;
    try {
      /*
       * Re-edited by Eric Lu 15-May-08
       *
       * Added sort and toggle functionality for getting organizations
       */
      sSQL = sSQL + " ORDER BY ";

      if (SortType_org == 1) sSQL = sSQL + "OrganizationName";
      else if (SortType_org == 2) sSQL = sSQL + "OrganizationCode";
      else if (SortType_org == 3) sSQL = sSQL + "NameSequence";

      if (Toggle_org[SortType_org - 1] == 1) sSQL = sSQL + " DESC";

      con = ConnectionBean.getConnection();
      st = con.createStatement();
      rs = st.executeQuery(sSQL);

      while (rs.next()) {
        votblOrganization vo = new votblOrganization();
        vo.setEmailNom(rs.getString("EmailNom"));
        vo.setEmailNomRemind(rs.getString("EmailNomRemind"));
        vo.setEmailPart(rs.getString("EmailPart"));
        vo.setEmailPartRemind(rs.getString("EmailPartRemind"));
        vo.setExtraModule(rs.getInt("ExtraModule"));
        vo.setFKCompanyID(rs.getInt("FKCompanyID"));
        vo.setNameSequence(rs.getInt("NameSequence"));
        vo.setOrganizationCode(rs.getString("OrganizationCode"));
        vo.setOrganizationLogo(rs.getString("OrganizationLogo"));
        vo.setOrganizationName(rs.getString("OrganizationName"));
        vo.setPKOrganization(rs.getInt("PKOrganization"));
        // Gwen Oh - 26/09/2011: Set the company name
        vo.setCompanyName(rs.getString("CompanyName"));

        v.add(vo);
      }

    } catch (SQLException SE) {
      System.err.println("Organization.java - getAllOrganizations - " + SE.getMessage());
    } finally {

      ConnectionBean.closeRset(rs); // Close ResultSet
      ConnectionBean.closeStmt(st); // Close statement
      ConnectionBean.close(con); // Close connection
    }

    return v;
  }
  public votblOrganization getAllOrganizations(int iFKCompanyID, int iOrganisationID) {
    Vector v = new Vector();
    Connection con = null;
    Statement st = null;
    ResultSet rs = null;
    votblOrganization vo = new votblOrganization();

    String sql = "";
    if (iOrganisationID != 0) {
      sql = "SELECT * FROM tblConsultingCompany a, tblOrganization b";
      sql =
          sql
              + " WHERE a.CompanyID = b.FKCompanyID AND a.CompanyID = "
              + iFKCompanyID
              + " AND b.PKOrganization ="
              + iOrganisationID;
    } else {
      sql = "SELECT * FROM tblConsultingCompany WHERE CompanyID = " + iFKCompanyID;
    }

    try {

      con = ConnectionBean.getConnection();
      st = con.createStatement();
      rs = st.executeQuery(sql);

      if (rs.next()) {
        // 27 May 2008 by Hemilda - cause iOrganisationID == 0 the query only retrieve
        // tblConsultingCompany column
        if (iOrganisationID != 0) {
          vo.setEmailNom(rs.getString("EmailNom"));
          vo.setEmailNomRemind(rs.getString("EmailNomRemind"));
          vo.setEmailPart(rs.getString("EmailPart"));
          vo.setEmailPartRemind(rs.getString("EmailPartRemind"));
          vo.setExtraModule(rs.getInt("ExtraModule"));
          vo.setFKCompanyID(rs.getInt("FKCompanyID"));
          vo.setNameSequence(rs.getInt("NameSequence"));
          vo.setOrganizationCode(rs.getString("OrganizationCode"));
          vo.setOrganizationLogo(rs.getString("OrganizationLogo"));
          vo.setOrganizationName(rs.getString("OrganizationName"));
          vo.setPKOrganization(rs.getInt("PKOrganization"));
        }
        vo.setCompanyName(rs.getString("CompanyName"));
      }

    } catch (SQLException SE) {
      System.err.println("Organization.java - getAllOrganizations - " + SE.getMessage());
    } finally {

      ConnectionBean.closeRset(rs); // Close ResultSet
      ConnectionBean.closeStmt(st); // Close statement
      ConnectionBean.close(con); // Close connection
    }
    return vo;
  }
  /**
   * Get Organization
   *
   * @param iFKCompanyID
   * @return
   * @author James
   */
  public votblOrganization getOrganization(int iOrgID) {
    votblOrganization vo = new votblOrganization();
    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String command = "SELECT * FROM tblOrganization WHERE PKOrganization= " + iOrgID;
    try {

      con = ConnectionBean.getConnection();
      System.out.println("con:" + con);
      st = con.createStatement();
      rs = st.executeQuery(command);

      if (rs.next()) {
        vo.setEmailNom(rs.getString("EmailNom"));
        vo.setEmailNomRemind(rs.getString("EmailNomRemind"));
        vo.setEmailPart(rs.getString("EmailPart"));
        vo.setEmailPartRemind(rs.getString("EmailPartRemind"));
        vo.setExtraModule(rs.getInt("ExtraModule"));
        vo.setFKCompanyID(rs.getInt("FKCompanyID"));
        vo.setNameSequence(rs.getInt("NameSequence"));
        vo.setOrganizationCode(rs.getString("OrganizationCode"));
        vo.setOrganizationLogo(rs.getString("OrganizationLogo"));
        vo.setOrganizationName(rs.getString("OrganizationName"));
        vo.setPKOrganization(rs.getInt("PKOrganization"));

        // Added by DeZ, 18/06/08, to add function to enable/disable Nominate Rater
        vo.setNomRater(rs.getBoolean("NominationModule"));
      }

    } catch (SQLException SE) {
      System.err.println("Organization.java - getOrganization - " + SE.getMessage());
    } finally {

      ConnectionBean.closeRset(rs); // Close ResultSet
      ConnectionBean.closeStmt(st); // Close statement
      ConnectionBean.close(con); // Close connection
    }

    return vo;
  }
  private void _jspService(
      javax.servlet.http.HttpServletRequest request,
      javax.servlet.http.HttpServletResponse response,
      com.caucho.jsp.PageContextImpl pageContext,
      javax.servlet.ServletContext application,
      javax.servlet.http.HttpSession session,
      TagState _jsp_state)
      throws Throwable {
    javax.servlet.jsp.JspWriter out = pageContext.getOut();
    final javax.el.ELContext _jsp_env = pageContext.getELContext();
    javax.servlet.ServletConfig config = getServletConfig();
    javax.servlet.Servlet page = this;
    javax.servlet.jsp.tagext.JspTag _jsp_parent_tag = null;
    com.caucho.jsp.PageContextImpl _jsp_parentContext = pageContext;
    response.setContentType("text/html");
    response.setCharacterEncoding("utf-8");

    out.write(_jsp_string0, 0, _jsp_string0.length);
    CP_Classes.EthnicGroup ethnic;
    synchronized (pageContext.getSession()) {
      ethnic = (CP_Classes.EthnicGroup) pageContext.getSession().getAttribute("ethnic");
      if (ethnic == null) {
        ethnic = new CP_Classes.EthnicGroup();
        pageContext.getSession().setAttribute("ethnic", ethnic);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Login logchk;
    synchronized (pageContext.getSession()) {
      logchk = (CP_Classes.Login) pageContext.getSession().getAttribute("logchk");
      if (logchk == null) {
        logchk = new CP_Classes.Login();
        pageContext.getSession().setAttribute("logchk", logchk);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Translate trans;
    synchronized (pageContext.getSession()) {
      trans = (CP_Classes.Translate) pageContext.getSession().getAttribute("trans");
      if (trans == null) {
        trans = new CP_Classes.Translate();
        pageContext.getSession().setAttribute("trans", trans);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    // added to check whether organisation is a consulting company
    // Mark Oei 09 Mar 2010
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Organization Org;
    synchronized (pageContext.getSession()) {
      Org = (CP_Classes.Organization) pageContext.getSession().getAttribute("Org");
      if (Org == null) {
        Org = new CP_Classes.Organization();
        pageContext.getSession().setAttribute("Org", Org);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Create_Edit_Survey CE_Survey;
    synchronized (pageContext.getSession()) {
      CE_Survey =
          (CP_Classes.Create_Edit_Survey) pageContext.getSession().getAttribute("CE_Survey");
      if (CE_Survey == null) {
        CE_Survey = new CP_Classes.Create_Edit_Survey();
        pageContext.getSession().setAttribute("CE_Survey", CE_Survey);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    // by lydia Date 05/09/2008 Fix jsp file to support Thai language
    out.write(_jsp_string3, 0, _jsp_string3.length);
    out.print((trans.tslt("Delete Ethnic Group")));
    out.write(_jsp_string4, 0, _jsp_string4.length);
    out.print((trans.tslt("Edit Ethnic Group")));
    out.write(_jsp_string5, 0, _jsp_string5.length);
    out.print((trans.tslt("Please enter Ethnic Group")));
    out.write(_jsp_string6, 0, _jsp_string6.length);
    out.print((trans.tslt("Add Ethnic Group")));
    out.write(_jsp_string7, 0, _jsp_string7.length);
    out.print((trans.tslt("Please enter Ethnic Group")));
    out.write(_jsp_string8, 0, _jsp_string8.length);

    String username = (String) session.getAttribute("username");

    if (!logchk.isUsable(username)) {
      out.write(_jsp_string9, 0, _jsp_string9.length);
    } else {

      if (request.getParameter("proceed") != null) {
        int PKOrg = new Integer(request.getParameter("proceed")).intValue();
        logchk.setOrg(PKOrg);
      }

      if (request.getParameter("Delete") != null) {

        int Ethnic_ID = new Integer(request.getParameter("ethnic_ID")).intValue();
        boolean bIsDeleted = ethnic.deleteRecord(Ethnic_ID, logchk.getPKUser());

        if (bIsDeleted) {

          out.write(_jsp_string10, 0, _jsp_string10.length);
        }
      }

      if (request.getParameter("Edit") != null) {
        int Ethnic_ID = new Integer(request.getParameter("ethnic_ID")).intValue();

        String txtEthnic = request.getParameter("txtEthnic");
        boolean bIsEdited =
            ethnic.editRecord(Ethnic_ID, txtEthnic, logchk.getOrg(), logchk.getPKUser());

        if (bIsEdited) {

          out.write(_jsp_string11, 0, _jsp_string11.length);

        } else {

          out.write(_jsp_string12, 0, _jsp_string12.length);
        }
      }

      if (request.getParameter("Add") != null) {

        String txtEthnic = request.getParameter("txtEthnic");

        boolean bExist = ethnic.existRecord(txtEthnic, logchk.getOrg());

        if (!bExist) {
          boolean bIsAdded = ethnic.addRecord(txtEthnic, logchk.getOrg(), logchk.getPKUser());

          if (bIsAdded) {

            out.write(_jsp_string13, 0, _jsp_string13.length);
          }
        } else {

          out.write(_jsp_string14, 0, _jsp_string14.length);
        }
      }

      out.write(_jsp_string15, 0, _jsp_string15.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string16, 0, _jsp_string16.length);
      out.print((trans.tslt("To Add, click on the Add button")));
      out.write(_jsp_string17, 0, _jsp_string17.length);
      out.print(
          (trans.tslt("To Edit, click on the relevant radio button and click on the Edit button")));
      out.write(_jsp_string17, 0, _jsp_string17.length);
      out.print(
          (trans.tslt(
              "To Delete, click on the relevant radio button and click on the Delete button")));
      out.write(_jsp_string18, 0, _jsp_string18.length);
      out.print((trans.tslt("Organisation")));
      out.write(_jsp_string19, 0, _jsp_string19.length);

      // Added to check whether organisation is also a consulting company
      // if yes, will display a dropdown list of organisation managed by this company
      // else, it will display the current organisation only
      // Mark Oei 09 Mar 2010
      String[] UserDetail = new String[14];
      UserDetail = CE_Survey.getUserDetail(logchk.getPKUser());
      boolean isConsulting = true;
      isConsulting =
          Org.isConsulting(UserDetail[10]); // check whether organisation is a consulting company
      if (isConsulting) {
        Vector vOrg = logchk.getOrgList(logchk.getCompany());

        for (int i = 0; i < vOrg.size(); i++) {
          votblOrganization vo = (votblOrganization) vOrg.elementAt(i);
          int PKOrg = vo.getPKOrganization();
          String OrgName = vo.getOrganizationName();

          if (logchk.getOrg() == PKOrg) {
            out.write(_jsp_string20, 0, _jsp_string20.length);
            out.print((PKOrg));
            out.write(_jsp_string21, 0, _jsp_string21.length);
            out.print((OrgName));
            out.write(_jsp_string22, 0, _jsp_string22.length);
          } else {
            out.write(_jsp_string20, 0, _jsp_string20.length);
            out.print((PKOrg));
            out.write('>');
            out.print((OrgName));
            out.write(_jsp_string22, 0, _jsp_string22.length);
          }
        }
      } else {
        out.write(_jsp_string23, 0, _jsp_string23.length);
        out.print((logchk.getSelfOrg()));
        out.write('>');
        out.print((UserDetail[10]));
        out.write(_jsp_string24, 0, _jsp_string24.length);
      } // End of isConsulting
      out.write(_jsp_string25, 0, _jsp_string25.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string26, 0, _jsp_string26.length);

      /** ****************** Edited by James 17 Oct 2007 ********************** */
      Vector v = ethnic.getAllEthnics(logchk.getOrg());

      for (int i = 0; i < v.size(); i++) {
        voEthnic vo = (voEthnic) v.elementAt(i);

        int ethnic_ID = vo.getPKEthnic();
        String ethnic_Desc = vo.getEthnicDesc();

        out.write(_jsp_string27, 0, _jsp_string27.length);
        out.print((ethnic_ID));
        out.write(_jsp_string28, 0, _jsp_string28.length);
        out.print((ethnic_Desc));
        out.write(_jsp_string29, 0, _jsp_string29.length);
        out.print((ethnic_Desc));
        out.write(_jsp_string30, 0, _jsp_string30.length);
      }

      out.write(_jsp_string31, 0, _jsp_string31.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string32, 0, _jsp_string32.length);
      out.print((trans.tslt("Add")));
      out.write(_jsp_string33, 0, _jsp_string33.length);
      out.print((trans.tslt("Edit")));
      out.write(_jsp_string34, 0, _jsp_string34.length);
      out.print((trans.tslt("Delete")));
      out.write(_jsp_string35, 0, _jsp_string35.length);
    }
    out.write(_jsp_string36, 0, _jsp_string36.length);
    // by lydia Date 05/09/2008 Fix jsp file to support Thai language
    out.write(_jsp_string37, 0, _jsp_string37.length);

    Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);

    out.write(_jsp_string38, 0, _jsp_string38.length);
    // Denise 05/01/2010 update new email address
    out.write(_jsp_string39, 0, _jsp_string39.length);
    out.print((year));
    out.write(_jsp_string40, 0, _jsp_string40.length);
  }