카테고리 없음2009. 10. 16. 16:51

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page contentType="text/html; charset=euc-kr" errorPage="/error.jsp" %>
<%@ page import="java.util.Properties" %>
<%@ page import="com.em.http.Transaction" %>
<%@ page import="com.em.Util" %>
<%@ page import="com.em.util.*" %>
<%@ page import="com.em.Configuration" %>
<%@ page import="kis.customer.event.BankisFundEvtHome" %>
<%@ include file = "/common/Base64Utils.jsp" %>
<%!
public String altText(String present)
{
 if(Util.equals("0",present)){
  return "트랜스포머 아트북";
 } else if(Util.equals("1",present)){
  return "참치 선물세트";
 } else if(Util.equals("2",present)){
  return "여름휴가용품";
 } else{
  return "";
 }
}
%>
<%  
 String fromDate = "";
 String toDate = "";
 String searchColumn = "";
 String searchValue = "";
 
 int currentPage = 1;
 int rowsPerPage = 10;

 int totalCount = 0;
 Properties[] list = null;

 Properties searchData = new Properties();
 Transaction tr = new Transaction(pageContext);
 BankisFundEvtHome bankHome = new BankisFundEvtHome(tr);
 try {
  tr.open();

  fromDate = Util.normalize(tr.req.getParameter("fromDate"), Util.toString(Util.toInteger(Util.getYear()) - 1) + "-" + Util.getMonth() + "-" + Util.getDay());
  toDate = Util.normalize(tr.req.getParameter("toDate"), Util.getYear() + "-" + Util.getMonth() + "-" + Util.getDay());

  searchColumn = Util.normalizeNull(tr.req.getParameter("searchColumn"));
  searchValue = Util.normalizeNull(tr.req.getParameter("searchValue"));
  
  currentPage = Util.parseInt(tr.req.getParameter("currentPage"), 1);  
  
  searchData.setProperty("fromDate",fromDate);
  searchData.setProperty("toDate",toDate);
  searchData.setProperty("searchColumn",searchColumn);
  searchData.setProperty("searchValue",searchValue);
  
  totalCount = bankHome.selectCount(searchData);
  list = bankHome.selectList(searchData, currentPage, rowsPerPage);
 } catch (Exception e) {
  tr.rollback(e);
 } finally {
  tr.close();
 }
%>

<html>
<head>
<META HTTP-EQUIV="Content-Type" Pragma="no-cache" Cache-control="no-cache" CONTENT="text/html; charset=euc-kr">
<title></title>
<link rel="StyleSheet" type="text/css" href="/admin/common/css/common.css">
<SCRIPT language="JavaScript" type="text/javascript" src="/admin/common/js/common.js"></SCRIPT>
<STYLE TYPE="text/css">
 input.calendar { behavior:url(/library/calendar.htc); }
</STYLE>

<script language="Javascript">
<!--

function doSearch() {
 var f = document.searchForm;
 f.submit();
}

function doWrite(userNm, phoneNo, juminNo) {
 var f = document.searchForm;

 f.target = '_self';
 f.mode.value='update';
 f.user_nm.value = userNm;
 f.phone_no.value = phoneNo;
 f.jumin_no.value = juminNo;
 
 f.action = "bankis_event_write.jsp"
 f.submit();
}

function doExcel() {
 var f = document.pagingForm;

 f.target = 'hidden_ifm';
 f.action="bankis_event_excel.jsp";
 f.submit();
}
//-->
</script>
</head>

<body>

