/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbECK0011C100TKCK
*	ソースファイル名：JSYejbECK0011C100TKCK.java
*	作成者			：EK954045
*	日付			：2019年11月25日
*＜機能概要＞
*	パスワードリマインダ変更の単関連チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.ejb.check.itemrelation;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TankanrenCheckHandler;
import eo.ejb.cbs.cbsmsg.ECK0011C100CBSMsg;

/**
 * <HR>
 * パスワードリマインダ変更CBSMsgの単関連チェック用クラス｡ <p>
 * 
 * 以下の機能をサポートする。
 * <ul>
 * <li>パスワードリマインダ変更CBSMsgの単関連をチェックする。
 * </ul>
 * <p>
 * <HR>
 * <p>
 */ 
public class JSYejbECK0011C100TKCK implements TankanrenCheckHandler {

	/**
	 * JSYejbECK0011C100TKCK単関連をチェックする。<br>
	 * 
	 * JSYejbECK0011C100TKCK単関連をチェックする。
	 * <p>
	 * @param	inCBSMsg	CBSMsgメッセージ
	 * @param	inContext	Agent
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext) {

		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"invoke#Call");

		// チェックを行う
		int stRet = 0;

		//チェック条件：パスワードリマインダ用質問コードがnullでない
		if(!inCBSMsg.isNull(ECK0011C100CBSMsg.PWD_REMINDER_QS_CD)){
			//パスワードリマインダ用回答がnull ：エラー
			if(inCBSMsg.isNull(ECK0011C100CBSMsg.PWD_REMINDER_ANS)){
				inCBSMsg.set(ECK0011C100CBSMsg.PWD_REMINDER_ANS_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"pwd_reminder_ans_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：パスワードリマインダ用回答がnullでない
		if(!inCBSMsg.isNull(ECK0011C100CBSMsg.PWD_REMINDER_ANS)){
			//パスワードリマインダ用質問コードがnull ：エラー
			if(inCBSMsg.isNull(ECK0011C100CBSMsg.PWD_REMINDER_QS_CD)){
				inCBSMsg.set(ECK0011C100CBSMsg.PWD_REMINDER_QS_CD_ERR, "E2");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"pwd_reminder_qs_cd_err:E2");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"invoke#End");

		//チェック結果によりステータスを設定する
		if (stRet > inCBSMsg.getInt(ECK0011C100CBSMsg.STATUS)) {
			inCBSMsg.set(ECK0011C100CBSMsg.STATUS,stRet);
		}
	}

}
