/*
 * Created on 2003/12/17
 */
package jp.co.sint.beans.mallmgr;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;

import javax.servlet.http.HttpServletRequest;

import jp.co.sint.basic.SIBasic;
import jp.co.sint.basic.SICustqa;
import jp.co.sint.basic.SILogin;
import jp.co.sint.config.SIConfig;
import jp.co.sint.config.SIDBMultiConf;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.database.SIDateTimeType;
import jp.co.sint.database.SITableCondition;
import jp.co.sint.database.SITableConditionManager;
import jp.co.sint.tools.SICheckDataConf;
import jp.co.sint.tools.SICheckUtil;
import jp.co.sint.tools.SICheckValid;
import jp.co.sint.tools.SICustomError;
import jp.co.sint.tools.SICustomErrors;
import jp.co.sint.tools.SIDateTime;
import jp.co.sint.tools.SIUtil;
import jp.co.sint.tools.SIURLParameter;//7.1.1 ST0236 追加

import org.apache.log4j.Category;

/**
 * @author yamauchi
 * UICustqaListCond
 */
public class UICustqaListCond extends SIBasic {
  //ログ用のインスタンスの生成
  private static Category log = Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  //全ての条件を保存する用
  SITableConditionManager tableConditionMan = new SITableConditionManager();
  
  private String custQACode="";
  private String custKanaTxt="";
  private String custNameTxt="";
  private String custCompanyFlgRdo="0";
  private String mallShopCode="";
  
  private String qInitDateTimeYearFromCbo="";
  private String qInitDateTimeMonthFromCbo="";
  private String qInitDateTimeDayFromCbo="";
  private String qInitDateTimeYearToCbo="";
  private String qInitDateTimeMonthToCbo="";
  private String qInitDateTimeDayToCbo="";
  
//  private String aInitDateTimeYearFromCbo="";
//  private String aInitDateTimeMonthFromCbo="";
//  private String aInitDateTimeDayFromCbo="";
//  private String aInitDateTimeYearToCbo="";
//  private String aInitDateTimeMonthToCbo="";
//  private String aInitDateTimeDayToCbo="";
  //SQL検索のばあいに、条件文
  private String conditionSQL="";
  //ソート順
  private String orderBySQL="";
  
  //Getter--------------//
//  /**
//   * @return
//   * 返信日付けFrom
//   */
//  public String getAInitDateTimeDayFromCbo() {
//    return aInitDateTimeDayFromCbo;
//  }
//
//  /**
//   * @return
//   * 返信日付けTo
//   */
//  public String getAInitDateTimeDayToCbo() {
//    return aInitDateTimeDayToCbo;
//  }
//
//  /**
//   * @return
//   * 返信月From
//   */
//  public String getAInitDateTimeMonthFromCbo() {
//    return aInitDateTimeMonthFromCbo;
//  }
//
//  /**
//   * @return
//   * 返信月To
//   */
//  public String getAInitDateTimeMonthToCbo() {
//    return aInitDateTimeMonthToCbo;
//  }
//
//  /**
//   * @return
//   * 返信年From
//   */
//  public String getAInitDateTimeYearFromCbo() {
//    return aInitDateTimeYearFromCbo;
//  }
//
//  /**
//   * @return
//   * 返信年To
//   */
//  public String getAInitDateTimeYearToCbo() {
//    return aInitDateTimeYearToCbo;
//  }
  
  /**
   * @return
   *
   */
  public String getMallShopCode() {
    return mallShopCode;
  }
  
  /**
   * @return
   *
   */
  public String getCustQACode() {
    return custQACode;
  }
  
  /**
   * @return
   * 顧客コード
   */
  public String getCustKanaTxt() {
    return custKanaTxt;
  }
  
  /**
   * @return
   * 表示対象
   */
  public String getCustCompanyFlgRdo() {
    return custCompanyFlgRdo;
  }
  
  /**
   * @return
   * 顧客名
   */
  public String getCustNameTxt() {
    return custNameTxt;
  }
  
  /**
   * @return
   * ログ
   */
  public Category getLog() {
    return log;
  }
  
  /**
   * @return
   * 受信日付けFrom
   */
  public String getQInitDateTimeDayFromCbo() {
    return qInitDateTimeDayFromCbo;
  }
  
  /**
   * @return
   * 受信日付けTo
   */
  public String getQInitDateTimeDayToCbo() {
    return qInitDateTimeDayToCbo;
  }
  
  /**
   * @return
   * 受信月From
   */
  public String getQInitDateTimeMonthFromCbo() {
    return qInitDateTimeMonthFromCbo;
  }
  
