/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：JZMejbTelRsvYkKigenParts
 *	ソースファイル名：JZMejbTelRsvYkKigenParts.java
 *	作成者			：富士通
 *	日付			：2011年04月20日
 *＜機能概要＞
 *	電話番号予約有効期限設定部品クラス
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00		2011/04/20	FJ）日野	新規作成
 *	v3.00		2012/04/09	FJ）日野	【TAI-2011-0000035】オンライン運用日対応
 *	v4.00		2012/09/12	FJ) 早崎	【TAI-2012-0000095】Fortify対応
 *
 **********************************************************************/

package eo.ejb.common.edit;


import java.text.ParseException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.util.JPCUtilCommon;
import eo.ejb.common.JZMModelCommon;


/**
 * <p>
 * 電話番号予約有効期限設定部品クラスです。
 * </p>
 * @author FJ
 */

public class JZMejbTelRsvYkKigenParts
{
	
	
	/**
	 * <p>
	 * 電話番号予約有効期限設定部品の値取得を行います。
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @param telnoRsvYkKigen 電話番号予約有効期限
	 * @param telnoRsvStaDtm 電話番号予約開始年月日時分秒
	 * @return 引数の文字列
	 */
	public static Object getTelnoRsvYkKigen(CAANMsg inMsg, AgentDispatchContext inContext, Object telnoRsvYkKigen, Object telnoRsvStaDtm)
	{
		
		// 電話番号予約有効期限が設定されていればその値を返却する。
		// 未設定の場合は、電話番号予約開始年月日時分秒が設定されていれば
		// 電話番号予約開始年月日時分秒(上8桁)+2か月を返却する。
		// 未設定ならば運用日付+2か月を設定する。
		if (telnoRsvYkKigen == null)
		{
			if (telnoRsvStaDtm == null)
			{
				try
				{
					// 運用日付+2か月を設定
					return JPCUtilCommon.addMonth(JZMModelCommon.getOpeDate(inMsg, null), 2);
				}
				catch (ParseException e)
				{
					return null;
				}
			}
			
			try
			{
				// 電話番号予約開始年月日時分秒(上8桁)+2か月を設定
				return JPCUtilCommon.addMonth(((String)telnoRsvStaDtm).substring(0, 8), 2);
			}
			catch (ParseException e)
			{
				return null;
			}
		}
		return telnoRsvYkKigen;
	}

}
