/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKPauseChgRsvClCC
*   ソースファイル名：JKKPauseChgRsvClCC.java
*   作成者          ：富士通
*   日付            ：2011年11月15日
*＜機能概要＞
*   休止変更・予約取消CCクラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v4.00.00    2012/10/15   FJ) 敷地    SEP-0007-00-00 進捗補足事項編集対応
*   v7.00.00    2014/03/03   FJ) 阮      OM-2014-0000926 休止予約取消を行う場合フェムトセル異動情報登録と行わない対応
*   v11.00.00   2014/12/24   FJ）鰺坂    OM-2014-0003927 休止予約を反映した際に、フェムトセルを保有している場合、異動通知が出ない。
*   v52.00.00	2021/01/25	 FJ)吉村    【ANK-3987-00-00】Netflix導入対応(Step2)
*   v52.00.01	2021/02/04	 FJ)吉田    【ANK-3987-00-00】Netflix導入対応(Step2)
*   v52.00.02	2021/03/01	 FJ)吉田    【IT1-2021-0000025】休止予約を反映した際に、Netflixプレミアムオプションの解約およびNetflix他事業者契約異動情報登録が行われない
*   v52.00.03	2021/03/01	 FJ)吉村    【IT1-2021-0000025】休止予約を反映した際に、Netflixプレミアムオプションの解約およびNetflix他事業者契約異動情報登録が行われない
*   v74.00.00	2025/02/17	 FJ)森下    【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKDslRunConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKFmtcelIdoInfAddConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKPauseChgRsvClConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKPauseReceptConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKSmtvlIdoInfAddConstCC;
import com.fujitsu.futurity.bp.custom.constant.KKSV0204_KKSV0204OP;
import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JKKStringUtil;
import eo.ejb.cbs.cbsmsg.EKK0021C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081C080CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191B005CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191B005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B012CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B012CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351C220CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C250CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg1List;


/**
 * 休止変更・予約取消処理です。<p>
 * <br>
 * @author FJ
 */
public class JKKPauseChgRsvClCC extends AbstractCommonComponent
{
	/** サービスコード　01：インターネット */
	public static final String SVC_CD_NET = "01";
	
	/** サービスコード　02：電話 */
	public static final String SVC_CD_TEL = "02";
	
	/** サービスコード　03：テレビ */
	public static final String SVC_CD_TV = "03";
	
	/** サービス契約ステータス：サービス提供中 */
	private static final String SVC_KEI_STAT_TKC = "100";
	/** サービス契約ステータス：休止・中断中 */
	private static final String SVC_KEI_STAT_KYUS = "210";
	/** サービス契約ステータス：停止中 */
	private static final String SVC_KEI_STAT_STP = "220";
	/** サービス契約ステータス：解約済 */
	private static final String SVC_KEI_STAT_DSL = "910";
	/** サービス契約ステータス：キャンセル済 */
	private static final String SVC_KEI_STAT_CANCEL = "920";

	/** ＳＯＤ発行フラグ：ＳＯＤ発行不要 */
	private static final String SOD_HAKKO_FLG_FUYO = "0";
	/** ＳＯＤ発行フラグ：ＳＯＤ発行要 */
	private static final String SOD_HAKKO_FLG_YO = "1";
	
	/** サービス停止理由コード：休止変更・予約取消？ */
	public static final String SVC_STP_RSN_CD_PSECHG_RSVCL = "01";
	/** サービス停止解除理由コード：休止解除？ */
	public static final String SVC_STP_RLS_RSN_CD_PAUSE_RLS = "02";
	
	/** 移転トーキ登録コード：休止によるトーキ */
	public static final String ITNTOKI_ADD_CD_PAUSE = "3";

	/** 起動元コード − オンライン */
	public static final String KIDO_CD_ONLINE = "01";
	/** 起動元コード − バッチ */
	public static final String KIDO_CD_BATCH = "02";

//	/** 督促ステータス：利用停止済 */
//	private static final String TOKUSOKU_STAT_USESTPZM = "20";

	/** 運用日付キー（退避用） */
	public static final String OPEDATE_KEY = "OPEDATE";
	/** 更新年月日時分秒（更新前）キー（退避用） */
	public static final String UPD_DTM_BF_KEY = "UPD_DTM_BF";

	private static final String RESULT_KEY_EKK0081A010 = "EKK0081A010";

	/**
	 * resultHashバッファに EKK0081C080 の実行結果を補完するためのキー
	 * @since 2012-11-29 ロット２IT1-2012-0002219
	 */
	private static final String RESULT_HASH_KEY_EKK0081C080 = "EKK0081C080";


	/** サービスインタフェース呼び出しで使用するマッパー群 */
	private JKKPauseChgRsvClMapperCC mapper = null;
	
	/** SC呼び出し部品 */
	ServiceComponentRequestInvoker scCall = null;

	private boolean isCheckMode = true;

	// ANK-4592-00-00 ADD START
	/** 作業マップ名 */
	private static final String CC_WORK_SPTVDSL_STP_PAUSE = "JKKSptDslStpPause";
	/** 作業マップ名 */
	private static final String CC_WORK_SPTVKAIHK_PAUSE_STP_RLS = "JKKSptvKaihkPauseStpRls";
	
	/** 処理コード 解約・停止・休止 */
	private static final String SHORI_CD_DSL_STP_PAUSE = "4";
	/** 処理コード 回復・休止解除・停止解除 */
	private static final String SHORI_CD_KAIHK_PAUSE_STP_RLS = "5";
	
	/** 操作区分 休止  */
	private static final String OPE_DIV_KYUSI = "2";
	// ANK-4592-00-00 ADD END



	/**
	 * 休止変更・予約取消の初期処理です。
	 * 
	 * <br>
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return void
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void init(IRequestParameterReadWrite param, String fixedText)
	throws Throwable
	{
		// マッパーの初期化
		if (null == this.mapper)
		{
			this.mapper = new JKKPauseChgRsvClMapperCC();
		}

		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		if (null == this.scCall)
		{
			this.scCall = new ServiceComponentRequestInvoker();
		}

		// コントロールマップのエラー情報を初期化
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, new ArrayList<Object>());

		//↓↓↓2012-11-07変更　IT2-2012-0001632 バッチから起動時に機能コードが取得できない↓↓↓
		// リクエストパラメータの取得処理
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		// 休止受付マップ取得
		HashMap inMap = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);
		// 起動元コード
		String kido_cd = (String)inMap.get(JKKPauseChgRsvClConstCC.KIDO_CD);

		// オンライン時のみ機能コードを取得する
		if (KIDO_CD_ONLINE.equals(kido_cd))
		{
			//↓↓↓2012-09-21追加　ロット２追加対応案件PT障害（eo光電話からの要求を設定）↓↓↓
			HashMap<?, ?> kksv020301ccMap = (HashMap<?, ?>) param.getData(KKSV0204_KKSV0204OP.KKSV020401CC);
			String func_code = (String) kksv020301ccMap.get(JCMConstants.FUNC_CODE_KEY);
			isCheckMode  = (JPCModelConstant.FUNC_CD_2.equals(func_code));
			//↑↑↑2012-09-21追加　ロット２追加対応案件PT障害（eo光電話からの要求を設定）↑↑↑
		}
		// バッチ起動の場合
		else
		{
			isCheckMode = false;
		}
		//↑↑↑2012-11-07変更　IT2-2012-0001632 バッチから起動時に機能コードが取得できない↑↑↑
	}

	/**
	 * 休止変更・予約取消のチェック処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) 
	throws Throwable
	{
		// 初期処理
		init(param, fixedText);

		HashMap<String, Object> paramMap = this.mapper.editInMsgEKK0081A010(param, fixedText);
		return paramMap;
	}

	/**
	 *<DL>
	 *<DT>休止変更・予約取消のエラー転記処理です。
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 *</DL>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws Throwable
	{
		this.mapper.editResultRPEKK0081A010ErrMap(param, templates, returnCode, fixedText);
		return param;
	}

	/**
	 * 休止変更・予約取消制御処理
	 * 
	 * 休止変更・予約取消処理を実行する。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite pauseChgRsvClCtrlTran(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText
	) throws Throwable
	{
		HashMap<String, Object> resultHash =  new HashMap<String, Object>();
		CAANMsg msgEKK0081A010 = null;

		// 初期処理
		init(param, fixedText);

		// リクエストパラメータの取得処理
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		HashMap inMap = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);

		// 運用日取得
		String tmpOpeDate = JCCBPCommon.getOpeDate(null);
		resultHash.put(OPEDATE_KEY, tmpOpeDate);

		// ＳＯＤ発行フラグ初期化：０:ＳＯＤ発行不要
		String sod_hakko_flg = SOD_HAKKO_FLG_FUYO;

		// 起動元コード
		String kido_cd = (String)inMap.get(JKKPauseChgRsvClConstCC.KIDO_CD);

		// 20130526 KT1-2013-0000606 ADD START
		// SOD発行用異動区分
		String hakkoSodIdoDiv = (String)inMap.get(JKKPauseChgRsvClConstCC.IDO_DIV);	// リクエストパラメータ.異動区分
		// 20130526 KT1-2013-0000606 ADD END

		// **********************************
		// サービス契約一意照会実行処理
		// **********************************
		Map<?, ?> rsltEKK0081A010 = callEKK0081A010(handle, param, fixedText);
		// 業務データの取得
		CAANMsg workEKK0081A010 = getWorkCAANMsg(rsltEKK0081A010);
		CAANMsg[] msgEKK0081A010List = workEKK0081A010.getCAANMsgList(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);

		if (0 == msgEKK0081A010List.length)
		{
			String errMsg = "INVALID_RETURN_MESSAGE";
			throw new SCCallException(errMsg, "0", -1);
		}
		msgEKK0081A010 = msgEKK0081A010List[0];
		// サービス契約一意照会結果設定
		resultHash.put(RESULT_KEY_EKK0081A010, msgEKK0081A010);

		// サービス契約ステータス取得
		String svc_kei_stat = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT);

		// サービス契約ステータスが「停止中」「解約済」「キャンセル済」の場合
		// 処理しない
		if (
				SVC_KEI_STAT_STP.equals(svc_kei_stat)
				|| SVC_KEI_STAT_DSL.equals(svc_kei_stat)
				|| SVC_KEI_STAT_CANCEL.equals(svc_kei_stat)
		)
		{
			// リターンコードの設定
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, "0000");
		}

		// 異動予約一覧照会(サービス休止)
		Map<?, ?> rsltEKK1681B001_005 = callEKK1681B001(handle, param, fixedText, "005");

		// 業務データの取得処理
		CAANMsg workEKK1681B001_005 = getWorkCAANMsg(rsltEKK1681B001_005);
		CAANMsg[] msgEKK1681B001_005List = workEKK1681B001_005.getCAANMsgList(EKK1681B001CBSMsg.EKK1681B001CBSMSG1LIST);
		if(msgEKK1681B001_005List != null && msgEKK1681B001_005List.length > 0)
		{
			resultHash.put("EKK1681B001_005", msgEKK1681B001_005List[0]);
		}

		// 異動予約一覧照会(サービス休止解除)
		Map<?, ?> rsltEKK1681B001_006 = callEKK1681B001(handle, param, fixedText, "006");

		// 業務データの取得処理
		CAANMsg workEKK1681B001_006 = getWorkCAANMsg(rsltEKK1681B001_006);
		CAANMsg[] msgEKK1681B001_006List = workEKK1681B001_006.getCAANMsgList(EKK1681B001CBSMsg.EKK1681B001CBSMSG1LIST);
		if(msgEKK1681B001_006List != null && msgEKK1681B001_006List.length > 0)
		{
			resultHash.put("EKK1681B001_006", msgEKK1681B001_006List[0]);
		}

		// オンラインの場合
		if(KIDO_CD_ONLINE.equals(kido_cd))
		{
			// オンライン共通処理
			onCmnTran(handle, param, fixedText, resultHash);

			// サービス契約一意照会結果取得
			msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
			svc_kei_stat  = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT);
			String svc_cd = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD);

			// 予約取消依頼データの場合
			//     サービス提供中 かつ サービス休止年月日 = null かつ 
			//     サービス休止解除年月日 = null かつ 休止料金提供年月 = null
			if(
					SVC_KEI_STAT_TKC.equals(svc_kei_stat)
					&& isNull(inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD))
					&& isNull(inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD))
					&& isNull(inMap.get(JKKPauseChgRsvClConstCC.PAUSE_PRC_TK_YM))
			)
			{
				// 休止予約取消処理
				pauseRsvClTran(handle, param, fixedText, resultHash);
			}
			// 予約取消依頼データ以外の場合
			else
			{
				// 休止変更処理（オンライン）
				pauseChgTranOn(handle, param, fixedText, resultHash);

				// eo光電話の場合
				if(SVC_CD_TEL.equals(svc_cd))
				{
					// 休止トーキ期間変更処理
					pauseTokiPrdChgTran(handle, param, fixedText, resultHash);
				}

				// ＳＯＤ発行判定
				//    サービス提供中 かつサービス休止年月日 = 運用日 
				//    停止中 かつサービス休止年月日 = 運用日 
				//    休止・中断中 かつ サービス休止解除終了年月日 = 運用日
				if(
						(SVC_KEI_STAT_TKC.equals(svc_kei_stat) && tmpOpeDate.equals((String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD)))
						|| (SVC_KEI_STAT_KYUS.equals(svc_kei_stat) && tmpOpeDate.equals((String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD)))
				)
				{
					//サービスオーダ発行フラグ設定（ＳＯＤ発行要）
					sod_hakko_flg = SOD_HAKKO_FLG_YO;

					// 20130526 KT1-2013-0000606 ADD START
					if (!(SVC_KEI_STAT_KYUS.equals(svc_kei_stat) && tmpOpeDate.equals((String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD))))
					{
						// 休止開始する場合は、SOD発行CCに異動区分：休止受付を設定
						// （SOD発行CCは、異動区分：休止変更・予約取消の場合、解除のSODを発行する仕様のため）
						hakkoSodIdoDiv = JKKStrConst.CD00576_PAUSE_UK;
					}
					// 20130526 KT1-2013-0000606 ADD END
				}
			}

			if (!isCheckMode)
			{
				// 2012.3.15 IT1-2012-0000349 Start
				// サービス契約一意照会実行処理
				rsltEKK0081A010 = callEKK0081A010(handle, param, fixedText);
				// 業務データの取得
				CAANMsg eKK0081A010Msg = getWorkCAANMsg(rsltEKK0081A010);
				CAANMsg[] eKK0081A010Msg1List = eKK0081A010Msg.getCAANMsgList(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
				CAANMsg eKK0081A010Msg1 = eKK0081A010Msg1List[0];

				// サービス契約業務連絡備考変更実行処理
				callEKK0081C014(handle, param, fixedText, eKK0081A010Msg1);
				// 2012.3.15 IT1-2012-0000349 End
			}
		}
		// バッチの場合
		else if(KIDO_CD_BATCH.equals(kido_cd))
		{
			// **********************************
			// 休止変更処理（バッチ）
			// **********************************
			pauseChgTranBat(handle, param, fixedText, resultHash);

			// サービス契約一意照会結果取得
			msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
			String svc_cd = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD);

			// eo光電話の場合
			if(SVC_CD_TEL.equals(svc_cd))
			{
				// **********************************
				// 休止トーキ期間変更処理
				// **********************************
				pauseTokiPrdChgTran(handle, param, fixedText, resultHash);
			}

			// サービスオーダ発行フラグ設定（ＳＯＤ発行要）
			sod_hakko_flg = SOD_HAKKO_FLG_YO;
		}
		else
		{
			String errMsg = "INVALID_RETURN_MESSAGE";
			throw new SCCallException(errMsg, "0", -1);
		}

		// ＳＯＤ発行要、かつサービス契約一意照会結果あり
		// かつ、（バッチ起動か、オンライン起動の更新確定モード）の場合
		if(
				! sod_hakko_flg.equals(SOD_HAKKO_FLG_FUYO)
				&& msgEKK0081A010 != null
				&& (
						KIDO_CD_BATCH.equals(kido_cd)
						|| (KIDO_CD_ONLINE.equals(kido_cd) && !isCheckMode)
				)
		)
		{
			// **********************************
			// サービス契約内訳一覧照会
			// **********************************
			Map<?, ?> rsltEKK0161B004 = callEKK0161B004(handle, param, fixedText);

			// 業務データの取得処理
			CAANMsg workEKK0161B004 = getWorkCAANMsg(rsltEKK0161B004);
			CAANMsg[] msgEKK0161B004List = workEKK0161B004.getCAANMsgList(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST);

			// **********************************
			// ＳＯＤ発行ＣＣ呼出
			// **********************************
			// 20130526 KT1-2013-0000606 SOD発行用異動区分を追加 MOD START
			executeHakkoSodCC(handle,param, msgEKK0081A010, msgEKK0161B004List, hakkoSodIdoDiv);
			// 20130526 KT1-2013-0000606 SOD発行用異動区分を追加 MOD END
		}

		// **********************************
		// リターンコードの設定
		// **********************************
		String returnCode = String.format("%1$04d", 0);
		param.setControlMapData(SCControlMapKeys.RETURN_CODE, returnCode);

		return param;
	}
	
	/**
	 * オンライン共通処理です。
	 * 
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @return void
	 * @throws Throwable 
	 */
	private void onCmnTran(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
	throws Throwable
	{
		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);

		// 申込内容承認登録
		Map<?, ?> rsltEKK0011D020 = callEKK0011D020(handle, param, fixedText, msgEKK0081A010);
		CAANMsg msgEKK0011D020 = getWorkCAANMsg(rsltEKK0011D020);

		if (!isCheckMode)
		{
			// 申込明細照査・後続業務依頼
			Map<?, ?> rsltEKK0021C060 = callEKK0021C060(handle, param, fixedText, msgEKK0011D020);
			CAANMsg msgEKK0021C060 = getWorkCAANMsg(rsltEKK0021C060);

			// 申込明細照査・後続業務依頼結果設定
			resultHash.put("EKK0021C060", msgEKK0021C060);
			// 2012.3.16 IT1-2012-0000355 End
		}
	}
	
