/**
 * Created on 2003/09/17
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
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.SIDeliveryRule;
import jp.co.sint.basic.SILogin;
import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.database.SITableCondition;
import jp.co.sint.database.SITableConditionManager;
import jp.co.sint.tools.SICheckDataConf;
import jp.co.sint.tools.SICheckValid;
import jp.co.sint.tools.SICustomError;
import jp.co.sint.tools.SICustomErrors;
import jp.co.sint.tools.SIHTMLUtil;
import jp.co.sint.tools.SIUtil;
import jp.co.sint.tools.SIURLParameter;//7.1.1 ST0236 追加

import org.apache.log4j.Category;

/**
 * @author arai
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class UIRegDeliveryRule extends SIBasic {
  //ログ用のインスタンスの生成
  private static Category log = Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  //ショップコード
  private String mallShopCode = "";
  
  //配送先種別コード
  private String deliveryTypeCode = "";
  
  //配送先種別名
  private String deliveryTypeName = "";
  
  //配送先送料
  private String[] prefectureCode = null;
  private String[] prefectureName = null;
  private String[] size1 = null;
  private String[] size2 = null;
  private String[] size3 = null;
  private String[] size4 = null;
  private String[] size5 = null;
  private String[] size6 = null;
  private String[] size7 = null;
  private String[] size8 = null;
  private String[] size9 = null;
  private String[] size10 = null;
  
  //送料ルール
  private String freeFlg = "";
  private String price = "";
  private String spPrice1 = "";
  private String spPrice2 = "";
  private String multiBuyFlg = "";
  private String unitPrice = "";
  private String noRuleRdo = "";
  private String noRulePrice = "";
  
  public UIRegDeliveryRule() {}
  
  /**
   * init
   * 入力したデータから、このbeansを設定します。
   * @param HttpServletRequest
   * @param SIURLParameter
   * @return なし
   * @throws なし
   */
  //7.1.1 ST0236 修正 ここから
  public void init(HttpServletRequest lRequest,SIURLParameter lUrlParam){
    SILogin lLogin=SIHTMLUtil.getLogin(lRequest);
    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS);
    if (lLogin.isShop()){
      this.setMallShopCode((String)lUrlParam.getParam("mallShopCode"));
    }else{
      this.setMallShopCode((String)lUrlParam.getParam("mallShopCode"));
    }
    this.setDeliveryTypeCode((String)lUrlParam.getParam("deliveryTypeCode"));
    this.setPrefectureCode(lRequest.getParameterValues("prefectureCode"));
    this.setPrefectureName(lRequest.getParameterValues("prefectureName"));
    this.setSize1(lRequest.getParameterValues("size1"));
    this.setSize2(lRequest.getParameterValues("size2"));
    this.setSize3(lRequest.getParameterValues("size3"));
    this.setSize4(lRequest.getParameterValues("size4"));
    this.setSize5(lRequest.getParameterValues("size5"));
    this.setSize6(lRequest.getParameterValues("size6"));
    this.setSize7(lRequest.getParameterValues("size7"));
    this.setSize8(lRequest.getParameterValues("size8"));
    this.setSize9(lRequest.getParameterValues("size9"));
    this.setSize10(lRequest.getParameterValues("size10"));
    this.setFreeFlg((String)lUrlParam.getParam("freeFlg"));
    this.setPrice((String)lUrlParam.getParam("price"));
    this.setSpPrice1((String)lUrlParam.getParam("spPrice1"));
    this.setSpPrice2((String)lUrlParam.getParam("spPrice2"));
    this.setMultiBuyFlg((String)lUrlParam.getParam("multiBuyFlg"));
    this.setUnitPrice((String)lUrlParam.getParam("unitPrice"));
    this.setNoRulePrice((String)lUrlParam.getParam("noRulePrice"));
    this.setActionNameTxt((String)lUrlParam.getParam("actionNameTxt"));
    this.setEditModeTxt((String)lUrlParam.getParam("editModeTxt"));
  }
  //7.1.1 ST0236 修正 ここまで
  
  /**
   * validate
   * 入力したデータをチェックします。
   * 不正なデータがある場合、エラーをオブジェクトに格納します。
   * そのオブジェクトは、エラーメッセージとして画面に表示されます。
   * @param HttpServletRequest ，Connection
   * @return true:エラーがない false:エラーが１つ以上ある
   * @throws なし
   */
  public boolean validate(HttpServletRequest lRequest, Connection lConnection) {
    lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    SICustomErrors errors = new SICustomErrors();
    
    SICheckValid.checkValid(errors, "管理コード", this.getMallShopCode(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_ALPHA_DIGIT_TYPE);
    SICheckValid.checkValid(errors, "管理コード", this.getMallShopCode(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 16);
    
    SICheckValid.checkValid(errors, "配送先送料ID", this.getDeliveryTypeCode(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
    SICheckValid.checkValid(errors, "配送先送料ID", this.getDeliveryTypeCode(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 2);
    
    int ii = 0;
    for (ii = 0; ii < this.getPrefectureCode().length; ii++) {
      SICheckValid.checkValid(errors, "都道府県コード", this.getPrefectureCode()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
      SICheckValid.checkValid(errors, "都道府県コード", this.getPrefectureCode()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 2);
    }
    for (ii = 0; ii < this.getPrefectureName().length; ii++) {
      SICheckValid.checkValid(errors, "都道府県名", this.getPrefectureName()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE);
      SICheckValid.checkValid(errors, "都道府県名", this.getPrefectureName()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 30);
    }
    if (errors.isEmpty()) {
      SICheckValid.checkValid(errors, "送料無料設定フラグ", this.getFreeFlg(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
      SICheckValid.checkValid(errors, "送料無料設定フラグ", this.getFreeFlg(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 1);
      
      if(SIUtil.isNotNull(this.getFreeFlg()) && this.getFreeFlg().equals("1")){
        //7.1.1 ST0162 修正 ここから
        SICheckValid.checkValid(errors, "無料設定額（通常配送先）", this.getPrice(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, "無料設定額（通常配送先）", this.getPrice(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 8);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先１）", this.getSpPrice1(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先１）", this.getSpPrice1(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 8);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先２）", this.getSpPrice2(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先２）", this.getSpPrice2(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 8);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先）", "無料設定額（通常配送先１）", this.getSpPrice1(), this.getPrice(), SICheckDataConf.SICHECK_DATA_VALUE_GREATER_TYPE);
        SICheckValid.checkValid(errors, "無料設定額（特別配送先）", "無料設定額（通常配送先２）", this.getSpPrice2(), this.getPrice(), SICheckDataConf.SICHECK_DATA_VALUE_GREATER_TYPE);
        //7.1.1 ST0162 修正 ここまで
      }else{
        this.setPrice("0");
      }
      
      for (ii = 0; ii < this.getSize1().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の無料（重量）サイズ", this.getSize1()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の無料（重量）サイズ", this.getSize1()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize2().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のAサイズ", this.getSize2()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のAサイズ", this.getSize2()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize3().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のBサイズ", this.getSize3()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のBサイズ", this.getSize3()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize4().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のCサイズ", this.getSize4()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のCサイズ", this.getSize4()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize5().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のDサイズ", this.getSize5()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のDサイズ", this.getSize5()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize6().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のEサイズ", this.getSize6()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のEサイズ", this.getSize6()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize7().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の無料（軽量）サイズ", this.getSize7()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の無料（軽量）サイズ", this.getSize7()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize8().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のFサイズ", this.getSize8()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のFサイズ", this.getSize8()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize9().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の完全無料サイズ", this.getSize9()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"の完全無料サイズ", this.getSize9()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
      for (ii = 0; ii < this.getSize10().length; ii++) {
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のGサイズ", this.getSize10()[ii], SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
        SICheckValid.checkValid(errors, this.getPrefectureName()[ii]+"のGサイズ", this.getSize10()[ii], SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      }
    }
    
    SICheckValid.checkValid(errors, "複数購入時設定フラグ", this.getMultiBuyFlg(), SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
    SICheckValid.checkValid(errors, "複数購入時設定フラグ", this.getMultiBuyFlg(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 1);
    
    if(this.getMultiBuyFlg().equals("0")){
      this.setUnitPrice("0");
    }else{
      //7.1.1 ST0162 修正 ここから
      SICheckValid.checkValid(errors, "複数商品購入時の送料単価", this.getUnitPrice(), SICheckDataConf.SICHECK_DATA_EMPTY_TYPE + SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);
      SICheckValid.checkValid(errors, "複数商品購入時の送料単価", this.getUnitPrice(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 6);
      //7.1.1 ST0162 修正 ここまで
    }
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
    return errors.isEmpty();
  }
  
  public Collection reset(Connection lConnection) throws SIDBAccessException {
    Statement lStatement = null;
    ResultSet lResultSet = null;
    StringBuffer lSqlStatement = new StringBuffer();
    SIDeliveryRule ldeliveryrule = new SIDeliveryRule();
    Collection poti = new ArrayList();
    
    //基本のSQL
    lSqlStatement.append(" SELECT * FROM FeeRuleMTbl a,DeliveryFeeMTbl b, DeliveryTypeMTbl c WHERE a.MallShopCode=b.MallShopCode and a.deliveryTypeCode=b.deliveryTypeCode and b.MallShopCode=c.MallShopCode and b.deliveryTypeCode=c.deliveryTypeCode ");
    SITableConditionManager lConditionMan = new SITableConditionManager();
    SITableCondition DD = new SITableCondition("", "a.mallshopcode", this.getMallShopCode(), SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND);
    DD.setBlankEnable(false);
    lConditionMan.add(DD);
    
    DD = new SITableCondition("", "a.deliveryTypeCode", this.getDeliveryTypeCode(), SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND);
    DD.setBlankEnable(false);
    lConditionMan.add(DD);
    
    lSqlStatement.append(lConditionMan.getCondtionSQL());
    lSqlStatement.append(" Order By b.PrefectureCode asc");
    
    log.debug("sqlStatement=" + lSqlStatement.toString());
    
    //実行
    try {
      lStatement = lConnection.createStatement();
      lResultSet = lStatement.executeQuery(lSqlStatement.toString());
      
      while (lResultSet.next()) {
        this.setEncode(SIConfig.SIENCODE_NONE);
        
        //配送先送料
        ldeliveryrule = new SIDeliveryRule();
        ldeliveryrule.setEncode(SIConfig.SIENCODE_NONE);
        ldeliveryrule.setPrefectureCode(lResultSet.getString("prefectureCode"));
        ldeliveryrule.setPrefectureName(lResultSet.getString("prefectureName"));
        ldeliveryrule.setSize1(lResultSet.getString("size1"));
        ldeliveryrule.setSize2(lResultSet.getString("size2"));
        ldeliveryrule.setSize3(lResultSet.getString("size3"));
        ldeliveryrule.setSize4(lResultSet.getString("size4"));
        ldeliveryrule.setSize5(lResultSet.getString("size5"));
        ldeliveryrule.setSize6(lResultSet.getString("size6"));
        ldeliveryrule.setSize7(lResultSet.getString("size7"));
        ldeliveryrule.setSize8(lResultSet.getString("size8"));
        ldeliveryrule.setSize9(lResultSet.getString("size9"));
        ldeliveryrule.setSize10(lResultSet.getString("size10"));
        this.setMallShopCode(lResultSet.getString("mallShopCode"));
        this.setDeliveryTypeCode(lResultSet.getString("deliveryTypeCode"));
        this.setFreeFlg(lResultSet.getString("freeFlg"));
        this.setPrice(lResultSet.getString("price"));
        this.setSpPrice1(lResultSet.getString("spprice1"));
        this.setSpPrice2(lResultSet.getString("spprice2"));
        this.setMultiBuyFlg(lResultSet.getString("multiBuyFlg"));
        this.setUnitPrice(lResultSet.getString("unitPrice"));
        
        poti.add(ldeliveryrule);
      }
      
    } catch (Exception ex) {
      throw new SIDBAccessException(ex);
    } finally {
      SIDBUtil.close(lResultSet, lStatement);
    }
    return poti;
  }
  
  public Collection reset2(Connection lConnection) throws SIDBAccessException {
    SIDeliveryRule ldeliveryrule = new SIDeliveryRule();
    Collection poti = new ArrayList();
    int arraySize = this.getSize1().length;
    
    for (int kk = 0; kk < arraySize; kk++) {
      ldeliveryrule = new SIDeliveryRule();
      ldeliveryrule.setEncode(SIConfig.SIENCODE_NONE);
      
      //送料ルール
      ldeliveryrule.setMallShopCode(this.getMallShopCode());
      ldeliveryrule.setDeliveryTypeCode(this.getDeliveryTypeCode());
      ldeliveryrule.setFreeFlg(this.getFreeFlg());
      ldeliveryrule.setPrice(this.getPrice());
      ldeliveryrule.setMultiBuyFlg(this.getMultiBuyFlg());
      ldeliveryrule.setUnitPrice(this.getUnitPrice());
      ldeliveryrule.setPrefectureCode(this.getPrefectureCode()[kk]);
      ldeliveryrule.setPrefectureName(this.getPrefectureName()[kk]);
      ldeliveryrule.setSize1(this.getSize1()[kk]);
      ldeliveryrule.setSize2(this.getSize2()[kk]);
      ldeliveryrule.setSize3(this.getSize3()[kk]);
      ldeliveryrule.setSize4(this.getSize4()[kk]);
      ldeliveryrule.setSize5(this.getSize5()[kk]);
      ldeliveryrule.setSize6(this.getSize6()[kk]);
      ldeliveryrule.setSize7(this.getSize7()[kk]);
      ldeliveryrule.setSize8(this.getSize8()[kk]);
      ldeliveryrule.setSize9(this.getSize9()[kk]);
      ldeliveryrule.setSize10(this.getSize10()[kk]);
      poti.add(ldeliveryrule);
    }
    return poti;
  }
  
  /**
   * 配送先種別を取得する
   */
  public Collection getDeliveryColl(Connection connection) throws SIDBAccessException{
    String sql = "SELECT deliveryTypeName, deliveryTypeCode FROM deliveryTypeMTbl WHERE mallshopCode="+SIDBUtil.SQL2Str(this.getMallShopCode()) +" ORDER BY deliveryTypeCode";
    return SIDBUtil.getCollection(connection,sql);
  }
  
  /**
   * @return
   */
  public String getDeliveryTypeCode() {
    return deliveryTypeCode;
  }
  
  /**
   * @return
   */
  public Category getLog() {
    return log;
  }
  
  /**
   * @return
   */
  public String getMallShopCode() {
    return mallShopCode;
  }
  
  /**
   * @return
   */
  public String[] getPrefectureCode() {
    return prefectureCode;
  }
  
  /**
   * @return
   */
  public String[] getSize1() {
    return size1;
  }
  
  /**
   * @return
   */
  public String[] getSize2() {
    return size2;
  }
  
  /**
   * @return
   */
  public String[] getSize3() {
    return size3;
  }
  
  /**
   * @return
   */
  public String[] getSize4() {
    return size4;
  }
  
  /**
   * @return
   */
  public String[] getSize5() {
    return size5;
  }
  
  /**
   * @return
   */
  public String[] getSize6() {
    return size6;
  }
  
  /**
   * @return
   */
  public String[] getSize7() {
    return size7;
  }
  
  /**
   * @return
   */
  public String[] getSize8() {
    return size8;
  }
  
  /**
   * @return
   */
  public String[] getSize9() {
    return size9;
  }
  
  /**
   * @return
   */
  public String[] getSize10() {
    return size10;
  }
  
  /**
   * @param string
   */
  public void setDeliveryTypeCode(String string) {
    if (SIUtil.isNull(string)) string="";
    this.deliveryTypeCode=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setMallShopCode(String string) {
    if (SIUtil.isNull(string)) string="";
    this.mallShopCode=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param strings
   */
  public void setPrefectureCode(String[] strings) {
    this.prefectureCode=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize1(String[] strings) {
    this.size1=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize2(String[] strings) {
    this.size2=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize3(String[] strings) {
    this.size3=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize4(String[] strings) {
    this.size4=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize5(String[] strings) {
    this.size5=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize6(String[] strings) {
    this.size6=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize7(String[] strings) {
    this.size7=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize8(String[] strings) {
    this.size8=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize9(String[] strings) {
    this.size9=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @param strings
   */
  public void setSize10(String[] strings) {
    this.size10=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @return
   */
  public String getFreeFlg() {
    return freeFlg;
  }
  
  /**
   * @return
   */
  public String getMultiBuyFlg() {
    return multiBuyFlg;
  }
  
  /**
   * @return
   */
  public String getPrice() {
    return price;
  }
  
  /**
   * @return
   */
  public String getUnitPrice() {
    return unitPrice;
  }
  
  /**
   * @param string
   */
  public void setFreeFlg(String string) {
    if (SIUtil.isNull(string)) string="0";
    this.freeFlg=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setMultiBuyFlg(String string) {
    if (SIUtil.isNull(string)) string="0";
    this.multiBuyFlg=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setPrice(String string) {
    if (SIUtil.isNull(string)) string="";
    this.price=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @param string
   */
  public void setUnitPrice(String string) {
    if (SIUtil.isNull(string)) string="";
    this.unitPrice=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @return
   */
  public String[] getPrefectureName() {
    return prefectureName;
  }
  
  /**
   * @param strings
   */
  public void setPrefectureName(String[] strings) {
    this.prefectureName=SIUtil.changeTo(strings,this.encode);
  }
  
  /**
   * @return
   */
  public String getNoRulePrice() {
    return noRulePrice;
  }
  
  /**
   * @param string
   */
  public void setNoRulePrice(String string) {
    if (SIUtil.isNull(string)) string="";
    this.noRulePrice=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @return
   */
  public String getDeliveryTypeName() {
    return deliveryTypeName;
  }
  
  /**
   * @param string
   */
  public void setDeliveryTypeName(String string) {
    if (SIUtil.isNull(string)) string="";
    this.deliveryTypeName=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @return
   */
  public String getSpPrice1() {
    return spPrice1;
  }
  
  /**
   * @param string
   */
  public void setSpPrice1(String string) {
    if (SIUtil.isNull(string)) string="";
    this.spPrice1=SIUtil.changeTo(string.trim(),this.encode);
  }
  
  /**
   * @return
   */
  public String getSpPrice2() {
    return spPrice2;
  }
  
  /**
   * @param string
   */
  public void setSpPrice2(String string) {
    if (SIUtil.isNull(string)) string="";
    this.spPrice2=SIUtil.changeTo(string.trim(),this.encode);
  }
}