/*********************************************************************
*   All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCKejbCK0061KRCK
*   ソースファイル名：JCKejbCK0061KRCK.java
*   作成者          ：富士通
*   日付            ：2011年10月18日
*＜機能概要＞
*   不良顧客の関連制約部品クラス
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*   v1.00.00    2011/10/18  富士通      新規作成
*
**********************************************************************/

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.CH0231ETMsg;
import eo.ejb.cbm.entity.CH0231LE;
import eo.ejb.cbm.entity.CK0061ETMsg;
import eo.ejb.cbm.entity.CK0061LE;
import eo.ejb.common.db.JCKejbCK0061DBABase;

/**
 * <p>
 * 不良顧客の関連制約部品クラスです。
 * </p>
 * @author 富士通
 */
public class JCKejbCK0061KRCK extends JCKejbCK0061DBABase
{

	/** 無効フラグ_有効 **/
	private static final String MK_FLG_VALID = "0";

	/** 督促管理終了年月日_使用中 **/
	private static final String TOKUSOKU_ENDYMD_USING = "20991231";

	/**
	 * <p>
	 * 新しいJCKejbCK0061KRCKを作成します。
	 * </p>
	 */
	public JCKejbCK0061KRCK()
	{
		super();
	}

	/**
	 * <p>
	 * 督促番号のチェックを行う。
	 * </p>
	 * @param huryoCustNo 不良顧客番号
	 * @return 不良顧客の"督促番号"に紐づく有効な"督促番号"が｢督促｣に
	 * 			存在しない場合はtrue、それ以外の場合はfalseを返します。
	 */
	public boolean isCheckTkskNo(Object huryoCustNo)
	{

		// 不良顧客番号をもとに「督促番号」を取得します
		CAANMsg inETMsgForPrimary0061 = new CAANMsg(CK0061ETMsg.class.getName());
		inETMsgForPrimary0061.set(CK0061ETMsg.HURYO_CUST_NO, huryoCustNo);
		inETMsgForPrimary0061.set(CK0061ETMsg.MK_FLG, MK_FLG_VALID);
		CK0061LE le0061 = new CK0061LE();

		CAANMsg[] otETList = null;
		
		try
		{
			otETList = le0061.findByCondition(inETMsgForPrimary0061);

			//存在しない場合
			if (otETList.length == 0)
			{
				return true;
			}

		}
		catch (CAANException ex)
		{
			throw new CAANRuntimeException(ex);
		}
		
		// 「督促番号」をもとに有効な督促を取得します
		CAANMsg inETMsgForCondition0231 = new CAANMsg(CH0231ETMsg.class.getName());
		inETMsgForCondition0231.set(CH0231ETMsg.TOKUSOKU_NO, otETList[0].getString(CH0231ETMsg.TOKUSOKU_NO));
		inETMsgForCondition0231.set(CH0231ETMsg.TOKUSOKU_ENDYMD, TOKUSOKU_ENDYMD_USING);
		inETMsgForCondition0231.set(CH0231ETMsg.MK_FLG, MK_FLG_VALID);
		CH0231LE le0231 = new CH0231LE();

		try
		{
			CAANMsg[] rsltList = le0231.findByCondition(inETMsgForCondition0231);

			//存在しない場合
			if (rsltList.length == 0)
			{
				return true;
			}

			//存在する場合
			return false;
		}
		catch (CAANException ex)
		{
			throw new CAANRuntimeException(ex);
		}
	}

}
