/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0060_KKSV0060OPDBMapper
*	ソースファイル名：KKSV0060_KKSV0060OPDBMapper.java
*	作成者			：富士通
*	日付			：2011年08月17日
*＜機能概要＞
*	BP（サービス契約情報更新（eo光ネット）_サービス情報訂正・登録内容修正）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/17	富士通		新規作成
*
**********************************************************************/
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 KKSV0060_KKSV0060OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0060_KKSV0060OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006001SC(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));
		// 更新用申込種別コード → 申込内容承認登録マップ.申込種別コード
		parentMap.put("mskm_sbt_cd", bean[0].sendMessageString("更新用申込種別コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → 申込内容承認登録マップ.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → 申込内容承認登録マップ.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		//▼何もセットしないので空のリストを用意しておく
		ArrayList childList = new ArrayList();
		childList.add(new HashMap());
		parentMap.put("EKK0011D020CBSMsg1List", childList);
		//▲
		
		outputMap.put("KKSV006001SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006002SC(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));
		// 更新用異動区分 → 申込明細照査・後続業務依頼マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("更新用異動区分", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV006002SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006003SC(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_no", bean[0].sendMessageString("更新用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用面開発案件番号 → サービス契約＜eo光ネット＞情報変更マップ.面開発案件番号
		parentMap.put("menkaihat_anken_no", bean[0].sendMessageString("更新用面開発案件番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用審査結果コード → サービス契約＜eo光ネット＞情報変更マップ.審査結果コード
		parentMap.put("skekka_cd", bean[0].sendMessageString("更新用審査結果コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用審査結果詳細コード → サービス契約＜eo光ネット＞情報変更マップ.審査結果詳細コード
		parentMap.put("skekka_dtl_cd", bean[0].sendMessageString("更新用審査結果詳細コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用審査結果補記コード → サービス契約＜eo光ネット＞情報変更マップ.審査結果補記コード
		parentMap.put("skekka_hoki_cd", bean[0].sendMessageString("更新用審査結果補記コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用審査結果送信コード → サービス契約＜eo光ネット＞情報変更マップ.審査結果送信コード
		parentMap.put("skekka_send_cd", bean[0].sendMessageString("更新用審査結果送信コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用違約金発生コード → サービス契約＜eo光ネット＞情報変更マップ.違約金発生コード
		parentMap.put("pnlty_hassei_cd", bean[0].sendMessageString("更新用違約金発生コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用異動区分 → サービス契約＜eo光ネット＞情報変更マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("更新用異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用備考 → サービス契約＜eo光ネット＞情報変更マップ.業務連絡備考
		parentMap.put("work_rrk_biko", bean[0].sendMessageString("更新用備考", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約最終更新年月日時分秒 → サービス契約＜eo光ネット＞情報変更マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV006003SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006004SC(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));
		// サービス契約内訳最終更新年月日時分秒 → サービス契約内訳＜eo光ネット＞情報変更マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約内訳最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV006004SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006005SC(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_kaisen_ucwk_no", bean[0].sendMessageString("更新用サービス契約回線内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・電話番号 → サービス契約回線内訳情報変更マップ.回線場所電話番号
		parentMap.put("kaisen_place_telno", bean[0].sendMessageString("更新用利用場所・電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・住所コード → サービス契約回線内訳情報変更マップ.回線場所住所コード
		parentMap.put("kaisen_place_ad_cd", bean[0].sendMessageString("更新用利用場所・住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・郵便番号 → サービス契約回線内訳情報変更マップ.回線場所郵便番号
		parentMap.put("kaisen_place_pcd", bean[0].sendMessageString("更新用利用場所・郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・都道府県 → サービス契約回線内訳情報変更マップ.回線場所都道府県名
		parentMap.put("kaisen_place_state_nm", bean[0].sendMessageString("更新用利用場所・都道府県", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・市区町村 → サービス契約回線内訳情報変更マップ.回線場所市区町村名
		parentMap.put("kaisen_place_city_nm", bean[0].sendMessageString("更新用利用場所・市区町村", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・大字通称名 → サービス契約回線内訳情報変更マップ.回線場所大字通称名
		parentMap.put("kaisen_place_oaztsu_nm", bean[0].sendMessageString("更新用利用場所・大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・字丁目 → サービス契約回線内訳情報変更マップ.回線場所字丁目名
		parentMap.put("kaisen_place_azcho_nm", bean[0].sendMessageString("更新用利用場所・字丁目", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・番地・号 → サービス契約回線内訳情報変更マップ.回線場所番地号
		parentMap.put("kaisen_place_bnchigo", bean[0].sendMessageString("更新用利用場所・番地・号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・建物名 → サービス契約回線内訳情報変更マップ.回線場所住所補記・建物名
		parentMap.put("kaisen_place_adrttm", bean[0].sendMessageString("更新用利用場所・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用利用場所・部屋番号 → サービス契約回線内訳情報変更マップ.回線場所住所補記・部屋番号
		parentMap.put("kaisen_place_adrrm", bean[0].sendMessageString("更新用利用場所・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用竣工予定年月 → サービス契約回線内訳情報変更マップ.竣工予定年月日
		parentMap.put("shunko_rsv_ymd", bean[0].sendMessageString("更新用竣工予定年月", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用入居予定日 → サービス契約回線内訳情報変更マップ.入居予定年月日
		parentMap.put("nyukyo_rsv_ymd", bean[0].sendMessageString("更新用入居予定日", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用ＰＯＮ種別コード → サービス契約回線内訳情報変更マップ.PON種別コード
		parentMap.put("pon_sbt_cd", bean[0].sendMessageString("更新用ＰＯＮ種別コード", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳最終更新年月日時分秒 → サービス契約回線内訳情報変更マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("サービス契約回線内訳最終更新年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV006005SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：サービス契約情報更新（ｅｏ光ネット）
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV006006SC(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);

		// 更新用サービス契約番号 → 進捗情報登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("更新用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用異動区分 → 進捗情報登録マップ.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("更新用異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新用進捗ステータス → 進捗情報登録マップ.進捗ステータス
		parentMap.put("prg_stat", bean[0].sendMessageString("更新用進捗ステータス", X31CWebConst.DATABEAN_GET_VALUE));

		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));
				}

				list.add(childMap);
			}
		}
		parentMap.put("EKK1091D010CBSMsg1List", list);

		outputMap.put("KKSV006006SC", parentMap);
						
		return outputMap;
	}



}