/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0211_KKSV0211OPDBMapper
*	ソースファイル名：KKSV0211_KKSV0211OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年09月22日
*＜機能概要＞
*	BP（電話番号登録＿光電話・電話番号情報変更）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/22	FJ			新規作成
*  v20.00.00	2015/12/04	FJ)谷口		【OM-2015-0000564】番号変更後に引き継いだ転送電話OPを解約したらSIP解約・消去オーダが送信された
*  v25.00.00    2016/06/16  FJ)阮       【IT2-2016-0000034】対応
*  v33.00.00    2017/08/17  FJ) 中原    【ANK-3190-00-00】(客C)電話の番ポ手数料有無の表示・変更対応
*  v33.01.00    2017/10/27  FJ) 中原    【OM-2017-0001122】光電話・電話番号情報変更の確認画面遷移エラー
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JKKStrConst;
import eo.web.webview.KKW00147SF.KKW00147SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0211_KKSV0211OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0211_KKSV0211OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021101SC(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("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → お客様一意照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021102SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞一意照会.ＫＥＹ＿サービス契約内訳番号
		parentMap.put("key_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021102SC", parentMap);
						
		return outputMap;
	}
	// OM-2013-0003595 OLS登録のオーダ発行条件が重複登録することを防ぐ対応 2013/11/16 START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021130SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞一意照会.ＫＥＹ＿サービス契約内訳番号
		parentMap.put("key_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021130SC", parentMap);
						
		return outputMap;
	}
	// OM-2013-0003595 OLS登録のオーダ発行条件が重複登録することを防ぐ対応 2013/11/16 END

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021103SC(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);

		// サービス契約番号 → サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021103SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021104SC(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_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021104SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021105SC(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);

		// 20121020 START
		List<Map<String, Object>> list =  new ArrayList<Map<String, Object>>();
		Map<String, Object> map = new HashMap<String, Object>();
		// 20121020 END
		// ＳＹＳＩＤ → 申込内容承認登録.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 申込内容承認登録.申込種別コード
		parentMap.put("mskm_sbt_cd", String.valueOf("00027"));
		// 運用年月日時分秒 → 申込内容承認登録.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → 申込内容承認登録.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 申込内容承認登録.コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", String.valueOf("03"));

		// 20120924 ANK-0397-00-00 START
		// 申込書番号
		map.put("mskmsho_no", bean[0].sendMessageString("申込書番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 申込書明細番号
		map.put("mskmsho_dtl_no", bean[0].sendMessageString("申込書明細番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 20120924 ANK-0397-00-00 END
		// 20121020 START
		list.add(map);
		parentMap.put("EKK0011D020CBSMsg1List", list);
		// 20121020 END

		outputMap.put("KKSV021105SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021107SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		// 2013/03/19 OT-2013-0000454  ADD START
		String port_no_l_before = "";
		// 2013/03/19 OT-2013-0000454  ADD START

		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 START
		String portCnt = getSelVaPortCnt(bean);

		// 更新用ポート番号
		String portNo;
		// 1ポートVA⇒1ポートVAへの変更
		// 2ポートVA⇒1ポートVAへの変更
		if ("1".equals(portCnt))
		{
			// NULLに更新する
			portNo = null;
		}
		// 1ポートVA⇒2ポートVAへの変更
		// 2ポートVA⇒2ポートVAへの変更
		else
		{
			// 選択されたポート番号に更新する
			portNo = bean[0].sendMessageString("ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		}
		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 END

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 2013/03/19 OT-2013-0000454  ADD START
		port_no_l_before = bean[0].sendMessageString("変更前ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		// 2013/03/19 OT-2013-0000454  ADD START
		
		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞情報変更.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → サービス契約内訳＜eo光電話＞情報変更.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → サービス契約内訳＜eo光電話＞情報変更.電話番号
		parentMap.put("telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 肩書（建物名等） → サービス契約内訳＜eo光電話＞情報変更.緊急通報用住所補記・建物名
		parentMap.put("emg_adrttm", bean[0].sendMessageString("肩書（建物名等）", X31CWebConst.DATABEAN_GET_VALUE));
		// 部屋番号 → サービス契約内訳＜eo光電話＞情報変更.緊急通報用住所補記・部屋番号
		parentMap.put("emg_adrrm", bean[0].sendMessageString("部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 利用者名 → サービス契約内訳＜eo光電話＞情報変更.緊急通報用契約者名
		parentMap.put("emg_ksh_nm", bean[0].sendMessageString("利用者名", X31CWebConst.DATABEAN_GET_VALUE));
		// 利用者名（カナ） → サービス契約内訳＜eo光電話＞情報変更.緊急通報用契約者カナ名
		parentMap.put("emg_ksh_kana", bean[0].sendMessageString("利用者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
		// 通信事業者コード → サービス契約内訳＜eo光電話＞情報変更.通信事業者コード
		parentMap.put("tsjgs_cd", bean[0].sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＡ形式コード → サービス契約内訳＜eo光電話＞情報変更.VA宅内機器型式コード
		parentMap.put("va_taknkiki_model_cd", bean[0].sendMessageString("ＶＡ形式コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＡ製造番号 → サービス契約内訳＜eo光電話＞情報変更.VA機器製造番号
		parentMap.put("va_kiki_seizo_no", bean[0].sendMessageString("ＶＡ製造番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＡ機器変更番号 → サービス契約内訳＜eo光電話＞情報変更.VA機器変更番号
		parentMap.put("va_kiki_chg_no", bean[0].sendMessageString("ＶＡ機器変更番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ポート番号Ｌ → サービス契約内訳＜eo光電話＞情報変更.VAポート番号
		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 START
//		// 2013/03/19 OT-2013-0000454  MOD START
//		if (port_no_l_before != null && !"".equals(port_no_l_before)){
//			parentMap.put("va_port_no", bean[0].sendMessageString("ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
//		}
//		// 2013/03/19 OT-2013-0000454  MOD END
		parentMap.put("va_port_no", portNo);
		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 END
		// 更新年月日時分秒（サービス契約内訳電話） → サービス契約内訳＜eo光電話＞情報変更.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("更新年月日時分秒（サービス契約内訳電話）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021107SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021108SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞場所変更.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021108SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021109SC(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("op_svc_cd", String.valueOf("B022"));
		// 部品呼び出し → オプションサービス契約＜電話＞登録マップ.料金コースコード
		// 20131010 OM-2013-0003184 B22→B26に変更 MOD START
//		parentMap.put("pcrs_cd", String.valueOf("B22"));
		parentMap.put("pcrs_cd", String.valueOf("B26"));
		// 20131010 OM-2013-0003184 B22→B26に変更 MOD END
		// 部品呼び出し → オプションサービス契約＜電話＞登録マップ.料金プランコード
		// 20131010 OM-2013-0003184 PB2201→PB2601に変更 MOD START
//		parentMap.put("pplan_cd", String.valueOf("PB2201"));
		parentMap.put("pplan_cd", String.valueOf("PB2601"));
		// 20131010 OM-2013-0003184 PB2201→PB2601に変更 MOD END
		// 部品呼び出し → オプションサービス契約＜電話＞登録マップ.親契約識別コード
		parentMap.put("oya_kei_skbt_cd", String.valueOf("03"));
		// 20131010 OM-2013-0003184 内訳に紐付くオプションのためサービス契約番号は不要 DEL START
//		// サービス契約番号 → オプションサービス契約＜電話＞登録マップ.サービス契約番号
//		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 20131010 OM-2013-0003184 内訳に紐付くオプションのためサービス契約番号は不要 DEL END
		// サービス契約内訳番号 → オプションサービス契約＜電話＞登録マップ.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＳＹＳＩＤ → オプションサービス契約＜電話＞登録マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → オプションサービス契約＜電話＞登録マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号 → オプションサービス契約＜電話＞登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 発信者番号通Ｌ → オプションサービス契約＜電話＞登録マップ.発信者番号通知
		parentMap.put("hs_no_tchi", bean[0].sendMessageString("発信者番号通Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新年月日時分秒（サービス契約） → オプションサービス契約＜電話＞登録マップ.更新年月日時分秒（変更前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021109SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021110SC(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("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021110SC", parentMap);
						
		return outputMap;
	}
	
	// OM-2013-0005308 2013/12/26 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021133SC(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("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021133SC", parentMap);
						
		return outputMap;
	}
	// OM-2013-0005308 2013/12/26 ADD END

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021111SC(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("svc_staymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約＜電話＞開始マップ.サービス課金開始年月日
		parentMap.put("svc_chrg_staymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021111SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021112SC(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("svc_endymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約解約マップ.サービス課金終了年月日
		parentMap.put("svc_chrg_endymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約解約マップ.サービス解約年月日
		parentMap.put("svc_dsl_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → オプションサービス契約解約マップ.サービス解約理由コード
		parentMap.put("svc_dlre_cd", String.valueOf("01"));
		// 異動区分 → オプションサービス契約解約マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新年月日時分秒（サービス契約） → オプションサービス契約解約マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021112SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021113SC(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("kzkwrk_reqymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021113SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021114SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		// 2012/10/24 IT1-2012-0001138 ADD START
		String port_no_l_before = "";
		String port_no_l_after = "";
		String va_model_cd_before = "";
		String va_model_cd_after = "";
		String va_model_nm_before = "";
		String va_model_nm_after = "";
		String va_seizo_no_before = "";
		String va_seizo_no_after = "";
		String user_kana_before = "";
		String user_kana_after = "";
		String user_nm_before = "";
		String user_nm_after = "";
		String telno = "";
		String prg_tkjk_1 = "";
		// 2012/10/24 IT1-2012-0001138 ADD END
		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 2012/10/24 IT1-2012-0001138 ADD START
		prg_tkjk_1 = "『電話番号:";
		telno = bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE);
		prg_tkjk_1 = prg_tkjk_1 + telno;
		port_no_l_before = bean[0].sendMessageString("変更前ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		port_no_l_after = bean[0].sendMessageString("ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		va_model_cd_before = bean[0].sendMessageString("変更前ＶＡ形式コード", X31CWebConst.DATABEAN_GET_VALUE);
		va_model_cd_after = bean[0].sendMessageString("ＶＡ形式コード", X31CWebConst.DATABEAN_GET_VALUE);
		va_model_nm_before = bean[0].sendMessageString("変更前ＶＡ形式名", X31CWebConst.DATABEAN_GET_VALUE);
		va_model_nm_after = bean[0].sendMessageString("ＶＡ形式名", X31CWebConst.DATABEAN_GET_VALUE);
		va_seizo_no_before = bean[0].sendMessageString("変更前ＶＡ製造番号", X31CWebConst.DATABEAN_GET_VALUE);
		va_seizo_no_after = bean[0].sendMessageString("ＶＡ製造番号", X31CWebConst.DATABEAN_GET_VALUE);
		user_kana_before = bean[0].sendMessageString("変更前利用者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE);
		user_kana_after = bean[0].sendMessageString("利用者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE);
		user_nm_before = bean[0].sendMessageString("変更前利用者名", X31CWebConst.DATABEAN_GET_VALUE);
		user_nm_after = bean[0].sendMessageString("利用者名", X31CWebConst.DATABEAN_GET_VALUE);

		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 START
		// 変更前が1ポートVAの場合
		if (isNull(port_no_l_before))
		{
			port_no_l_before = "1";
		}

		String portCnt = getSelVaPortCnt(bean);
		// 変更後が1ポートVAの場合
		if ("1".equals(portCnt))
		{
			// 2を選択されていても1にする
			port_no_l_after = "1";
		}
		// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 END

		// 2013/03/19 OT-2013-0000454  MOD START
		if (port_no_l_before != null && !"".equals(port_no_l_before)){
			if (!port_no_l_before.equals(port_no_l_after)){
				if ("1".equals(port_no_l_before)){
					port_no_l_before = "1.電話1";
				}else{
					port_no_l_before = "2.電話2";
				}
				prg_tkjk_1 = prg_tkjk_1 + "  ＜ポート番号＞:(変更前) " + port_no_l_before;
			}
		}
		// 2013/03/19 OT-2013-0000454  MOD END

		if (user_nm_before == null)
		{
			user_nm_before = "";
		}
		
		if (user_nm_after == null)
		{
			user_nm_after = "";
		}
		
		if (!user_nm_after.equals(user_nm_before))
		{
			prg_tkjk_1 = prg_tkjk_1 + "  ＜利用者名＞:(変更前) " + user_nm_before + "(変更後) " +  user_nm_after;
		}

		if (user_kana_after == null){
			user_kana_after = "";
		}

		if (user_kana_before == null){
			user_kana_before = "";
		}
		
		if (!user_kana_after.equals(user_kana_before)){
			prg_tkjk_1 = prg_tkjk_1 + "  ＜利用者名（カナ）＞:(変更前) " + user_kana_before + "(変更後) " +   user_kana_after;
		}

		if (va_seizo_no_before == null){
			va_seizo_no_before = "";
		}

		if (va_seizo_no_after == null){
			va_seizo_no_after = "";
		}

		
		if (!va_model_cd_after.equals(va_model_cd_before)){
			prg_tkjk_1 = prg_tkjk_1 + "  ＜VA＞:(変更前) " + va_model_cd_before + va_model_nm_before + va_seizo_no_before + " " 
						 + "(変更後) " +  va_model_cd_after + va_model_nm_after + va_seizo_no_after;
		}else{
			if (!va_seizo_no_before.equals(va_seizo_no_after)){
				prg_tkjk_1 = prg_tkjk_1 + "  ＜VA＞:(変更前) " + va_model_cd_before + va_model_nm_before + va_seizo_no_before + " " 
				 + "(変更後) " +  va_model_cd_after + va_model_nm_after + va_seizo_no_after;
			}
		}
		

		prg_tkjk_1 = prg_tkjk_1 + "』";
		
		if (prg_tkjk_1.length() > 128){
			prg_tkjk_1 = prg_tkjk_1.substring(0, 128);
		}
		// 2012/10/24 IT1-2012-0001138 ADD END
		// サービス契約番号 → 進捗情報登録.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号 → 進捗情報登録.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 進捗情報登録.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 2013/01/10 IT1-2013-0000039 DEL START
//		// 運用年月日時分秒 → 進捗情報登録.異動年月日時分秒
//		parentMap.put("ido_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 2013/01/10 IT1-2013-0000039 DEL END
		// 部品呼び出し → 進捗情報登録.進捗ステータス
		parentMap.put("prg_stat", String.valueOf("B305"));

		// 2012/10/24 IT1-2012-0001138 ADD START
		// 進捗特記事項1 → 進捗情報登録.進捗特記事項1
		parentMap.put("prg_tkjk_1", prg_tkjk_1);
		// 2012/10/24 IT1-2012-0001138 ADD END
		
		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("異動理由明細");
		if(parentMap.containsKey("EKK1091D010CBSMsg1List")){
			list = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
		}else{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0){
			for(int i = 0; i < arraybean.getCount(); i++){
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				HashMap childMap = null;
				if(list.size() -1 >= i){
					childMap = (HashMap)list.get(i);
				}else{
					childMap = new HashMap();
				}

				// 異動理由明細.異動理由コード → 進捗情報登録.異動理由明細.異動理由コード
				if (subbean != null) {
					childMap.put("ido_rsn_cd", subbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 異動理由明細.異動理由メモ → 進捗情報登録.異動理由明細.異動理由メモ
				if (subbean != null) {
					childMap.put("ido_rsn_memo", subbean.sendMessageString("異動理由メモ", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("EKK1091D010CBSMsg1List", list);

		outputMap.put("KKSV021114SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021115SC(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("svc_endymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → オプションサービス契約解約確定マップ.サービス課金終了年月日
		parentMap.put("svc_chrg_endymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → オプションサービス契約解約確定マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 20131218 OM-2013-0005104 ADD START
		// 部品呼び出し → オプションサービス契約解約マップ.サービス解約理由コード
		parentMap.put("svc_dlre_cd", String.valueOf("01"));
		// 20131218 OM-2013-0005104 ADD END
		outputMap.put("KKSV021115SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021116SC(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);

		// サービス契約番号 → サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		parentMap.put("key_gene_add_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021116SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021117SC(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_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → サービス契約内訳一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		parentMap.put("key_gene_add_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → サービス契約内訳一意照会マップ.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021117SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021118SC(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("svc_cancel_rsn_cd", String.valueOf("10"));
		// 異動区分 → オプションサービス契約キャンセル.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021118SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setWORK(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("kk0081_lastUpdDtm", bean[0].sendMessageString("更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("WORK", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービスオーダ発行データ
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKHakkoSODCC(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>();
		HashMap<String, Object> trgt_data = new HashMap<String, Object>();
		ArrayList<HashMap<String, Object>> trgt_data_list = new ArrayList<HashMap<String,Object>>();
		HashMap<String, Object> trgt_data_list_element = new HashMap<String, Object>();
		HashMap<String, Object> sod_kihon_info = new HashMap<String, Object>();
		HashMap<String, Object> svc_kei_info = new HashMap<String, Object>();
		HashMap<String, Object> svc_kei_ucwk_info = new HashMap<String, Object>();
		HashMap<String, Object> opsvkei_info = new HashMap<String, Object>();
		HashMap<String, Object> kktsvkei_info = new HashMap<String, Object>();
		
		//--サービスオーダ発行データの生成
		//サービスオーダ発行データ
		outputMap.put("JKKHakkoSODCC", parentMap);
		
		//対象データマップ
		parentMap.put("trgt_data", trgt_data);
		
		// 共通情報のマッピング
		trgt_data.put("func_code", func_code);

		//対象データリスト
		trgt_data.put("trgt_data_list", trgt_data_list);
		
		//SODマップ
		trgt_data_list.add(trgt_data_list_element);
		
		//SOD基本情報
		trgt_data_list_element.put("sod_kihon_info", sod_kihon_info);
		
		//サービス契約情報
		trgt_data_list_element.put("svc_kei_info", svc_kei_info);
		
		//サービス契約内訳情報
		trgt_data_list_element.put("svc_kei_ucwk_info", svc_kei_ucwk_info);
		
		//オプションサービス契約情報
		trgt_data_list_element.put("opsvkei_info", opsvkei_info);
		
		//機器提供サービス契約情報
		trgt_data_list_element.put("kktsvkei_info", kktsvkei_info);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約一意照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021119SC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → サービス契約一意照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021119SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約＜ｅｏ光電話＞一意照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021120SC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → サービス契約＜ｅｏ光電話＞一意照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021120SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約＜ｅｏ光電話＞情報変更
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021121SC(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("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 20131023 OM-2013-0002961 ADD START
		// 異動区分 → サービス契約＜eo光電話＞情報変更.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 20131023 OM-2013-0002961 ADD END

		outputMap.put("KKSV021121SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021122SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞場所変更.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021122SC", parentMap);
						
		return outputMap;
	}

	// ANK-3190-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021140SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		String bmpUm_after = null;
		String bmpCommison_l_before = null;
		String bmpCommision_amnt_l_before = null;
		String bmpCommison_l_after = null;
		String bmpCommision_amnt_l_after = null;
		String icjknSetteNo = null;
		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}

		// 番ポ有無 有の場合のみ処理実施
		bmpUm_after = bean[0].sendMessageString("番ポ有無Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		if ( !"1".equals(bmpUm_after))
		{
			return null;
		}


		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("一時金設定一意照会明細");
		if(parentMap.containsKey("EKK1021A010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK1021A010CBSMsg1List");
		}else
		{
			list = new ArrayList();
		}
// OM-2017-0001122 ADD START
		// 一時金設定のデータが無い場合は処理を終了する
		if( arraybean.getCount() <= 0){
			return null;
		}
// OM-2017-0001122 ADD END
		if(arraybean != null && arraybean.getCount() > 0)
		{
			for(int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				if (subbean != null)
				{
					bmpCommison_l_before = subbean.sendMessageString("一時金設定一意照会・一時金設定コード", X31CWebConst.DATABEAN_GET_VALUE);
				}
				if (subbean != null)
				{
					bmpCommision_amnt_l_before = subbean.sendMessageString("一時金設定一意照会・一時金指定額", X31CWebConst.DATABEAN_GET_VALUE);
				}
				if (subbean != null)
				{
					icjknSetteNo = subbean.sendMessageString("一時金設定一意照会・一時金設定番号", X31CWebConst.DATABEAN_GET_VALUE);
				}
			}
		}

		// 番ポ申込手数料が変更されている場合処理実施
		bmpCommison_l_after = bean[0].sendMessageString("番ポ申込手数料Ｌ", X31CWebConst.DATABEAN_GET_VALUE);
		bmpCommision_amnt_l_after = bean[0].sendMessageString("番ポ申込手数料・指定額", X31CWebConst.DATABEAN_GET_VALUE);
		if (bmpCommison_l_before.equals(bmpCommison_l_after) && bmpCommision_amnt_l_before.equals(bmpCommision_amnt_l_after) )
		{
			return null;
		}


		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 一時金設定番号 → 未取消契約一時金一覧照会マップ.一時金設定番号
		parentMap.put("icjkn_sette_no", icjknSetteNo);

		outputMap.put("KKSV021140SC", parentMap);

		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021141SC(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("cl_renkei_stat_cd", JKKStrConst.CD00672_CNCL_SUMI);

		outputMap.put("KKSV021141SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021142SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("一時金設定一意照会明細");
		if(parentMap.containsKey("EKK1021A010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK1021A010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0)
		{
			for(int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				// 一時金設定番号 → 一時金設定論理削除マップ.一時金設定番号
				if (subbean != null)
				{
					parentMap.put("icjkn_sette_no", subbean.sendMessageString("一時金設定一意照会・一時金設定番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 更新年月日時分秒 → 一時金設定論理削除マップ.更新年月日時分秒（更新前）
				if (subbean != null)
				{
					parentMap.put("upd_dtm_bf", subbean.sendMessageString("一時金設定一意照会・更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}

		outputMap.put("KKSV021142SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021143SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("一時金設定一意照会明細");
		if(parentMap.containsKey("EKK1021A010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK1021A010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0)
		{
			for(int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				// 一時支払料金番号 → 一時金設定変更マップ.一時支払料金番号
				if (subbean != null)
				{
					parentMap.put("tmp_pay_prc_no", subbean.sendMessageString("一時金設定一意照会・一時支払料金番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 一時金指定率 → 一時金設定変更マップ.一時金指定率
				if (subbean != null)
				{
					parentMap.put("icjkn_shitei_rt", subbean.sendMessageString("一時金設定一意照会・一時金指定率", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// サービス契約番号 → 一時金設定登録マップ.サービス契約番号
				if (subbean != null)
				{
					parentMap.put("svc_kei_no", subbean.sendMessageString("一時金設定一意照会・サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// サービス契約内訳番号 → 一時金設定登録マップ.サービス契約内訳番号
				if (subbean != null)
				{
					parentMap.put("svc_kei_ucwk_no", subbean.sendMessageString("一時金設定一意照会・サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 申込明細番号 → 一時金設定登録マップ.申込明細番号
				if (subbean != null)
				{
					parentMap.put("mskm_dtl_no", subbean.sendMessageString("一時金設定一意照会・申込明細番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}

		// 番ポ申込手数料 → 一時金設定変更マップ.一時金設定コード
		parentMap.put("icjkn_sette_cd", bean[0].sendMessageString("番ポ申込手数料Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ申込手数料・指定額 → 番ポ申込手数料・指定額マップ.一時金指定額
		parentMap.put("icjkn_shitei_amnt", bean[0].sendMessageString("番ポ申込手数料・指定額", X31CWebConst.DATABEAN_GET_VALUE));
		// 完了状態コード：未完了 → 一時金設定登録マップ.完了状態コード
		parentMap.put("fin_stat_cd", JKKStrConst.CD01147_MI_FIN);

		outputMap.put("KKSV021143SC", parentMap);

		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：申込情報更新
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021144SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("一時金設定一意照会明細");
		if(parentMap.containsKey("EKK1021A010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK1021A010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}
		if(arraybean != null && arraybean.getCount() > 0)
		{
			for(int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				// 一時支払料金番号 → 一時金設定変更マップ.一時金設定番号
				if (subbean != null)
				{
					parentMap.put("icjkn_sette_no", subbean.sendMessageString("一時金設定一意照会・一時金設定番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 一時支払料金番号 → 一時金設定変更マップ.一時支払料金番号
				if (subbean != null) 
				{
					parentMap.put("tmp_pay_prc_no", subbean.sendMessageString("一時金設定一意照会・一時支払料金番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 一時金指定率 → 一時金設定変更マップ.一時金指定率
				if (subbean != null)
				{
					parentMap.put("icjkn_shitei_rt", subbean.sendMessageString("一時金設定一意照会・一時金指定率", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 更新年月日時分秒 → 一時金設定変更マップ.更新年月日時分秒
				if (subbean != null)
				{
					parentMap.put("upd_dtm_bf", subbean.sendMessageString("一時金設定一意照会・更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}

		// 番ポ申込手数料 → 一時金設定変更マップ.一時金設定コード
		parentMap.put("icjkn_sette_cd", bean[0].sendMessageString("番ポ申込手数料Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ申込手数料・指定額 → 番ポ申込手数料・指定額マップ.一時金指定額
		parentMap.put("icjkn_shitei_amnt", bean[0].sendMessageString("番ポ申込手数料・指定額", X31CWebConst.DATABEAN_GET_VALUE));
		// 完了状態コード：未完了 → 一時金設定登録マップ.完了状態コード
		parentMap.put("fin_stat_cd", JKKStrConst.CD01147_MI_FIN);

		outputMap.put("KKSV021144SC", parentMap);
						
		return outputMap;
	}

	// ANK-3190-00-00 ADD END
	// OM-2013-0002277 電話番号情報変更時に工事案件CCの番ポ元通信事業者コードが設定されていない 2013/09/17 START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：工事案件CC
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021199CC(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("bmp_um", bean[0].sendMessageString("番ポ有無Ｌ", X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccessArray bmpInputList = bean[0].getDataBeanArray(KKW00147SFConst.BMP_INPUT);
		if (bmpInputList != null && bmpInputList.getCount() > 0)
		{
			X31SDataBeanAccess bmpImput = bmpInputList.getDataBean(0);

			// 番ポ工事番号
			parentMap.put("bmp_koji_no", bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 通信事業者コード
			parentMap.put("tsjgs_cd", bmpImput.sendMessageString(KKW00147SFConst.MSKMJI_BMP_JGS_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 番ポ工事希望年月日
			String bmpKojiKiboYmd = "";
			String bmpKojiKiboYmdYear = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_YEAR_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiKiboYmdMon = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_MON_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiKiboYmdHi = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_HI_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(bmpKojiKiboYmdYear) && !isNull(bmpKojiKiboYmdMon) && !isNull(bmpKojiKiboYmdHi))
			{
				bmpKojiKiboYmd = bmpKojiKiboYmdYear + bmpKojiKiboYmdMon + bmpKojiKiboYmdHi;
			}
			parentMap.put("bmp_koji_kibo_ymd", bmpKojiKiboYmd);
		}

		outputMap.put("KKSV021199CC", parentMap);

		return outputMap;
	}

	/**
	 * オブジェクトに値が設定されているか判定します。
	 * <br>
	 * @param arg0 判定するオブジェクト
	 * @return オブジェクトに値が設定されていない場合はtrue
	 */
	private boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}
	// OM-2013-0002277 電話番号情報変更時に工事案件CCの番ポ元通信事業者コードが設定されていない 2013/09/17 END

	// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 START
	/**
	 * 選択されたVAのポート数を返します。
	 * <br>
	 * @param bean リクエストパラメータ
	 * @return VAポート数
	 */
	private String getSelVaPortCnt(X31SDataBeanAccess[] bean)
	{
		// 機器提供サービス契約一覧照会結果
		X31SDataBeanAccessArray kk0341Arr = bean[0].getDataBeanArray(KKW00147SFConst.EKK0341B002DATA);
		// 選択されたVA宅内機器型式コード
		String vaTaknkikiModelCd = bean[0].sendMessageString("ＶＡ形式コード", X31CWebConst.DATABEAN_GET_VALUE);
		// 選択されたVAのポート数を取得
		String portCnt = null;
		for(int i = 0; i < kk0341Arr.getCount(); i++)
		{
			X31SDataBeanAccess kk0341 = kk0341Arr.getDataBean(i);
			String kikiModelCd = kk0341.sendMessageString(KKW00147SFConst.TAKNKIKI_MODEL_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
			if (kikiModelCd.equals(vaTaknkikiModelCd))
			{
				portCnt = kk0341.sendMessageString(KKW00147SFConst.PORT_CNT_07, X31CWebConst.DATABEAN_GET_VALUE);
				break;
			}
		}

		return portCnt;
	}
	// OM-2013-0002247 電話番号情報変更時にポート番号が更新されない 2013/09/20 END
	
	// OM-2013-0003595 OLS登録のオーダ発行条件が重複登録することを防ぐ対応 2013/11/16 END
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021129SC(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);

		// サービス契約番号 → サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021129SC", parentMap);
						
		return outputMap;
	}
	// OM-2013-0003595 OLS登録のオーダ発行条件が重複登録することを防ぐ対応 2013/11/16 END

	// 20131202 ANK-1578-00-00 START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021132SC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021132SC", parentMap);
						
		return outputMap;
	}
	// 20131202 ANK-1578-00-00 END
	// OM-2015-0000564 20151204 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021138SC(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("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号 → オーダ発行条件一覧照会.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021138SC", parentMap);
						
		return outputMap;
	}
	// OM-2015-0000564 20151204 ADD END

// IT2-2016-0000034 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021139SC(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_svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021139SC", parentMap);
						
		return outputMap;
	}
// IT2-2016-0000034 ADD END
}
