/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0188_FUSV0188OPDBMapper
*	ソースファイル名：FUSV0188_FUSV0188OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年06月20日
*＜機能概要＞
*	BP（eo光電話オプション選択（初期表示））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/06/20	FJ		新規作成
*	v4.00.00	2012/06/21   FJ）余野木  「ANK-0404-01-01」 eoモバイル3G 42Mハイブリッドタイプ対応
*   v50.00.00   2020/07/24   FJ) 西川   【ANK-3754-00-00】トビラフォン対応
*   v52.00.00   2021/02/27   FJ) 星野   【ANK-3977-00-00】eoWeb画面の料金表記変更
*   v73.00.00   2024/10/11   FJ）浅井   【ANK-4427-00-00】NTT卸対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 *
 */
public class FUSV0188_FUSV0188OPDBMapper
{

	/**
	 * コンストラクタ
	 */
	public FUSV0188_FUSV0188OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする 発信者番号通知
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018801SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード → 料金プラン固定単価一覧照会（固定料金表示）（発信者番号通知）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号通知）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018801SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 発信者番号表示
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018802SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（発信者番号表示） → 料金プラン固定単価一覧照会（固定料金表示）（発信者番号表示サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号表示）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018802SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 非通知着信拒否
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018803SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（非通知着信拒否） → 料金プラン固定単価一覧照会（固定料金表示）（非通知着信拒否サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（非通知着信拒否）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018803SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 割込電話
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018804SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（割込電話） → 料金プラン固定単価一覧照会（固定料金表示）（割込電話サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（割込電話）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018804SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 光電話パック３
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018805SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（割込電話） → 料金プラン固定単価一覧照会（固定料金表示）（光電話パック３サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（光電話パック３）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018805SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 光電話パック７
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018806SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（割込電話） → 料金プラン固定単価一覧照会（固定料金表示）（光電話パック７サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（光電話パック７）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018806SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする あんしん電話パック
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018807SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（あんしん電話パックサービス） → 料金プラン固定単価一覧照会（固定料金表示）（あんしん電話パックサービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（あんしん電話パック）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018807SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 転送電話サービス
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018808SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（転送電話サービス） → 料金プラン固定単価一覧照会（固定料金表示）（転送電話サービス）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（転送電話サービス）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018808SC", parentMap);

		return outputMap;
	}

// ANK-4427-00-00 ADD START
	/**
	 * 上りマッピングをする ｅｏ光電話
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV018809SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 料金プランコード（ｅｏ光電話） → 料金プラン固定単価一覧照会（固定料金表示）（ｅｏ光電話）ＳＣ.ＫＥＹ＿料金プランコード
		parentMap.put("key_pplan_cd", bean[0].sendMessageString("料金プランコード（ｅｏ光電話）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV018809SC", parentMap);

		return outputMap;
	}
// ANK-4427-00-00 ADD END

	/**
	 * 下りマッピング（料金プランコード（料金表示）（発信者番号通知））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018801SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018801SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018801SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（発信者番号通知）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（発信者番号表示））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018802SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018802SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018802SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（発信者番号表示）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（非通知着信拒否））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018803SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018803SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018803SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（非通知着信拒否）", X31CWebConst.DATABEAN_SET_VALUE, 
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（割込電話））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018804SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018804SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018804SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（割込電話）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（光電話パック３））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018805SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018805SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018805SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（光電話パック３）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（光電話パック７））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018806SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018806SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018806SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（光電話パック７）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（あんしん電話パック））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018807SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018807SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018807SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（あんしん電話パック）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

	/**
	 * 下りマッピング（料金プランコード（料金表示）（転送電話サービス））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018808SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018808SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018808SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（転送電話サービス）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}

// ANK-4427-00-00 ADD START
	/**
	 * 下りマッピング（料金プランコード（料金表示）（ｅｏ光電話））
	 * @param bean　[0]：ｅｏ光ネットオプション選択
	 * @param outputMap
	 * @return bean　[0]：ｅｏ光ネットオプション選択
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV018809SC(X31SDataBeanAccess[] bean, HashMap outputMap, X31BWebBusinessLogic bl) throws Exception
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("FUSV018809SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV018809SC");
		}

		ArrayList childList = null;

		if (parentMap != null && parentMap.containsKey("EKK0601B002CBSMsg1List"))
		{
			childList = (ArrayList)parentMap.get("EKK0601B002CBSMsg1List");

			if (childList.size() > 0)
			{
				HashMap childMap = (HashMap)childList.get(0);
				bean[0].sendMessageString("料金（ｅｏ光電話）", X31CWebConst.DATABEAN_SET_VALUE,
						(String)childMap.get("pplan_kotei_amnt"));
			}
		}

		return bean;
	}
// ANK-4427-00-00 ADD END

}