/*********************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム構築
*	モジュール名	：JCRejbGetMyboxNo
*	ソースファイル名：JCRejbGetMyboxNo.java
*	作成者			：富士通
*	日付			：2011年06月25日
*＜機能概要＞
*	MyBox番号取得クラス
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/04/22	富士通		新規作成
*
**********************************************************************/

package eo.ejb.common.edit;

import com.fujitsu.futurity.model.base.CAANException;
import com.fujitsu.futurity.model.base.CAANFinderException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.constant.JCRStrConst;
import eo.common.util.JCRUtilCommon;
import eo.ejb.cbm.entity.CR0101ETMsg;
import eo.ejb.cbm.entity.CR0101LE;


/**
 * <p>
 * MYBOX番号取得部品クラスです。
 * </p>
 * @author 富士通
 */
public class JCRejbGetMyboxNo
{

	/**
	 * コンストラクタです。
	 * 
	 */
	private JCRejbGetMyboxNo()
	{
	}

	/**
	 * MYBOX番号取得部品です。<br>
	 * <br>
	 * MYBOXをユーザーIDをキーとして検索し、MYBOX番号を返します。
	 * MYBOX番号がnullの場合、空文字列を返します。
	 * @param inCBSMsg 概念スキーマのCBSメッセージ
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @param userID キーとなるユーザーID
	 * @return MYBOX番号
	 * @throws CAANException 
	 */
	public static String getMyboxNo(CAANMsg inCBSMsg, AgentDispatchContext inContext, Object userID) throws CAANException
	{

		// MYBOXのETメッセージを生成
		CAANMsg searchMsg = new CAANMsg(CR0101ETMsg.class.getName());

		// 検索条件を設定
		// ユーザーID
		searchMsg.set(CR0101ETMsg.USER_ID, userID);
		searchMsg.set(CR0101ETMsg.MK_FLG,JCRStrConst.CD_DIV_MK_FLG_YUKO);
		
		// ユーザーIDと無効フラグをキーとして検索
		CAANMsg[] retMsg = new CR0101LE().findByCondition(searchMsg);

		if (JCRUtilCommon.isNull(retMsg) || retMsg.length == 0)
		{
			// 検索結果が存在しない場合、Exceptionをthrow
			throw new CAANFinderException(JCRStrConst.ERR_MSG_NOTFOUND);
			
		}

		// 取得したMYBOXからMYBOX番号を取得
		String myBoxNo = retMsg[0].getString(CR0101ETMsg.MYBOX_NO);
		if (JCRUtilCommon.isNull(myBoxNo))
		{
			myBoxNo = "";
		}

		return myBoxNo;
	}
}
