/**
 * Copyright (c) 2003-2004 System Integrator Corporation.
 *                 All Rights Reserved.
 */

package jp.co.sint.basic;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.util.HashMap;

import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.tools.SICheckUtil;
import jp.co.sint.tools.SIDateTime;
import jp.co.sint.tools.SIException;
import jp.co.sint.tools.SIUtil;

import org.apache.log4j.Category;

/**
 * @version $Id : SIMallShop.java,v 1.0 Exp $
 * @author      : Jinwang Chen
 * <br>Description :ショップテーブルに対するクラス
 * <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>
 * J.W.Chen       2003/08/05  Original
 */
public class SIMallShop extends SIBasic{
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  //管理コード
  private String mallShopCode="";
  
  //管理者区分
  private String mallShopFlg="";
  
  //運営モード
  private String runningModeCode="0";
  
  //管理名
  private String mallShopName="";
  
  //管理名カナ
  private String mallShopNameKana="";
  
  //ショップ管理者ID
  private String adminName="";
  
  //ショップ管理者パスワード
  private String adminPass="";
  
  //フロントに表示させるショップ名
  private String frontShopName="";
  
  //フロントに表示させるショップ略名
  private String abbvFrontShopName="";
  
  //フロントに表示させるショップカナ名
  private String frontShopNameKana="";
  
  //部門名
  private String departName="";
  
  //郵便番号1
  private String postCode1="";
  
  //郵便番号2
  private String postCode2="";
  
  //住所1
  private String address1="";
  
  //住所2
  private String address2="";
  
  //住所3
  private String address3="";
  
  //電話番号
  private String tel="";
  
  //FAX番号
  private String fax="";
  
  //メール
  private String email="";
  
  //担当者名
  private String chargeUserName="";
  
  //手数料消費税フラグ
  private String feeTaxFlg="2";
  
  //送料消費税フラグ
  private String deliveryTaxFlg="2";
  
  //ポイント使用フラグ
  private String pointEnableFlg="0";
  
  //値引期間FROM
  private String discountFromDate="";
  
  //値引期間TO
  private String discountToDate="";
  
  //値引率
  private String discountRate="0";
  
  //在庫管理フラグ
  private String inStockFlg="0";
  
  //商品新着期間
  private String daysOfNew="0";
  
  //おすすめ商品数
  private String amountByAdvice="0";
  
  //SSL使用フラグ
  private String sSLEnableFlg="0";
  
  //DBタイプ
  private String dbType="0";
  
  //登録日時
  private String initDateTime;
  
  //更新日時
  private String updateDateTime;
  
  //文字コードの設定
  protected String encode=SIConfig.SIENCODE_SHIFT_JIS;
  
  //値引期間FROMの年
  private String discountFromDateYear="";
  
  //値引期間FROMの月
  private String discountFromDateMonth="";
  
  //値引期間FROMの日
  private String discountFromDateDay="";
  
  //値引期間TOの年
  private String discountToDateYear="";
  
  //値引期間TOの月
  private String discountToDateMonth="";
  
  //値引期間TOの日
  private String discountToDateDay="";
  
  //ギフトフラグ
  private String giftFlg="0";
  
  //ショップ状態
  private String status="0";
  
  //ランキング表示フラグ
  private String rankingDispFlg="1";
  
  //ランキング集計項目
  private String rankingFlg="0";
  
  //ランキング対象項目
  private String rankingCount="0";
  
  //ランキング集計期間
  private String rankingDays="0";
  
  //ランキング集計日付
  private String rankingDateTime="";
  
  //7.2.0 ST1051 追加 ここから
  //一括値引区分
  private String discountType = "0";
  
  //会員値引区分
  private String memberDiscountType = "0";
  
  //特価値引区分
  private String salesDiscountType = "0";
  
  //一括値引区分（修正前）
  private String orgDiscountType = "0";
  
  //会員値引区分（修正前）
  private String orgMemberDiscountType = "0";
  
  //特価値引区分（修正前）
  private String orgSalesDiscountType = "0";
  //7.2.0 ST1051 追加 ここまで
  
  //7.2.0 ST0539 追加 ここから
  //顧客属性
  private String custAttribute0 = "";
  private String custAttribute1 = "";
  private String custAttribute2 = "";
  //7.2.0 ST0539 追加 ここまで
  
  //7.2.0 ST0299 追加 ここから
  //SSL証明ページURL
  private String sSLURL = "";
  //7.2.0 ST0299 追加 ここまで
  
  //顧客キャンセルフラグ
  private String custCancelEnableFlg="1";  //7.2.0 ST0276 追加
  
  //7.2.0 ST0300 追加 ここから
  //マーチャントID
  private String mdkMerchantID = "";
  
  //秘密鍵
  private String mdkSignatureKey = "";
  
  //支払期限日数
  private String mdkPaymentLimitDays = "";
  //7.2.0 ST0300 追加 ここから
  
  private String frontTitle ="";
  public SIMallShop(){}
  
