/*********************************************************************
*   All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKejbKK0591KRCK
*   ソースファイル名：JKKejbKK0591KRCK.java
*   作成者          ：富士通
*   日付            ：2011年04月20日
*＜機能概要＞
*   料金プランの関連制約部品クラス
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*   v1.00.00    2011/04/20  富士通      新規作成
*
**********************************************************************/

package eo.ejb.common.entity;

import com.fujitsu.futurity.model.base.CAANException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;

import eo.ejb.cbm.entity.KK0591LE;
import eo.ejb.cbm.entity.KK0591ETMsg;

/**
 * <p>
 * 料金プランの関連制約部品クラスです。
 * </p>
 * @author 富士通
 */
public class JKKejbKK0591KRCK
{

	/** 無効フラグ（有効） */
	private static final String MK_FLG_YUKO = "0";

	/**
	 * <p>
	 * 新しいJKKejbKK0591KRCKを作成します。
	 * </p>
	 */
	public JKKejbKK0591KRCK()
	{
		super();
	}

	/**
	 * <p>
	 * 料金プランの存在チェックを行います。
	 * </p>
	 * @param prcCd 料金コースコード
	 * @param planCd 料金プランコード
	 * @return レコードが存在する場合はtrue。存在しない場合はfalse。
	 */
	public boolean isExists(String prcCd, String planCd)
	{
		if ((prcCd == null || "".equals(prcCd)) || (planCd == null || "".equals(planCd)))
		{
			return true;
		}

		// ETメッセージ
		CAANMsg msg = new CAANMsg(KK0591ETMsg.class.getName());
		msg.set(KK0591ETMsg.PCRS_CD, prcCd);
		msg.set(KK0591ETMsg.PPLAN_CD, planCd);

		// ロジカルエンティティ生成
		KK0591LE le = new KK0591LE();

		CAANMsg rsltmsg = le.findByPrimaryKey(msg);

		//存在しない場合
		if (rsltmsg == null)
		{
			return false;
		}

		//存在する場合
		return true;
	}

	/**
	 * <p>
	 * 料金プランの未存在チェックを行います。
	 * </p>
	 * @param prcCd 料金コースコード
	 * @param planCd 料金プランコード
	 * @return レコードが存在しない場合はtrue。存在する場合はfalse。
	 */
	public boolean isNonExists(String prcCd, String planCd)
	{
		if ((prcCd == null || "".equals(prcCd)) || (planCd == null || "".equals(planCd)))
		{
			return true;
		}

		// ETメッセージ
		CAANMsg msg = new CAANMsg(KK0591ETMsg.class.getName());
		msg.set(KK0591ETMsg.PCRS_CD, prcCd);
		msg.set(KK0591ETMsg.PPLAN_CD, planCd);

		// ロジカルエンティティ生成
		KK0591LE le = new KK0591LE();

		CAANMsg rsltmsg = le.findByPrimaryKey(msg);

		//存在しない場合
		if (rsltmsg == null)
		{
			return true;
		}

		//存在する場合
		return false;
	}

	/**
	 * <p>
	 * 料金プランの存在チェックを行います。（有効なレコード）
	 * </p>
	 * @param prcCd 料金コースコード
	 * @param planCd 料金プランコード
	 * @return レコードが存在する場合はtrue。存在しない場合はfalse。
	 */
	public boolean isExistsYuko(String prcCd, String planCd)
	{
		if ((prcCd == null || "".equals(prcCd)) || (planCd == null || "".equals(planCd)))
		{
			return true;
		}

		// ETメッセージ
		CAANMsg msg = new CAANMsg(KK0591ETMsg.class.getName());
		msg.set(KK0591ETMsg.PCRS_CD, prcCd);
		msg.set(KK0591ETMsg.PPLAN_CD, planCd);
		msg.set(KK0591ETMsg.MK_FLG, MK_FLG_YUKO);

		// ロジカルエンティティ生成
		KK0591LE le = new KK0591LE();

		try
		{
			CAANMsg[] rsltList = le.findByCondition(msg);

			//存在しない場合
			if (rsltList.length == 0)
			{
				return false;
			}

			//存在する場合
			return true;
		}
		catch (CAANException ex)
		{
			throw new CAANRuntimeException(ex);
		}
	}

}
