/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKSV072552MappingCC
*	ソースファイル名：JKKSV072552MappingCC.java
*	作成者			：富士通
*	日付			：2013年07月29日
*＜機能概要＞
*	マッピングCCです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00.00	2013/07/29	FJ			新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;

public class JKKSV072552MappingCC extends AbstractCommonComponent
{
	
	/**
	 * CCへのマッピング処理を行います
	 * <br>
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Throwable
	 */
	public IRequestParameterReadWrite execute(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// 住所変更物流ＣＣのMap取得
		HashMap<String, Object> kksv072552ccMap =  (HashMap<String, Object>) param.getData("KKSV072552CC");
		if(kksv072552ccMap==null){
			return param;
		}
		
		// 機器提供サービス（回線）登録・引継前処理ＣＣのマップ取得
		HashMap<String, Object> KKSV072536CC = (HashMap<String, Object>) param.getData("KKSV072536CC");
		if(KKSV072536CC!=null){
			// 物流対象List
			kksv072552ccMap.put("trgt_data_list", KKSV072536CC.get("buturyu_trgt_map_list"));
		}

		//対象データリスト
		ArrayList<HashMap<String, Object>> buturyuTargetDataList = (ArrayList<HashMap<String, Object>>) kksv072552ccMap.get("trgt_data_list");
		if(buturyuTargetDataList==null || buturyuTargetDataList.isEmpty()){
			return param;
		}
		
		//申込明細登録ＳＣ
		HashMap<String, Object> KKSV072508SC = (HashMap<String, Object>) param.getData("KKSV072508SC");
		
		// 申込明細リスト作成
		ArrayList<HashMap<String, Object>> mskmDtlList = new ArrayList<HashMap<String, Object>>();
		// 1件目にネットの申込明細マップを設定
		mskmDtlList.add(new HashMap<String, Object>());
		// 2件目に電話の申込明細マップを設定
		mskmDtlList.add(KKSV072508SC);
		// 3件目にテレビの申込明細マップを設定
		mskmDtlList.add(new HashMap<String, Object>());
		
		for(HashMap<String, Object> trgt_data : buturyuTargetDataList){
			// 申込明細情報一覧
			trgt_data.put("mskm_dtl_list", mskmDtlList);
		}
		
		//サービス変更区分を取得
		HashMap<String, Object> netMap = (HashMap<String, Object>)param.getData("KKSV072501CC");
		
		if(netMap!=null){
			String jdgChgDivNet = (String)netMap.get("jdg_chg_div_net");
			//判定後光ネット利用サービス変更区分
			kksv072552ccMap.put("jdg_chg_div_net", jdgChgDivNet);
		}

		return param;
	}
}
