/**
 * Copyright (c) 2003-2005 System Integrator Corporation.
 *                 All Rights Reserved.
 */
package jp.co.sint.basic;

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

import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;

import org.apache.log4j.Category;

/**
 * @version $Id: SIEstimateDelivery.java,v 1.0 Exp $
 * @author  Tsuyoshi Yagi
 * <br>Description: キープ配送先Bean
 * <p>History</p>
 * <p>Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reason</p>
 * ============&nbsp;&nbsp;&nbsp;==========&nbsp;&nbsp;===========================<br>
 * Tsuyoshi Yagi       2005/12/02  Original
 */
public class SIEstimateDelivery extends SIBasic {
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  //見積番号
  private String estimataCode = "";
  //見積配送先項番
  private String deliveryCode = "";
  //配送先呼称
  private String deliveryName = "";
  //配送先宛名
  private String deliveryAddressee = "";
  //EMAIL
  private String email = "";
  //郵便番号1
  private String postCode1 = "";
  //郵便番号2
  private String postCode2 = "";
  //配送先住所1
  private String address1 = "";
  //配送先住所2
  private String address2 = "";
  //配送先住所3
  private String address3 = "";
  //会社名
  private String companyName = "";
  //連絡先電話番号
  private String tel = "";
  //連絡先FAX番号
  private String fax = "";
  //送料
  private String deliveryFee = "";
  //送料消費税フラグ
  private String deliveryTaxFlg = "";
  //税率
  private String taxRate = "";
  //配送希望日
  private String deliveryDate = "";
  //配送種別名称
  private String deliveryTypeName = "";
  //顧客コード
  private String custCode = "";
  //アドレス帳番号
  private String addressCode = "";
  //管理コード
  private String mallshopCode = "";
  //配送種別コード
  private String deliveryTypeCode = "";
  /*
   * getter of address1.
   */
  public String getAddress1() {
    return address1;
  }
  /*
   * setter of address1
   */
  public void setAddress1(String address1) {
    this.address1 = address1;
  }
  /*
   * getter of address2.
   */
  public String getAddress2() {
    return address2;
  }
  /*
   * setter of address2
   */
  public void setAddress2(String address2) {
    this.address2 = address2;
  }
  /*
   * getter of address3.
   */
  public String getAddress3() {
    return address3;
  }
  /*
   * setter of address3
   */
  public void setAddress3(String address3) {
    this.address3 = address3;
  }
  /*
   * getter of addressCode.
   */
  public String getAddressCode() {
    return addressCode;
  }
  /*
   * setter of addressCode
   */
  public void setAddressCode(String addressCode) {
    this.addressCode = addressCode;
  }
  /*
   * getter of companyName.
   */
  public String getCompanyName() {
    return companyName;
  }
  /*
   * setter of companyName
   */
  public void setCompanyName(String companyName) {
    this.companyName = companyName;
  }
  /*
   * getter of custCode.
   */
  public String getCustCode() {
    return custCode;
  }
  /*
   * setter of custCode
   */
  public void setCustCode(String custCode) {
    this.custCode = custCode;
  }
  /*
   * getter of deliveryAddressee.
   */
  public String getDeliveryAddressee() {
    return deliveryAddressee;
  }
  /*
   * setter of deliveryAddressee
   */
  public void setDeliveryAddressee(String deliveryAddressee) {
    this.deliveryAddressee = deliveryAddressee;
  }
  /*
   * getter of deliveryCode.
   */
  public String getDeliveryCode() {
    return deliveryCode;
  }
  /*
   * setter of deliveryCode
   */
  public void setDeliveryCode(String deliveryCode) {
    this.deliveryCode = deliveryCode;
  }
  /*
   * getter of deliveryDate.
   */
  public String getDeliveryDate() {
    return deliveryDate;
  }
  /*
   * setter of deliveryDate
   */
  public void setDeliveryDate(String deliveryDate) {
    this.deliveryDate = deliveryDate;
  }
  /*
   * getter of deliveryFee.
   */
  public String getDeliveryFee() {
    return deliveryFee;
  }
  /*
   * setter of deliveryFee
   */
  public void setDeliveryFee(String deliveryFee) {
    this.deliveryFee = deliveryFee;
  }
  /*
   * getter of deliveryName.
   */
  public String getDeliveryName() {
    return deliveryName;
  }
  /*
   * setter of deliveryName
   */
  public void setDeliveryName(String deliveryName) {
    this.deliveryName = deliveryName;
  }
  /*
   * getter of deliveryTaxFlg.
   */
  public String getDeliveryTaxFlg() {
    return deliveryTaxFlg;
  }
  /*
   * setter of deliveryTaxFlg
   */
  public void setDeliveryTaxFlg(String deliveryTaxFlg) {
    this.deliveryTaxFlg = deliveryTaxFlg;
  }
  /*
   * getter of deliveryTypeCode.
   */
  public String getDeliveryTypeCode() {
    return deliveryTypeCode;
  }
  /*
   * setter of deliveryTypeCode
   */
  public void setDeliveryTypeCode(String deliveryTypeCode) {
    this.deliveryTypeCode = deliveryTypeCode;
  }
  /*
   * getter of deliveryTypeName.
   */
  public String getDeliveryTypeName() {
    return deliveryTypeName;
  }
  /*
   * setter of deliveryTypeName
   */
  public void setDeliveryTypeName(String deliveryTypeName) {
    this.deliveryTypeName = deliveryTypeName;
  }
  /*
   * getter of email.
   */
  public String getEmail() {
    return email;
  }
  /*
   * setter of email
   */
  public void setEmail(String email) {
    this.email = email;
  }
  /*
   * getter of estimataCode.
   */
  public String getEstimataCode() {
    return estimataCode;
  }
  /*
   * setter of estimataCode
   */
  public void setEstimataCode(String estimataCode) {
    this.estimataCode = estimataCode;
  }
  /*
   * getter of fax.
   */
  public String getFax() {
    return fax;
  }
  /*
   * setter of fax
   */
  public void setFax(String fax) {
    this.fax = fax;
  }
  /*
   * getter of mallshopCode.
   */
  public String getMallshopCode() {
    return mallshopCode;
  }
  /*
   * setter of mallshopCode
   */
  public void setMallshopCode(String mallshopCode) {
    this.mallshopCode = mallshopCode;
  }
  /*
   * getter of postCode1.
   */
  public String getPostCode1() {
    return postCode1;
  }
  /*
   * setter of postCode1
   */
  public void setPostCode1(String postCode1) {
    this.postCode1 = postCode1;
  }
  /*
   * getter of postCode2.
   */
  public String getPostCode2() {
    return postCode2;
  }
  /*
   * setter of postCode2
   */
  public void setPostCode2(String postCode2) {
    this.postCode2 = postCode2;
  }
  /*
   * getter of taxRate.
   */
  public String getTaxRate() {
    return taxRate;
  }
  /*
   * setter of taxRate
   */
  public void setTaxRate(String taxRate) {
    this.taxRate = taxRate;
  }
  /*
   * getter of tel.
   */
  public String getTel() {
    return tel;
  }
  /*
   * setter of tel
   */
  public void setTel(String tel) {
    this.tel = tel;
  }
  