<h1>뱅키스 펀드가입 이벤트 목록</h1>
<div class="boxSet01" style="padding:11 19 11 19;margin-bottom:10px;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
 <form name="searchForm" method="post">
 <input type="hidden" name="mode">
 <input type="hidden" name="num">
 <input type="hidden" name="user_nm">
 <input type="hidden" name="phone_no">
 <input type="hidden" name="jumin_no">
 <input type="hidden" name="searchValue2" value="<%=Base64_ENC(searchValue) %>">
 <tr>
  <td width="45" class="c"><b>* 기간</b></td>
  <td width="120" class="c">
  <INPUT TYPE="TEXT" NAME="fromDate" VALUE="<%=fromDate%>"
   STYLE="height:20;width:100;"
   STYLE="border-right-width:0;text-align:center;padding-left:3px; padding-right:3px; height:20; font-family:Verdana; padding-top:3px; padding-bottom:3px; font-size:11px; border:1px; border-style:solid; border-color:#D7D3C8;line-height: 110%; color:#636361" STYLE="ime-mode:disabled;" ONKEYPRESS="if(((event.keyCode&lt;48)||(event.keyCode&gt;57))&&(event.keyCode!=45)&&(event.keyCode!=126)&&(event.keyCode!=13))event.returnValue=false;"
   CLASS="calendar"
   MAXLENGTH="10"
   READONLY >
  </td>
  <td width="20" class="c">&nbsp;~</td>
  <td width="120" class="c">
  <INPUT TYPE="TEXT" NAME="toDate" VALUE="<%=toDate%>"
   STYLE="height:20;width:100;"
   STYLE="border-right-width:0;text-align:center;padding-left:3px; padding-right:3px; height:20; font-family:Verdana; padding-top:3px; padding-bottom:3px; font-size:11px; border:1px; border-style:solid; border-color:#D7D3C8;line-height: 110%; color:#636361" STYLE="ime-mode:disabled;" ONKEYPRESS="if(((event.keyCode&lt;48)||(event.keyCode&gt;57))&&(event.keyCode!=45)&&(event.keyCode!=126)&&(event.keyCode!=13))event.returnValue=false;"
   CLASS="calendar"
   MAXLENGTH="10"
   READONLY >
  </td>
  <td width="70" align="right">   
  <select name="searchColumn">
   <option value="" <%=searchColumn.equals("") ? "selected" :""%>>전체</option>
   <option value="1" <%=searchColumn.equals("1") ? "selected" :""%>>고객명</option>
   <option value="2" <%=searchColumn.equals("2") ? "selected" :""%>>주민번호</option>
   <option value="3" <%=searchColumn.equals("3") ? "selected" :""%>>전화번호</option>
  </select>
  </td>
  <td><input type="text" class="box01" style="width:100%;" name="searchValue" value="<%=searchValue%>"></td>
  <td width="55" align="right"><input type="button" value="검색" class="btn01" style="width:50px" style="cursor:hand;" onclick="doSearch()"></td>
  <td width="55" align="right"><input type="button" value="엑셀" class="btn01" style="width:50px" style="cursor:hand;" onclick="doExcel()"></td>
 </tr>
 </form>
</table>
</div>

<div class="boxSet01" style="padding:0 5 5 5;">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
 <!-- <col width="20" />
 <col />
 <col width="120" />
 <col width="120" />
 <col width="100" /> -->
 <tr class="titleTr">
  <td></div><div class="td"><b>번호</b></div></td>
  <td><div class="bar"></div><div class="td"><b>신청일</b></div></td>
  <td><div class="bar"></div><div class="td"><b>고객명</b></div></td>
  <td><div class="bar"></div><div class="td"><b>주민번호</b></div></td>
  <td><div class="bar"></div><div class="td"><b>전화번호</b></div></td>
  <td><div class="bar"></div><div class="td"><b>주소</b></div></td>
  <td><div class="bar"></div><div class="td"><b>신청<br>사은품</b></div></td>
  <td><div class="bar"></div><div class="td"><b>진행지점</b></div></td>
  <td><div class="bar"></div><div class="td"><b>사은품 <br>배송여부</b></div></td>
 </tr>
 <%
 if (list != null) {
  for (int i=0; i<list.length; i++) {
 %>
 <tr class="dataTr">
  <td class="first data">
   <div class="td"><%= (totalCount - ((currentPage - 1) * 10)) - i %></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td"><%=Util.normalizeNull(list[i].getProperty("REG_DATE2"))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td"><a href="javascript:doWrite('<%=Util.normalizeNull(list[i].getProperty("USER_NM"))%>','<%=Util.normalizeNull(list[i].getProperty("PHONE_NO"))%>','<%=Util.normalizeNull(list[i].getProperty("JUMIN_NO"))%>');"><%=Util.normalizeNull(list[i].getProperty("USER_NM"))%></a></div> 
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td"><%=Util.normalizeNull(list[i].getProperty("JUMIN_NO"))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td"><%=Util.normalizeNull(list[i].getProperty("PHONE_NO"))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td left"><%=Util.normalizeNull(list[i].getProperty("ADDRESS"))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td left"><%=altText(Util.normalizeNull(list[i].getProperty("PRESENT")))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td left"><%=Util.normalizeNull(list[i].getProperty("BRANCH"))%></div>
  </td>
  <td class="data">
   <div class="bar"></div>
   <div class="td"><%=Util.normalizeNull(list[i].getProperty("PRESENT_FLAG"))%></div>
  </td>        
 </tr>
 <%
  }
 }
 if (Util.equals(0, list.length)) {
 %>
 <tr class="dataTr">
  <td class="first data" colspan='9'><div class="bar"></div><div class="td">해당 내용이 없습니다.</div></td>
 </tr>
 <%
 }
 %>