  /**
   * @return
   * 受信月To
   */
  public String getQInitDateTimeMonthToCbo() {
    return qInitDateTimeMonthToCbo;
  }
  
  /**
   * @return
   * 受信年From
   */
  public String getQInitDateTimeYearFromCbo() {
    return qInitDateTimeYearFromCbo;
  }
  
  /**
   * @return
   * 受信年To
   */
  public String getQInitDateTimeYearToCbo() {
    return qInitDateTimeYearToCbo;
  }
  
  /**
   * @return
   */
  public SITableConditionManager getTableConditionMan() {
    return tableConditionMan;
  }
  
//  /**
//   * @return
//   * 対象期間From（受信日時）
//   */
//  public String getAInitDateTimeFrom(){
//    return SIDateTime.getDate(getAInitDateTimeYearFromCbo(),getAInitDateTimeMonthFromCbo(),getAInitDateTimeDayFromCbo());
//  }
//
//  /**
//   * @return
//   * 対象期間To（受信日時）
//   */
//  public String getAInitDateTimeTo(){
//    return SIDateTime.getDate(getAInitDateTimeYearToCbo(),getAInitDateTimeMonthToCbo(),getAInitDateTimeDayToCbo());
//  }
  
  /**
   * @return
   * 対象期間From（受信日時）
   */
  public String getQInitDateTimeFrom(){
    return SIDateTime.getDate(getQInitDateTimeYearFromCbo(),getQInitDateTimeMonthFromCbo(),getQInitDateTimeDayFromCbo());
  }
  
  /**
   * @return
   * 対象期間To（受信日時）
   */
  public String getQInitDateTimeTo(){
    return SIDateTime.getDate(getQInitDateTimeYearToCbo(),getQInitDateTimeMonthToCbo(),getQInitDateTimeDayToCbo());
  }
  
  /**
   * @return
   * ソート条件
   */
  public String getOrderBySQL(){
    return this.orderBySQL;
  }
  
  /**
   * @return
   * 検索条件
   */
  public String getConditionSQL(){
    return this.conditionSQL;
  }
  
  //Setter--------------//
//  /**
//   * @param string
//   *
//   */
//  public void setAInitDateTimeDayFromCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeDayFromCbo)) aInitDateTimeDayFromCbo="";
//    this.aInitDateTimeDayFromCbo=SIUtil.changeTo(string.trim(),this.encode);
//    }
//
//
//
//  /**
//   * @param string
//   */
//  public void setAInitDateTimeDayToCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeDayToCbo)) aInitDateTimeDayToCbo="";
//    this.aInitDateTimeDayToCbo=SIUtil.changeTo(string.trim(),this.encode);
//  }
//
//  /**
//   * @param string
//   */
//  public void setAInitDateTimeMonthFromCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeMonthFromCbo)) aInitDateTimeMonthFromCbo="";
//    this.aInitDateTimeMonthFromCbo=SIUtil.changeTo(string.trim(),this.encode);
//  }
//
//  /**
//   * @param string
//   */
//  public void setAInitDateTimeMonthToCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeMonthToCbo)) aInitDateTimeMonthToCbo="";
//    this.aInitDateTimeMonthToCbo=SIUtil.changeTo(string.trim(),this.encode);
//  }
//
//  /**
//   * @param string
//   */
//  public void setAInitDateTimeYearFromCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeYearFromCbo)) aInitDateTimeYearFromCbo="";
//    this.aInitDateTimeYearFromCbo=SIUtil.changeTo(string.trim(),this.encode);
//  }
//
//  /**
//   * @param string
//   */
//  public void setAInitDateTimeYearToCbo(String string) {
//    if (SIUtil.isNull(aInitDateTimeYearToCbo)) aInitDateTimeYearToCbo="";
//    this.aInitDateTimeYearToCbo=SIUtil.changeTo(string.trim(),this.encode);
//  }
  
