/*********************************************************************
*   All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JEKK0011D020KRCK
*   ソースファイル名：JEKK0011D020KRCK.java
*   作成者          ：富士通
*   日付            ：2012年12月24日
*＜機能概要＞
*   申込内容承認登録関連チェック処理部品です。
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*   v1.00.00    2012/12/24  富士通      新規作成
*
**********************************************************************/

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.cbs.cbsmsg.EKK0011D020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg1List;

/**
 * <p>
 * 申込内容承認登録関連チェック処理部品クラスです。
 * </p>
 * @author 富士通
 */
public class JEKK0011D020KRCK
{

	/** 異動区分：登録内容修正 */
	private static final String IDO_DIV_ADD_INF_CNG = "00032";

	/** 異動区分：申込情報訂正 */
	private static final String IDO_DIV_MSKM_INF_CNG = "00034";

	/**
	 * コンストラクタです。
	 */
	public JEKK0011D020KRCK()
	{
	}

	/**
	 * <p>
	 * 申込内容承認登録関連チェック処理
	 * </p>
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 */
	public void execKRCK(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		JKKejbKK0021KRCK kk0021 = new JKKejbKK0021KRCK();

		String idoDiv = inCBSMsg.getString(EKK0011D020CBSMsg.IDO_DIV);
		// 入力値.異動区分が登録内容修正か申込情報訂正の場合
		if (IDO_DIV_ADD_INF_CNG.equals(idoDiv) || IDO_DIV_MSKM_INF_CNG.equals(idoDiv))
		{
			CAANMsg[] msgList = inCBSMsg.getCAANMsgList(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST);

			if (null == msgList || msgList.length == 0)
			{
				return;
			}

			for (CAANMsg msg : msgList)
			{
				String mskmshoNo = msg.getString(EKK0011D020CBSMsg1List.MSKMSHO_NO);
				// 未設定の場合、次の明細へ
				if (null == mskmshoNo || "".equals(mskmshoNo))
				{
					continue;
				}
				// 申込書番号重複チェック
				if (!kk0021.chkMskshoNo(inCBSMsg, inContext, mskmshoNo))
				{
					inCBSMsg.set(JCMConstants.STATUS_INT_KEY, StatusCodes.RELATION_ERR);
					msg.set(EKK0011D020CBSMsg1List.MSKMSHO_NO_ERR, "EA");
					return;
				}
			}
		}
	}
}
