/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKSIFECK0201Mapper
*   ソースファイル名：JKKSIFECK0201Mapper.java
*   作成者          ：富士通
*   日付            ：2014年08月07日
*＜機能概要＞
*   JKKCustMemberSbtChgCCで使用するマッパークラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    -            FJ）        新規作成
*  v10.00.00    2014/09/14   FJ) 田中    【OM-2014-0002974】対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKSvkeiShosaConstCC;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0201B001CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0201B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0201C010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0201D010CBSMsg;

public class JKKSIFECK0201Mapper extends JKKSIFMapperBase {
	
	/** 連絡先一覧照会 **/
	protected static final String TEMPLATE_ID_ECK0201B001 = "ECK0201B001";
	/** 連絡先登録 **/
	protected static final String TEMPLATE_ID_ECK0201D010 = "ECK0201D010";
	// OM-2014-0002974対応 20140914 田中 ADD START
	/** 連絡先変更 **/
	protected static final String TEMPLATE_ID_ECK0201C010 = "ECK0201C010";
	// OM-2014-0002974対応 20140914 田中 ADD END

	/**
	 * 共通初期処理
	 * @param template
	 */
	protected void init(CAANMsg template)
	{
		super.init(template);
	}
	
	/**
	 * 連絡先一覧照会（SYSID）  入力マッピング
	 * <br>機能コード : 1
	 * @param sysid
	 * @return テンプレート
	 */
	public CAANMsg getMappedTemplateECK0201B001(String sysid)
	{
		CAANMsg template = new CAANMsg(ECK0201B001CBSMsg.class.getName());

		//nullを設定
		fillCAANMSGNullMapping(template, new ECK0201B001CBSMsg().getContents());

		// 共通初期処理
		init(template);
		
		// テンプレートID
		template.set(ECK0201B001CBSMsg.TEMPLATEID, TEMPLATE_ID_ECK0201B001);

		// 機能コード
		template.set(ECK0201B001CBSMsg.FUNC_CODE, FUNC_CD_1);

		// KEY_SYSID
		template.set(ECK0201B001CBSMsg.KEY_SYSID, sysid);
		
		return template;
	}
	
	/**
	 *<DL>
	 *<DT>処理概要:連絡先登録
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param custMap お客様一意照会
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2011.06.07
	 */
	// OM-2014-0002974対応 20140914 田中 MOD START
//	public CAANMsg editInMsgECK0201D010(IRequestParameterReadOnly param, Map<String, Object> custMap, CAANMsg caanMsg)
	public CAANMsg editInMsgECK0201D010(IRequestParameterReadOnly param, Map<String, Object> custMap)
	// OM-2014-0002974対応 20140914 田中 MOD END
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(ECK0201D010CBSMsg.class.getName());

		//nullを設定
		fillCAANMSGNullMapping(template, new ECK0201D010CBSMsg().getContents());

		// テンプレートID
		template.set(ECK0201D010CBSMsg.TEMPLATEID, TEMPLATE_ID_ECK0201D010);

		// 機能コード（デフォルト：１）
		template.set(ECK0201D010CBSMsg.FUNC_CODE, JKKSvkeiShosaConstCC.FUNC_CODE_1);
		