</table>
</div>

<form name="pagingForm" method="post">
 <input type="hidden" name="currentPage">
 <input type="hidden" name="searchColumn" value="<%=searchColumn%>">
 <input type="hidden" name="searchValue" value="<%=searchValue%>"> 
 <input type="hidden" name="searchValue2" value="<%=Base64_ENC(searchValue) %>">
</form>

<script language="Javascript">
function setPage(_currentPage) {
 var f = document.pagingForm;
 f.currentPage.value = _currentPage;
}

function doSubmit() {
 var f = document.pagingForm;
 f.target = '_self';
 f.action = 'bankis_event_list.jsp';
 f.submit();
}
</script>

<jsp:include page="/admin/include/paging.jsp" flush="true">
 <jsp:param name="currentPage" value="<%=currentPage%>" />
 <jsp:param name="totalCount" value="<%=totalCount%>" />
</jsp:include>
<iframe name="hidden_ifm" width="0" height="0" border=0  ></iframe>
</body>
</html>

Posted by penguindori
카테고리 없음2009. 10. 15. 10:57

package com.em;

import java.sql.SQLException;
import java.util.ArrayList;

import com.em.Util;

public class Query
{
    private ArrayList m_tables;
    private ArrayList m_columns;
    private ArrayList m_values;
    private ArrayList m_params;
    private StringBuffer m_where;
    private ArrayList m_group;
    private ArrayList m_whereParams;
    private ArrayList m_order;
    private ArrayList m_unionAll;
    private String m_query;
    private boolean m_isSelectForUpdate;

    public Query()
    {
        m_tables = new ArrayList();
        m_columns = new ArrayList();
        m_values = new ArrayList();
        m_params = new ArrayList();
        m_where = new StringBuffer();
        m_whereParams = new ArrayList();
        m_group = new ArrayList();
        m_order = new ArrayList();
        m_unionAll = new ArrayList();
    }
 
    public String getInsertQuery()
    {
        return "INSERT INTO " + Util.toString(m_tables) + " (" + Util.toString(m_columns) + ") VALUES (" + Util.toString(m_values) + ")";
    }

    public String getUpdateQuery()
        throws SQLException
    {
        if(!existsWhereClause())
            throw new SQLException("Security violation: UPDATE without WHERE condition");
        else
            return "UPDATE " + Util.toString(m_tables) + " SET " + Util.toString(m_columns, m_values) + getWhere();
    }

    public String getDeleteQuery()
        throws SQLException
    {
        if(!existsWhereClause())
            throw new SQLException("Security violation: DELETE without WHERE condition");
        else
            return "DELETE FROM " + Util.toString(m_tables) + getWhere();
    }

    public void setSelectForUpdate(boolean flag)
    {
        m_isSelectForUpdate = flag;
    }

    public String getSelectQuery()
        throws SQLException
    {
        if(m_query != null)
            return m_query;
        StringBuffer stringbuffer = (new StringBuffer("SELECT ")).append(Util.toString(m_columns)).append(" FROM ").append(Util.toString(m_tables)).append(getWhere()).append(getGroupBy()).append(getOrder());
        if(m_isSelectForUpdate)
            if(existsWhereClause())
                stringbuffer.append(" FOR UPDATE");
            else
                throw new SQLException("Security violation: SELECT FOR UPDATE without WHERE condition");
        return stringbuffer.toString();
    }

