//********************************************************************** // 快楽市場.co.jp バスケットシステム // // Title: 一覧表示商品指定処理 // FileName: KensakuList.java // Creator: Shinichi Aizawa // CreateDate: 2000/04/14 //********************************************************************** import java.util.*; import java.text.*; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.ServletException; // 検索結果表示ページ処理クラス public class KensakuList extends BaseServlet2 { // "GET"メソッド処理 protected void doGetHandler(HttpServletResponse response, PrintWriter pw, HttpSession session, Param param, Order order) throws ServletException, IOException, SQLException { Header(pw, "一覧表示商品指定", "", "bgcolor='#CCFFFF' class='s1'"); Body(pw, param); Footer(pw); } // 本体部html出力処理 private void Body(PrintWriter pw, Param param) throws ServletException, IOException, SQLException { MyUtil myutil = new MyUtil(); DecimalFormat fmt = new DecimalFormat("#,###,###"); // データベース接続 DataBase db = new DataBase(); Statement st = db.createStatement(); String sql = "select M_SHOUHIN.*,MSB_BUNRUI_NAME,MCT_CATEGORY_NAME" + " from M_SHOUHIN,M_SBUNRUI,M_CATEGORY" + " where MSH_BUNRUI_CODE=MSB_BUNRUI_CODE and MSH_CATEGORY_CODE=MCT_CATEGORY_CODE %1" + " order by MSH_SHOUHIN_CODE"; String str; String where = ""; // 商品分類コードの指定があれば条件に加える str = param.GetParam("BunruiCode"); if (str != null && !str.equals("")) where += " and MSH_BUNRUI_CODE='" + str + "'"; // カテゴリーコードの指定があれば条件に加える str = param.GetParam("CategoryCode"); if (str != null && !str.equals("")) where += " and MSH_CATEGORY_CODE='" + str + "'"; // 期間の指定があれば条件に加える str = param.GetParam("kikan"); if (str != null && !str.equals("")) { GregorianCalendar date = new GregorianCalendar(); date.add(Calendar.MONTH, -Integer.parseInt(str)); where += " and MSH_TOUROKU_DATE>'" + date.getTime() + "'"; } // 主演の指定があれば条件に加える str = param.GetParam("shuen"); if (str != null && !str.equals("")) where += " and MSH_ACTOR_NAME like '%" + str + "%'"; // SQL 実行 sql = myutil.ReplaceString(sql, "%1", where); ResultSet rs = st.executeQuery(sql); int count = 0; // 結果をhtmlに出力 pw.println("
検索結果
"); pw.println(""); // データベースクローズ rs.close(); st.close(); } // "POST"メソッド処理 protected void doPostHandler(HttpServletResponse response, PrintWriter pw, HttpSession session, Param param, Order order) throws ServletException, IOException, SQLException { // 選択結果の取得 String[] code = param.GetParams("code"); String[] basket = param.GetParams("basket"); String[] kosuu = param.GetParams("kosuu"); // 「かごに入れる」がチェックされているデータを明細データとして保存 if (basket != null) { for (int i = 0; i < basket.length; i++) { int index = Integer.parseInt(basket[i]); int ikosuu = Integer.parseInt(kosuu[index]); if (ikosuu > 0) { order.AddMeisai(code[index], ikosuu); } } } // 合計金額の計算 int count = order.GetMeisaiNum(); int total = 0; for (int i = 0; i < count; i++) { Order.Meisai meisai = order.GetMeisai(i); total += meisai.HanbaiKakaku * meisai.Kosuu; } order.juchu.Total = total; // クリックされたボタンによる振り分け if (param.GetParam("register") != null) { // 「レジへ行く」の場合は選択商品確認画面へ response.sendRedirect("SelectList"); } else if (param.GetParam("continue") != null) { // 「買い物を続ける」の場合は検索条件指定画面へ response.sendRedirect("Kensaku"); } } }