/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0212_KKSV0212OPDBMapper
*	ソースファイル名：KKSV0212_KKSV0212OPDBMapper.java
*	作成者			：FJ
*	日付			：2016年06月15日
*＜機能概要＞
*	光電話・番ポ戻し改善
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2016/06/15	FJ			新規作成
*	v72.00.00	2024/04/09	FJ）大路	ANK-4494-00-00_【eo定期】双方向番ポ対応
**********************************************************************/
package eo.web.webview.mapping;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
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.web.webview.KKW00147SF.KKW00147SFConst;


/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0212_KKSV0212OPDBMapper {

	/**
	 * コンストラクタ
	 */
	public KKSV0212_KKSV0212OPDBMapper(){
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：光電話・番ポ戻し（強制利用終了）
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021201SC(X31SDataBeanAccess[] bean, HashMap outputMap, String ido_rsn_cd) {

		if(bean == null){
			return null;
		}

		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// ＳＹＳＩＤ 
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		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("telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動理由コード
		parentMap.put("ido_rsn_cd", ido_rsn_cd);
		
		// ANK-4494-00-00 ADD START
		X31SDataBeanAccessArray ezm0121a010dataList = bean[0].getDataBeanArray(KKW00147SFConst.EZM0121A010DATA);
		if (ezm0121a010dataList != null && ezm0121a010dataList.getCount() > 0)
		{
			X31SDataBeanAccess ezm0121a010data = ezm0121a010dataList.getDataBean(0);
			
			// 電話番号 更新年月日時分秒
			parentMap.put("zm0121_upd_dtm", ezm0121a010data.sendMessageString(KKW00147SFConst.UPD_DTM_16, X31CWebConst.DATABEAN_GET_VALUE));
		}

		X31SDataBeanAccessArray etu0151a011dataList = bean[0].getDataBeanArray(KKW00147SFConst.ETU0151A011DATA);
		if (etu0151a011dataList != null && etu0151a011dataList.getCount() > 0)
		{
			X31SDataBeanAccess etu0151a011data = etu0151a011dataList.getDataBean(0);
			
			// ポートアウト受付情報 更新年月日時分秒
			parentMap.put("tu0151_upd_dtm", etu0151a011data.sendMessageString(KKW00147SFConst.UPD_DTM_32, X31CWebConst.DATABEAN_GET_VALUE));
		}
		
		// ENUMの切り替えも実施する
		parentMap.put("enum_krke_douji", bean[0].sendMessageBoolean(KKW00147SFConst.ENUM_KRKE_DOUJI, X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4494-00-00 ADD END
		
		outputMap.put("trgt_data", parentMap);

		return outputMap;
	}
}