  public SIMallShop(String lMallShopCode){
    if (SIUtil.isNull(lMallShopCode)) lMallShopCode="";
    this.mallShopCode=SIUtil.changeTo(lMallShopCode.trim(),this.encode);
  }
  
  //setter of 管理コード
  public void setMallShopCode(String lMallShopCode){
    if (SIUtil.isNull(lMallShopCode)) lMallShopCode="";
    this.mallShopCode=SIUtil.changeTo(lMallShopCode.trim(),this.encode);
  }
  
  //setter of 運営モード
  public void setRunningModeCode(String lRunningModeCode){
    if (SIUtil.isNull(lRunningModeCode)) lRunningModeCode="0";
    this.runningModeCode=SIUtil.changeTo(lRunningModeCode.trim(),this.encode);
  }
  
  //setter of 管理者区分
  public void setMallShopFlg(String lMallShopFlg){
    if (SIUtil.isNull(lMallShopFlg)) lMallShopFlg="";
    this.mallShopFlg=SIUtil.changeTo(lMallShopFlg.trim(),this.encode);
  }
  
  //setter of 管理名
  public void setMallShopName(String lMallShopName){
    if (SIUtil.isNull(lMallShopName)) lMallShopName="";
    this.mallShopName=SIUtil.changeTo(lMallShopName.trim(),this.encode);
  }
  
  //setter of 管理名カナ
  public void setMallShopNameKana(String lMallShopNameKana){
    if (SIUtil.isNull(lMallShopNameKana)) lMallShopNameKana="";
    this.mallShopNameKana=SIUtil.changeTo(lMallShopNameKana.trim(),this.encode);
  }
  
  //setter of ショップ管理者ID
  public void setAdminName(String lAdminName){
    if (SIUtil.isNull(lAdminName)) lAdminName="";
    this.adminName=SIUtil.changeTo(lAdminName.trim(),this.encode);
  }
  
  //setter of ショップ管理者パスワード
  public void setAdminPass(String lAdminPass){
    if (SIUtil.isNull(lAdminPass)) lAdminPass="";
    this.adminPass=SIUtil.changeTo(lAdminPass.trim(),this.encode);
  }
  
  //setter of フロントに表示させるショップ名
  public void setFrontShopName(String lFrontShopName){
    if (SIUtil.isNull(lFrontShopName)) lFrontShopName="";
    this.frontShopName=SIUtil.changeTo(lFrontShopName.trim(),this.encode);
  }
  
  //setter of フロントに表示させるショップ略名
  public void setAbbvFrontShopName(String lAbbvFrontShopName){
    if (SIUtil.isNull(lAbbvFrontShopName)) lAbbvFrontShopName="";
    this.abbvFrontShopName=SIUtil.changeTo(lAbbvFrontShopName.trim(),this.encode);
  }
  
  //setter of フロントに表示させるショップカナ名
  public void setFrontShopNameKana(String lFrontShopNameKana){
    if (SIUtil.isNull(lFrontShopNameKana)) lFrontShopNameKana="";
    this.frontShopNameKana=SIUtil.changeTo(lFrontShopNameKana.trim(),this.encode);
  }
  
  //setter of 部門名
  public void setDepartName(String lDepartName){
    if (SIUtil.isNull(lDepartName)) lDepartName="";
    this.departName=SIUtil.changeTo(lDepartName.trim(),this.encode);
  }
  
  //setter of 郵便番号1
  public void setPostCode1(String lPostCode1){
    if (SIUtil.isNull(lPostCode1)) lPostCode1="";
    this.postCode1=SIUtil.changeTo(lPostCode1.trim(),this.encode);
  }
  
  //setter of 郵便番号2
  public void setPostCode2(String lPostCode2){
    if (SIUtil.isNull(lPostCode2)) lPostCode2="";
    this.postCode2=SIUtil.changeTo(lPostCode2.trim(),this.encode);
  }
  
  //setter of 住所1
  public void setAddress1(String lAddress1){
    if (SIUtil.isNull(lAddress1)) lAddress1="";
    this.address1=SIUtil.changeTo(lAddress1.trim(),this.encode);
  }
  
  //setter of 住所2
  public void setAddress2(String lAddress2){
    if (SIUtil.isNull(lAddress2)) lAddress2="";
    this.address2=SIUtil.changeTo(lAddress2.trim(),this.encode);
  }
  
  //setter of 住所3
  public void setAddress3(String lAddress3){
    if (SIUtil.isNull(lAddress3)) lAddress3="";
    this.address3=SIUtil.changeTo(lAddress3.trim(),this.encode);
  }
  
  //setter of 電話番号
  public void setTel(String lTel){
    if (SIUtil.isNull(lTel)) lTel="";
    this.tel=SIUtil.changeTo(lTel.trim(),this.encode);
  }
  
  //setter of FAX番号
  public void setFax(String lFax){
    if (SIUtil.isNull(lFax)) lFax="";
    this.fax=SIUtil.changeTo(lFax.trim(),this.encode);
  }
  
  //setter of メール
  public void setEmail(String lEmail){
    if (SIUtil.isNull(lEmail)) lEmail="";
    this.email=SIUtil.changeTo(lEmail.trim(),this.encode);
  }
  
