/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：JKKSV0725523MappingCC
 *	ソースファイル名：JKKSV0725523MappingCC.java
 *	作成者			：富士通
 *	日付			：2014年03月11日
 *＜機能概要＞
 *	マッピングCCです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v7.00.00	2014/03/11	FJ)金田		新規作成(OM-2014-0001038)
 *
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.HashMap;

import com.fujitsu.futurity.bp.custom.constant.JKKAdchgConstCC;
import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
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 com.sun.enterprise.tools.common.util.StringUtils;

import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;

public class JKKSV0725523MappingCC 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<String, Object> KKSV0725523CC = (HashMap<String, Object>) param.getData("KKSV0725523CC");

		JKKAdchgCmnLogicCC lclCmnLogic = new JKKAdchgCmnLogicCC(handle);
		JKKAdchgMapperCC mapper = JKKAdchgMapperCC.getInstance();
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// サービス契約番号（新規払い出し）
		HashMap<String, Object> tvwork = (HashMap<String, Object>) param.getMappingWorkArea().get("JKKAddSvcKeiTvCCWork");
		String tv_svc_kei = null;
		if (tvwork != null) {
			tv_svc_kei = (String) tvwork.get("svc_kei_no");
		}

		if (!StringUtils.isEmpty(tv_svc_kei)) {
			KKSV0725523CC.put("svc_kei_no", tv_svc_kei);
		}

		String svc_kei_no = null;
		String svc_kei_no_net = (String) KKSV0725523CC.get("svc_kei_no_net");
		String svc_kei_no_tel = (String) KKSV0725523CC.get("svc_kei_no_tel");

		if (!StringUtils.isEmpty(svc_kei_no_net)) {
			svc_kei_no = svc_kei_no_net;
		} else if (!StringUtils.isEmpty(svc_kei_no_tel)) {
			svc_kei_no = svc_kei_no_tel;
		}

		// EKK0081A010_サービス契約一意照会
		HashMap<String, Object> kk0081_a010_map = lclCmnLogic.getEKK0081A010(
				param, mapper, fixedText, scCall, svc_kei_no,
				JKKAdchgConstCC.DEFAULT_RSV_APLY_YMD);

		KKSV0725523CC.put("seiri_no", kk0081_a010_map.get(EKK0081A010CBSMsg1List.SEIRI_NO));

		return param;
	}

}
