/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0845_KKSV0845OPDBMapper
*	ソースファイル名：KKSV0845_KKSV0845OPDBMapper.java
*	作成者			：FJ
*	日付			：2016年09月07日
*＜機能概要＞
*	BP（契約内容通知書詳細更新確認）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v27.00.00	2016/09/07	FJ）栗秋    ANK-2985-00-00 消費者保護ルール見直し追加対応STEP3
*	v27.00.01	2016/10/07	FJ) 中原	【IT1-2016-0000144】排他制御未実装サービスインターフェイス改修
*	v27.00.02	2016/10/25	FJ）栗秋    IT1-2016-0000144 加入御礼書同封有無の表示不正
*	v48.00.00	2020/02/20	FJ）麻生    ANK-3639-00-00 契約内容通知書の修正可能項目追加
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.web.webview.KKW21502SF.KKW21502SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0845_KKSV0845OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0845_KKSV0845OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容通知書詳細更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV084501SC(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("dlyd_trn_req_sbt_cd_k", bean[0].sendMessageString("ディレイド処理依頼種別コード", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV084501SC", parentMap);
						
		return outputMap;
	}

// ANK-3639-00-00 MOD START
// 契約内容通知書訂正スキーマの導入に伴い更新処理を契約内容通知書更新SCから契約内容通知書更新CCに変更したため
// マッピング先をKKSV084502SCからKKSV084501CCに変更
//
//	/**
//	 * 上りマッピングをする
//	 * @param bean　[0]：契約内容通知書詳細更新
//	 * @param outputMap
//	 * @param func_code　機能コード
//	 */
//	@SuppressWarnings("unchecked")
//	public HashMap setKKSV084502SC(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("knytcs_no", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_NO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 契約内容通知書交付方法コード → 契約内容通知書発行更新マップ.契約内容通知書交付方法コード
//		parentMap.put("knytcs_kohu_way_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_KOHU_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 契約内容通知書印刷実施先コード → 契約内容通知書発行更新マップ.契約内容通知書印刷実施先コード
//		parentMap.put("knytcs_print_jssi_sk_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_PRINT_JSSI_SK_CD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 契約成立年月日 → 契約内容通知書発行更新マップ.契約成立年月日
//		parentMap.put("kei_seirt_ymd", bean[0].sendMessageString(KKW21502SFConst.KEI_SEIRT_YMD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 加入御礼書同封制御コード → 契約内容通知書発行更新マップ.加入御礼書同封有無
//		// IT1-2016-0000144 MOD START
////		if(bean[0].sendMessageString(KKW21502SFConst.KANUORESO_DOFU_UMU, X31CWebConst.DATABEAN_GET_VALUE).equals("有")){
////			parentMap.put("kanuoreso_dofu_ctrl_cd", "1");
////		}else{
////			parentMap.put("kanuoreso_dofu_ctrl_cd", "0");
////		}
//		parentMap.put("kanuoreso_dofu_ctrl_cd", bean[0].sendMessageString(KKW21502SFConst.KANUORESO_DOFU_UMU, X31CWebConst.DATABEAN_GET_VALUE));
//		// IT1-2016-0000144 MOD END
//		// 送付先＿送付先名 → 契約内容通知書発行更新マップ.送付先名
//		parentMap.put("knytcs_sohus_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_NM, X31CWebConst.DATABEAN_GET_VALUE));
//		// 契約内容通知書送付先住所コード → 契約内容通知書発行更新マップ.契約内容通知書送付先住所コード
//		parentMap.put("knytcs_sohus_ad_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_SOHUS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿郵便番号 → 契約内容通知書発行更新マップ.送付先郵便番号
//		parentMap.put("knytcs_sohus_pcd", bean[0].sendMessageString(KKW21502SFConst.SOHUS_PCD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿都道府県 → 契約内容通知書発行更新マップ.送付先都道府県名
//		parentMap.put("knytcs_sohus_state_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_STATE, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿市区町村 → 契約内容通知書発行更新マップ.送付先市区町村名
//		parentMap.put("knytcs_sohus_city_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_CITY, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿大字通称名 → 契約内容通知書発行更新マップ.送付先大字通称名
//		parentMap.put("knytcs_sohus_oaztsu_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_OAZTSU, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿字丁目 → 契約内容通知書発行更新マップ.送付先字丁目名
//		parentMap.put("knytcs_sohus_azcho_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_AZCHO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿番地号 → 契約内容通知書発行更新マップ.送付先番地号
//		parentMap.put("knytcs_sohus_bnchigo", bean[0].sendMessageString(KKW21502SFConst.SOHUS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿住所補記・建物名 → 契約内容通知書発行更新マップ.送付先住所補記・建物名
//		parentMap.put("knytcs_sohus_adrttm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
//		// 送付先＿住所補記・部屋番号 → 契約内容通知書発行更新マップ.送付先住所補記・部屋番号
//		parentMap.put("knytcs_sohus_adrrm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
//		// 契約内容通知書送付先電話番号 → 契約内容通知書発行更新マップ.契約内容通知書送付先電話番号
//		parentMap.put("knytcs_sohus_telno", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_SOHUS_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 異動区分 → 契約内容通知書発行更新マップ.異動区分
//		parentMap.put("ido_div", bean[0].sendMessageString(KKW21502SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE));
//		// レター発送仕分区分 → 契約内容通知書発行更新マップ.レター発送仕分区分
//		if(bean[0].sendMessageString(KKW21502SFConst.LETTER_HASSO_SHIWAKE_DIV, X31CWebConst.DATABEAN_GET_VALUE).equals("有")){
//			parentMap.put("letter_hasso_shiwake_div","1");
//		}else{
//			parentMap.put("letter_hasso_shiwake_div","0");
//		}
//		// 20161007 IT1-2016-0000144 ADD START
//		// 更新年月日時分秒 → 契約内容通知書発行更新マップ.更新年月日時分秒
//		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW21502SFConst.UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
//		// 20161007 IT1-2016-0000144 ADD END
//
//		outputMap.put("KKSV084502SC", parentMap);
//						
//		return outputMap;
//	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：契約内容通知書詳細更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV084501CC(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("knytcs_no", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約内容通知書交付方法コード → 契約内容通知書発行更新マップ.契約内容通知書交付方法コード
		parentMap.put("knytcs_kohu_way_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_KOHU_WAY_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約内容通知書印刷実施先コード → 契約内容通知書発行更新マップ.契約内容通知書印刷実施先コード
		parentMap.put("knytcs_print_jssi_sk_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_PRINT_JSSI_SK_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約成立年月日 → 契約内容通知書発行更新マップ.契約成立年月日
		parentMap.put("kei_seirt_ymd", bean[0].sendMessageString(KKW21502SFConst.KEI_SEIRT_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 加入御礼書同封制御コード → 契約内容通知書発行更新マップ.加入御礼書同封有無
		parentMap.put("kanuoreso_dofu_ctrl_cd", bean[0].sendMessageString(KKW21502SFConst.KANUORESO_DOFU_UMU, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿送付先名 → 契約内容通知書発行更新マップ.送付先名
		parentMap.put("knytcs_sohus_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約内容通知書送付先住所コード → 契約内容通知書発行更新マップ.契約内容通知書送付先住所コード
		parentMap.put("knytcs_sohus_ad_cd", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_SOHUS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿郵便番号 → 契約内容通知書発行更新マップ.送付先郵便番号
		parentMap.put("knytcs_sohus_pcd", bean[0].sendMessageString(KKW21502SFConst.SOHUS_PCD, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿都道府県 → 契約内容通知書発行更新マップ.送付先都道府県名
		parentMap.put("knytcs_sohus_state_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_STATE, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿市区町村 → 契約内容通知書発行更新マップ.送付先市区町村名
		parentMap.put("knytcs_sohus_city_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿大字通称名 → 契約内容通知書発行更新マップ.送付先大字通称名
		parentMap.put("knytcs_sohus_oaztsu_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_OAZTSU, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿字丁目 → 契約内容通知書発行更新マップ.送付先字丁目名
		parentMap.put("knytcs_sohus_azcho_nm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_AZCHO, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿番地号 → 契約内容通知書発行更新マップ.送付先番地号
		parentMap.put("knytcs_sohus_bnchigo", bean[0].sendMessageString(KKW21502SFConst.SOHUS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿住所補記・建物名 → 契約内容通知書発行更新マップ.送付先住所補記・建物名
		parentMap.put("knytcs_sohus_adrttm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
		// 送付先＿住所補記・部屋番号 → 契約内容通知書発行更新マップ.送付先住所補記・部屋番号
		parentMap.put("knytcs_sohus_adrrm", bean[0].sendMessageString(KKW21502SFConst.SOHUS_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約内容通知書送付先電話番号 → 契約内容通知書発行更新マップ.契約内容通知書送付先電話番号
		parentMap.put("knytcs_sohus_telno", bean[0].sendMessageString(KKW21502SFConst.KNYTCS_SOHUS_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 契約内容通知書発行更新マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString(KKW21502SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE));
		// レター発送仕分区分 → 契約内容通知書発行更新マップ.レター発送仕分区分
		if(bean[0].sendMessageString(KKW21502SFConst.LETTER_HASSO_SHIWAKE_DIV, X31CWebConst.DATABEAN_GET_VALUE).equals("有")){
			parentMap.put("letter_hasso_shiwake_div","1");
		}else{
			parentMap.put("letter_hasso_shiwake_div","0");
		}
		// 更新年月日時分秒 → 契約内容通知書発行更新マップ.更新年月日時分秒
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW21502SFConst.UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		// お客さま_お客さま名 → 契約内容通知書発行更新マップ.お客さま_お客さま名
		parentMap.put("cust_cust_nm", bean[0].sendMessageString(KKW21502SFConst.CUST_CUST_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// お客さま_住所 → 契約内容通知書発行更新マップ.お客さま_住所
		parentMap.put("cust_keisha_ad", bean[0].sendMessageString(KKW21502SFConst.CUST_KEISHA_AD, X31CWebConst.DATABEAN_GET_VALUE));
		// 利用場所_住所 → 契約内容通知書発行更新マップ.利用場所_住所
		parentMap.put("ryobsy_ad", bean[0].sendMessageString(KKW21502SFConst.RYOBSY_AD, X31CWebConst.DATABEAN_GET_VALUE));
		// ネット_オプションサービス → 契約内容通知書発行更新マップ.ネット_オプションサービス
		parentMap.put("net_op_svc", bean[0].sendMessageString(KKW21502SFConst.NET_OP_SVC, X31CWebConst.DATABEAN_GET_VALUE));
		// ネット_適用キャンペーン → 契約内容通知書発行更新マップ.ネット_適用キャンペーン
		parentMap.put("net_aply_cp", bean[0].sendMessageString(KKW21502SFConst.NET_APLY_CP, X31CWebConst.DATABEAN_GET_VALUE));
		// ネット_契約内容変更・解除等に関する条項 → 契約内容通知書発行更新マップ.ネット_契約内容変更・解除等に関する条項
		parentMap.put("net_knyhen_can", bean[0].sendMessageString(KKW21502SFConst.NET_KNYHEN_CAN, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話_適用キャンペーン → 契約内容通知書発行更新マップ.電話_適用キャンペーン
		parentMap.put("tel_aply_cp", bean[0].sendMessageString(KKW21502SFConst.TEL_APLY_CP, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話1_オプションサービス → 契約内容通知書発行更新マップ.電話1_オプションサービス
		parentMap.put("tel1_op_svc", bean[0].sendMessageString(KKW21502SFConst.TEL1_OP_SVC, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話2_オプションサービス → 契約内容通知書発行更新マップ.電話2_オプションサービス
		parentMap.put("tel2_op_svc", bean[0].sendMessageString(KKW21502SFConst.TEL2_OP_SVC, X31CWebConst.DATABEAN_GET_VALUE));
		// テレビ_適用キャンペーン → 契約内容通知書発行更新マップ.テレビ_適用キャンペーン
		parentMap.put("tv_aply_cp", bean[0].sendMessageString(KKW21502SFConst.TV_APLY_CP, X31CWebConst.DATABEAN_GET_VALUE));
		// テレビ_オプションサービス → 契約内容通知書発行更新マップ.テレビ_オプションサービス
		parentMap.put("tv_op_svc", bean[0].sendMessageString(KKW21502SFConst.TV_OP_SVC, X31CWebConst.DATABEAN_GET_VALUE));
		// テレビ_契約内容変更・解除等に関する条項 → 契約内容通知書発行更新マップ.テレビ_契約内容変更・解除等に関する条項
		parentMap.put("tv_kynyh_jyoko", bean[0].sendMessageString(KKW21502SFConst.TV_KYNYH_JYOKO, X31CWebConst.DATABEAN_GET_VALUE));
		// ネット_料金_割引サービス_詳細 → 契約内容通知書発行更新マップ.ネット_料金_割引サービス_詳細
		parentMap.put("net_prc_wribsvc_dtl", bean[0].sendMessageString(KKW21502SFConst.NET_PRC_WRIBSVC_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// ネット_料金_キャンペーン_詳細 → 契約内容通知書発行更新マップ.ネット_料金_キャンペーン_詳細
		parentMap.put("net_prc_cp_dtl", bean[0].sendMessageString(KKW21502SFConst.NET_PRC_CP_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話_料金_割引サービス_詳細 → 契約内容通知書発行更新マップ.電話_料金_割引サービス_詳細
		parentMap.put("tel_prc_wribsvc_dtl", bean[0].sendMessageString(KKW21502SFConst.TEL_PRC_WRIBSVC_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// 電話_料金_キャンペーン_詳細 → 契約内容通知書発行更新マップ.電話_料金_キャンペーン_詳細
		parentMap.put("tel_prc_cp_dtl", bean[0].sendMessageString(KKW21502SFConst.TEL_PRC_CP_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// テレビ_料金_割引サービス_詳細 → 契約内容通知書発行更新マップ.テレビ_料金_割引サービス_詳細
		parentMap.put("tv_prc_wribsvc_dtl", bean[0].sendMessageString(KKW21502SFConst.TV_PRC_WRIBSVC_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// テレビ_料金_キャンペーン_詳細 → 契約内容通知書発行更新マップ.テレビ_料金_キャンペーン_詳細
		parentMap.put("tv_prc_cp_dtl", bean[0].sendMessageString(KKW21502SFConst.TV_PRC_CP_DTL, X31CWebConst.DATABEAN_GET_VALUE));
		// 訂正更新年月日時分秒 → 契約内容通知書発行更新マップ.訂正更新年月日時分秒（更新前）
		parentMap.put("teise_upd_dtm_bf", bean[0].sendMessageString(KKW21502SFConst.TEISE_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV084501CC", parentMap);

		return outputMap;
	}
// ANK-3639-00-00 MOD END

}