  public static SIEstimateDelivery getDeliveryAddress(Connection conn,String custCode,String addressCode) throws SIDBAccessException{
    Statement lStatement = null;
    ResultSet lResultSet = null;
    StringBuffer lSqlBuf = new StringBuffer();
    SIEstimateDelivery estimateDelivery = new SIEstimateDelivery();
    
    try{
      lSqlBuf.append("SELECT * FROM custaddresstbl ");
      lSqlBuf.append("WHERE custcode=").append(SIDBUtil.SQL2Str(custCode," "));
      lSqlBuf.append("AND addressCode=").append(SIDBUtil.SQL2Str(addressCode));
      
      lStatement=conn.createStatement();
      lResultSet=lStatement.executeQuery(lSqlBuf.toString());
      while (lResultSet.next()){
        estimateDelivery.setAddressCode(addressCode);
        estimateDelivery.setAddress1(lResultSet.getString("address1"));
        estimateDelivery.setAddress2(lResultSet.getString("address2"));
        estimateDelivery.setAddress3(lResultSet.getString("address3"));
        estimateDelivery.setPostCode1(lResultSet.getString("postcode1"));
        estimateDelivery.setPostCode2(lResultSet.getString("postcode2"));
        estimateDelivery.setCompanyName(lResultSet.getString("companyname"));
        estimateDelivery.setDeliveryAddressee(lResultSet.getString("deliveryaddressee"));
        estimateDelivery.setTel(lResultSet.getString("tel"));
      }
    }catch(Exception ex){
      throw new SIDBAccessException(ex);
    }finally{
      SIDBUtil.close(lResultSet,lStatement);
    }
    return estimateDelivery;
  }
}