/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKSV009701MappingCC
*	ソースファイル名：JKKSV009701MappingCC.java
*	作成者			：富士通
*	日付			：2012年11月26日
*＜機能概要＞
*	マッピングCCです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/11/26	FJ)福永		新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.JKKAdchgInitDspConstCC;
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;

import eo.ejb.cbs.cbsmsg.EKK0241B001CBSMsg1List;

public class JKKSV009701MappingCC 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
	{
		HashMap dataMap = null;
		

		dataMap = (HashMap)param.getData("KKSV009701SC");
		
		if(dataMap == null)
		{
			return param;
		}
		ArrayList dataList = (ArrayList)dataMap.get("EKK0241B001CBSMsg1List");
		if(dataList == null || dataList.size() == 0)
		{
			return param;
		}
		
		String svcKeiKaisenUcwkNo = "";
		for(int i = 0; i < dataList.size(); i++)
		{
			HashMap childMap = (HashMap)dataList.get(i);
// IT1-2013-0001013 2013.04.22 MATSUMOTO MOD START
			// サービス契約回線内訳ステータスが使用中(100)の場合、または受付済(010)の場合
//			if("100".equals(childMap.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_STAT)))
			if("100".equals(childMap.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_STAT))
				|| "010".equals(childMap.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_STAT))
// OM-2013-0005007対応 20131206 星野 ADD START
				|| "210".equals(childMap.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_STAT))
// OM-2013-0005007対応 20131206 星野 ADD END
			)
// IT1-2013-0001013 2013.04.22 MATSUMOTO MOD END
			{
				// サービス契約回線内訳番号を取得
				svcKeiKaisenUcwkNo = (String)childMap.get(EKK0241B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO);
				break;
			}
		}
		
		HashMap dataCCMap = (HashMap)param.getData("KKSV009701CC");
		if(dataCCMap == null)
		{
			dataCCMap = new HashMap();
			param.setData( "KKSV009701CC", dataCCMap );
		}
		
		dataCCMap.put(JKKAdchgInitDspConstCC.SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
		
	
		
		return param;
	}
}
