/*
 * 作成日: 2005/09/02
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
package jp.co.sint.beans.mallmgr;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.http.HttpServletRequest;

import jp.co.sint.basic.SIBasic;
import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.tools.SIURLParameter;
import jp.co.sint.tools.SIUtil;

import org.apache.log4j.Category;

/**
 * @author shinka-yagi
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
public class UIOrderDeli  extends SIBasic{
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  
  //配送先
  private String address="0";
  
  //削除対象
  private String delRow="";
  
  private String orderCode = "";
  
  /**
   * @return address を戻します。
   */
  public String getAddress() {
    if(SIUtil.isNull(this.address)) address="0";
    return address;
  }
  
  /**
   * @param address address を設定。
   */
  public void setAddress(String address) {
    this.address = address;
  }
  
  /**
   * @return delRow を戻します。
   */
  public String getDelRow() {
    return delRow;
  }
  
  /**
   * @param delRow delRow を設定。
   */
  public void setDelRow(String delRow) {
    this.delRow = delRow;
  }
  
  /**
   * init 入力したデータを基づいて、このbeansを設定します。
   * 
   * @param request
   * @return void
   * @throws なし
   */
  public void init(HttpServletRequest lRequest,SIURLParameter lUrlParam) {
    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS);
    if(SIUtil.isNotNull((String)lUrlParam.getParam("address"))){
      this.setAddress((String)lUrlParam.getParam("address"));
    }
    this.setDelRow((String)lUrlParam.getParam("delRowTxt")); 
    this.setOrderCode((String)lUrlParam.getParam("orderCode"));
  }
  
  public String getAddressTxt(Connection conn,String custCode){
    String str="";
    Statement statement = null;
    ResultSet resultSet = null;
    StringBuffer sqlStatement = new StringBuffer();
    
    //出力項目
    sqlStatement.append("SELECT address1,address2,address3 FROM CustAddresstbl");
    sqlStatement.append(" WHERE custCode=").append(SIDBUtil.SQL2Str(custCode));
    sqlStatement.append(" AND addresscode=").append(SIDBUtil.SQL2Str(this.getAddress()));
    try {
      statement = conn.createStatement();
      log.debug("SQL=" + sqlStatement.toString());
      resultSet = statement.executeQuery(sqlStatement.toString());
      while (resultSet.next()) {
        if(resultSet.getString("address3")==null){
          str=resultSet.getString("address1")+resultSet.getString("address2");
        } else {
          str=resultSet.getString("address1")+resultSet.getString("address2")+resultSet.getString("address3");
        }
      }
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      SIDBUtil.close(statement, resultSet);
    }
    return str;
  }
  
  public String[] getDelCode(){
    String[] result = this.getDelRow().split("~");
    return result;
  }
  
  /**
   * @return orderCode を戻します。
   */
  public String getOrderCode() {
    return orderCode;
  }
  
  /**
   * @param orderCode orderCode を設定。
   */
  public void setOrderCode(String orderCode) {
    this.orderCode = orderCode;
  }
}