		// SYSID
		// OM-2014-0002974対応 20140914 田中 MOD START
//		template.set(ECK0201D010CBSMsg.SYSID, caanMsg.getString(ECK0201B001CBSMsg1List.SYSID));
		template.set(ECK0201D010CBSMsg.SYSID, (String)custMap.get(ECK0011A010CBSMsg1List.SYSID));
		// OM-2014-0002974対応 20140914 田中 MOD END
		// OM-2014-0002974対応 20140914 田中 DEL START
		// 連絡先コード
//		template.set(ECK0201D010CBSMsg.RRKS_CD, caanMsg.getString(ECK0201B001CBSMsg1List.RRKS_CD));
		// OM-2014-0002974対応 20140914 田中 DEL START
		// OM-2014-0002974対応 20140914 田中 MOD START
//		// 連絡方法コード
//		template.set(ECK0201D010CBSMsg.RRK_WAY_CD, caanMsg.getString(ECK0201B001CBSMsg1List.RRK_WAY_CD));
		// 連絡先種別コード
//		template.set(ECK0201D010CBSMsg.RRKS_SBT_CD, caanMsg.getString(ECK0201B001CBSMsg1List.RRKS_SBT_CD));
		// 連絡方法コード
		template.set(ECK0201D010CBSMsg.RRK_WAY_CD, "003");
		// 連絡先種別コード
		template.set(ECK0201D010CBSMsg.RRKS_SBT_CD, "1");
		// OM-2014-0002974対応 20140914 田中 MOD END
		// 連絡先分類コード
		template.set(ECK0201D010CBSMsg.RRKS_BUNRUI_CD, "1");
		// OM-2014-0002974対応 20140914 田中 DEL START
//		// メールアドレス
//		template.set(ECK0201D010CBSMsg.MLAD, caanMsg.getString(ECK0201B001CBSMsg1List.MLAD));
		// OM-2014-0002974対応 20140914 田中 DEL END
		// 電話番号
		template.set(ECK0201D010CBSMsg.TELNO, (String)custMap.get(ECK0011A010CBSMsg1List.KEISHA_TELNO));
		// OM-2014-0002974対応 20140914 田中 DEL START
//		// 内線番号
//		template.set(ECK0201D010CBSMsg.NISNNO, caanMsg.getString(ECK0201B001CBSMsg1List.NISNNO));
//		// FAX番号
//		template.set(ECK0201D010CBSMsg.FAX_NO, caanMsg.getString(ECK0201B001CBSMsg1List.FAX_NO));
		// OM-2014-0002974対応 20140914 田中 DEL END
		// 更新年月日時分秒（更新前）
		template.set(ECK0201D010CBSMsg.UPD_DTM_BF, (String)custMap.get(ECK0011A010CBSMsg1List.UPD_DTM));

		return template;
	}
	
	// OM-2014-0002974対応 20140914 田中 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:連絡先変更
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param custMap お客様一意照会
	 * @param caanMsg 連絡先一覧
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2011.06.07
	 */
	public CAANMsg editInMsgECK0201C010(IRequestParameterReadOnly param, Map<String, Object> custMap, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(ECK0201C010CBSMsg.class.getName());

		//nullを設定
		fillCAANMSGNullMapping(template, new ECK0201C010CBSMsg().getContents());

		// テンプレートID
		template.set(ECK0201C010CBSMsg.TEMPLATEID, TEMPLATE_ID_ECK0201C010);

		// 機能コード（デフォルト：１）
		template.set(ECK0201C010CBSMsg.FUNC_CODE, JKKSvkeiShosaConstCC.FUNC_CODE_1);
		
		// 連絡先番号
		template.set(ECK0201C010CBSMsg.RRKS_NO, caanMsg.getString(ECK0201B001CBSMsg1List.RRKS_NO));
		// 連絡先種別コード
		template.set(ECK0201C010CBSMsg.RRKS_SBT_CD, caanMsg.getString(ECK0201B001CBSMsg1List.RRKS_SBT_CD));
		// 電話番号
		template.set(ECK0201C010CBSMsg.TELNO, (String)custMap.get(ECK0011A010CBSMsg1List.KEISHA_TELNO));
		// 予約適用年月日
		template.set(ECK0201C010CBSMsg.RSV_APLY_YMD, caanMsg.getString(ECK0201B001CBSMsg1List.RSV_APLY_YMD));
		// 更新年月日時分秒（更新前）
		template.set(ECK0201C010CBSMsg.UPD_DTM_BF, (String)custMap.get(ECK0011A010CBSMsg1List.UPD_DTM));

		return template;
	}
	// OM-2014-0002974対応 20140914 田中 ADD END
}