  //setter of 担当者名
  public void setChargeUserName(String lChargeUserName){
    if (SIUtil.isNull(lChargeUserName)) lChargeUserName="";
    this.chargeUserName=SIUtil.changeTo(lChargeUserName.trim(),this.encode);
  }
  
  //setter of 手数料消費税フラグ
  public void setFeeTaxFlg(String lFeeTaxFlg){
    if (SIUtil.isNull(lFeeTaxFlg)) lFeeTaxFlg="2";
    this.feeTaxFlg=SIUtil.changeTo(lFeeTaxFlg.trim(),this.encode);
  }
  
  //setter of 送料消費税フラグ
  public void setDeliveryTaxFlg(String lDeliveryTaxFlg){
    if (SIUtil.isNull(lDeliveryTaxFlg)) lDeliveryTaxFlg="2";
    this.deliveryTaxFlg=SIUtil.changeTo(lDeliveryTaxFlg.trim(),this.encode);
  }
  
  //setter of ポイント使用フラグ
  public void setPointEnableFlg(String lPointEnableFlg){
    if (SIUtil.isNull(lPointEnableFlg)) lPointEnableFlg="0";
    this.pointEnableFlg=SIUtil.changeTo(lPointEnableFlg.trim(),this.encode);
  }
  
  public void setDiscountFromDate(String lYear,String lMonth,String lDay){
    this.setDiscountFromDateYear(lYear);
    this.setDiscountFromDateMonth(lMonth);
    this.setDiscountFromDateDay(lDay);
  }
  
  //setter of 値引期間FROM
  public void setDiscountFromDate(String lDiscountFromDate){
    if (SIUtil.isNull(lDiscountFromDate)){
      lDiscountFromDate="";
      setDiscountFromDate("","","");//7.2.0 ST0249 追加 
    }else{
      try {
        SIDateTime lDateTime=new SIDateTime(lDiscountFromDate,SIConfig.SIDATE_FORMAT);
        setDiscountFromDate(lDateTime.getYearStr(),lDateTime.getMonthStr(),lDateTime.getDayStr());
      } catch (ParseException e) {
        e.printStackTrace();
      }
    }
    this.discountFromDate=lDiscountFromDate;
  }
  
  public void setDiscountToDate(String lYear,String lMonth,String lDay){
    this.setDiscountToDateYear(lYear);
    this.setDiscountToDateMonth(lMonth);
    this.setDiscountToDateDay(lDay);
  }
  
  //setter of 値引期間TO
  public void setDiscountToDate(String lDiscountToDate){
    if (SIUtil.isNull(lDiscountToDate)){
      lDiscountToDate="";
      setDiscountToDate("","","");//7.2.0 ST0249 追加 
    }else{
      try {
        SIDateTime lDateTime=new SIDateTime(lDiscountToDate,SIConfig.SIDATE_FORMAT);
        setDiscountToDate(lDateTime.getYearStr(),lDateTime.getMonthStr(),lDateTime.getDayStr());
      } catch (ParseException e) {
        e.printStackTrace();
      }
    }
    this.discountToDate=lDiscountToDate;
  }
  
  //setter of 値引率
  public void setDiscountRate(String lDiscountRate){
    lDiscountRate=SIUtil.str2Int(lDiscountRate);//7.1.1 ST0177 追加
    if (SIUtil.isNull(lDiscountRate))lDiscountRate="0";
    this.discountRate=SIUtil.changeTo(lDiscountRate.trim(),this.encode);
  }
  
  //setter of 在庫管理フラグ
  public void setInStockFlg(String lInStockFlg){
    if (SIUtil.isNull(lInStockFlg)) lInStockFlg="0";
    this.inStockFlg=SIUtil.changeTo(lInStockFlg.trim(),this.encode);
  }
  
  //setter of 商品新着期間
  public void setDaysOfNew(String string) {
    string=SIUtil.str2Int(string);//7.1.1 ST0177 追加
    if (SIUtil.isNull(string))string="0";
    this.daysOfNew =SIUtil.changeTo(string.trim(),this.encode);
  }
  
  //setter of おすすめ商品数
  public void setAmountByAdvice(String lAmountByAdvice){
    lAmountByAdvice=SIUtil.str2Int(lAmountByAdvice);//7.1.1 ST0177 追加
    if (SIUtil.isNull(lAmountByAdvice))lAmountByAdvice="0";
    this.amountByAdvice=SIUtil.changeTo(lAmountByAdvice.trim(),this.encode);
  }
  
  //setter of SSL使用フラグ
  public void setSSLEnableFlg(String lSSLEnableFlg){
    if (SIUtil.isNull(lSSLEnableFlg)) lSSLEnableFlg="0";
    this.sSLEnableFlg=SIUtil.changeTo(lSSLEnableFlg.trim(),this.encode);
  }
  
  //setter of DBタイプ
  public void setDbType(String lDbType){
    if (SIUtil.isNull(lDbType)) lDbType="0";
    this.dbType=SIUtil.changeTo(lDbType.trim(),this.encode);
  }
  
