/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKejbEKK0081C160TKCK
*	ソースファイル名：JKKejbEKK0081C160TKCK.java
*	作成者			：富士通
*	日付			：2014年1月17日
*＜機能概要＞
*	サービス契約キャンセル単関連制約部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v8.00.00	2014/01/17	FJ)寺園		ANK-1586-00-00
*	v16.00.00	2015/05/28	FJ)中原		ANK-2480-00-00
*
**********************************************************************/

package eo.ejb.common.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 eo.ejb.cbs.cbsmsg.EKK0081C160CBSMsg;
import eo.ejb.common.JKKModelCommon;

public class JKKejbEKK0081C160TKCK
{

	/**
	 * サービス契約キャンセルの単関連制約を行います。
	 * 
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param arg1 Agentから渡されたAgentDispatchContext
	 */
	public void execTKCK(CAANMsg inCBSMsg, AgentDispatchContext arg1)
	{
		// ログ出力
		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"execTKCK#Call");

		// チェックを行う
		int stRet = 0;

		//2015-5-28　中原　ANK-2480-00-00 新電力対応 MOD START
//		//ＭＶＮＯから連携される場合
//		if(JKKModelCommon.isEqualsSvcKK2821(inCBSMsg, arg1, inCBSMsg.getObject(EKK0081C160CBSMsg.SVC_KEI_NO), "51")){
		//ＭＶＮＯまたは電気サービスから連携される場合
		if(JKKModelCommon.isEqualsSvcKK2821(inCBSMsg, arg1, inCBSMsg.getObject(EKK0081C160CBSMsg.SVC_KEI_NO), "51,05")){
		//2015-5-28　中原　ANK-2480-00-00 新電力対応 MOD END
			//サービスキャンセル年月日（入力）が未入力の場合 ：エラー
			if(inCBSMsg.isNull(EKK0081C160CBSMsg.SVC_CANCEL_YMD_I)){
				inCBSMsg.set(EKK0081C160CBSMsg.SVC_CANCEL_YMD_I_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"svc_cancel_ymd_i_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}

			//サービスキャンセル理由コードが未入力の場合 ：エラー
			if(inCBSMsg.isNull(EKK0081C160CBSMsg.SVC_CANCEL_RSN_CD)){
				inCBSMsg.set(EKK0081C160CBSMsg.SVC_CANCEL_RSN_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"svc_cancel_rsn_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"execTKCK#End");

		//チェック結果によりステータスを設定する
		if (stRet > inCBSMsg.getInt(EKK0081C160CBSMsg.STATUS)) {
			inCBSMsg.set(EKK0081C160CBSMsg.STATUS,stRet);
		}
	}
}
