/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKNetKojiNewPrgMappingCC
*	ソースファイル名：JKKNetKojiNewPrgMappingCC.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 JKKNetKojiNewPrgMappingCC 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 jdgChgDivNet = null;
		
		parentMap = (HashMap<String, Object>)param.getData("KKSV0674005CC");
		
		jdgChgDivNet = (String)parentMap.get("jdg_chg_div_net");
		
		if ( "0".equals(jdgChgDivNet) || "1".equals(jdgChgDivNet) || "2".equals(jdgChgDivNet) || "4".equals(jdgChgDivNet) )
		{
			// 進捗ＳＣ（光ネット新規・継続・変更・解約/新規）
			HashMap<String, Object> KKSV0674021SC = (HashMap<String, Object>) param.getData("KKSV0674021SC");
			//ネットのワーク領域
			HashMap<String, Object> workMapNet = (HashMap<String, Object>) param.getData("KKSV0674008SC");
			KKSV0674021SC.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")) ) 
							{
								KKSV0674021SC.put( "skekka_cd", (String) skekkaCdmap.get("skekka_cd") );
							}
							else
							{
								// 何もしない
							}
						}
					}
					else
					{
						// 何もしない
					}
				}
				else
				{
					// 整理番号付替戻りCCに何も詰まれない場合は何もしない
				}
			} 
			else
			{
				// 対象サービス契約なしのため、何もしない
			}
// ANK-2384-00-00 2015/01/05 ADD END
		}
		
		return param;
	}
}