  //setter of 登録日時
  public void setInitDateTime(String lInitDateTime){
    if (SIUtil.isNull(lInitDateTime)) lInitDateTime="";
    this.initDateTime=lInitDateTime.trim();
  }
  
  //setter of 更新日時
  public void setUpdateDateTime(String lUpdateDateTime){
    if (SIUtil.isNull(lUpdateDateTime)) lUpdateDateTime="";
    this.updateDateTime=lUpdateDateTime.trim();
  }
  
  public void setEncode(String lEncode){
    if (SIUtil.isNull(lEncode))lEncode="";
    this.encode =lEncode.trim();
  }
  
  //setter of 値引期間FROMの年
  public void setDiscountFromDateYear(String lDiscountFromDateYear){
    if (SIUtil.isNull(lDiscountFromDateYear)) lDiscountFromDateYear="";
    this.discountFromDateYear=lDiscountFromDateYear.trim();
  }
  
  //setter of 値引期間FROMの月
  public void setDiscountFromDateMonth(String lDiscountFromDateMonth){
    if (SIUtil.isNull(lDiscountFromDateMonth)) this.discountFromDateMonth="";
    else this.discountFromDateMonth=SIUtil.lFillIn(lDiscountFromDateMonth,2);
  }
  
  //setter of 値引期間FROMの日
  public void setDiscountFromDateDay(String lDiscountFromDateDay){
    if (SIUtil.isNull(lDiscountFromDateDay)) this.discountFromDateDay="";
    else this.discountFromDateDay=SIUtil.lFillIn(lDiscountFromDateDay,2);
  }
  
  //setter of 値引期間TOの年
  public void setDiscountToDateYear(String lDiscountToDateYear){
    if (SIUtil.isNull(lDiscountToDateYear)) lDiscountToDateYear="";
    this.discountToDateYear=lDiscountToDateYear.trim();
  }
  
  //setter of 値引期間TOの月
  public void setDiscountToDateMonth(String lDiscountToDateMonth){
    if (SIUtil.isNull(lDiscountToDateMonth)) this.discountToDateMonth="";
    else this.discountToDateMonth=SIUtil.lFillIn(lDiscountToDateMonth,2);
  }
  
  //setter of 値引期間TOの日
  public void setDiscountToDateDay(String lDiscountToDateDay){
    if (SIUtil.isNull(lDiscountToDateDay)) this.discountToDateDay="";
    else this.discountToDateDay=SIUtil.lFillIn(lDiscountToDateDay,2);
  }
  
  //setter of ギフトフラグ
  public void setGiftFlg(String lGiftFlg){
    if (SIUtil.isNull(lGiftFlg))lGiftFlg="0";
    this.giftFlg =lGiftFlg;
  }
  
  //setter of ギフトフラグ
  public void setStatus(String lStatus){
    if (SIUtil.isNull(lStatus))lStatus="0";
    this.status =lStatus;
  }
  
  //setter of ランキング表示フラグ
  public void setRankingDispFlg(String lRankingDispFlg){
    if (SIUtil.isNull(lRankingDispFlg))lRankingDispFlg="1";
    this.rankingDispFlg =lRankingDispFlg;
  }
  
  //setter of ランキングフラグ
  public void setRankingFlg(String lRankingFlg){
    if (SIUtil.isNull(lRankingFlg))lRankingFlg="0";
    this.rankingFlg =lRankingFlg;
  }
  
  //setter of ランキング対象
  public void setRankingCount(String lRankingCount){
    lRankingCount=SIUtil.str2Int(lRankingCount);//7.1.1 ST0177 追加
    if (SIUtil.isNull(lRankingCount))lRankingCount="0";
    this.rankingCount =SIUtil.changeTo(lRankingCount.trim(),this.encode);
  }
  
  //setter of ランキング表示フラグ
  public void setRankingDays(String lRankingDays){
    lRankingDays=SIUtil.str2Int(lRankingDays);//7.1.1 ST0177 追加
    if (SIUtil.isNull(lRankingDays))lRankingDays="0";
    this.rankingDays =SIUtil.changeTo(lRankingDays.trim(),this.encode);
  }
  
  //setter of ランキング集計日時
  public void setRankingDateTime(String lRankingDateTime){
    if (SIUtil.isNull(lRankingDateTime))lRankingDateTime="";
    this.rankingDateTime =lRankingDateTime;
  }
  
  //7.2.0 ST1051 追加 ここから
  //setter of 一括値引区分
  public void setDiscountType(String lDiscountType){
    if (SIUtil.isNull(lDiscountType))lDiscountType="0";
    this.discountType =SIUtil.changeTo(lDiscountType.trim(),this.encode);
  }
  
  //setter of 会員値引区分
  public void setMemberDiscountType(String lMemberDiscountType){
    if (SIUtil.isNull(lMemberDiscountType))lMemberDiscountType="0";
    this.memberDiscountType =SIUtil.changeTo(lMemberDiscountType.trim(),this.encode);
  }
  