    public String getPagedSelectQuery() throws SQLException {
     StringBuffer stringbuffer = (new StringBuffer("SELECT * FROM ( "))
    .append("SELECT ROWNUM rnum, m.* FROM ( "); 
      if (m_query != null) {
       stringbuffer.append(m_query);
      } else {
       stringbuffer.append("SELECT ")
       .append(Util.toString(m_columns))
       .append(" FROM ")
       .append(Util.toString(m_tables))
       .append(getWhere())
       .append(getGroupBy())
       .append(getOrder());
      }
      stringbuffer.append(") m WHERE ROWNUM <= ? ")
      .append(") WHERE rnum > ? ");
    
     return stringbuffer.toString();
    }

    public void setSelectQuery(String s)
    {
        m_query = s;
    }

    public String getCountQuery()
    {
        if(m_query != null)
        {
            int i = m_query.indexOf("ORDER BY");
            if(i < 0)
                return "SELECT count(*) AS totalcount FROM (" + m_query + ")";
            else
                return "SELECT count(*) AS totalcount FROM (" + m_query.substring(0, i) + ")";
        }
        if(existsGroupByClause() || existsDistinctClause())
            return "SELECT count(*) FROM (SELECT " + Util.toString(m_columns) + " FROM " + Util.toString(m_tables) + getWhere() + getGroupBy() + ")";
        else
            return "SELECT count(*) FROM " + Util.toString(m_tables) + getWhere();
    }

    public String getUnionAllQuery()
        throws SQLException
    {
        int i = m_unionAll.size();
        if(i == 0)
            return getSelectQuery();
        StringBuffer stringbuffer = new StringBuffer(((Query)m_unionAll.get(0)).getSelectQuery());
        for(int j = 1; j < i; j++)
            stringbuffer.append(" UNION ALL ").append(((Query)m_unionAll.get(j)).getSelectQuery());

        return stringbuffer.toString();
    }

    private String getWhere()
    {
        if(existsWhereClause())
            return " WHERE " + m_where.toString();
        else
            return "";
    }

    private String getGroupBy()
    {
        if(m_group.size() == 0)
            return "";
        else
            return " GROUP BY " + Util.toString(m_group);
    }

    private String getOrder()
    {
        if(m_order.size() == 0)
            return "";
        else
            return " ORDER BY " + Util.toString(m_order);
    }

    private boolean existsWhereClause()
    {
        return m_where.length() > 0;
    }

    private boolean existsGroupByClause()
    {
        return m_group.size() > 0;
    }

    private boolean existsDistinctClause()
    {
        if(m_columns.size() > 0)
        {
            String s = (String)m_columns.get(0);
            return s != null && s.startsWith("DISTINCT ");
        } else
        {
            return false;
        }
    }

    public ArrayList getParameters()
    {
        ArrayList arraylist = new ArrayList(m_params);
        arraylist.addAll(m_whereParams);
        return arraylist;
    }

    public ArrayList getWhereParameters()
    {
        return m_whereParams;
    }

    public void addTable(String s)
    {
        if(!m_tables.contains(s))
            m_tables.add(s);
    }

    public void addColumn(String s)
    {
        m_columns.add(s);
    }

    public void addValue(String s)
    {
        m_values.add(s);
    }

    public void addParam(String s)
    {
        m_params.add(s);
    }

    public void addWhereParam(String s)
    {
        m_whereParams.add(s);
    }

    public void addWhereParam(int i)
    {
        m_whereParams.add(new Integer(i));
    }

    public void addWhereAnd(String s)
    {
        if(m_where.length() == 0)
            m_where.append(s);
        else
            m_where.append(" AND ").append(s);
    }

    public void addWhereOr(String s)
    {
        if(m_where.length() == 0)
            m_where.append(s);
        else
            m_where.append(" OR ").append(s);
    }
   
    public void addWhereValue(String s) {
     m_where.append(s);
    }
   
    public void addGroupBy(String s)
    {
        m_group.add(s);
    }

    public void addOrder(String s)
    {
        addOrder(s, false);
    }

    public void addOrder(String s, boolean flag)
    {
        if(flag)
            m_order.add(0, s);
        else
            m_order.add(s);
    }

    public void addUnionAll(Query query)
    {
        m_unionAll.add(query);
    }

}

Posted by penguindori