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

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

import jp.co.sint.database.SIDBUtil;
import jp.co.sint.tools.SIUtil;

/**
 * @version $Id: SIConnCmdty.java,v 1.0 2003/09/12 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>
 * jwchen        2003/09/12 11:34:59  Original
 */
public class SIConnCmdty extends SICmdty{
  
  //関連商品ショップコード
  private String connShopCode="";
  
  //関連商品コード
  private String connCmdtyCode="";
  
  //関連商品名
  private String connCmdtyName="";
  
  //表示順序
  private String dispOrder="";
  
  //関連でかどうか
  private String isConn="0";
  
  //setter of 関連商品ショップコード
  public void setConnShopCode(String lConnShopCode){
    if (SIUtil.isNull(lConnShopCode)) lConnShopCode="";
    this.connShopCode=SIUtil.changeTo(lConnShopCode.trim(),this.encode);
  }
  
  //setter of 関連商品コード
  public void setConnCmdtyCode(String lConnCmdtyCode){
    if (SIUtil.isNull(lConnCmdtyCode)) lConnCmdtyCode="";
    this.connCmdtyCode=SIUtil.changeTo(lConnCmdtyCode.trim(),this.encode);
  }
  
  //setter of 関連商品名
  public void setConnCmdtyName(String lConnCmdtyName){
    if (SIUtil.isNull(lConnCmdtyName)) lConnCmdtyName="";
    this.connCmdtyName=SIUtil.changeTo(lConnCmdtyName.trim(),this.encode);
  }
  
  //setter of 表示順序
  public void setDispOrder(String lDispOrder){
    if (SIUtil.isNull(lDispOrder)) lDispOrder="";
    this.dispOrder=SIUtil.changeTo(lDispOrder.trim(),this.encode);
  }
  
  //setter of 表示順序
  public void setIsConn(String lIsConn){
    if (SIUtil.isNull(lIsConn)) lIsConn="0";
    this.isConn=SIUtil.changeTo(lIsConn.trim(),this.encode);
  }
  
  //getter of 関連商品ショップコード
  public String getConnShopCode(){
    return this.connShopCode;
  }
  
  //getter of 関連商品コード
  public String getConnCmdtyCode(){
    return this.connCmdtyCode;
  }
  
  //getter of 関連商品名
  public String getConnCmdtyName(){
    return this.connCmdtyName;
  }
  
  //getter of 表示順序
  public String getDispOrder(){
    return this.dispOrder;
  }
  
  //getter of 表示順序
  public String getIsConn(){
    return this.isConn;
  }
  
  /**
   * <b>hasConnCmdty</b>
   * 対象の商品コードに対す関連商品があるかどうかをチェックします。
   * @param lConnection DBへのコネクション
   * @param lShopCode ショップコード
   * @param lCmdtyCode 商品コード
   * @return true 規格ある false 規格なし
   * @throws なし
   */
  public static boolean hasConnCmdty(Connection lConnection,String lShopCode,String lCmdtyCode){
    if (SIUtil.isNull(lShopCode)||SIUtil.isNull(lCmdtyCode)) return false;
    StringBuffer lSqlBuf=new StringBuffer("SELECT CmdtyCode FROM ConnCmdtyMTbl WHERE ShopCode=? AND CmdtyCode=?");
    PreparedStatement lPreparedStatement =null;
    ResultSet lResultSet=null;
    
    try {
      lPreparedStatement = lConnection.prepareStatement(lSqlBuf.toString());
      
      lPreparedStatement.setString(1,lShopCode);
      lPreparedStatement.setString(2,lCmdtyCode);
      lResultSet=lPreparedStatement.executeQuery();
      return lResultSet.next();
    } catch (SQLException e) {
      e.printStackTrace();
      return false;
    }finally{
      SIDBUtil.close(lResultSet,lPreparedStatement);
    }
  }
}