	/**
	 * 休止予約取消処理です。
	 * 
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @return void
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void pauseRsvClTran(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
	throws Throwable
	{
		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
		// 申込明細照査・後続業務依頼結果取得
		CAANMsg msgEKK0021C060 = (CAANMsg)resultHash.get("EKK0021C060");

		// 申込明細番号の取得
		String tmpMskmDtlNo = (JKKBpCommon.isNull(msgEKK0021C060) ? null : msgEKK0021C060.getString(EKK0021C060CBSMsg.MSKM_DTL_NO));

		// サービス契約休止予約取消
		callEKK0081C280(handle, param, fixedText, msgEKK0081A010, tmpMskmDtlNo);

		if (!isCheckMode)
		{
			// 進捗登録実行処理
//↓↓↓2012-11-29変更　ロット２IT1-2012-0002219（進捗の作り方がおかしい）↓↓↓
			Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, tmpMskmDtlNo, resultHash);
//↑↑↑2012-11-29変更　ロット２IT1-2012-0002219（進捗の作り方がおかしい）↑↑↑

// OM-2014-0000926 2014/03/03 休止予約取消を行う場合フェムトセル異動情報登録は行わない DEL START
//			// ANK-0035-00-0007 2012/07/19 ADD START
//			// フェムトセル異動情報登録
//			// ユーザデータ情報
//			HashMap<String, Object> trgtMap = (HashMap<String, Object>)param.getData(fixedText);
//			// 休止受付マップ取得
//			HashMap<String, Object> inMap = (HashMap<String, Object>)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);
//			executeFmtcelIdoInf(handle, param, inMap,  fixedText, rsltEKK1091D010);
//			// ANK-0035-00-0007 2012/07/19 ADD END
// OM-2014-0000926 2014/03/03 休止予約取消を行う場合フェムトセル異動情報登録は行わない DEL END
		}
	}
	
	/**
	 * 休止変更処理（オンライン）です。
	 * 
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @return void
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void pauseChgTranOn(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
	throws Throwable
	{
		// リクエストパラメータの取得処理
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		HashMap inMap   = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);

		String svc_pause_ymd     = (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD);		// リクエストパラメータ.サービス休止年月日
		String svc_pause_rls_ymd = (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD);	// リクエストパラメータ.サービス休止解除年月日
		String tmpOpeDate        = (String)resultHash.get(OPEDATE_KEY);								// 運用日

		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
		String tmpUpdDtm     = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.LAST_UPD_DTM);
		//ANK-3987-00-00 ADD START
		// 料金コースコード
		String pcrs_cd  = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.PCRS_CD);
		// サービスコード
		String svc_cd  = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD);
		//ANK-3987-00-00 ADD END

		// 申込登録結果取得
		CAANMsg msgEKK0021C060 = (CAANMsg)resultHash.get("EKK0021C060");
		String tmpMskmDtlNo = (JKKBpCommon.isNull(msgEKK0021C060) ? null : msgEKK0021C060.getString(EKK0021C060CBSMsg.MSKM_DTL_NO));

		// サービス契約休止年月日=null，またはサービス契約休止解除年月日=nullの場合
		if(isNull(svc_pause_ymd) || isNull(svc_pause_rls_ymd))
		{
			String errMsg = "INVALID_RETURN_MESSAGE";
			throw new SCCallException(errMsg, "0", -1);
		}

		// サービス契約休止年月日＞運用日の場合
		if (svc_pause_ymd.compareTo(tmpOpeDate) > 0)
		{
			// ===============================================
			// サービス休止解除年月日＞運用日の場合
			// ===============================================
			if (svc_pause_rls_ymd.compareTo(tmpOpeDate) > 0)
			{
				// サービス契約休止変更
				Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, tmpMskmDtlNo);

				if (!isCheckMode)
				{
					// 進捗登録実行処理
					resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));
					makeProgress(handle, param, fixedText, tmpMskmDtlNo, resultHash);
				}
			}
			else
			{
				String errMsg = "INVALID_RETURN_MESSAGE";
				throw new SCCallException(errMsg, "0", -1);
			}
		}
		// サービス契約休止年月日＝運用日の場合
		else if (svc_pause_ymd.compareTo(tmpOpeDate) == 0)
		{
			// ===============================================
			// サービス休止解除年月日＞運用日の場合
			// ===============================================
			if (svc_pause_rls_ymd.compareTo(tmpOpeDate) > 0 && !isCheckMode)
			{
// ▼▼▼▼▼ 2013/08/02 停止中からの休止への状態遷移はなし DEL START ▼▼▼▼▼
//				// 停止中の場合
//				if(SVC_KEI_STAT_STP.equals(tmpSvcKeiStat))
//				{
//					// 利用停止解除処理
//					useStpRlsTran(handle, param, fixedText, resultHash);
//					tmpUpdDtm = (String)resultHash.get(UPD_DTM_BF_KEY);
//				}
// ▲▲▲▲▲ 2013/08/02 停止中からの休止への状態遷移はなし DEL E N D ▲▲▲▲▲

				// ANK-3987-00-00 ADD START
				// ***********************************
				// Netflixプレミアムオプション解約処理
				// ***********************************
				String opLastUpdDtm = dsleOpSvcKeiNetflix(handle, param, fixedText, resultHash, tmpUpdDtm, tmpMskmDtlNo);
				if(!JKKStringUtil.isNullEmpty(opLastUpdDtm))
				{
					tmpUpdDtm = opLastUpdDtm;
				}
				
				// ANK-3987-00-00 ADD END
				
				// サービス契約休止変更
				Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, tmpMskmDtlNo);

				// 進捗登録実行処理
				resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));
				Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, tmpMskmDtlNo, resultHash);

				// KT1-2013-0000795_休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 START
				// スマートバリュー異動情報登録
				executeAddSmtvlIdoInf(handle, param, inMap, fixedText, rsltEKK1091D010);
				// KT1-2013-0000795_休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 END
				//ANK-3987-00-00 ADD START
				//光ネットの場合
				if("01".equals(svc_cd))
				{
					// Netflix他事業者契約異動情報登録
					executeNetflixTajgsKeiIdInf(handle, param, inMap, pcrs_cd);
				}
				//ANK-3987-00-00 ADD END
				// ANK-4592-00-00 ADD START
				// テレビの場合
				if("03".equals(svc_cd))
				{
					// スカパー鍵情報操作CC呼出
					executeSptvKeyInfPause(handle, param, inMap, (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD));
				}
				// ANK-4592-00-00 ADD END
			}
			// ===============================================
			// サービス休止解除年月日＝運用日の場合
			// ===============================================
			else if (svc_pause_rls_ymd.compareTo(tmpOpeDate) == 0)
			{
				// 休止解除処理
				// ANK-4592-00-00 MOD START
//				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, tmpMskmDtlNo);
				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, tmpMskmDtlNo, svc_cd);
				// ANK-4592-00-00 MOD END
			}
			else
			{
				String errMsg = "INVALID_RETURN_MESSAGE";
				throw new SCCallException(errMsg, "0", -1);
			}
		}
		// サービス契約休止年月日＜運用日の場合
		if (svc_pause_ymd.compareTo(tmpOpeDate) < 0)
		{
			// ===============================================
			// サービス休止解除年月日＞運用日の場合
			// ===============================================
			if (svc_pause_rls_ymd.compareTo(tmpOpeDate) > 0)
			{
				// サービス契約休止変更
				Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, tmpMskmDtlNo);

				// 進捗登録実行処理
				resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));
				makeProgress(handle, param, fixedText, tmpMskmDtlNo, resultHash);
			}
			// ===============================================
			// サービス休止解除年月日＝運用日の場合
			// ===============================================
			else if (svc_pause_rls_ymd.compareTo(tmpOpeDate) == 0)
			{
				// 休止解除処理
				// ANK-4592-00-00 MOD START
//				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, tmpMskmDtlNo);
				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, tmpMskmDtlNo, svc_cd);
				// ANK-4592-00-00 MOD END
			}
			else
			{
				String errMsg = "INVALID_RETURN_MESSAGE";
				throw new SCCallException(errMsg, "0", -1);
			}
		}
	}
	
	/**
	 * 休止変更処理（バッチ）です。
	 * 
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @return void
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void pauseChgTranBat(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			HashMap<String, Object> resultHash
	) throws Throwable
	{
		// **********************************
		// リクエストパラメータの取得処理
		// **********************************
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		HashMap inMap   = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);

		String svc_pause_ymd     = (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD);		// リクエストパラメータ.サービス休止年月日
		String svc_pause_rls_ymd = (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD);	// リクエストパラメータ.サービス休止解除年月日
		String mskm_dtl_no       = (String)inMap.get(JKKPauseChgRsvClConstCC.MSKM_DTL_NO);			// リクエストパラメータ.申込明細番号
		String tmpOpeDate        = (String)resultHash.get(OPEDATE_KEY);								// 運用日

		//↓↓↓2012-11-07追加　IT2-2012-0001632 バッチから起動時に機能コードが取得できない↓↓↓
		trgtMap.put(JCMConstants.FUNC_CODE_KEY, JPCModelConstant.FUNC_CD_1);
		//↑↑↑2012-11-07追加　IT2-2012-0001632 バッチから起動時に機能コードが取得できない↑↑↑

		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
		//ANK-3987-00-00 ADD START
		// 料金コースコード
		String pcrs_cd  = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.PCRS_CD);
		// サービスコード
		String svc_cd  = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD);
		//ANK-3987-00-00 ADD END

		String tmpSvcKeiStat = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT);
		String tmpUpdDtm     = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.LAST_UPD_DTM);

		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		// サービス契約休止年月日＝運用日の場合                                  //
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		if (svc_pause_ymd.compareTo(tmpOpeDate) == 0)
		{
// ▼▼▼▼▼ 2013/08/02 停止中からの休止への状態遷移はなし DEL START ▼▼▼▼▼
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(tmpSvcKeiStat))
//			{
//				// **********************************
//				// 利用停止解除処理
//				// **********************************
//				useStpRlsTran(handle, param, fixedText, resultHash);
//				tmpUpdDtm = (String)resultHash.get(UPD_DTM_BF_KEY);
//			}
// ▲▲▲▲▲ 2013/08/02 停止中からの休止への状態遷移はなし DEL E N D ▲▲▲▲▲

			// ANK-3987-00-00 ADD START
			// ***********************************
			// Netflixプレミアムオプション解約処理
			// ***********************************
			String opLastUpdDtm = dsleOpSvcKeiNetflix(handle, param, fixedText, resultHash, tmpUpdDtm, mskm_dtl_no);
			if(!JKKStringUtil.isNullEmpty(opLastUpdDtm))
			{
				tmpUpdDtm = opLastUpdDtm;
			}
			// ANK-3987-00-00 ADD END
			
			// **********************************
			// サービス契約休止変更
			// **********************************
			Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, mskm_dtl_no);
			resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));

			// **********************************
			// 進捗登録
			// **********************************
			Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, mskm_dtl_no, resultHash);

			// ANK-0035-00-0007 2012/07/19 ADD START
			// **********************************
			// フェムトセル異動情報登録
			// **********************************
			executeFmtcelIdoInf(handle, param, inMap,  fixedText, rsltEKK1091D010);
			// ANK-0035-00-0007 2012/07/19 ADD END

			// KT1-2013-0000795_休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 START
			// **********************************
			// スマートバリュー異動情報登録
			// **********************************
			executeAddSmtvlIdoInf(handle, param, inMap, fixedText, rsltEKK1091D010);
			// KT1-2013-0000795_休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 END
			
			//ANK-3987-00-00 ADD START
			//光ネットの場合
			if("01".equals(svc_cd))
			{
				// Netflix他事業者契約異動情報登録
				executeNetflixTajgsKeiIdInf(handle, param, inMap, pcrs_cd);
			}
			//ANK-3987-00-00 ADD END
			// ANK-4592-00-00 ADD START
			// テレビの場合
			if("03".equals(svc_cd))
			{
				// スカパー鍵情報操作CC呼出
				executeSptvKeyInfPause(handle, param, inMap, (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD));
			}
			// ANK-4592-00-00 ADD END
		}
		// IT2-2012-0002052 2012/12/18 ADD START
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		// サービス契約休止年月日＜運用日                                        //
		// 　　ＡＮＤ　運用日＜サービス休止解除年月日の場合                      //
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		else if (svc_pause_ymd.compareTo(tmpOpeDate) < 0 && tmpOpeDate.compareTo(svc_pause_rls_ymd) < 0)
		{
			// IT1-2021-0000025 v52.00.02 ADD START
			// ***********************************
			// Netflixプレミアムオプション解約処理
			// ***********************************
			String opLastUpdDtm = dsleOpSvcKeiNetflix(handle, param, fixedText, resultHash, tmpUpdDtm, mskm_dtl_no);
			if(!JKKStringUtil.isNullEmpty(opLastUpdDtm))
			{
				tmpUpdDtm = opLastUpdDtm;
			}
			// IT1-2021-0000025 v52.00.02 ADD END
			
			// **********************************
			// サービス契約休止変更
			// **********************************
			Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, mskm_dtl_no);
			resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));

			// **********************************
			// 進捗登録実行処理
			// **********************************
			Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, mskm_dtl_no, resultHash);

			// **********************************
			// フェムトセル異動情報登録
			// **********************************
			executeFmtcelIdoInf(handle, param, inMap,  fixedText, rsltEKK1091D010);

			//IT1-2021-0000025 v52.00.03 ADD START
			//光ネットの場合
			if("01".equals(svc_cd))
			{
				// Netflix他事業者契約異動情報登録
				executeNetflixTajgsKeiIdInf(handle, param, inMap, pcrs_cd);
			}
			//IT1-2021-0000025 v52.00.03 ADD END
		}
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		// サービス休止解除年月日＜＝運用日の場合                                //
		// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
		else if (svc_pause_rls_ymd.compareTo(tmpOpeDate) <= 0)
		{
			// 休止・中断中の場合
			if (SVC_KEI_STAT_KYUS.equals(tmpSvcKeiStat))
			{
				// **********************************
				// 休止解除処理
				// **********************************
				// ANK-4592-00-00 MOD START
//				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, mskm_dtl_no);
				executePauseRls(handle, param, fixedText, resultHash, tmpUpdDtm, mskm_dtl_no, svc_cd);
				// ANK-4592-00-00 MOD END
			}
			else
			{
				// **********************************
				// サービス契約休止変更
				// **********************************
				Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, tmpUpdDtm, mskm_dtl_no);
				resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));

				// **********************************
				// 進捗登録実行処理
				// **********************************
				Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, mskm_dtl_no, resultHash);

				// **********************************
				// フェムトセル異動情報登録
				// **********************************
				executeFmtcelIdoInf(handle, param, inMap,  fixedText, rsltEKK1091D010);
			}
		}
		else
		{
			String errMsg = "INVALID_RETURN_MESSAGE";
			throw new SCCallException(errMsg, "0", -1);
		}
	}
	
	// ANK-3987-00-00 ADD START
	/**
	 * Netflixプレミアムオプション解約処理
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @param mskmDtlNo 申込明細番号
	 * @return void
	 * @throws Throwable 

	 */
	private String dsleOpSvcKeiNetflix(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash, String lastUpdDtm, String mskmDtlNo) throws Throwable {
		
		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
		
		String svcCd      = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD);
		String pcrsCd     = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.PCRS_CD);
		
		// サービスコードが「01:ネット」の場合
		if(JKKStrConst.CD00130_01.equals(svcCd))
		{
			// 料金コーススキーマから、Netflixの料金コースかチェックする。(他事業者バンドル区分を用いて判断)
			// 料金コース一意照会
			Map<?, ?> rsltEKK0791A010 = callEKK0791A010(handle, param, fixedText, pcrsCd);
			// 業務データの取得
			CAANMsg workEKK0791A010 = getWorkCAANMsg(rsltEKK0791A010);
			CAANMsg[] msgEKK0791A010List = workEKK0791A010.getCAANMsgList(EKK0791A010CBSMsg.EKK0791A010CBSMSG1LIST);
			CAANMsg msgEKK0791A010 = msgEKK0791A010List[0];
			// 他事業者バンドル区分
			String tajgsBundleDiv = (String)msgEKK0791A010.getString(EKK0791A010CBSMsg1List.TAJGS_BUNDLE_DIV);
			
			// 他事業者バンドル区分が「001:光ネットのNetflixパック」の場合
			if(JKKStrConst.TAJGS_BUNDLE_DIV_001.equals(JKKStringUtil.nullToBlank(tajgsBundleDiv)))
			{
				// オプションサービス契約スキーマから、契約中のNetflixプレミアムオプションが存在するか確認する。
				// オプションサービス契約照会（ＯＰサービスコード）
				Map<?, ?> rsltEKK0351B012 = callEKK0351B012(handle, param, fixedText, JKKStrConst.OP_SVC_CD_B136);
				// 業務データの取得
				CAANMsg workEKK0351B012 = getWorkCAANMsg(rsltEKK0351B012);
				CAANMsg[] msgEKK0351B012List = workEKK0351B012.getCAANMsgList(EKK0351B012CBSMsg.EKK0351B012CBSMSG1LIST);
				
				if(msgEKK0351B012List.length > 0)
				{
					CAANMsg msgEKK0351B012 = msgEKK0351B012List[0];
					
					// オプションサービス契約ステータス(Netflixプレミアムオプション)
					String opSvckeiStatNetflix = (String)msgEKK0351B012List[0].getString(EKK0351B012CBSMsg1List.OP_SVC_KEI_STAT);
					
					// ステータスに応じて解約またはキャンセルする。
					// 受付済または照査済の場合(Netflixの性質上「受付済」はありえないが一応)
					if(JKKStrConst.OP_SVC_STAT_UKETSUKEZUMI.equals(opSvckeiStatNetflix)
						|| JKKStrConst.OP_SVC_STAT_SHOSAZUMI.equals(opSvckeiStatNetflix))
					{
						// オプションサービス契約キャンセル
						Map<?, ?> rsltEKK0351C220 = callEKK0351C220(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012);
						// 進捗登録
						makeProgressOpSvcKei(handle, param, fixedText, msgEKK0351B012, mskmDtlNo);
						
						// 最終更新年月日を更新する
						CAANMsg msgEKK0351C220 = getWorkCAANMsg(rsltEKK0351C220);
						lastUpdDtm = msgEKK0351C220.getString(EKK0351C220CBSMsg.UPD_DTM);
					}
					// 締結済またはサービス提供中の場合
					else if(JKKStrConst.OP_SVC_STAT_TEIKETSUZUMI.equals(opSvckeiStatNetflix)
							|| JKKStrConst.OP_SVC_STAT_SVCTK_CHU.equals(opSvckeiStatNetflix))
					{
						// オプションサービス契約解約
						Map<?, ?> rsltEKK0351C240 = callEKK0351C240(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012);
						
						CAANMsg msgEKK0351C240 = getWorkCAANMsg(rsltEKK0351C240);
						
						// 最終更新年月日を更新する
						lastUpdDtm = msgEKK0351C240.getString(EKK0351C250CBSMsg.UPD_DTM);
						
						// オプションサービス契約解約確定
						Map<?, ?> rsltEKK0351C250 = callEKK0351C250(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012);
						
						CAANMsg msgEKK0351C250 = getWorkCAANMsg(rsltEKK0351C250);
						
						// 進捗登録
						makeProgressOpSvcKei(handle, param, fixedText, msgEKK0351B012, mskmDtlNo);
						
						// 最終更新年月日を更新する
						lastUpdDtm = msgEKK0351C250.getString(EKK0351C250CBSMsg.UPD_DTM);
					}
				}
			}
		}
		return lastUpdDtm;
	}
	// ANK-3987-00-00 ADD END
	
	/**
	 * 休止トーキ期間変更処理です。
	 * 
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @return void
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void pauseTokiPrdChgTran(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
	throws Throwable
	{
		// リクエストパラメータの取得処理
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		HashMap inMap   = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);
		String tmpMskmDtlNo = null;

		String svc_pause_rls_ymd = (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD);	// リクエストパラメータ.サービス休止解除年月日

		// 申込明細照査・後続業務依頼結果取得
		CAANMsg msgEKK0021C060 = (CAANMsg)resultHash.get("EKK0021C060");

		// 申込明細番号の取得
		if(msgEKK0021C060 != null)
		{
			tmpMskmDtlNo = msgEKK0021C060.getString(EKK0021C060CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			// 異動予約一覧照会結果取得(サービス契約休止)
			CAANMsg msgEKK1681B001_005 = (CAANMsg)resultHash.get("EKK1681B001_005");
			// 異動予約一覧照会結果取得(サービス契約休止解除)
			CAANMsg msgEKK1681B001_006 = (CAANMsg)resultHash.get("EKK1681B001_006");

			if(msgEKK1681B001_005 != null)
			{
				tmpMskmDtlNo = msgEKK1681B001_005.getString(EKK1681B001CBSMsg1List.MSKM_DTL_NO);
			}
			if(msgEKK1681B001_006 != null)
			{
				tmpMskmDtlNo = msgEKK1681B001_006.getString(EKK1681B001CBSMsg1List.MSKM_DTL_NO);
			}
		}

		// サービス契約内訳＜ｅｏ光電話＞一覧照会
		HashMap<String, Object> mapEKK0191B005 = this.mapper.editInMsgEKK0191B005(param, fixedText);
		Map<?, ?> rsltEKK0191B005 = this.scCall.run(mapEKK0191B005, handle);
		this.mapper.editResultRPEKK0191B005(rsltEKK0191B005, param, fixedText);
		errChk(rsltEKK0191B005);
		// 業務データの取得処理
		CAANMsg workEKK0191B005 = getWorkCAANMsg(rsltEKK0191B005);
		CAANMsg[] msgEKK0191B005List = workEKK0191B005.getCAANMsgList(EKK0191B005CBSMsg.EKK0191B005CBSMSG1LIST);

		for (int i = 0; i < msgEKK0191B005List.length; i++)
		{
			CAANMsg msgEKK0191B005 = msgEKK0191B005List[i];
			String itntoki_add_cd = msgEKK0191B005.getString(EKK0191B005CBSMsg1List.DSL_PAUSE_TOKI_ADD_CD);

			// 休止トーキの場合
			if(ITNTOKI_ADD_CD_PAUSE.equals(itntoki_add_cd))
			{
				// 移転トーキ終了予定年月日
				String tntoki_end_rsv_ymd = msgEKK0191B005.getString(EKK0191B005CBSMsg1List.DSL_PAUSE_TOKI_END_RSYMD);

				// 休止トーキ変更対象の場合
				//    リクエストパラメータ.サービス休止解除年月日 ＜ サービス契約内訳＜ｅｏ光電話＞.移転トーキ終了予定年月日
				if(svc_pause_rls_ymd.compareTo(tntoki_end_rsv_ymd) < 0)
				{
					// サービス契約内訳＜eo光電話＞一意照会
					HashMap<String, Object> mapEKK0191A010 = this.mapper.editInMsgEKK0191A010(param, fixedText, msgEKK0191B005);
					Map<?, ?> rsltEKK0191A010 = this.scCall.run(mapEKK0191A010, handle);
					this.mapper.editResultRPEKK0191A010(rsltEKK0191A010, param, fixedText);
					errChk(rsltEKK0191A010);
					// 業務データの取得
					CAANMsg workEKK0191A010 = getWorkCAANMsg(rsltEKK0191A010);
					CAANMsg msgEKK0191A010 = workEKK0191A010.getCAANMsgList(EKK0191A010CBSMsg.EKK0191A010CBSMSG1LIST)[0];

					// サービス契約内訳＜eo光電話＞移転トーキ設定
					HashMap<String, Object> mapEKK0191C011 = this.mapper.editInMsgEKK0191C011(param, fixedText, msgEKK0191A010, tmpMskmDtlNo);
					Map<?, ?> rsltEKK0191C011 = this.scCall.run(mapEKK0191C011, handle);
					this.mapper.editResultRPEKK0191C011(rsltEKK0191C011, param, fixedText);
					errChk(rsltEKK0191C011);
				}
			}
		}
	}

// ▼▼▼▼▼ 2013/08/02 停止中からの休止への状態遷移はなし DEL START ▼▼▼▼▼
//	/**
//	 * 利用停止処理です。
//	 * 
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
//	 * @param fixedText ユーザ任意文字列
//	 * @param resultHash 結果ハッシュ
//	 * @return void
//	 * @throws Throwable 
//	 */
//	private void useStpTran(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
//	throws Throwable
//	{
//		// サブオプションサービス契約一覧照会リスト
//		ArrayList<CAANMsg> eKK0401B001Array = new ArrayList<CAANMsg>();
//
//		// サービス契約一意照会実行処理
//		Map<?, ?> rsltEKK0081A010 = callEKK0081A010(handle, param, fixedText);
//		// 業務データの取得
//		CAANMsg workEKK0081A010 = getWorkCAANMsg(rsltEKK0081A010);
//		CAANMsg[] msgEKK0081A010List = workEKK0081A010.getCAANMsgList(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
//		CAANMsg msgEKK0081A010 = msgEKK0081A010List[0];
//
//		// サービス契約ステータス
//		String tmpSvcKeiStat = (String)msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT);
//
//		// サービス契約内訳一覧照会
//		Map<?, ?> rsltEKK0161B004 = callEKK0161B004(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0161B004 = getWorkCAANMsg(rsltEKK0161B004);
//		CAANMsg[] msgEKK0161B004List = workEKK0161B004.getCAANMsgList(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST);
//
//		// オプションサービス契約一覧照会（サービス契約番号）
//		Map<?, ?> rsltEKK0351B002 = callEKK0351B002(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0351B002 = getWorkCAANMsg(rsltEKK0351B002);
//		CAANMsg[] msgEKK0351B002List = workEKK0351B002.getCAANMsgList(EKK0351B002CBSMsg.EKK0351B002CBSMSG1LIST);
//
//		for (int i = 0; i < msgEKK0351B002List.length; i++)
//		{
//			CAANMsg msgEKK0351B002 = msgEKK0351B002List[i];
//
//			// サブオプションサービス契約一覧照会
//			Map<?, ?> rsltEKK0401B001 = callEKK0401B001(handle, param, fixedText, msgEKK0351B002);
//			// 業務データの取得処理
//			CAANMsg workEKK0401B001 = getWorkCAANMsg(rsltEKK0401B001);
//			CAANMsg[] msgEKK0401B001List = workEKK0401B001.getCAANMsgList(EKK0401B001CBSMsg.EKK0401B001CBSMSG1LIST);
//
//			for(int j = 0; j < msgEKK0401B001List.length; j++)
//			{
//				// サブオプションサービス契約一覧照会リスト追加
//				eKK0401B001Array.add(msgEKK0401B001List[j]);
//			}
//		}
//
//		// 解約済以外機器提供サービス契約一覧照会（サービス契約番号）
//		Map<?, ?> rsltEKK0341B011 = callEKK0341B011(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0341B011 = getWorkCAANMsg(rsltEKK0341B011);
//		CAANMsg[] msgEKK0341B011List = workEKK0341B011.getCAANMsgList(EKK0341B011CBSMsg.EKK0341B011CBSMSG1LIST);
//
//		// 請求オプションサービス契約一覧照会
//		Map<?, ?> rsltEKK0441B001 = callEKK0441B001(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0441B001 = getWorkCAANMsg(rsltEKK0441B001);
//		CAANMsg[] msgEKK0441B001List = workEKK0441B001.getCAANMsgList(EKK0441B001CBSMsg.EKK0441B001CBSMSG1LIST);
//
//		for (int i = 0; i < msgEKK0441B001List.length; i++)
//		{
//			CAANMsg msgEKK0441B001 = msgEKK0441B001List[i];
//
//			// 請求オプションサービス契約一意照会
//			Map<?, ?> rsltEKK0441A010 = callEKK0441A010(handle, param, fixedText, msgEKK0441B001);
//			// 業務データの取得
//			CAANMsg workEKK0441A010 = getWorkCAANMsg(rsltEKK0441A010);
//			CAANMsg msgEKK0441A010  = workEKK0441A010.getCAANMsgList(EKK0441A010CBSMsg.EKK0441A010CBSMSG1LIST)[0];
//
//			// 請求オプションサービス契約ステータス
//			String seiopsvc_kei_stat = msgEKK0441A010.getString(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_STAT);
//
//			// サービス提供中の場合
//			if(SVC_KEI_STAT_TKC.equals(seiopsvc_kei_stat))
//			{
//				// 請求オプションサービス契約停止
//				callEKK0441C080(handle, param, fixedText, msgEKK0441A010);
//			}
//		}
//
//		// 解約済以外機器提供サービス契約一覧照会（サービス契約番号）リスト数分ループ
//		for(int i = 0; i < msgEKK0341B011List.length; i++)
//		{
//			CAANMsg msgEKK0341B011 = msgEKK0341B011List[i];
//
//			// 機器提供サービス契約一意照会
//			Map<?, ?> rsltEKK0341A010 = callEKK0341A010(handle, param, fixedText, msgEKK0341B011);
//			// 業務データの取得
//			CAANMsg workEKK0341A010 = getWorkCAANMsg(rsltEKK0341A010);
//			CAANMsg msgEKK0341A010  = workEKK0341A010.getCAANMsgList(EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST)[0];
//
//			// 機器提供サービス契約ステータス
//			String kktk_svc_kei_stat = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_STAT);
//
//			// サービス提供中の場合
//			if(SVC_KEI_STAT_TKC.equals(kktk_svc_kei_stat))
//			{
//				// 機器提供サービス契約停止
//				callEKK0341C120(handle, param, fixedText, msgEKK0341A010);
//			}
//		}
//
//		// サブオプションサービス契約一覧照会リスト数分ループ
//		for(int i = 0; i < eKK0401B001Array.size(); i++)
//		{
//			CAANMsg msgEKK0401B001 = eKK0401B001Array.get(i);
//
//			// サブオプションサービス契約ステータス
//			String sbop_svc_kei_stat = msgEKK0401B001.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_STAT);
//
//			// サービス提供中の場合
//			if(SVC_KEI_STAT_TKC.equals(sbop_svc_kei_stat))
//			{
//				// サブオプションサービス契約停止
//				callEKK0401C040(handle, param, fixedText, msgEKK0401B001);
//			}
//		}
//
//		// オプションサービス契約一覧照会（サービス契約番号）リスト数分ループ
//		for (int i = 0; i < msgEKK0351B002List.length; i++)
//		{
//			CAANMsg msgEKK0351B002 = msgEKK0351B002List[i];
//
//			// オプションサービス契約ステータス
//			String op_svc_kei_stat = msgEKK0351B002.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT);
//
//			// サービス提供中の場合
//			if(SVC_KEI_STAT_TKC.equals(op_svc_kei_stat))
//			{
//				// オプションサービス契約停止
//				callEKK0351C040(handle, param, fixedText, msgEKK0351B002);
//			}
//		}
//
//		// サービス契約内訳一覧照会リスト数分ループ
//		for (int i = 0; i < msgEKK0161B004List.length; i++)
//		{
//			CAANMsg msgEKK0161B004 = msgEKK0161B004List[i];
//
//			// サービス契約内訳ステータス
//			String svc_kei_ucwk_stat = (String)msgEKK0161B004.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT);
//
//			// サービス提供中の場合
//			if(SVC_KEI_STAT_TKC.equals(svc_kei_ucwk_stat))
//			{
//				// サービス契約内訳停止
//				callEKK0161C040(handle, param, fixedText, msgEKK0161B004);
//			}
//		}
//
//		// サービス提供中の場合
//		if(SVC_KEI_STAT_TKC.equals(tmpSvcKeiStat))
//		{
//			// サービス契約停止
//			callEKK0081C050(handle, param, fixedText, msgEKK0081A010);
//		}
//	}
//
//	/**
//	 * 利用停止解除処理です。
//	 * 
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
//	 * @param fixedText ユーザ任意文字列
//	 * @param resultHash 結果ハッシュ
//	 * @return void
//	 * @throws Throwable 
//	 */
//	private void useStpRlsTran(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> resultHash)
//	throws Throwable
//	{
//		// サブオプションサービス契約一覧照会リスト
//		ArrayList<CAANMsg> eKK0401B001Array = new ArrayList<CAANMsg>();
//
//		// サービス契約一意照会結果取得
//		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);
//
//		// サービス契約内訳一覧照会
//		Map<?, ?> rsltEKK0161B004 = callEKK0161B004(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0161B004 = getWorkCAANMsg(rsltEKK0161B004);
//		CAANMsg[] msgEKK0161B004List = workEKK0161B004.getCAANMsgList(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST);
//
//		// オプションサービス契約一覧照会（サービス契約番号）
//		Map<?, ?> rsltEKK0351B002 = callEKK0351B002(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0351B002 = getWorkCAANMsg(rsltEKK0351B002);
//		CAANMsg[] msgEKK0351B002List = workEKK0351B002.getCAANMsgList(EKK0351B002CBSMsg.EKK0351B002CBSMSG1LIST);
//
//		for (int i = 0; i < msgEKK0351B002List.length; i++)
//		{
//			// オプションサービス契約一覧（サービス契約番号）照会リスト追加
//			CAANMsg msgEKK0351B002 = msgEKK0351B002List[i];
//
//			// サブオプションサービス契約一覧照会
//			Map<?, ?> rsltEKK0401B001 = callEKK0401B001(handle, param, fixedText, msgEKK0351B002);
//			// 業務データの取得処理
//			CAANMsg workEKK0401B001 = getWorkCAANMsg(rsltEKK0401B001);
//			CAANMsg[] msgEKK0401B001List = workEKK0401B001.getCAANMsgList(EKK0401B001CBSMsg.EKK0401B001CBSMSG1LIST);
//
//			for(int j = 0; j < msgEKK0401B001List.length; j++)
//			{
//				// サブオプションサービス契約一覧照会リスト追加
//				eKK0401B001Array.add(msgEKK0401B001List[j]);
//			}
//		}
//
//		// 解約済以外機器提供サービス契約一覧照会（サービス契約番号）
//		Map<?, ?> rsltEKK0341B011 = callEKK0341B011(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0341B011 = getWorkCAANMsg(rsltEKK0341B011);
//		CAANMsg[] msgEKK0341B011List = workEKK0341B011.getCAANMsgList(EKK0341B011CBSMsg.EKK0341B011CBSMSG1LIST);
//
//		// 請求オプションサービス契約一覧照会
//		Map<?, ?> rsltEKK0441B001 = callEKK0441B001(handle, param, fixedText);
//		// 業務データの取得処理
//		CAANMsg workEKK0441B001 = getWorkCAANMsg(rsltEKK0441B001);
//		CAANMsg[] msgEKK0441B001List = workEKK0441B001.getCAANMsgList(EKK0441B001CBSMsg.EKK0441B001CBSMSG1LIST);
//
//		for (int i = 0; i < msgEKK0441B001List.length; i++)
//		{
//			CAANMsg msgEKK0441B001 = msgEKK0441B001List[i];
//
//			// 請求オプションサービス契約一意照会
//			Map<?, ?> rsltEKK0441A010 = callEKK0441A010(handle, param, fixedText, msgEKK0441B001);
//			// 業務データの取得
//			CAANMsg workEKK0441A010 = getWorkCAANMsg(rsltEKK0441A010);
//			CAANMsg msgEKK0441A010  = workEKK0441A010.getCAANMsgList(EKK0441A010CBSMsg.EKK0441A010CBSMSG1LIST)[0];
//
//			// 請求オプションサービス契約ステータス
//			String seiopsvc_kei_stat = msgEKK0441A010.getString(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_STAT);
//
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(seiopsvc_kei_stat))
//			{
//				// 請求オプションサービス契約停止解除
//				callEKK0441C090(handle, param, fixedText, msgEKK0441A010);
//			}
//		}
//
//		// 解約済以外機器提供サービス契約一覧照会（サービス契約番号）リスト数分ループ
//		for(int i = 0; i < msgEKK0341B011List.length; i++)
//		{
//			CAANMsg msgEKK0341B011 = msgEKK0341B011List[i];
//
//			// 機器提供サービス契約一意照会
//			Map<?, ?> rsltEKK0341A010 = callEKK0341A010(handle, param, fixedText, msgEKK0341B011);
//			// 業務データの取得
//			CAANMsg workEKK0341A010 = getWorkCAANMsg(rsltEKK0341A010);
//			CAANMsg msgEKK0341A010  = workEKK0341A010.getCAANMsgList(EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST)[0];
//
//			// 機器提供サービス契約ステータス
//			String kktk_svc_kei_stat = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_STAT);
//
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(kktk_svc_kei_stat))
//			{
//				// 機器提供サービス契約停止解除
//				callEKK0341C130(handle, param, fixedText, msgEKK0341A010);
//			}
//		}
//
//		for(int i = 0; i < eKK0401B001Array.size(); i++)
//		{
//			// サブオプションサービス契約一覧照会リスト追加
//			CAANMsg msgEKK0401B001 = eKK0401B001Array.get(i);
//
//			// サブオプションサービス契約ステータス
//			String sbop_svc_kei_stat = msgEKK0401B001.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_STAT);
//
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(sbop_svc_kei_stat))
//			{
//				// サブオプションサービス契約停止解除
//				callEKK0401C050(handle, param, fixedText, msgEKK0401B001);
//			}
//		}
//
//		for (int i = 0; i < msgEKK0351B002List.length; i++)
//		{
//			// オプションサービス契約一覧（サービス契約番号）照会リスト追加
//			CAANMsg msgEKK0351B002 = msgEKK0351B002List[i];
//
//			// オプションサービス契約ステータス
//			String op_svc_kei_stat = msgEKK0351B002.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT);
//
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(op_svc_kei_stat))
//			{
//				// オプションサービス契約停止解除
//				callEKK0351C050(handle, param, fixedText, msgEKK0351B002);
//			}
//		}
//
//		for(int i = 0; i < msgEKK0161B004List.length; i++)
//		{
//			CAANMsg msgEKK0161B004 = msgEKK0161B004List[i];
//
//			// サービス契約内訳ステータス
//			String svc_kei_ucwk_stat = msgEKK0161B004.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT);
//
//			// 停止中の場合
//			if(SVC_KEI_STAT_STP.equals(svc_kei_ucwk_stat))
//			{
//				// サービス契約内訳停止解除
//				callEKK0161C050(handle, param, fixedText, msgEKK0161B004);
//			}
//		}
//
//		// サービス契約停止解除
//		Map<?, ?> rsltEKK0081C060 = callEKK0081C060(handle, param, fixedText, msgEKK0081A010);
//		CAANMsg msgEKK0081C060 = getWorkCAANMsg(rsltEKK0081C060);
//
//		String tmpUpdDtm = msgEKK0081C060.getString(EKK0081C060CBSMsg.UPD_DTM);
//
//		// 更新年月日時分秒（更新前）設定
//		resultHash.put(UPD_DTM_BF_KEY, tmpUpdDtm);
//	}
// ▲▲▲▲▲ 2013/08/02 停止中からの休止への状態遷移はなし DEL E N D ▲▲▲▲▲

	// 20120516 IT2-2012-0000498 START
	/**
	 * 休止解除を実行する。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param resultHash 結果ハッシュ
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void executePauseRls(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			HashMap<String, Object> resultHash,
			String updDtm,
			// ANK-4592-00-00 MOD START
//			String mskmDtlNo
			String mskmDtlNo,
			String svcCd
			// ANK-4592-00-00 MOD END
	) throws Throwable
	{
		// サービス契約休止変更
		Map<?, ?> rsltEKK0081C080 = callEKK0081C080(handle, param, fixedText, updDtm, mskmDtlNo);

		if (!isCheckMode)
		{
// ▼▼▼▼▼ 2013/08/02 停止中からの休止への状態遷移はなし DEL START ▼▼▼▼▼
//			// サービス契約一覧照会（複数指定）
//			HashMap<String, Object> mapEKK0081B014 = this.mapper.editInMsgEKK0081B014(param, fixedText);
//			Map<?, ?> rsltEKK0081B014 = this.scCall.run(mapEKK0081B014, handle);
//			this.mapper.editResultRPEKK0081B014(rsltEKK0081B014, param, fixedText);
//			errChk(rsltEKK0081B014);
//
//			// 業務データの取得処理
//			CAANMsg workEKK0081B014 = getWorkCAANMsg(rsltEKK0081B014);
//			CAANMsg[] msgEKK0081B014List = workEKK0081B014.getCAANMsgList(EKK0081B014CBSMsg.EKK0081B014CBSMSG1LIST);
//			CAANMsg msgEKK0081B014 = msgEKK0081B014List[0];
//
//			// サービス契約一覧照会（複数指定）の結果から督促ステータスを取得
//			String tokusoku_stat = msgEKK0081B014.getString(EKK0081B014CBSMsg1List.TOKUSOKU_STAT);
//
//			// 督促ステータス＝利用停止済の場合
//			if(TOKUSOKU_STAT_USESTPZM.equals(tokusoku_stat))
//			{
//				// 利用停止処理
//				useStpTran(handle, param, fixedText, resultHash);
//			}
// ▲▲▲▲▲ 2013/08/02 停止中からの休止への状態遷移はなし DEL E N D ▲▲▲▲▲

			// 進捗登録実行処理
			resultHash.put(RESULT_HASH_KEY_EKK0081C080, getWorkCAANMsg(rsltEKK0081C080));
			Map<?, ?> rsltEKK1091D010 = makeProgress(handle, param, fixedText, mskmDtlNo, resultHash);

			// ANK-0035-00-0007 2012/07/19 ADD START
			// フェムトセル異動情報登録
			// ユーザデータ情報
			HashMap<String, Object> trgtMap = (HashMap<String, Object>)param.getData(fixedText);
			// 休止受付マップ取得
			HashMap<String, Object> inMap = (HashMap<String, Object>)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);
			executeFmtcelIdoInf(handle, param, inMap,  fixedText, rsltEKK1091D010);
			// ANK-0035-00-0007 2012/07/19 ADD END
			// ANK-4592-00-00 ADD START
			// スカパー鍵情報操作CC呼出
			executeSptvKeyInfPauseRls(handle, param, inMap, (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD));
			// ANK-4592-00-00 ADD END
		}
	}
	// 20120516 IT2-2012-0000498 END


	/**
	 * 進捗登録をします
	 * 
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @param mskmDtlNo
	 * @param resultHash
	 * @return
	 * @throws Throwable
	 * @since 2012-11-29 ロット２IT1-2012-0002219（進捗の作り方がおかしい）
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> makeProgress(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String mskmDtlNo,
			HashMap<String, Object> resultHash
	) throws Throwable
	{
		// ユーザデータ情報
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		// 休止受付マップ取得
		HashMap inMap   = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);

		// サービス契約一意照会結果取得
		CAANMsg msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010);

		// 処理前のサービス契約ステータス
		String lastStat = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT);

		// 休止変更後のサービス契約ステータス
		String newStat = new String(lastStat);
		CAANMsg msgEKK0081C080 = (CAANMsg)resultHash.get(RESULT_HASH_KEY_EKK0081C080);
		if (null != msgEKK0081C080 && !msgEKK0081C080.isNull(EKK0081C080CBSMsg.SVC_KEI_STAT))
		{
			newStat = msgEKK0081C080.getString(EKK0081C080CBSMsg.SVC_KEI_STAT);
		}

		// 進捗ステータス・リスト
		ArrayList<String> prgStatList = new ArrayList<String>();

		// 起動元コードがオンラインの場合、「休止受付変更登録完了」を付ける
		// バッチ起動（異動予約反映）では、休止開始／休止解除のみなので、変更登録は無いため
		String kido_cd = (String)inMap.get(JKKPauseChgRsvClConstCC.KIDO_CD);
		if(JKKPauseChgRsvClCC.KIDO_CD_ONLINE.equals(kido_cd))
		{
			prgStatList.add("1932");
		}

		// サービス契約ステータスが変わっている場合
		if (!lastStat.equals(newStat))
		{
			// 休止・中断中になっているなら（サービス休止開始日が運用日当日の場合）
			if (!SVC_KEI_STAT_KYUS.equals(lastStat) && SVC_KEI_STAT_KYUS.equals(newStat))
			{
				prgStatList.add("2401");			// 進捗ステータス(休止開始完了)
			}
			// 休止・中断中でないなら（サービス休止解除年月日＝運用日の場合）
			else if (SVC_KEI_STAT_KYUS.equals(lastStat) && !SVC_KEI_STAT_KYUS.equals(newStat))
			{
				prgStatList.add("2402");			// 進捗ステータス(休止解除完了)
			}
		}

		// ▼▼▼▼▼ 2013/07/29 UPD START ▼▼▼▼▼
		// 進捗異動日時取得
		// ※進捗異動日時が取得できるのは、
		//   異動予約反映から実行された場合のみ
		String prgIdoDtm = (String)inMap.get(JKKDslRunConstCC.PRG_IDO_DTM);
		if (prgIdoDtm == null || "".equals(prgIdoDtm))
		{
			// 取得できない場合は、実日付
			prgIdoDtm = JKKBpCommon.getSysDateTimeStamp();
		}
		// ▲▲▲▲▲ 2013/07/29 UPD E N D ▲▲▲▲▲

		Map<?, ?> rsltEKK1091D010 = null;
		for (int i = 0; i < prgStatList.size(); i ++)
		{
			// 進捗登録用マップ編集
			HashMap<String, Object> mapEKK1091D010 = this.mapper.editInMsgEKK1091D010(
					param,
					fixedText,
					mskmDtlNo,
					prgStatList.get(i),
					prgIdoDtm,
					resultHash
			);

			// 進捗登録
			rsltEKK1091D010 = this.scCall.run(mapEKK1091D010, handle);
			this.mapper.editResultRPEKK1091D010(rsltEKK1091D010, param, fixedText);
			errChk(rsltEKK1091D010);
		}

		// フェムトセル・スマートバリュー異動登録用に最後の結果を連携する
		return rsltEKK1091D010;
	}

	// ANK-3987-00-00 ADD START
	/**
	 * 進捗を登録します
	 * 
	 * @param	handle			セッションハンドル
	 * @param	param			リクエストパラメータ
	 * @param	fixedText		マップキー文字列
	 * @param	rsltEKK0081C070	サービス契約休止受付S-IFの実行結果
	 * @param	tmpMskmDtlNo	申込明細番号
	 * @param	idoDtm			異動日時
	 * @throws	Throwable		任意の例外
	 */
	@SuppressWarnings("unchecked")
	private void makeProgressOpSvcKei(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			CAANMsg msgEKK0351B002,
			String tmpMskmDtlNo
	) throws Throwable
	{
		// ユーザデータ情報
		HashMap trgtMap = (HashMap)param.getData(fixedText);
		// 休止受付マップ取得
		HashMap inMap   = (HashMap)trgtMap.get(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP);
		
		String prgStat = "5102";		// 5102:オプション設定完了
		// 進捗異動日時取得
		// ※進捗異動日時が取得できるのは、
		//   異動予約反映から実行された場合のみ
		String prgIdoDtm = (String)inMap.get(JKKDslRunConstCC.PRG_IDO_DTM);
		if (prgIdoDtm == null || "".equals(prgIdoDtm))
		{
			// 取得できない場合は、実日付
			prgIdoDtm = JKKBpCommon.getSysDateTimeStamp();
		}
		// 進捗登録実行処理
		Map<?, ?> rsltEKK1091D010 = callEKK1091D010OpSvcKei(handle, param, fixedText, prgStat, prgIdoDtm, tmpMskmDtlNo, msgEKK0351B002);
	}
	// ANK-3987-00-00 ADD END

	/**
	 * SOD CC実行処理
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param requestParam リクエストパラメータ
	 * @param resultHash 結果のハッシュ
	 * @param hakkoSodIdoDiv SOD発行用異動区分
	 * @return リターンコード
	 * @throws Throwable
	 */
	
	@SuppressWarnings("unchecked")
	private int executeHakkoSodCC(
			SessionHandle handle, 
			IRequestParameterReadWrite param, 
			CAANMsg msgEKK0081A010,
			CAANMsg[] msgEKK0161B004List 
			// 20130526 KT1-2013-0000606 SOD発行用異動区分を追加 ADD START
			, String hakkoSodIdoDiv
			// 20130526 KT1-2013-0000606 SOD発行用異動区分を追加 ADD END
	) throws Throwable
	{

		HashMap<String, Object> sod_map = new HashMap<String, Object>();		//SODマップ
		ArrayList<Object> trgt_data_list = new ArrayList<Object>();								//対象データリスト
		
		HashMap<String, Object> sod_kihon_info_Map = new HashMap<String, Object>();		//SOD基本情報マップ
		HashMap<String, Object> svc_kei_info_Map = new HashMap<String, Object>();		//サービス契約情報マップ
		HashMap<String, Object> svc_kei_ucwk_info_Map = new HashMap<String, Object>();	//サービス契約内訳情報マップ
		
		// SOD用データ作成
		String workFixedText = "HakkoSODCC";
		boolean workHakkoSODDataKeyFlg = createUserData(param, workFixedText);
		
		JKKHakkoSODCC hakkoSODCC = new JKKHakkoSODCC();
		
		// ユーザデータ情報
		HashMap outMap = (HashMap)param.getData(workFixedText);
		
		
		for(int i = 0; i < msgEKK0161B004List.length; i++)
		{
			CAANMsg msgEKK0161B004 = msgEKK0161B004List[i];
			
			// OM-2013-0001508 異動予約反映からの休止開始時にFTTH認証・一時停止とSIP・一時停止オーダが登録されない 2013/09/04 START
			if (JKKStrConst.CD00576_PAUSE_CHG_RSV_CL.equals(hakkoSodIdoDiv))
			{
//↓↓↓2013-07-31追加　ＳＯＤ品向障害No.38対応（解約済のサービス契約内訳を使って不要なＳＯＤを出している）↓↓↓
				//休止解除後のサービス契約内訳ステータスが停止中でもサービス提供中でもないならスルー
				String svcKeiUcwkStat = msgEKK0161B004.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_STAT);
				if (!SVC_KEI_STAT_TKC.equals(svcKeiUcwkStat) && !SVC_KEI_STAT_STP.equals(svcKeiUcwkStat))
				{
					continue;
				}
//↑↑↑2013-07-31追加　ＳＯＤ品向障害No.38対応（解約済のサービス契約内訳を使って不要なＳＯＤを出している）↑↑↑
			}
			// OM-2013-0001508 異動予約反映からの休止開始時にFTTH認証・一時停止とSIP・一時停止オーダが登録されない 2013/09/04 END
			
			//----- SOD基本情報マップ設定 -----
			sod_kihon_info_Map = new HashMap<String, Object>();
			//異動区分：休止変更・解除
			// 20130526 KT1-2013-0000606 SOD発行用異動区分に変更 MOD START
//			sod_kihon_info_Map.put("ido_div", "00025");
			sod_kihon_info_Map.put("ido_div", hakkoSodIdoDiv);
			// 20130526 KT1-2013-0000606 SOD発行用異動区分に変更 MOD END
			//SYSID
			sod_kihon_info_Map.put("sysid", msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SYSID));
			//----- サービス契約情報マップ設定 -----
			svc_kei_info_Map = new HashMap<String, Object>();
			//サービス契約番号
			svc_kei_info_Map.put("svc_kei_no", msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO));
			//----- サービス契約内訳情報マップ設定 -----
			svc_kei_ucwk_info_Map = new HashMap<String, Object>();
			//サービス契約内訳番号
			svc_kei_ucwk_info_Map.put("svc_kei_ucwk_no", msgEKK0161B004.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));
			//変更後サービス契約内訳世代登録年月日時分秒
			svc_kei_ucwk_info_Map.put("chaf_svc_kei_ucwk_gene_add_dtm", msgEKK0161B004.getString(EKK0081A010CBSMsg1List.GENE_ADD_DTM));
			//----- SODマップ設定 -----
			sod_map = new HashMap<String, Object>();
			sod_map.put("sod_kihon_info",sod_kihon_info_Map);
			sod_map.put("svc_kei_info",svc_kei_info_Map);
			sod_map.put("svc_kei_ucwk_info",svc_kei_ucwk_info_Map);
			trgt_data_list.add(sod_map);
		}

		
		outMap.put("func_code", JPCModelConstant.FUNC_CD_1);
		outMap.put("trgt_data_list", trgt_data_list);		
		
		hakkoSODCC.hakkoSOD(handle, param, workFixedText);
		
		
		if (workHakkoSODDataKeyFlg)
		{
			param.removeData(workFixedText);
		}
		
		return 0;
	}
	
	/**
	 * 業務データの取得処理です。
	 * <br>
	 * @param workMapKey 業務データのマップキー
	 * @param rslt SVIFの実行結果データ
	 * @return 業務データ
	 */
	private CAANMsg getWorkCAANMsg(Map<?, ?> rslt)
	{
		CAANMsg[] templates = (CAANMsg[])rslt.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		return parentTemplate;
	}

	/**
	 * エラーチェック処理です。
	 * <br>
	 * @param msgList サービスインタフェース実行結果
	 * return void
	 * @throws SCCallException 
	 */
	private void errChk(Map<?, ?> msgList) 
	throws SCCallException
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Integer returnCode = (Integer)msgList.get(JCMConstants.RET_CD_INT_KEY);

		// ステータス
		int templateStatus = template.getInt(EKK0081A010CBSMsg.STATUS);

		if ((0 != returnCode.intValue()) || (0 != templateStatus))
		{
			String errMsg = "INVALID_RETURN_MESSAGE";
			throw new SCCallException(errMsg, String.valueOf(returnCode), templateStatus);
		}
	}
	
	/**
	 * ユーザ定義文字列がユーザ情報になければデータを作成します。
	 * <br>
	 * @param param 業務データ取得用I/F
	 * @param workMapKey 業務データのマップキー
	 * @return true：作成した　False：存在していたため作成不要
	 * @throws RequestParameterException 
	 */
	private boolean createUserData(IRequestParameterReadWrite param, String workMapKey) 
	throws RequestParameterException
	{
		if (param.getData(workMapKey) == null)
		{
			param.setData(workMapKey, new HashMap<String, Object>());
			return true;
		}

		return false;
	}
	
	/**
	 * オブジェクトに値が設定されているか判定する
	 * 
	 * @param arg0 判定するオブジェクト
	 * @return オブジェクトに値が設定されていない場合はtrue
	 */
	private boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}

	// 2012-08-01 ANK-0035-00-00 START
	/**
	 * フェムトセル異動情報登録を呼び出す
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param inMap 休止受付マップ
	 * @param fixedText ユーザ任意文字列
	 * @param rsltMap 進捗登録サービスIF戻りマップ
	 * @throws Throwable
	 */
	private void executeFmtcelIdoInf(SessionHandle handle, IRequestParameterReadWrite param, HashMap inMap,
			String fixedText, Map<?, ?> rsltMap) throws Throwable
	{

		// フェムトセル異動情報登録のパラメータを設定
		HashMap<String, Object> trgtData = new HashMap<String, Object>();
		// サービス契約番号 ← 対象データマップ.休止受付マップ.サービス契約番号
		trgtData.put(JKKFmtcelIdoInfAddConstCC.SVC_KEI_NO, inMap.get(JKKPauseChgRsvClConstCC.SVC_KEI_NO));
		// 進捗進捗登録年月日時分秒 ← 進捗登録サービスIF戻り.進捗進捗登録年月日時分秒
		CAANMsg workEKK1091D010 = getWorkCAANMsg(rsltMap);
		trgtData.put(JKKFmtcelIdoInfAddConstCC.PRG_DTM, workEKK1091D010.getString(EKK1091D010CBSMsg.PRG_DTM));
// ▼▼▼▼▼ OM-2014-0003927 2014/12/24 MOD START ▼▼▼▼▼
		// フェムトセル異動通知に引き渡す異動区分については休止MAPより取得して引き渡すように改修
		//		// 異動区分 ← 00025（休止変更・予約取消）
//		trgtData.put(JKKFmtcelIdoInfAddConstCC.IDO_DIV, JKKStrConst.CD00576_PAUSE_CHG_RSV_CL);
		
		// 異動区分
		trgtData.put(JKKFmtcelIdoInfAddConstCC.IDO_DIV, inMap.get(JKKPauseChgRsvClConstCC.IDO_DIV));
// ▲▲▲▲▲ OM-2014-0003927 2014/12/24 MOD END ▲▲▲▲▲
		
		// フェムトセル異動詳細コード ← 00:初期値
		trgtData.put(JKKFmtcelIdoInfAddConstCC.FMTCEL_IDO_DTL_CD, JKKStrConst.CD01420_SHKV);

		JKKBpCommon.addFmtcelIdoInf(handle, param, trgtData, fixedText);
	}
	// 2012-08-01 ANK-0035-00-00 END

	// KT1-2013-0000795 休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 START
	/**
	 * スマートバリュー異動情報登録を呼び出す
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param inMap 休止受付マップ
	 * @param fixedText ユーザ任意文字列
	 * @param rsltMap 進捗登録サービスIF戻りマップ
	 * @throws Throwable
	 */
	private void executeAddSmtvlIdoInf(SessionHandle handle, IRequestParameterReadWrite param, HashMap inMap,
			String fixedText, Map<?, ?> rsltMap) throws Throwable
	{
		// スマートバリュー異動情報登録のパラメータを設定
		HashMap<String, Object> trgtData = new HashMap<String, Object>();
		// サービス契約番号 ← 対象データマップ.サービス契約番号
		trgtData.put(JKKSmtvlIdoInfAddConstCC.SVC_KEI_NO, (String)inMap.get(JKKPauseChgRsvClConstCC.SVC_KEI_NO));
		// 異動区分 ← 00024（休止受付）
		trgtData.put(JKKSmtvlIdoInfAddConstCC.IDO_DIV, JKKStrConst.CD00576_PAUSE_UK);
		// 進捗ステータス ← 2401（休止開始完了）
		trgtData.put(JKKSmtvlIdoInfAddConstCC.PRG_STAT, JKKStrConst.CD00647_PAUSE_STA_FIN);
		// 進捗年月日時分秒 ← 進捗登録サービスIF戻り.進捗年月日時分秒
		CAANMsg workEKK1091D010 = getWorkCAANMsg(rsltMap);
		trgtData.put(JKKSmtvlIdoInfAddConstCC.PRG_DTM, workEKK1091D010.getString(EKK1091D010CBSMsg.PRG_DTM));

		JKKBpCommon.addSmtvlIdoInf(handle, param, trgtData, fixedText);
	}
	// KT1-2013-0000795 休止開始の異動予約反映したデータがスマートバリュー解約連携されない 2013/08/07 END

	// ▼▼▼▼▼ 2013/08/02 ADD START ▼▼▼▼▼
	private Map<?, ?> callEKK1681B001(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String idoRsvDtlCd
	) throws Throwable
	{
		// 異動予約一覧照会
		HashMap<String, Object> mapEKK1681B001 = this.mapper.editInMsgEKK1681B001(param, fixedText, idoRsvDtlCd);
		Map<?, ?> rsltEKK1681B001 = this.scCall.run(mapEKK1681B001, handle);
		this.mapper.editResultRPEKK1681B001(rsltEKK1681B001, param, fixedText);
		// エラーチェック
		errChk(rsltEKK1681B001);

		return rsltEKK1681B001;
	}

	private Map<?, ?> callEKK0081A010(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText
	) throws Throwable
	{
		// サービス契約一意照会実行処理
		HashMap<String, Object> mapEKK0081A010 = this.mapper.editInMsgEKK0081A010(param, fixedText);
		Map<?, ?> rsltEKK0081A010 = this.scCall.run(mapEKK0081A010, handle);
		this.mapper.editResultRPEKK0081A010(rsltEKK0081A010, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0081A010);

		return rsltEKK0081A010;
	}

	private Map<?, ?> callEKK0081C014(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			CAANMsg eKK0081A010Msg1
	) throws Throwable
	{
		// サービス契約業務連絡備考変更実行処理
		HashMap<String, Object> mapEKK0081C014 = this.mapper.editInMsgEKK0081C014(param, fixedText, eKK0081A010Msg1);
		Map<?, ?> rsltEKK0081C014 = this.scCall.run(mapEKK0081C014, handle);
		this.mapper.editResultRPEKK0081C014(rsltEKK0081C014, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0081C014);

		return rsltEKK0081C014;
	}

	private Map<?, ?> callEKK0161B004(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText
	) throws Throwable
	{
		HashMap<String, Object> mapEKK0161B004 = this.mapper.editInMsgEKK0161B004(param, fixedText);
		Map<?, ?> rsltEKK0161B004 = this.scCall.run(mapEKK0161B004, handle);
		this.mapper.editResultRPEKK0161B004(rsltEKK0161B004, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0161B004);

		return rsltEKK0161B004;
	}

	private Map<?, ?> callEKK0011D020(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			CAANMsg msgEKK0081A010
	) throws Throwable
	{
		// 申込内容承認登録
		HashMap<String, Object> mapEKK0011D020 = this.mapper.editInMsgEKK0011D020(param, fixedText, msgEKK0081A010);
		Map<?, ?> rsltEKK0011D020 = this.scCall.run(mapEKK0011D020, handle);
		this.mapper.editResultRPEKK0011D020(rsltEKK0011D020, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0011D020);

		return rsltEKK0011D020;
	}

	private Map<?, ?> callEKK0021C060(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			CAANMsg msgEKK0011D020
	) throws Throwable
	{
		// 申込明細照査・後続業務依頼
		HashMap<String, Object> mapEKK0021C060 = this.mapper.editInMsgEKK0021C060(param, fixedText, msgEKK0011D020);
		Map<?, ?> rsltEKK0021C060 = this.scCall.run(mapEKK0021C060, handle);
		this.mapper.editResultRPEKK0021C060(rsltEKK0021C060, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0021C060);

		return rsltEKK0021C060;
	}

	private Map<?, ?> callEKK0081C280(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			CAANMsg msgEKK0081A010,
			String tmpMskmDtlNo
	) throws Throwable
	{
		// サービス契約休止予約取消
		HashMap<String, Object> mapEKK0081C280 = this.mapper.editInMsgEKK0081C280(param, fixedText, msgEKK0081A010, tmpMskmDtlNo);
		Map<?, ?> rsltEKK0081C280 = this.scCall.run(mapEKK0081C280, handle);
		this.mapper.editResultRPEKK0081C280(rsltEKK0081C280, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0081C280);

		return rsltEKK0081C280;
	}

	private Map<?, ?> callEKK0081C080(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String tmpUpdDtm,
			String tmpMskmDtlNo
	) throws Throwable
	{
		// サービス契約休止変更
		HashMap<String, Object> mapEKK0081C080 = this.mapper.editInMsgEKK0081C080(param, fixedText, tmpUpdDtm, tmpMskmDtlNo);
		Map<?, ?> rsltEKK0081C080 = this.scCall.run(mapEKK0081C080, handle);
		this.mapper.editResultRPEKK0081C080(rsltEKK0081C080, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0081C080);

		return rsltEKK0081C080;
	}
	// ▲▲▲▲▲ 2013/08/02 ADD E N D ▲▲▲▲▲

	// ANK-3987-00-00 ADD START
	private Map<?, ?> callEKK0791A010(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String pcrsCd
	) throws Throwable
	{
		// 料金コース一意照会
		HashMap<String, Object> mapEKK0791A010 = this.mapper.editInMsgEKK0791A010(param, fixedText, pcrsCd);
		Map<?, ?> rsltEKK0791A010 = this.scCall.run(mapEKK0791A010, handle);
		this.mapper.editResultRPEKK0791A010(rsltEKK0791A010, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0791A010);

		return rsltEKK0791A010;
	}
	
	private Map<?, ?> callEKK0351B012(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String opSvcCd
	) throws Throwable
	{
		// オプションサービス契約照会（ＯＰサービスコード）
		HashMap<String, Object> mapEKK0351B012 = this.mapper.editInMsgEKK0351B012(param, fixedText, opSvcCd);
		Map<?, ?> rsltEKK0351B012 = this.scCall.run(mapEKK0351B012, handle);
		this.mapper.editResultRPEKK0351B012(rsltEKK0351B012, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0351B012);

		return rsltEKK0351B012;
	}
	
	private Map<?, ?> callEKK0351C220(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String lastUpdDtm,
			String tmpMskmDtlNo,
			CAANMsg msgEKK0351B012
	) throws Throwable
	{
		// オプションサービス契約キャンセル
		HashMap<String, Object> mapEKK0351C220 = this.mapper.editInMsgEKK0351C220(param, fixedText, lastUpdDtm, tmpMskmDtlNo, msgEKK0351B012);
		Map<?, ?> rsltEKK0351C220 = this.scCall.run(mapEKK0351C220, handle);
		this.mapper.editResultRPEKK0351C220(rsltEKK0351C220, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0351C220);

		return rsltEKK0351C220;
	}
	
	private Map<?, ?> callEKK0351C240(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String lastUpdDtm,
			String tmpMskmDtlNo,
			CAANMsg msgEKK0351B012
	) throws Throwable
	{
		// オプションサービス契約解約
		HashMap<String, Object> mapEKK0351C240 = this.mapper.editInMsgEKK0351C240(param, fixedText, lastUpdDtm, tmpMskmDtlNo, msgEKK0351B012);
		Map<?, ?> rsltEKK0351C240 = this.scCall.run(mapEKK0351C240, handle);
		this.mapper.editResultRPEKK0351C240(rsltEKK0351C240, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0351C240);

		return rsltEKK0351C240;
	}
	
	private Map<?, ?> callEKK0351C250(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String lastUpdDtm,
			String tmpMskmDtlNo,
			CAANMsg msgEKK0351B012
	) throws Throwable
	{
		// オプションサービス契約解約確定
		HashMap<String, Object> mapEKK0351C250 = this.mapper.editInMsgEKK0351C250(param, fixedText, lastUpdDtm, tmpMskmDtlNo, msgEKK0351B012);
		Map<?, ?> rsltEKK0351C250 = this.scCall.run(mapEKK0351C250, handle);
		this.mapper.editResultRPEKK0351C250(rsltEKK0351C250, param, fixedText);
		// エラーチェック
		errChk(rsltEKK0351C250);

		return rsltEKK0351C250;
	}
	
	private Map<?, ?> callEKK1091D010OpSvcKei(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			String fixedText,
			String prgStat,
			String idoDtm,
			String tmpMskmDtlNo,
			CAANMsg msgEKK0351B012
	) throws Throwable
	{
		// 進捗登録
		HashMap<String, Object> mapEKK1091D010 = this.mapper.editInMsgEKK1091D010OpSvcKei(param, fixedText, prgStat, idoDtm, tmpMskmDtlNo, msgEKK0351B012);
		Map<?, ?> rsltEKK1091D010 = this.scCall.run(mapEKK1091D010, handle);
		this.mapper.editResultRPEKK1091D010(rsltEKK1091D010, param, fixedText);
		// エラーチェック
		errChk(rsltEKK1091D010);

		return rsltEKK1091D010;
	}
	// ANK-3987-00-00 ADD END
	//ANK-3987-00-00 ADD START
	/**
	 * Netflix他事業者契約異動情報登録を呼び出す
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param inMap 休止受付マップ
	 * @param pcrs_cd 料金コースコード
	 * @throws Throwable
	 */
	private void executeNetflixTajgsKeiIdInf(SessionHandle handle, IRequestParameterReadWrite param, HashMap inMap,
			String pcrs_cd) throws Throwable
	{
		HashMap targetMap = null;

		// ユーザデータ情報
		targetMap = (HashMap)param.getData("NETFLIXCC");
		if (null == targetMap)
		{
			targetMap = new HashMap<String, Object>();
			param.setData("NETFLIXCC", targetMap);
		}
		else
		{
			targetMap.clear();
		}
		// サービス契約番号
		targetMap.put("svc_kei_no", (String)inMap.get(JKKPauseReceptConstCC.SVC_KEI_NO));
		// 処理区分
		targetMap.put("syori_kbn", "06"); // 06：休止
		// 料金コースコード
		targetMap.put("pcrs_cd", pcrs_cd); 
		
		JKKBpCommon.addNetflixTajgsKeiIdInf(handle, param, "NETFLIXCC");
	}
	//ANK-3987-00-00 ADD END

