/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKTvKojiNewPrgMappingCC
*	ソースファイル名：JKKTvKojiNewPrgMappingCC.java
*	作成者			：富士通
*	日付			：2012年10月21日
*＜機能概要＞
*	マッピングCCです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/10/21	FJ)			新規作成
*	v12.00.00	2015/01/05	FJ)			ANK-2384-00-00対応
*
**********************************************************************/
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 JKKTvKojiNewPrgMappingCC extends AbstractCommonComponent
{
	/**
	 * CCへのマッピング処理を行います
	 * <br>
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Throwable
	 */
	@SuppressWarnings({ "unchecked" })
	public IRequestParameterReadWrite execute(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// eo光テレビ変更区分判定ＣＣのリクエストパラメータより、
		// 判定後変更区分<テレビ>を取得する
		HashMap<String, Object> parentMap = null;
		String jdgChgDivTv = null;
		
		parentMap = (HashMap<String, Object>)param.getData("KKSV0674048CC");
		
		jdgChgDivTv = (String)parentMap.get("jdg_chg_div_tv");
		
		if ( "0".equals(jdgChgDivTv) || "1".equals(jdgChgDivTv) || "2".equals(jdgChgDivTv) || "4".equals(jdgChgDivTv) )
		{
			// 進捗ＳＣ（光テレビ新規・継続・変更・解約／新規）
			HashMap<String, Object> KKSV0674026SC = (HashMap<String, Object>) param.getData("KKSV0674026SC");
			//テレビのワーク領域
			HashMap<String, Object> workMapNet = (HashMap<String, Object>) param.getData("KKSV0674010SC");
			KKSV0674026SC.put( "svc_kei_no", (String) workMapNet.get("svc_kei_no") );
			
// ANK-2384-00-00 2015/01/05 ADD START
			// 整理番号付替CCの戻り値を取得
			HashMap<String, Object> workSkekkaCdMap = (HashMap<String, Object>) param.getData("KKSV0674035CC");
			if ((String) workMapNet.get("svc_kei_no") != null && !"".equals((String) workMapNet.get("svc_kei_no")) ) {
				if (workSkekkaCdMap != null)
				{
					ArrayList<HashMap<String, Object>> workSkekkaCdList = (ArrayList<HashMap<String, Object>>)workSkekkaCdMap.get("skekka_cd_hosei_tg_map");
					if (workSkekkaCdList != null && workSkekkaCdList.size() > 0) 
					{
						for (HashMap<String, Object> skekkaCdmap : workSkekkaCdList) 
						{
							// 更新済サービス契約番号
							String tgSvckeiNo = (String) skekkaCdmap.get("svc_kei_no");
							if (tgSvckeiNo != null && !"".equals(tgSvckeiNo ) && tgSvckeiNo.equals((String) workMapNet.get("svc_kei_no")) ) {
								KKSV0674026SC.put( "skekka_cd", (String) skekkaCdmap.get("skekka_cd") );
							}
							else
							{
								// 何もしない
							}
						}
					}
					else
					{
						 // 何もしない
					}
				}
				else
				{
					// 整理番号付替戻りCCに何も詰まれない場合は何もしない
				}
			} 
			else
			{
				// 対象サービス契約なしのため、何もしない
			}
// ANK-2384-00-00 2015/01/05 ADD END
			
		}
		
		return param;
	}
}
