/*********************************************************************
*	All Rights reserved,Copyright c Fujitsu, 2011
**********************************************************************
*＜プログラム内容＞
*	システム名		：プロジェクト共通
*	モジュール名	：JCHejbCH0051CRCK
*	ソースファイル名：JCHejbCH0051CRCK.java
*	作成者			：富士通
*	日付			：2011年11月09日
*＜機能概要＞
*	債権の関連チェックを行うクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/11/09	富士通		新規作成
*
**********************************************************************/
package eo.ejb.common.entity;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.ejb.cbm.entity.KK0491ETMsg;
import eo.ejb.common.JCHModelCommon;
import eo.ejb.common.JPCModelCommon;
import eo.ejb.common.db.JKKejbKK0491DBABase;

/**
 * 請求の関連チェックを行うクラスです。<p>
 * <br>
 * @author 富士通
 */
public class JCHejbCH0051KRCK
{

	/**
	 * <p>
	 * 請求番号存在チェック処理
	 * </p>
	 * 指定された請求番号が存在するかチェックを行う。
	 * <br>
	 * @param inMsg 処理対象のメッセージ
	 * @param inContext エージェントディスパッチコンテキスト
	 * @param inSeiKyYm 請求年月
	 * @param inSeiKyNo 請求番号
	 * @return 存在有無 true：存在する、false：存在しない
	 */
	public static boolean isExistSeikyNo(CAANMsg inMsg, AgentDispatchContext inContext, Object inSeiKyYm, Object inSeiKyNo)
	{
		CAANMsg[] ret = JCHModelCommon.getSeikyUnique(inMsg, inContext, inSeiKyYm, inSeiKyNo);

		if (ret.length > 0)
		{
			return true;
		}
		return false;
	}

	/**
	 * <p>
	 * 請求契約番号のカレント存在チェックを行います。
	 * </p>
	 * 
	 * @param inMsg      メッセージキャリア
	 * @param inContext  ディスパッチコンテキスト
	 * @param seikyKeiNo 請求契約番号
	 * 
	 * @return true:請求契約のカレントレコードが存在する
	 *          false:請求契約のカレントレコードが存在しない
	 */
	public static boolean isExistCurrentSeikyKei(CAANMsg inMsg, AgentDispatchContext inContext, String seikyKeiNo)
	{
		CAANMsg msgKK0491 = new CAANMsg(KK0491ETMsg.class.getName());
		// 検索条件を設定
		msgKK0491.set(KK0491ETMsg.SEIKY_KEI_NO, seikyKeiNo);
		msgKK0491.set(KK0491ETMsg.RSV_APLY_YMD, JPCModelCommon.getOpeDate(inMsg, null));
		
		// カレントレコード取得
		CAANMsg curKK0491 = new JKKejbKK0491DBABase().findByCurrent(msgKK0491);
		
		if (curKK0491 == null)
		{
			// 取得できなかった場合はfalseを返却する
			return false;
		}
		
		return true;
	}
}
