/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0149_FUSV0149OPDBMapper
*	ソースファイル名：FUSV0149_FUSV0149OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年06月30日
*＜機能概要＞
*	BP（eo光電話オプション入力チェック）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/30	FJ		新規作成
*  v50.00.00    2020/07/24  FJ) 西川   【ANK-3754-00-00】トビラフォン対応
*  v73.00.00    2024/10/19  FJ）浅井   【ANK-4427-00-00】NTT卸対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class FUSV0149_FUSV0149OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public FUSV0149_FUSV0149OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014901SC(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);

		// オプションサービスコード（発信者番号通知１） → オプションサービス契約＜電話＞登録1SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（発信者番号通知１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（発信者番号通知１） → オプションサービス契約＜電話＞登録1SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（発信者番号通知１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（発信者番号通知１） → オプションサービス契約＜電話＞登録1SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号通知１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（発信者番号通知１） → オプションサービス契約＜電話＞登録1SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（発信者番号通知１）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014901SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014902SC(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);

		// オプションサービスコード（発信者番号表示１） → オプションサービス契約＜電話＞登録2SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（発信者番号表示１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（発信者番号表示１） → オプションサービス契約＜電話＞登録2SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（発信者番号表示１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（発信者番号表示１） → オプションサービス契約＜電話＞登録2SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号表示１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（発信者番号表示１） → オプションサービス契約＜電話＞登録2SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（発信者番号表示１）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014902SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014903SC(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);

		// オプションサービスコード（発信者番号通知２） → オプションサービス契約＜電話＞登録3SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（発信者番号通知２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（発信者番号通知２） → オプションサービス契約＜電話＞登録3SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（発信者番号通知２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（発信者番号通知２） → オプションサービス契約＜電話＞登録3SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号通知２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（発信者番号通知２） → オプションサービス契約＜電話＞登録3SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（発信者番号通知２）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014903SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014904SC(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);

		// オプションサービスコード（発信者番号表示２） → オプションサービス契約＜電話＞登録4SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（発信者番号表示２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（発信者番号表示２） → オプションサービス契約＜電話＞登録4SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（発信者番号表示２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（発信者番号表示２） → オプションサービス契約＜電話＞登録4SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（発信者番号表示２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（発信者番号表示２） → オプションサービス契約＜電話＞登録4SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（発信者番号表示２）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014904SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする（量販・訪販WEBは呼出す。一般WEBは転送電話サービスの受付がない為、呼出しなし。）
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014905SC(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);

		// オプションサービスコード（転送電話サービス１） → オプションサービス契約＜電話＞登録2SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（転送電話サービス１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（転送電話サービス１） → オプションサービス契約＜電話＞登録2SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（転送電話サービス１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（転送電話サービス１） → オプションサービス契約＜電話＞登録2SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（転送電話サービス１）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（転送電話サービス１） → オプションサービス契約＜電話＞登録2SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（転送電話サービス１）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014905SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする（量販・訪販WEBは呼出す。一般WEBは転送電話サービスの受付がない為、呼出しなし。）
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV014906SC(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);

		// オプションサービスコード（転送電話サービス２） → オプションサービス契約＜電話＞登録4SCマップ.オプションサービスコード
		parentMap.put("op_svc_cd", bean[0].sendMessageString("オプションサービスコード（転送電話サービス２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード（転送電話サービス２） → オプションサービス契約＜電話＞登録4SCマップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コースコード（転送電話サービス２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金プランコード（転送電話サービス２） → オプションサービス契約＜電話＞登録4SCマップ.料金プランコード
		parentMap.put("pplan_cd", bean[0].sendMessageString("料金プランコード（転送電話サービス２）", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分（転送電話サービス２） → オプションサービス契約＜電話＞登録4SCマップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分（転送電話サービス２）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV014906SC", parentMap);
						
		return outputMap;
	}


// ANK-4427-00-00 ADD START
	/**
	 * 上りマッピングをする（type N用 FUSV014903SC〜FUSV014906SCをスキップ）
	 * 
	 * @param bean　[0]：ｅｏ光電話オプション選択
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV0149TypNSC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		// 処理をスキップさせるために設定
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		parentMap.put("op_svc_cd", "");
		outputMap.put("FUSV014903SC", parentMap);
		outputMap.put("FUSV014904SC", parentMap);
		outputMap.put("FUSV014905SC", parentMap);
		outputMap.put("FUSV014906SC", parentMap);

		return outputMap;
	}
// ANK-4427-00-00 ADD END
}