  //setter of 特価値引区分
  public void setSalesDiscountType(String lSalesDiscountType){
    if (SIUtil.isNull(lSalesDiscountType))lSalesDiscountType="0";
    this.salesDiscountType =SIUtil.changeTo(lSalesDiscountType.trim(),this.encode);
  }
  
  //setter of 一括値引区分（修正前）
  public void setOrgDiscountType(String lDiscountType){
    if (SIUtil.isNull(lDiscountType))lDiscountType="0";
    this.orgDiscountType =SIUtil.changeTo(lDiscountType.trim(),this.encode);
  }
  
  //setter of 会員値引区分（修正前）
  public void setOrgMemberDiscountType(String lMemberDiscountType){
    if (SIUtil.isNull(lMemberDiscountType))lMemberDiscountType="0";
    this.orgMemberDiscountType =SIUtil.changeTo(lMemberDiscountType.trim(),this.encode);
  }
  
  //setter of 特価値引区分（修正前）
  public void setOrgSalesDiscountType(String lSalesDiscountType){
    if (SIUtil.isNull(lSalesDiscountType))lSalesDiscountType="0";
    this.orgSalesDiscountType =SIUtil.changeTo(lSalesDiscountType.trim(),this.encode);
  }
  //7.2.0 ST1051 追加 ここまで
  
  //7.2.0 ST0539 追加 ここから
  //顧客属性
  public void setCustAttribute0(String lCustAttribute0){
    if (SIUtil.isNull(lCustAttribute0))lCustAttribute0="";
    this.custAttribute0 =SIUtil.changeTo(lCustAttribute0.trim(),this.encode);
  }
  
  public void setCustAttribute1(String lCustAttribute1){
    if (SIUtil.isNull(lCustAttribute1))lCustAttribute1="";
    this.custAttribute1 =SIUtil.changeTo(lCustAttribute1.trim(),this.encode);
  }
  
  public void setCustAttribute2(String lCustAttribute2){
    if (SIUtil.isNull(lCustAttribute2))lCustAttribute2="";
    this.custAttribute2 =SIUtil.changeTo(lCustAttribute2.trim(),this.encode);
  }
  //7.2.0 ST0539 追加 ここまで
  
  //7.2.0 ST0276 追加 ここから
  //setter of 顧客キャンセルフラグ
  public void setCustCancelEnableFlg(String lCustCancelEnableFlg){
    if (SIUtil.isNull(lCustCancelEnableFlg)) lCustCancelEnableFlg="1";
    this.custCancelEnableFlg=SIUtil.changeTo(lCustCancelEnableFlg.trim(),this.encode);
  }
  //7.2.0 ST0276 追加 ここまで
  
  //7.2.0 ST0299 追加  ここから
  //setter of SSL証明ページURL
  public void setSSLURL(String lSSLURL){
    if (SIUtil.isNull(lSSLURL)) lSSLURL="";
    this.sSLURL=SIUtil.changeTo(lSSLURL.trim(),this.encode);
  }
  //7.2.0 ST0299 追加 ここまで
  
  //7.2.0 ST0300 追加 ここから
  //setter of マーチャントID
  public void setMdkMerchantID(String lStr) {
    if (SIUtil.isNull(lStr)) lStr = "";
    this.mdkMerchantID = SIUtil.changeTo(lStr.trim(), this.encode);
  }
  
  //setter of 秘密鍵
  public void setMdkSignatureKey(String lStr) {
    if (SIUtil.isNull(lStr)) lStr = "";
    this.mdkSignatureKey = SIUtil.changeTo(lStr.trim(), this.encode);
  }
  
  //setter of 支払期限日数
  public void setMdkPaymentLimitDays(String lStr) {
    if (SIUtil.isNull(lStr)) lStr = "";
    this.mdkPaymentLimitDays = SIUtil.changeTo(lStr.trim(), this.encode);
  }
  //7.2.0 ST0300 追加 ここから
  
  //getter of 管理コード
  public String getMallShopCode(){
    return this.mallShopCode;
  }
  
  //getter of 管理者区分
  public String getMallShopFlg(){
    return this.mallShopFlg;
  }
  
  //getter of 運営モード
  public String getRunningModeCode(){
    return this.runningModeCode;
  }
  
  //getter of 管理名
  public String getMallShopName(){
    return this.mallShopName;
  }
  
  //getter of 管理名カナ
  public String getMallShopNameKana(){
    return this.mallShopNameKana;
  }
  
  //getter of ショップ管理者ID
  public String getAdminName(){
    return this.adminName;
  }
  
  //getter of ショップ管理者パスワード
  public String getAdminPass(){
    return this.adminPass;
  }
  
  //getter of フロントに表示させるショップ名
  public String getFrontShopName(){
    return this.frontShopName;
  }
  
  //getter of フロントに表示させるショップ略名
  public String getAbbvFrontShopName(){
    return this.abbvFrontShopName;
  }
  
  //getter of フロントに表示させるショップカナ名
  public String getFrontShopNameKana(){
    return this.frontShopNameKana;
  }
  
