/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0875_KKSV0875OPDBMapper
*	ソースファイル名：KKSV0875_KKSV0875OPDBMapper.java
*	作成者			：FJ
*	日付			：2017年09月23日
*＜機能概要＞
*	BP（解約レター登録画面検索処理）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/04/19	FJ			新規作成
*	v59.00.00	23022/4/12	FJ)北川		【ANK-3745-00-00】宛名印字ラベル、解約レター送付先住所の建物名部屋番号分割対応
*
**********************************************************************/
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;

import eo.common.util.JZMCommonUtil;
import eo.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * @author 919738
 */
public class KKSV0875_KKSV0875OPDBMapper 
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0875_KKSV0875OPDBMapper()
	{
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：解約レター登録画面検索
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return 処理結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV087501CC(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_sysid", bean[0].sendMessageString("検索用ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("key_svc_kei_no", bean[0].sendMessageString("検索用サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求先番号
		parentMap.put("key_seiky_kei_no", bean[0].sendMessageString("検索用請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 最大検索件数
		parentMap.put("max_search_num", JCCWebCommon.getSearchConst("KKW21801_MAX_SHOW_CNT"));

		outputMap.put("KKSV087501CC", parentMap);
						
		return outputMap;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：解約レター登録画面検索
	 * @param outputMap
	 * @return 処理結果
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV087501CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if(outputMap.containsKey("KKSV087501CC"))
		{
			parentMap = (HashMap)outputMap.get("KKSV087501CC");
		}

		ArrayList childList = null;
		
		X31SDataBeanAccessArray listTchishoReSearchCC_tchisho_list_EKK0561B001CBSMsg1List = bean[0].getDataBeanArray("解約レター検索結果一覧");
		childList = null;
		if(listTchishoReSearchCC_tchisho_list_EKK0561B001CBSMsg1List != null && parentMap != null && parentMap.containsKey("dsl_letter_search_list"))
		{
			childList = (ArrayList)parentMap.get("dsl_letter_search_list");

			for(int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if(listTchishoReSearchCC_tchisho_list_EKK0561B001CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listTchishoReSearchCC_tchisho_list_EKK0561B001CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listTchishoReSearchCC_tchisho_list_EKK0561B001CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) 
				{
					continue;
				}

				// 解約レター検索結果一覧.サービス契約番号
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_no"));
				} 
				else 
				{
					subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス契約ステータス
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat"));
				} 
				else 
				{
					subbean.sendMessageString("サービス契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス契約ステータス名
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス契約ステータス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_stat_nm"));
				} 
				else 
				{
					subbean.sendMessageString("サービス契約ステータス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.異動区分
				if (childMap != null) 
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div"));
				} 
				else 
				{
					subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.異動区分名称
				if (childMap != null) 
				{
					subbean.sendMessageString("異動区分名称", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("ido_div_nm"));
				}
				else 
				{
					subbean.sendMessageString("異動区分名称", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.ＳＹＳＩＤ
				if (childMap != null) 
				{
					subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sysid"));
				} 
				else 
				{
					subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.料金グループコード
				if (childMap != null) 
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_cd"));
				} 
				else 
				{
					subbean.sendMessageString("料金グループコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.料金グル―プ名
				if (childMap != null) 
				{
					subbean.sendMessageString("料金グル―プ名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("prc_grp_nm"));
				} 
				else 
				{
					subbean.sendMessageString("料金グル―プ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス開始年月日
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_sta_ymd"));
				} 
				else 
				{
					subbean.sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス終了年月日
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_end_ymd"));
				} 
				else 
				{
					subbean.sendMessageString("サービス終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス課金終了年月日
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス課金終了年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_chrg_endymd"));
				} 
				else 
				{
					subbean.sendMessageString("サービス課金終了年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス解約年月日
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス解約年月日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_dsl_ymd"));
				} 
				else 
				{
					subbean.sendMessageString("サービス解約年月日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.サービス契約回線内訳番号
				if (childMap != null) 
				{
					subbean.sendMessageString("サービス契約回線内訳番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("svc_kei_kaisen_ucwk_no"));
				}
				else 
				{
					subbean.sendMessageString("サービス契約回線内訳番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.利用場所郵便番号
				if (childMap != null) 
				{
					subbean.sendMessageString("利用場所郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("kaisen_place_pcd"));
				} 
				else 
				{
					subbean.sendMessageString("利用場所郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.利用場所住所
				if (childMap != null) 
				{
					//ANK-3745-00-00 ADD START
					//建物名及び部屋番号が登録されている場合に限り部屋番号の前に全角スペース挿入
					if (childMap.get("kaisen_place_adrrm") != null && !("".equals("kaisen_place_adrrm")))
					{
						childMap.put("kaisen_place_adrrm", "　" + childMap.get("kaisen_place_adrrm"));
					}
					//ANK-3745-00-00 ADD END
					subbean.sendMessageString("利用場所住所", X31CWebConst.DATABEAN_SET_VALUE, 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_state_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_city_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_oaztsu_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_azcho_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_bnchigo")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_adrttm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("kaisen_place_adrrm")));
				} 
				else 
				{
					subbean.sendMessageString("利用場所住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.請求契約番号
				if (childMap != null) 
				{
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("seiky_kei_no"));
				} 
				else 
				{
					subbean.sendMessageString("請求契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.請求先郵便番号
				if (childMap != null) 
				{
					subbean.sendMessageString("請求先郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("sohus_pcd"));
				} 
				else 
				{
					subbean.sendMessageString("請求先郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.請求先住所
				if (childMap != null) 
				{
					//ANK-3745-00-00 ADD START
					//建物名及び部屋番号が登録されている場合に限り部屋番号の前に全角スペース挿入
					if (childMap.get("sohus_adrrm") != null && !("".equals("sohus_adrrm")))
					{
						childMap.put("sohus_adrrm", "　" + childMap.get("sohus_adrrm"));
					}
					//ANK-3745-00-00 ADD END
					subbean.sendMessageString("請求先住所", X31CWebConst.DATABEAN_SET_VALUE, 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_state_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_city_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_oaztsu_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_azcho_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_bnchigo")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_adrttm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("sohus_adrrm")));
				}
				else
				{
					subbean.sendMessageString("請求先住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.レター送付先名
				if (childMap != null) 
				{
					subbean.sendMessageString("レター送付先名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				} 
				else 
				{
					subbean.sendMessageString("レター送付先名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.お客様名
				if (childMap != null) 
				{
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
				} 
				else 
				{
					subbean.sendMessageString("お客様名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.契約者郵便番号
				if (childMap != null) 
				{
					subbean.sendMessageString("契約者郵便番号", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("keisha_pcd"));
				} 
				else 
				{
					subbean.sendMessageString("契約者郵便番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.契約者住所
				if (childMap != null) 
				{
					//ANK-3745-00-00 ADD START
					//建物名及び部屋番号が登録されている場合に限り部屋番号の前に全角スペース挿入
					if (childMap.get("keisha_adrrm") != null && !("".equals("keisha_adrrm")))
					{
						childMap.put("keisha_adrrm", "　" + childMap.get("keisha_adrrm"));
					}
					//ANK-3745-00-00 ADD END
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE,  
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_state_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_city_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_oaztsu_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_azcho_nm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_bnchigo")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_adrttm")) + 
							JZMCommonUtil.nullToBlank((String)childMap.get("keisha_adrrm")));
				} 
				else 
				{
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// 解約レター検索結果一覧.解約フラグ
				if (childMap != null) 
				{
					subbean.sendMessageString("解約フラグ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("dsl_flg"));
				} 
				else 
				{
					subbean.sendMessageString("解約フラグ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}
		return bean;
	}


}