//	private Map<?, ?> callEKK0351B002(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText
//	) throws Throwable
//	{
//		// オプションサービス契約一覧照会（サービス契約番号）
//		HashMap<String, Object> mapEKK0351B002 = this.mapper.editInMsgEKK0351B002(param, fixedText);
//		Map<?, ?> rsltEKK0351B002 = this.scCall.run(mapEKK0351B002, handle);
//		this.mapper.editResultRPEKK0351B002(rsltEKK0351B002, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0351B002);
//
//		return rsltEKK0351B002;
//	}
//
//	private Map<?, ?> callEKK0401B001(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0351B002
//	) throws Throwable
//	{
//		// サブオプションサービス契約一覧照会
//		HashMap<String, Object> mapEKK0401B001 = this.mapper.editInMsgEKK0401B001(param, fixedText, msgEKK0351B002);
//		Map<?, ?> rsltEKK0401B001 = this.scCall.run(mapEKK0401B001, handle);
//		this.mapper.editResultRPEKK0401B001(rsltEKK0401B001, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0401B001);
//
//		return rsltEKK0401B001;
//	}
//
//	private Map<?, ?> callEKK0341B011(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText
//	) throws Throwable
//	{
//		// 解約済以外機器提供サービス契約一覧照会（サービス契約番号）
//		HashMap<String, Object> mapEKK0341B011 = this.mapper.editInMsgEKK0341B011(param, fixedText);
//		Map<?, ?> rsltEKK0341B011 = this.scCall.run(mapEKK0341B011, handle);
//		this.mapper.editResultRPEKK0341B011(rsltEKK0341B011, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0341B011);
//
//		return rsltEKK0341B011;
//	}
//
//	private Map<?, ?> callEKK0441B001(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText
//	) throws Throwable
//	{
//		// 請求オプションサービス契約一覧照会
//		HashMap<String, Object> mapEKK0441B001 = this.mapper.editInMsgEKK0441B001(param, fixedText);
//		Map<?, ?> rsltEKK0441B001 = this.scCall.run(mapEKK0441B001, handle);
//		this.mapper.editResultRPEKK0441B001(rsltEKK0441B001, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0441B001);
//
//		return rsltEKK0441B001;
//	}
//
//	private Map<?, ?> callEKK0441A010(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0441B001
//	) throws Throwable
//	{
//		// 請求オプションサービス契約一意照会
//		HashMap<String, Object> mapEKK0441A010 = this.mapper.editInMsgEKK0441A010(param, fixedText, msgEKK0441B001);
//		Map<?, ?> rsltEKK0441A010 = this.scCall.run(mapEKK0441A010, handle);
//		this.mapper.editResultRPEKK0441A010(rsltEKK0441A010, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0441A010);
//
//		return rsltEKK0441A010;
//	}
//
//	private Map<?, ?> callEKK0441C080(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0441A010
//	) throws Throwable
//	{
//		// 請求オプションサービス契約停止
//		HashMap<String, Object> mapEKK0441C080 = this.mapper.editInMsgEKK0441C080(param, fixedText, msgEKK0441A010);
//		Map<?, ?> rsltEKK0441C080 = this.scCall.run(mapEKK0441C080, handle);
//		this.mapper.editResultRPEKK0441C080(rsltEKK0441C080, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0441C080);
//
//		return rsltEKK0441C080;
//	}
//
//	private Map<?, ?> callEKK0341A010(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0341B011
//	) throws Throwable
//	{
//		// 機器提供サービス契約一意照会
//		HashMap<String, Object> mapEKK0341A010 = this.mapper.editInMsgEKK0341A010(param, fixedText, msgEKK0341B011);
//		Map<?, ?> rsltEKK0341A010 = this.scCall.run(mapEKK0341A010, handle);
//		this.mapper.editResultRPEKK0341A010(rsltEKK0341A010, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0341A010);
//
//		return rsltEKK0341A010;
//	}
//
//	private Map<?, ?> callEKK0341C120(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0341A010
//	) throws Throwable
//	{
//		// 機器提供サービス契約停止
//		HashMap<String, Object> mapEKK0341C120 = this.mapper.editInMsgEKK0341C120(param, fixedText, msgEKK0341A010);
//		Map<?, ?> rsltEKK0341C120 = this.scCall.run(mapEKK0341C120, handle);
//		this.mapper.editResultRPEKK0341C120(rsltEKK0341C120, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0341C120);
//
//		return rsltEKK0341C120;
//	}
//
//	private Map<?, ?> callEKK0401C040(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0401B001
//	) throws Throwable
//	{
//		// サブオプションサービス契約停止
//		HashMap<String, Object> mapEKK0401C040 = this.mapper.editInMsgEKK0401C040(param, fixedText, msgEKK0401B001);
//		Map<?, ?> rsltEKK0401C040 = this.scCall.run(mapEKK0401C040, handle);
//		this.mapper.editResultRPEKK0401C040(rsltEKK0401C040, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0401C040);
//
//		return rsltEKK0401C040;
//	}
//
//	private Map<?, ?> callEKK0351C040(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0351B002
//	) throws Throwable
//	{
//		// オプションサービス契約停止
//		HashMap<String, Object> mapEKK0351C040 = this.mapper.editInMsgEKK0351C040(param, fixedText, msgEKK0351B002);
//		Map<?, ?> rsltEKK0351C040 = this.scCall.run(mapEKK0351C040, handle);
//		this.mapper.editResultRPEKK0351C040(rsltEKK0351C040, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0351C040);
//
//		return rsltEKK0351C040;
//	}
//
//	private Map<?, ?> callEKK0161C040(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0161B004
//	) throws Throwable
//	{
//		// サービス契約内訳停止
//		HashMap<String, Object> mapEKK0161C040 = this.mapper.editInMsgEKK0161C040(param, fixedText, msgEKK0161B004);
//		Map<?, ?> rsltEKK0161C040 = this.scCall.run(mapEKK0161C040, handle);
//		this.mapper.editResultRPEKK0161C040(rsltEKK0161C040, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0161C040);
//
//		return rsltEKK0161C040;
//	}
//
//	private Map<?, ?> callEKK0081C050(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0081A010
//	) throws Throwable
//	{
//		// サービス契約停止
//		HashMap<String, Object> mapEKK0081C050 = this.mapper.editInMsgEKK0081C050(param, fixedText, msgEKK0081A010);
//		Map<?, ?> rsltEKK0081C050 = this.scCall.run(mapEKK0081C050, handle);
//		this.mapper.editResultRPEKK0081C050(rsltEKK0081C050, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0081C050);
//
//		return rsltEKK0081C050;
//	}
//
//	private Map<?, ?> callEKK0081C060(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0081A010
//	) throws Throwable
//	{
//		// サービス契約停止解除
//		HashMap<String, Object> mapEKK0081C060 = this.mapper.editInMsgEKK0081C060(param, fixedText, msgEKK0081A010);
//		Map<?, ?> rsltEKK0081C060 = this.scCall.run(mapEKK0081C060, handle);
//		this.mapper.editResultRPEKK0081C060(rsltEKK0081C060, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0081C060);
//
//		return rsltEKK0081C060;
//	}
//
//	private Map<?, ?> callEKK0161C050(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0161B004
//	) throws Throwable
//	{
//		// サービス契約内訳停止解除
//		HashMap<String, Object> mapEKK0161C050 = this.mapper.editInMsgEKK0161C050(param, fixedText, msgEKK0161B004);
//		Map<?, ?> rsltEKK0161C050 = this.scCall.run(mapEKK0161C050, handle);
//		this.mapper.editResultRPEKK0161C050(rsltEKK0161C050, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0161C050);
//
//		return rsltEKK0161C050;
//	}
//
//	private Map<?, ?> callEKK0351C050(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0351B002
//	) throws Throwable
//	{
//		// オプションサービス契約停止解除
//		HashMap<String, Object> mapEKK0351C050 = this.mapper.editInMsgEKK0351C050(param, fixedText, msgEKK0351B002);
//		Map<?, ?> rsltEKK0351C050 = this.scCall.run(mapEKK0351C050, handle);
//		this.mapper.editResultRPEKK0351C050(rsltEKK0351C050, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0351C050);
//
//		return rsltEKK0351C050;
//	}
//
//	private Map<?, ?> callEKK0441C090(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0441A010
//	) throws Throwable
//	{
//		// 請求オプションサービス契約停止解除
//		HashMap<String, Object> mapEKK0441C090 = this.mapper.editInMsgEKK0441C090(param, fixedText, msgEKK0441A010);
//		Map<?, ?> rsltEKK0441C090 = this.scCall.run(mapEKK0441C090, handle);
//		this.mapper.editResultRPEKK0441C090(rsltEKK0441C090, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0441C090);
//
//		return rsltEKK0441C090;
//	}
//
//	private Map<?, ?> callEKK0341C130(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0341A010
//	) throws Throwable
//	{
//		// 機器提供サービス契約停止解除
//		HashMap<String, Object> mapEKK0341C130 = this.mapper.editInMsgEKK0341C130(param, fixedText, msgEKK0341A010);
//		Map<?, ?> rsltEKK0341C130 = this.scCall.run(mapEKK0341C130, handle);
//		this.mapper.editResultRPEKK0341C130(rsltEKK0341C130, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0341C130);
//
//		return rsltEKK0341C130;
//	}
//
//	private Map<?, ?> callEKK0401C050(
//			SessionHandle handle,
//			IRequestParameterReadWrite param,
//			String fixedText,
//			CAANMsg msgEKK0401B001
//	) throws Throwable
//	{
//		// サブオプションサービス契約停止解除
//		HashMap<String, Object> mapEKK0401C050 = this.mapper.editInMsgEKK0401C050(param, fixedText, msgEKK0401B001);
//		Map<?, ?> rsltEKK0401C050 = this.scCall.run(mapEKK0401C050, handle);
//		this.mapper.editResultRPEKK0401C050(rsltEKK0401C050, param, fixedText);
//		// エラーチェック
//		errChk(rsltEKK0401C050);
//
//		return rsltEKK0401C050;
//	}

	// ANK-4592-00-00 ADD START
	/**
	 * スカパー鍵情報操作部品(休止)を呼び出す
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param inMap 休止受付マップ
	 * @throws Throwable
	 */
	private void executeSptvKeyInfPause(SessionHandle handle, IRequestParameterReadWrite param, HashMap inMap, String pauseYmd) throws Throwable
	{
		HashMap targetMap = new HashMap<String, Object>();
		
		// 機能コード
		targetMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		
		// 処理コード
		targetMap.put("shori_cd", SHORI_CD_DSL_STP_PAUSE);
		
		// サービス契約番号
		targetMap.put("svc_kei_no", (String)inMap.get(JKKPauseReceptConstCC.SVC_KEI_NO));
		
		// 算出元日付
		targetMap.put("snst_mt_ymd", pauseYmd);
		
		// 操作区分
		targetMap.put("ope_div", OPE_DIV_KYUSI);
		
		param.setData(CC_WORK_SPTVDSL_STP_PAUSE, targetMap);
		
		// スカパー鍵情報操作CC呼出
		JKKSptvKeyInfOperateCC JKKSptvKeyInfOperateCC = new JKKSptvKeyInfOperateCC();
		JKKSptvKeyInfOperateCC.execute(handle, param, CC_WORK_SPTVDSL_STP_PAUSE);
	}

	/**
	 * スカパー鍵情報操作部品(休止解除)を呼び出す
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param inMap 休止受付マップ
	 * @throws Throwable
	 */
	private void executeSptvKeyInfPauseRls(SessionHandle handle, IRequestParameterReadWrite param, HashMap inMap, String pauseRlsYmd) throws Throwable
	{
		HashMap targetMap = new HashMap<String, Object>();
		
		// 機能コード
		targetMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		
		// 処理コード
		targetMap.put("shori_cd", SHORI_CD_KAIHK_PAUSE_STP_RLS);
		
		// サービス契約番号
		targetMap.put("svc_kei_no", (String)inMap.get(JKKPauseReceptConstCC.SVC_KEI_NO));
		
		// 算出元日付
		targetMap.put("snst_mt_ymd", pauseRlsYmd);
		
		param.setData(CC_WORK_SPTVKAIHK_PAUSE_STP_RLS, targetMap);
		
		// スカパー鍵情報操作CC呼出
		JKKSptvKeyInfOperateCC JKKSptvKeyInfOperateCC = new JKKSptvKeyInfOperateCC();
		JKKSptvKeyInfOperateCC.execute(handle, param, CC_WORK_SPTVKAIHK_PAUSE_STP_RLS);
	}
	// ANK-4592-00-00 ADD END
}
