1    package com.instantbank.collections.creditInfo.web;
2    
3    import java.io.IOException;
4    import java.util.Enumeration;
5    import javax.servlet.RequestDispatcher;
6    import javax.servlet.ServletConfig;
7    import javax.servlet.ServletContext;
8    import javax.servlet.ServletException;
9    import javax.servlet.http.HttpServlet;
10   import javax.servlet.http.HttpServletRequest;
11   import javax.servlet.http.HttpServletResponse;
12   import javax.servlet.http.HttpSession;
13   import com.instantbank.collections.creditInfo.ejb.AccountInfoServices;
14   import com.instantbank.collections.creditInfo.ejb.AccountInfoServicesHome;
15   import com.instantbank.collections.util.FilterChain;
16   import com.instantbank.collections.util.InstantbankException;
17   import com.instantbank.collections.util.ServiceLocator;
18   
19   public class TransactionHistoryController extends HttpServlet {
20     AccountInfoServicesHome home;
21     AccountInfoServices services;
22     private HttpSession session;
23   
24   
25     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26       this.doPost(request, response);
27     }
28   
29   
30     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
31       String action = "";
32       com.instantbank.collections.util.FilterChain chain;
33   
34       try {
35         action = request.getParameter("action");
36         session = request.getSession(false);
37         try {
38   
39           chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
40           if(chain.processFilter(request, response)) {
41             return;
42           }
43           if(action.equals("initialize")) {
44             initialize(request, response);
45           }
46           else if(action.equals("searchTransaction")) {
47             searchTransaction(request, response);
48           }
49           else {
50             throw new InstantbankException("242001", "Action " + action + " not supported");
51           }
52         }
53         catch(Exception e) {
54           throw new InstantbankException(e, "242002", "Failed to execute controller action " + action);
55         }
56       }
57       catch(InstantbankException e) {
58         session.setAttribute("Exception", e);
59         response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
60       }
61     }
62   
63   
64     public void init(ServletConfig config) throws ServletException {
65       try {
66         super.init(config);
67         home = (AccountInfoServicesHome)ServiceLocator.instance().createEJB("AccountInfoServicesHome", AccountInfoServicesHome.class, false);
68         services = home.create();
69       }
70       catch(Exception e) {
71       }
72     }
73   
74   
75     private void initialize(HttpServletRequest request, HttpServletResponse response) throws Exception, ServletException, IOException, InstantbankException {
76       Long agrmCode;
77       Long agrmId;
78       String attr;
79       Long companyId;
80       String data;
81       String fromDate;
82       String toDate;
83       String primarySort;
84       String secondarySort;
85       ServletContext sc;
86       Long maxRows;
87       Long rowNum;
88       Boolean isAttr = new Boolean(false);
89   
90       Enumeration AttributeNames = request.getAttributeNames();
91       while(AttributeNames.hasMoreElements()) {
92         attr = (String)AttributeNames.nextElement();
93         if(attr.equals("rowNum")) {
94           isAttr = new Boolean(true);
95         }
96       }
97   
98       if(isAttr.equals(new Boolean(false))) {
99         rowNum = new Long("1");
100      }
101      else {
102        rowNum = new Long((String)request.getAttribute("rowNum"));
103      }
104  
105      primarySort = (String)request.getAttribute("primarySort");
106      secondarySort = (String)request.getAttribute("secondarySort");
107      fromDate = (String)request.getAttribute("fromDate");
108      toDate = (String)request.getAttribute("toDate");
109      companyId = (Long)session.getAttribute("companyId");
110      agrmId = new Long((String)request.getAttribute("agrmId"));
111      data = services.getTransactionHistory(companyId, agrmId, primarySort, secondarySort, fromDate, toDate, rowNum);
112      maxRows = services.getRowsTransactionHistory(companyId, agrmId, fromDate, toDate);
113  
114      request.setAttribute("data", data);
115      request.setAttribute("controller", "TransactionHistoryController");
116      request.setAttribute("rowNum", rowNum);
117      request.setAttribute("maxRows", maxRows);
118  
119      sc = getServletConfig().getServletContext();
120      RequestDispatcher rd = sc.getRequestDispatcher("/creditInfo_web/TransactionHistoryView.jsp");
121      rd.forward(request, response);
122    }
123  
124  
125    private void searchTransaction(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
126      Long agrmCode;
127      Long agrmId;
128      Long companyId;
129      Long rowNum;
130      String data;
131      String wrkiId;
132      String mainData;
133      String fromDate;
134      String toDate;
135      String primarySort;
136      String secondarySort;
137  
138      primarySort = (String)request.getParameter("primarySort");
139      secondarySort = (String)request.getParameter("secondarySort");
140      fromDate = (String)request.getParameter("fromDate");
141      toDate = (String)request.getParameter("toDate");
142      companyId = (Long)session.getValue("companyId");
143      agrmCode = new Long((String)request.getParameter("agrmId"));
144      rowNum = new Long((String)request.getParameter("rowNum"));
145      wrkiId = request.getParameter("wrki_id");
146      mainData = request.getParameter("mainData");
147      response.sendRedirect("/Instantbank/collectionsActivities_web/ReviewAccountController?action=changeTab&mainData= " + mainData + "&tab=Transactions&agrmId=" + agrmCode.toString() + "&wrki_id=" + wrkiId + "&rowNum=" + rowNum.toString() + "&primarySort=" + primarySort + "&secondarySort=" + secondarySort + "&fromDate=" + fromDate + "&toDate=" + toDate);
148    }
149  
150  
151    public String getServletInfo() {
152      return "com.instantbank.collections.creditInfo.web.TransactionHistoryController Information";
153    }
154  }
155  
156