/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNSV0013_CNSV0013OPDBMapper
*	ソースファイル名：CNSV0013_CNSV0013OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年09月30日
*＜機能概要＞
*	BP（コンテンツ支払方法変更(確定ボタン押下)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/30	FJ		新規作成
*   v3.00.01	2012/09/05  FJ)味岡		【ST1-2012-0000516】支払方法変更APIパラメータ修正対応
*	v65.00.00	2023/11/01	FJ)渋谷		ANK-4346-00-00_【eo定期】CCMG再構築対応
*	v65.00.01	2024/01/27	FJ)藤本涼	ANK-4346-00-01_【eo定期】CCMG再構築対応
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CNSV0013_CNSV0013OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public CNSV0013_CNSV0013OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ支払い方法変更
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV001301SC(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);

		// ＳＹＳＩＤ → コンテンツ支払方法変更マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-00 DEL START
//		// コンテンツ契約番号選択値 → コンテンツ支払方法変更マップ.コンテンツ契約番号
//		parentMap.put("cont_kei_no", bean[0].sendMessageString("コンテンツ契約番号選択値", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("key_contract_no", bean[0].sendMessageString("コンテンツ契約番号選択値", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-00 DEL END
		// 支払方法入力支援コード選択値 → コンテンツ支払方法変更マップ.決済方法番号
		// ANK-4346-00-00 MOD START
//		parentMap.put("payway_no", bean[0].sendMessageString("支払方法入力支援コード選択値", X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("settlement_way_no", bean[0].sendMessageString("支払方法入力支援コード選択値", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-00 MOD END
		// ANK-4346-00-00 DEL START
//		// 選択クレジットＩＤ → コンテンツ支払方法変更マップ.クレジットカードID
//		parentMap.put("crecard_id", bean[0].sendMessageString("選択クレジットＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
//		//選択ＩＳＰ決済番号 → コンテンツ支払方法変更マップ.ISP決済サービス契約番号
//		parentMap.put("isp_kssai_svc_kei_no", bean[0].sendMessageString("選択ＩＳＰ決済番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-00 DEL END
		// ANK-4346-00-00 MOD START
//		// 更新者ＩＤ → コンテンツ支払方法変更マップ.更新者ID
//		parentMap.put("upd_opeacnt", bean[0].sendMessageString("更新者ＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
//		// 更新者名 → コンテンツ支払方法変更マップ.更新者名
//		parentMap.put("upd_ope_nm", bean[0].sendMessageString("更新者名", X31CWebConst.DATABEAN_GET_VALUE));
//		// 更新日時 → コンテンツ支払方法変更マップ.更新日時
//		parentMap.put("upd_dtm", bean[0].sendMessageString("コンテンツ契約更新年月日時分秒選択値", X31CWebConst.DATABEAN_GET_VALUE).substring(0,14));
		// 更新者ＩＤ → コンテンツ支払方法変更マップ.更新者ID
		parentMap.put("update_id", bean[0].sendMessageString("更新者ＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新者名 → コンテンツ支払方法変更マップ.更新者名
		parentMap.put("update_name", bean[0].sendMessageString("更新者名", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-01 MOD START
//		// 更新日時 → コンテンツ支払方法変更マップ.更新日時
//			parentMap.put("update_date", bean[0].sendMessageString("更新日時", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新日時 → コンテンツ支払方法変更マップ.更新日時
		parentMap.put("update_date", bean[0].sendMessageString("コンテンツ契約更新年月日時分秒選択値", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-01 MOD END
		// ANK-4346-00-00 MOD END
		// ANK-4346-00-00 ADD START
		// 決済方法IDの設定
		if("1".equals(parentMap.get("settlement_way_no")))
		{
			// クレジットの場合、クレジットカードIDを設定
			parentMap.put("settlement_way_id", bean[0].sendMessageString("選択クレジットＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if("2".equals(parentMap.get("settlement_way_no")))
		{
			// ＩＳＰ決済の場合、ＩＳＰ決済番号を設定
			parentMap.put("settlement_way_id", bean[0].sendMessageString("選択ＩＳＰ決済番号", X31CWebConst.DATABEAN_GET_VALUE));
			
		}
		else
		{
			parentMap.put("settlement_way_id", "");
		}
		
		// ANK-4346-00-00 ADD END
		

		outputMap.put("CNSV001301SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ支払い方法変更
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV001302SC(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_cont_kei_no", bean[0].sendMessageString("コンテンツ契約番号選択値", X31CWebConst.DATABEAN_GET_VALUE));
		// コンテンツ契約更新年月日時分秒選択値 → コンテンツ契約一意マップ.ＫＥＹ＿更新年月日時分秒
		parentMap.put("key_upd_dtm", bean[0].sendMessageString("コンテンツ契約更新年月日時分秒選択値", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV001302SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ支払い方法変更
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV001303SC(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("payway_no", bean[0].sendMessageString("選択支払い方法番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 支払方法更新年月日時分秒選択値 → 支払い方法入力支援一意マップ.ＫＥＹ＿更新年月日時分秒
		parentMap.put("key_upd_dtm", bean[0].sendMessageString("支払方法更新年月日時分秒選択値", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV001303SC", parentMap);
						
		return outputMap;
	}



}