/*********************************************************************
*   All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JEKK0451C240KRCK
*   ソースファイル名：JEKK0451C240KRCK.java
*   作成者          ：富士通
*   日付            ：2016年11月24日
*＜機能概要＞
*   割引サービス契約課金終了日更新（セット割）の関連制約部品クラス
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*   v28.00.00   2016/11/24  FJ) 寺園    【ANK-3047-00-00  】【OM-2016-2038】事象F セット割パターンNo29の改修対応
**********************************************************************/

package eo.ejb.common.entity;

import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.ejb.cbm.entity.KK0451ETMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C240CBSMsg;
import eo.ejb.common.JKKModelCommon;

/**
 * <p>
 * 割引サービス契約課金終了日更新（セット割）の関連制約部品クラスです。
 * </p>
 * @author 富士通
 */
public class JEKK0451C240KRCK
{
	/** 関連チェックエラーフラグ&エラー返却項目(サービス契約存在チェック) */
	private static final String[] KRCK_SVCKEI_EXISTS_ERR = {"EA", EKK0451C240CBSMsg.SVC_KEI_NO_ERR};

	/**
	 * <p>
	 * 新しいJEKK0451C240KRCKを作成します。
	 * </p>
	 */
	public JEKK0451C240KRCK()
	{
	}

	/**
	 * <p>
	 * 割引サービス契約課金終了日更新（セット割）の関連制約チェックを行います。
	 * </p>
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 */
	public void execKRCK(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		// サービス契約関連チェック部品
		JKKejbKK0081KRCK kk0081KRCK = new JKKejbKK0081KRCK();

		// サービス契約番号
		String svcKeiNo = inCBSMsg.getString(EKK0451C240CBSMsg.SVC_KEI_NO);

		// サービス契約存在チェック
		if (!kk0081KRCK.isExistsNonGene(svcKeiNo))
		{
			setErrInfo(inCBSMsg, StatusCodes.RELATION_ERR, KRCK_SVCKEI_EXISTS_ERR);
			return;
		}
	}

	/**
	 * <p>
	 * エラー返却項目にエラーフラグを設定します。
	 * </p>
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param status エラー時のステータス
	 * @param errInfo[] エラー情報が設定された配列 [0]:エラーフラグ [1]:エラー返却項目
	 */
	private void setErrInfo(CAANMsg inCBSMsg, int status, String[] errInfo)
	{
		inCBSMsg.set(JCMConstants.STATUS_INT_KEY, status);
		inCBSMsg.set(errInfo[1], errInfo[0]);
		return;

	}
}