  //getter of 部門名
  public String getDepartName(){
    return this.departName;
  }
  
  //getter of 郵便番号1
  public String getPostCode1(){
    return this.postCode1;
  }
  
  //getter of 郵便番号2
  public String getPostCode2(){
    return this.postCode2;
  }
  
  //getter of 郵便番号
  public String getPostCode(){
    if (SIUtil.isNotNull(getPostCode1())&&SIUtil.isNotNull(getPostCode2())){
      return getPostCode1()+"-"+getPostCode2();
    }else if (SIUtil.isNotNull(getPostCode1())||SIUtil.isNotNull(getPostCode2())){
      return getPostCode1()+getPostCode2();
    }else return "";
  }
  
  //getter of 住所1
  public String getAddress1(){
    return this.address1;
  }
  
  //getter of 住所2
  public String getAddress2(){
    return this.address2;
  }
  
  //getter of 住所3
  public String getAddress3(){
    return this.address3;
  }
  
  public String getAddress(){
    return getAddress1()+getAddress2()+getAddress3();
  }
  
  //getter of 電話番号
  public String getTel(){
    return this.tel;
  }
  
  //getter of FAX番号
  public String getFax(){
    return this.fax;
  }
  
  //getter of メール
  public String getEmail(){
    return this.email;
  }
  
  //getter of 担当者名
  public String getChargeUserName(){
    return this.chargeUserName;
  }
  
  //getter of 送料取扱フラグ
  public String getFeeTaxFlg(){
    return this.feeTaxFlg;
  }
  
  //getter of 送料消費税フラグ
  public String getDeliveryTaxFlg(){
    return this.deliveryTaxFlg;
  }
  
  //getter of ポイント使用フラグ
  public String getPointEnableFlg(){
    return this.pointEnableFlg;
  }
  
  //getter of 値引期間FROM
  public String getDiscountFromDate(){
    return SIDateTime.getDate(getDiscountFromDateYear(),getDiscountFromDateMonth(),getDiscountFromDateDay());
  }
  
  //getter of 値引期間TO
  public String getDiscountToDate(){
    return SIDateTime.getDate(getDiscountToDateYear(),getDiscountToDateMonth(),getDiscountToDateDay());
  }
  
  //getter of 値引率
  public String getDiscountRate(){
    return this.discountRate;
  }
  
  //getter of 値引率
  public String getCalcDiscountRate(){
    SIDateTime lDateTime=new SIDateTime();
    try {
      if(SIUtil.isNotNull(getDiscountFromDate())&&SIUtil.isNotNull(getDiscountToDate())){
        if (!SICheckUtil.dateGreater(getDiscountFromDate(),lDateTime.getFullDate())&&
            !SICheckUtil.dateLess(getDiscountToDate(),lDateTime.getFullDate())){
          return getDiscountRate();
        }
      }else if(SIUtil.isNull(getDiscountFromDate())&&SIUtil.isNotNull(getDiscountToDate())){
        if (!SICheckUtil.dateLess(getDiscountToDate(),lDateTime.getFullDate())){
          return getDiscountRate();
        }
      }else if(SIUtil.isNotNull(getDiscountFromDate())&&SIUtil.isNull(getDiscountToDate())){
        if (!SICheckUtil.dateGreater(getDiscountFromDate(),lDateTime.getFullDate())){
          return getDiscountRate();
        }
      }
    } catch (ParseException e) {
      e.printStackTrace();
    } catch (SIException e) {
      e.printStackTrace();
    }
    return "0";
  }
  
  //getter of 在庫管理フラグ
  public String getInStockFlg(){
    return this.inStockFlg;
  }
  
  //getter of 商品新着期間
  public String getDaysOfNew() {
    return this.daysOfNew;
  }
  
  //getter of おすすめ商品数
  public String getAmountByAdvice(){
    return this.amountByAdvice;
  }
  
  //getter of SSL使用フラグ
  public String getSSLEnableFlg(){
    return this.sSLEnableFlg;
  }
  
  //getter of DBタイプ
  public String getDbType(){
    return this.dbType;
  }
  
  //getter of 登録日時
  public String getInitDateTime(){
    return this.initDateTime;
  }
  
  //getter of 更新日時
  public String getUpdateDateTime(){
    return this.updateDateTime;
  }
  
  //getter of 値引期間FROMの年
  public String getDiscountFromDateYear(){
    return this.discountFromDateYear;
  }
  
  //getter of 値引期間FROMの月
  public String getDiscountFromDateMonth(){
    return this.discountFromDateMonth;
  }
  
  //getter of 値引期間FROMの日
  public String getDiscountFromDateDay(){
    return this.discountFromDateDay;
  }
  
  //getter of 値引期間TOの年
  public String getDiscountToDateYear(){
    return this.discountToDateYear;
  }
  
  //getter of 値引期間TOの月
  public String getDiscountToDateMonth(){
    return this.discountToDateMonth;
  }
  
  //getter of 値引期間TOの日
  public String getDiscountToDateDay(){
    return this.discountToDateDay;
  }
  
