/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JTUPortOutMskmDivJdg
*	ソースファイル名：JTUPortOutMskmDivJdg.java
*	作成者			：富士通
*	日付			：2024年02月28日
*＜機能概要＞
*	ポートアウト申込区分判定処理クラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v72.00.00	2024/02/28	FJ)謝		【ANK-4494-00-00】【eo定期】 双方向番ポ対応
**********************************************************************/
package eo.common.util;


/**
 * ポートアウト申込区分判定処理を行うクラスです。<p>
 * <BR>
 * @author 富士通
 */
public class JTUPortOutMskmDivJdg
{
	/** 申込区分/申込区分名称対応表 */
	private static final String[][] MSKM_DIV_ARRAY =
		{ {"1", "新規申請"}
		, {"2", "記載変更"}
		, {"3", "キャンセル"}
		, {"4", "キャンセル／取消"}
		, {"5", "取消"}
		};
	/** キャンセル識別 キャンセルオーダ以外 */
	private static final String CANCEL_SKBT_0 = "0";
	/** キャンセル識別 キャンセルオーダ */
	private static final String CANCEL_SKBT_1 = "1";
	/** 取消識別 取消オーダ以外 */
	private static final String CL_SKBT_0 = "0";
	/** 取消識別 取消オーダ */
	private static final String CL_SKBT_1 = "1";
	
	/**
	 * ポートアウト申込区分取得処理を行う。
	 * @param oldTogoOrderId 旧統合オーダID
	 * @param cancelSkbt キャンセル識別
	 * @param clSkbt 取消識別
	 * @return ポートアウト申込区分
	 */
	public static String getPortOutMskmDiv(String oldTogoOrderId, String cancelSkbt, String clSkbt)
	{
		return portOutMskmDivJdg(oldTogoOrderId, cancelSkbt, clSkbt, 0);
	}
	
	/**
	 * ポートアウト申込区分名称取得処理を行う。
	 * @param oldTogoOrderId 旧統合オーダID
	 * @param cancelSkbt キャンセル識別
	 * @param clSkbt 取消識別
	 * @return ポートアウト申込区分名称
	 */
	public static String getPortOutMskmDivNm(String oldTogoOrderId, String cancelSkbt, String clSkbt)
	{
		return portOutMskmDivJdg(oldTogoOrderId, cancelSkbt, clSkbt, 1);
	}
	
	/**
	 * ポートアウト申込区分判定処理を行う。
	 * @param oldTogoOrderId 旧統合オーダID
	 * @param cancelSkbt キャンセル識別
	 * @param clSkbt 取消識別
	 * @param idx 申込区分/申込区分名称に対するインデックス
	 * @return ポートアウト申込区分/申込区分名称
	 */
	private static String portOutMskmDivJdg(String oldTogoOrderId, String cancelSkbt, String clSkbt, int idx)
	{
		if (CANCEL_SKBT_0.equals(cancelSkbt) && CL_SKBT_0.equals(clSkbt))
		{
			if (JKKStringUtil.isNullBlank(oldTogoOrderId))
			{
				// 新規申請
				return MSKM_DIV_ARRAY[0][idx];
			}
			else
			{
				// 記載変更
				return MSKM_DIV_ARRAY[1][idx];
			}
		}
		else if (CANCEL_SKBT_1.equals(cancelSkbt) && CL_SKBT_0.equals(clSkbt))
		{
			// キャンセル
			return MSKM_DIV_ARRAY[2][idx];
		}
		else if (CANCEL_SKBT_1.equals(cancelSkbt) && CL_SKBT_1.equals(clSkbt))
		{
			// キャンセル／取消
			return MSKM_DIV_ARRAY[3][idx];
		}
		else if (CANCEL_SKBT_0.equals(cancelSkbt) && CL_SKBT_1.equals(clSkbt))
		{
			// 取消
			return MSKM_DIV_ARRAY[4][idx];
		}
		
		return "";
	}
}