  /**
   * @param string
   */
  public void setCustQACode(String string) {
    if (SIUtil.isNull(custQACode)) custQACode="";
    this.custQACode=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setCustKanaTxt(String string) {
    if (SIUtil.isNull(string)) string="";
    this.custKanaTxt=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setCustCompanyFlgRdo(String string) {
    custCompanyFlgRdo = string;
  }
  
  /**
   * @param string
   */
  public void setMallShopCode(String string) {
    mallShopCode = string;
  }
  
  /**
   * @param string
   */
  public void setCustNameTxt(String string) {
    if (SIUtil.isNull(string)) string="";
    this.custNameTxt=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param category
   */
  public void setLog(Category category) {
    log = category;
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeDayFromCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeDayFromCbo)) qInitDateTimeDayFromCbo="";
    this.qInitDateTimeDayFromCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeDayToCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeDayToCbo)) qInitDateTimeDayToCbo="";
    this.qInitDateTimeDayToCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeMonthFromCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeMonthFromCbo)) qInitDateTimeMonthFromCbo="";
    this.qInitDateTimeMonthFromCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeMonthToCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeMonthToCbo)) qInitDateTimeMonthToCbo="";
    this.qInitDateTimeMonthToCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeYearFromCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeYearFromCbo)) qInitDateTimeYearFromCbo="";
    this.qInitDateTimeYearFromCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setQInitDateTimeYearToCbo(String string) {
    if (SIUtil.isNull(qInitDateTimeYearToCbo)) qInitDateTimeYearToCbo="";
    this.qInitDateTimeYearToCbo=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param manager
   */
  public void setTableConditionMan(SITableConditionManager manager) {
    tableConditionMan = manager;
  }
  
  /**
   * @param orderSQL
   */
  public void setOrderBySQL(String lOrderBySQL){
    if (SIUtil.isNull(lOrderBySQL)) lOrderBySQL=" ";
    this.orderBySQL=lOrderBySQL;
  }
  
  /**
   * @param conditionSQL
   */
  public void setConditionSQL(String lConditionSQL){
    if (lConditionSQL==null)lConditionSQL="";
    this.conditionSQL=lConditionSQL;
  }
  
  /**
   * UIcustqaListCond
   * コンストラクタ
   * @param lRequest リクエスト
   * @return なし
   * @throws なし
   */
  public UICustqaListCond(){
    SITableConditionManager lConditionMan=new SITableConditionManager();
    
    this.custCompanyFlgRdo="0";
    
    SIDateTime lDateTime = new SIDateTime();
    //現在の日付
    qInitDateTimeYearToCbo=lDateTime.getYearStr();
    qInitDateTimeMonthToCbo=lDateTime.getMonthStr();
    qInitDateTimeDayToCbo=lDateTime.getDayStr();
    //ひと月前
    lDateTime.addMonth(-1);
    qInitDateTimeYearFromCbo=lDateTime.getYearStr() ;
    qInitDateTimeMonthFromCbo=lDateTime.getMonthStr();
    qInitDateTimeDayFromCbo=lDateTime.getDayStr();
    
    if (SIDBMultiConf.SIDB_CURRENT_INX ==SIDBMultiConf.SIDB_POSTGRESQL_INX){
      lConditionMan.add(new SITableCondition("aa","AInitDateTime","",SIConfig.SICONDITION_TYPE_IS_NULL,SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa","QInitDateTime",getQInitDateTimeFrom(),SIConfig.SICONDITION_TYPE_GREATER_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa","QInitDateTime",getQInitDateTimeTo()+" 23:59:59",SIConfig.SICONDITION_TYPE_LESS_EQUAL,SIConfig.SICONDITION_TYPE_AND));
    }else{
      lConditionMan.add(new SITableCondition("aa","AInitDateTime","",SIConfig.SICONDITION_TYPE_IS_NULL,SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa","QInitDateTime",new SIDateTimeType(getQInitDateTimeFrom()),SIConfig.SICONDITION_TYPE_GREATER_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa","QInitDateTime",new SIDateTimeType(getQInitDateTimeTo()+" 23:59:59"),SIConfig.SICONDITION_TYPE_LESS_EQUAL,SIConfig.SICONDITION_TYPE_AND));
    }
    this.setConditionSQL(lConditionMan.getCondtionSQL());
  }
  
  /**
   * UIcustqaListCond
   * コンストラクタ
   * @param lRequest リクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  public UICustqaListCond(HttpServletRequest lRequest,SIURLParameter lUrlParam){//7.1.1 ST0236 修正
    this.init(lRequest,lUrlParam);//7.1.1 ST0236 修正
  }
  
  /**
   * init
   * 入力したデータを基づいて、このbeansを設定します。
   * @param request
   * @param lUrlParam
   * @return void
   * @throws なし
   */
  //7.1.1 ST0236 修正 ここから
  public void init(HttpServletRequest lRequest,SIURLParameter lUrlParam){
    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS);
    super.init(lRequest,lUrlParam);
    this.setCustQACode((String)lUrlParam.getParam("custQACode"));
    this.setCustKanaTxt((String)lUrlParam.getParam("custKanaTxt"));
    this.setCustNameTxt((String)lUrlParam.getParam("custNameTxt"));
    this.setCustCompanyFlgRdo((String)lUrlParam.getParam("custCompanyFlgRdo"));
    this.setQInitDateTimeYearFromCbo((String)lUrlParam.getParam("qInitDateTimeYearFromCbo"));
    this.setQInitDateTimeMonthFromCbo((String)lUrlParam.getParam("qInitDateTimeMonthFromCbo"));
    this.setQInitDateTimeDayFromCbo((String)lUrlParam.getParam("qInitDateTimeDayFromCbo"));
    this.setQInitDateTimeYearToCbo((String)lUrlParam.getParam("qInitDateTimeYearToCbo"));
    this.setQInitDateTimeMonthToCbo((String)lUrlParam.getParam("qInitDateTimeMonthToCbo"));
    this.setQInitDateTimeDayToCbo((String)lUrlParam.getParam("qInitDateTimeDayToCbo"));
  }
  //7.1.1 ST0236 修正 ここまで
  
  /**
   * <b>validate</b>
   * 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public void validate(HttpServletRequest lRequest){
    SICustomErrors errors=new SICustomErrors();
    SITableConditionManager lConditionMan=new SITableConditionManager();
    
    //顧客カナ
    if (SIUtil.isNotNull(this.custKanaTxt)&&SICheckValid.checkValid(errors,"顧客名カナ",this.custKanaTxt,SICheckDataConf.SICHECK_DATA_ZENKAKU_KANA_TYPE)
        && SICheckValid.checkValid(errors, "顧客名カナ", this.custKanaTxt, SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 50)){//7.2.0 ST0270 追加
      lConditionMan.add(new SITableCondition("bb","CustPronName",this.custKanaTxt,SIConfig.SICONDITION_TYPE_LIKE,SIConfig.SICONDITION_TYPE_AND));
    }
    
    //顧客名
    if (SIUtil.isNotNull(this.custNameTxt)&&SICheckValid.checkValid(errors,"顧客名",this.custNameTxt,SICheckDataConf.SICHECK_DATA_ZENKAKU_TYPE)
        && SICheckValid.checkValid(errors, "顧客名", this.custNameTxt, SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 40)){//7.2.0 ST0670 追加
      lConditionMan.add(new SITableCondition("bb","CustName",this.custNameTxt,SIConfig.SICONDITION_TYPE_LIKE,SIConfig.SICONDITION_TYPE_AND));
    }
    
    //表示対象
    if (SIUtil.isNotNull(this.custCompanyFlgRdo)&&this.custCompanyFlgRdo.equals("0")){
      lConditionMan.add(new SITableCondition("aa","AInitDateTime","",SIConfig.SICONDITION_TYPE_IS_NULL,SIConfig.SICONDITION_TYPE_AND));
    }else if(SIUtil.isNotNull(this.custCompanyFlgRdo)&&this.custCompanyFlgRdo.equals("1")){
      lConditionMan.add(new SITableCondition("aa","AInitDateTime","",SIConfig.SICONDITION_TYPE_IS_NOT_NULL,SIConfig.SICONDITION_TYPE_AND));
    }
    
    //受信対象期間From
    if (SIUtil.isNotNull(getQInitDateTimeFrom())&&SICheckValid.checkValid(errors,"受信日時From",getQInitDateTimeFrom(),SICheckDataConf.SICHECK_DATA_DATE_TYPE)){//7.1.1 ST0162 修正
      if (SIDBMultiConf.SIDB_CURRENT_INX ==SIDBMultiConf.SIDB_POSTGRESQL_INX){
        lConditionMan.add(new SITableCondition("aa","QInitDateTime",getQInitDateTimeFrom(),SIConfig.SICONDITION_TYPE_GREATER_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      }else{
        lConditionMan.add(new SITableCondition("aa","QInitDateTime",new SIDateTimeType(getQInitDateTimeFrom()),SIConfig.SICONDITION_TYPE_GREATER_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    //受信対象期間To
    if (SIUtil.isNotNull(getQInitDateTimeTo())&&SICheckValid.checkValid(errors,"受信日時To",getQInitDateTimeTo(),SICheckDataConf.SICHECK_DATA_DATE_TYPE)){//7.1.1 ST0162 修正
      if (SIDBMultiConf.SIDB_CURRENT_INX ==SIDBMultiConf.SIDB_POSTGRESQL_INX){
        lConditionMan.add(new SITableCondition("aa","QInitDateTime",getQInitDateTimeTo()+" 23:59:59",SIConfig.SICONDITION_TYPE_LESS_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      }else{
        lConditionMan.add(new SITableCondition("aa","QInitDateTime",new SIDateTimeType(getQInitDateTimeTo()+" 23:59:59"),SIConfig.SICONDITION_TYPE_LESS_EQUAL,SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    //受信対象期間大小
    try{
      if(!SICheckUtil.dateEqual(this.getQInitDateTimeFrom(),this.getQInitDateTimeTo())){
        SICheckValid.checkValid(errors,"受信日時From","受信日時To",this.getQInitDateTimeFrom(),this.getQInitDateTimeTo(),SICheckDataConf.SICHECK_DATA_DATE_LESS_TYPE);//7.1.1 ST0162 修正
      }
    }catch(Exception e){}
    
    if (!errors.isEmpty()){
      lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY,errors);
      lConditionMan.add(new SITableCondition(" AND 1=2"));
    } else {
      lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    }
    //条件文の設定
    this.setConditionSQL(lConditionMan.getCondtionSQL());
  }
  
  /**
   * <b>validate</b>
   * 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateDelete(HttpServletRequest lRequest){
    SICustomErrors errors=new SICustomErrors();
    
    //チェックボックスのチェック
    if(lRequest.getParameterValues("checkbox_delete")==null || lRequest.getParameterValues("checkbox_delete").length==0){
      errors.addError(new SICustomError("input.data.checkbox.require","削除"));
    }
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY_BAK,errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY_BAK);
    
    return errors.isEmpty();
  }
  
  /**
   * getCollection
   *
   * @param Connection
   * @return Collection
   * @throws SIDBAccessException
   */
  public Collection getCollection(Connection dbConnection,SILogin lLogin) throws SIDBAccessException {
    Statement statement = null;
    ResultSet resultSet = null;
    SICustqa currCustomer = new SICustqa();
    StringBuffer lSqlBuf=new StringBuffer();
    Collection customer = new ArrayList();
    
    this.setMallShopCode(lLogin.getMallShopCode());
    //基本のSQL
    lSqlBuf.append("SELECT * FROM CustQaTbl").append(SIDBMultiConf.SIALIAS_CURR_NAME).append("aa,");
    lSqlBuf.append("CustTbl").append(SIDBMultiConf.SIALIAS_CURR_NAME).append("bb ");
    lSqlBuf.append("WHERE aa.MallShopCode="+SIDBUtil.SQL2Str(lLogin.getMallShopCode()," "));
    lSqlBuf.append("AND aa.CustCode=bb.CustCode");
    
    //検索の条件
    lSqlBuf.append(this.conditionSQL);
    //出力順
    this.orderBySQL=" Order by aa.QInitDateTime DESC";
    lSqlBuf.append(this.getOrderBySQL());
    log.debug("sqlStatement="+lSqlBuf.toString());
    
    //実行
    try {
      statement = dbConnection.createStatement();
      resultSet = statement.executeQuery(lSqlBuf.toString());
      
      //商品レコードのセットの作成
      while (resultSet.next()) {
        currCustomer = new SICustqa();
        currCustomer.setEncode(SIConfig.SIENCODE_NONE);
        
        currCustomer.setCustQACode(resultSet.getString("custQACode"));
        currCustomer.setCustName(resultSet.getString("custName"));    //顧客名
        currCustomer.setCustKana(resultSet.getString("custPronName"));    //顧客名カナ
        currCustomer.setMallShopCode(resultSet.getString("mallShopCode"));  //管理コード
        currCustomer.setCustCode(resultSet.getString("custCode"));//顧客コード
        currCustomer.setQTile(resultSet.getString("qTile"));
        currCustomer.setQDescription(resultSet.getString("qDescription"));
        currCustomer.setQSignature(resultSet.getString("qSignature"));
        if(SIUtil.isNotNull(resultSet.getString("qInitDateTime"))){
          currCustomer.setQInitDateTime(SIDBUtil.getDateTime(resultSet.getTimestamp("qInitDateTime")));
        }
        currCustomer.setATile(resultSet.getString("aTile"));
        currCustomer.setADescription(resultSet.getString("aDescription"));
        currCustomer.setASignature(resultSet.getString("aSignature"));
        if(SIUtil.isNotNull(resultSet.getString("aInitDateTime"))){
          currCustomer.setAInitDateTime(SIDBUtil.getDateTime(resultSet.getTimestamp("aInitDateTime")));
        }
        customer.add(currCustomer);
      }
    } catch (Exception ex) {
      throw new SIDBAccessException(ex);
    } finally {
      SIDBUtil.close(resultSet, statement);
    }
    return customer;
  }
}