  //getter of ギフトフラグ
  public String getGiftFlg(){
    return this.giftFlg;
  }
  
  //getter of ショップ状態
  public String getStatus(){
    return this.status;
  }
  
  //getter of ランキング表示フラグ
  public String getRankingDispFlg(){
    return this.rankingDispFlg;
  }
  
  //getter of ランキングフラグ
  public String getRankingFlg(){
    return this.rankingFlg;
  }
  
  //getter of ランキング対象
  public String getRankingCount(){
    return this.rankingCount;
  }
  
  //getter of ランキング表示フラグ
  public String getRankingDays(){
    return this.rankingDays;
  }
  
  //getter of ランキング集計日時
  public String getRankingDateTime(){
    return this.rankingDateTime;
  }
  
  //7.2.0 ST1051 追加 ここから
  //getter of 一括値引区分
  public String getDiscountType(){
    return this.discountType;
  }
  
  //getter of 会員値引区分
  public String getMemberDiscountType(){
    return this.memberDiscountType;
  }
  
  //getter of 特価値引区分
  public String getSalesDiscountType(){
    return this.salesDiscountType;
  }
  
  //getter of 一括値引区分（修正前）
  public String getOrgDiscountType(){
    return this.orgDiscountType;
  }
  
  //getter of 会員値引区分（修正前）
  public String getOrgMemberDiscountType(){
    return this.orgMemberDiscountType;
  }
  
  //getter of 特価値引区分（修正前）
  public String getOrgSalesDiscountType(){
    return this.orgSalesDiscountType;
  }
  //7.2.0 ST1051 追加 ここまで
  
  //7.2.0 ST0539 追加 ここから
  //顧客属性
  public String getCustAttribute0(){
    return this.custAttribute0;
  }
  
  public String getCustAttribute1(){
    return this.custAttribute1;
  }
  
  public String getCustAttribute2(){
    return this.custAttribute2;
  }
  //7.2.0 ST0539 追加 ここまで
  
  //7.2.0 ST0276 追加 ここから
  //getter of 顧客キャンセルフラグ
  public String getCustCancelEnableFlg(){
    return this.custCancelEnableFlg;
  }
  //7.2.0 ST0276 追加 ここまで
  
  //7.2.0 ST0299 追加 ここから
  //getter of SSL証明ページURL
  public String getSSLURL(){
    return this.sSLURL;
  }
  //7.2.0 ST0299 追加 ここまで
  
  //7.2.0 ST0300 追加 ここから
  //getter of マーチャントID
  public String getMdkMerchantID() {
    return this.mdkMerchantID;
  }
  
  //getter of 秘密鍵
  public String getMdkSignatureKey() {
    return this.mdkSignatureKey;
  }
  
  //getter of 支払期限日数
  public String getMdkPaymentLimitDays() {
    return this.mdkPaymentLimitDays;
  }
  //7.2.0 ST0300 追加 ここまで
  
  public String getEncode(){
    return this.encode;
  }
  
  public String getFrontTitle() {
    return frontTitle;
  }
  
  public void setFrontTitle(String frontTitle) {
    this.frontTitle = frontTitle;
  }
  
  /**
   * <b>resetMall</b>
   * モールショップ情報を取得します
   * @param lConnection
   * @return なし
   */
  public void resetMall(Connection lConnection){
    StringBuffer lSqlBuf=new StringBuffer();
    lSqlBuf.append("SELECT * FROM MallShopVW ");
    lSqlBuf.append("WHERE MallShopFlg='0' ");
    reset(lConnection,lSqlBuf.toString());
  }
  
  /**
   * <b>reset</b>
   * ショップコードからショップ情報を取得します
   * @param lConnection
   * @return なし
   */
  public void reset(Connection lConnection){
    StringBuffer lSqlBuf=new StringBuffer();
    lSqlBuf.append("SELECT * FROM MallShopVW ");
    lSqlBuf.append("WHERE MallShopCode="+SIDBUtil.SQL2Str(getMallShopCode()));
    reset(lConnection,lSqlBuf.toString());
  }
  
