package org.wahshing.web;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.wahshing.model.StoreSearch;
import org.wahshing.server.DataBase2;
public class ItemSearch extends DataBase2 {
public void process(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
List list4=new ArrayList();
String forward = null;
List list=new ArrayList();
int totalRecord = 0;
int totalPage = 0;
int pageIndex = 0;
int currentPage = 0;
int a = 0;
int getCurrentPage = 0;
StoreSearch ss=null;
String getParam=request.getParameter("param");
HttpSession session=request.getSession();
if(getParam.equals("a")){
String getFpno=request.getParameter("fpno");
String getFdesc=request.getParameter("fdesc");
ItemSearchDAO isDAO=new ItemSearchDAO();
list=isDAO.itemSearch(getFpno, getFdesc);
session.setAttribute("itemList", list);
}else if(getParam.equals("b")){
list=(List)session.getAttribute("itemList");
}
totalRecord = list.size();
String tag = request.getParameter("count");
int showRecordNum=10;
if (totalRecord % showRecordNum != 0) {
totalPage = totalRecord / showRecordNum + 1;
} else {
totalPage = totalRecord / showRecordNum;
}
if (tag == null || tag.equalsIgnoreCase("0")) {
if(totalRecord==0){
currentPage = 0;
}else {
currentPage = 1;
}
if(totalRecord<showRecordNum * currentPage){
a=totalRecord;
}else {
a = showRecordNum * currentPage;
}
} else if (tag.equalsIgnoreCase("first")) {
getCurrentPage = Integer.parseInt(request
.getParameter("getCurrentPage"));
if(getCurrentPage==0){
currentPage = 0;
a = showRecordNum * currentPage;
}else {
currentPage = 1;
if(totalRecord>showRecordNum*currentPage){
a=showRecordNum * currentPage;
}else{
a = totalRecord;
}
}
} else if (tag.equalsIgnoreCase("up")) {
getCurrentPage = Integer.parseInt(request
.getParameter("getCurrentPage"));
currentPage = getCurrentPage - 1;
if (currentPage == 0) {
if(totalRecord==0){
currentPage = 0;
}else {
currentPage = 1;
}
if(totalRecord>showRecordNum*currentPage){
a=showRecordNum * currentPage;
}else{
a = totalRecord;
}
} else {
currentPage = getCurrentPage - 1;
a = showRecordNum * currentPage;
}
} else if (tag.equalsIgnoreCase("down")) {
getCurrentPage = Integer.parseInt(request
.getParameter("getCurrentPage"));
currentPage = getCurrentPage + 1;
if (currentPage >= totalPage) {
currentPage = totalPage;
a = totalRecord;
} else {
a = showRecordNum * currentPage;
}
} else if (tag.equalsIgnoreCase("last")) {
currentPage = totalPage;
a = totalRecord;
}
if(currentPage==0){
}else if(currentPage==-1){
currentPage=0;
}else {
for (int i = showRecordNum * (currentPage - 1); i < a; i++) {
ss = (StoreSearch) list.get(i);
list4.add(ss);
}
}
request.setAttribute("itemList4", list4);
request.setAttribute("itemtotalPage", new Integer(totalPage));
request.setAttribute("itemcurrentPage", new Integer(currentPage));
}
}