  /**
   * <b>reset</b>
   * SQLからショップ情報を取得します
   * @param lConnection
   * @param lSql
   */
  private void reset(Connection lConnection,String lSql){
    Statement lStatement=null;
    ResultSet lResultSet=null;
    try {
      log.debug("reset:lSql="+ lSql);
      lStatement=lConnection.createStatement();
      lResultSet=lStatement.executeQuery(lSql);
      if (lResultSet.next()){
        this.setEncode(SIConfig.SIENCODE_NONE);
        this.setMallShopCode(lResultSet.getString("mallShopCode"));
        this.setMallShopFlg(lResultSet.getString("mallShopFlg"));
        this.setRunningModeCode(lResultSet.getString("runningModeCode"));
        this.setMallShopName(lResultSet.getString("mallShopName"));
        this.setMallShopNameKana(lResultSet.getString("mallShopNameKana"));
        this.setAdminName(lResultSet.getString("adminName"));
        this.setAdminPass(lResultSet.getString("adminPass"));
        this.setFrontShopName(lResultSet.getString("frontShopName"));
        this.setAbbvFrontShopName(lResultSet.getString("abbvFrontShopName"));
        this.setFrontShopNameKana(lResultSet.getString("frontShopNameKana"));
        this.setDepartName(lResultSet.getString("departName"));
        this.setPostCode1(lResultSet.getString("postCode1"));
        this.setPostCode2(lResultSet.getString("postCode2"));
        this.setAddress1(lResultSet.getString("address1"));
        this.setAddress2(lResultSet.getString("address2"));
        this.setAddress3(lResultSet.getString("address3"));
        this.setTel(lResultSet.getString("tel"));
        this.setFax(lResultSet.getString("fax"));
        this.setEmail(lResultSet.getString("email"));
        this.setChargeUserName(lResultSet.getString("chargeUserName"));
        this.setFeeTaxFlg(lResultSet.getString("feeTaxFlg"));
        this.setDeliveryTaxFlg(lResultSet.getString("deliveryTaxFlg"));
        this.setPointEnableFlg(lResultSet.getString("pointEnableFlg"));
        this.setDiscountFromDate(SIDBUtil.getDate(lResultSet.getTimestamp("discountfromdate")));
        this.setDiscountToDate(SIDBUtil.getDate(lResultSet.getTimestamp("discounttodate")));
        this.setDiscountRate(lResultSet.getString("discountRate"));
        this.setInStockFlg(lResultSet.getString("inStockFlg"));
        this.setDaysOfNew(lResultSet.getString("daysOfNew"));
        this.setAmountByAdvice(lResultSet.getString("amountByAdvice"));
        this.setSSLEnableFlg(lResultSet.getString("SSLEnableFlg"));
        this.setDbType(lResultSet.getString("dbType"));
        this.setGiftFlg(lResultSet.getString("GiftFlg"));
        this.setStatus(lResultSet.getString("Status"));
        this.setUpdateDateTime(SIDBUtil.getDateTime(lResultSet.getTimestamp("UpdateDateTime")));
        this.setRankingDispFlg(lResultSet.getString("RankingDispFlg"));
        this.setRankingFlg(lResultSet.getString("RankingFlg"));
        this.setRankingCount(lResultSet.getString("RankingCount"));
        this.setRankingDays(lResultSet.getString("RankingDays"));
        this.setRankingDateTime(SIDBUtil.getDateTime(lResultSet.getTimestamp("RankingDateTime")));
        //7.2.0 ST1051 追加 ここから
        this.setDiscountType(lResultSet.getString("DISCOUNTTYPE"));
        this.setMemberDiscountType(lResultSet.getString("MEMBERDISCOUNTTYPE"));
        this.setSalesDiscountType(lResultSet.getString("SALESDISCOUNTTYPE"));
        this.setOrgDiscountType(lResultSet.getString("DISCOUNTTYPE"));
        this.setOrgMemberDiscountType(lResultSet.getString("MEMBERDISCOUNTTYPE"));
        this.setOrgSalesDiscountType(lResultSet.getString("SALESDISCOUNTTYPE"));
        //7.2.0 ST1051 追加 ここまで
        //7.2.0 ST0539 追加 ここから
        this.setCustAttribute0(lResultSet.getString("custAttribute0"));
        this.setCustAttribute1(lResultSet.getString("custAttribute1"));
        this.setCustAttribute2(lResultSet.getString("custAttribute2"));
        //7.2.0 ST0539 追加 ここまで
        this.setCustCancelEnableFlg(lResultSet.getString("custCancelEnableFlg"));  //7.2.0 ST0276 追加
        this.setSSLURL(lResultSet.getString("sSLURL")); //7.2.0 ST0299 追加
        //7.2.0 ST0300 追加 ここから
        this.setMdkMerchantID(lResultSet.getString("MDKMERCHANTID"));
        this.setMdkSignatureKey(lResultSet.getString("MDKSIGNATUREKEY"));
        this.setMdkPaymentLimitDays(lResultSet.getString("MDKPAYMENTLIMITDAYS"));
        this.setFrontTitle(lResultSet.getString("fronttitle"));
        //7.2.0 ST0300 追加 ここまで
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      SIDBUtil.close(lStatement,lResultSet);
    }
  }
  
  /**
   * <b>getKeyList</b>
   * ショップコードをキーにしたショップコードHashMapを返します
   * @param lConnection
   * @return HashMap  ショップコードリスト
   */
  public HashMap getKeyList(Connection lConnection){
    Statement lStatement = null;
    ResultSet lResultSet = null;
    HashMap custCode = new HashMap();
    String lSql = "SELECT MallShopCode FROM MallShopMTbl ";
    try {
      lStatement = lConnection.createStatement();
      lResultSet = lStatement.executeQuery(lSql);
      while (lResultSet.next()) {
        custCode.put(lResultSet.getString("MallShopCode"),lResultSet.getString("MallShopCode"));
      }
    } catch (SQLException sqle) {
      sqle.printStackTrace();
    } finally {
      SIDBUtil.close(lStatement, lResultSet);
    }
    return custCode;
  }
}