/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCKSV905001CC
*   ソースファイル名：JCKSV905001CC.java
*   作成者          ：富士通
*   日付            ：2012年03月08日
*＜機能概要＞
*  サービス契約識別情報一覧を取得します。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/03/08   FJ）眞方    新規作成
*   v10.00.00   2014/07/18   FJ）乾　    ANK-2135-00-00対応
*   v10.00.01   2014/08/12   FJ）乾　    ST-2014-0000138対応
*   v17.00.00   2015/07/15   FJ) 三原   【ANK-2557-00-00】PMP再構築対応
*   v17.00.01   2015/08/26   FJ) 三原   【IT2-2015-0000028】旧ICSコード変換不正対応
*   v27.00.00   2016/10/28   FJ) 川島   【ANK-3051-00-00】ガス販売代理対応（STEP1-1）
*   v29.00.00   2017/01/20   FJ) 川島   【ANK-3095-00-00】ガス販売代理対応（STEP1-2）
**********************************************************************/

package com.fujitsu.futurity.bp.custom.common;

import static eo.common.constant.JCKStrConst.*;
import static com.fujitsu.futurity.bp.custom.common.JCKPmpCommonUtil.*;
import static com.fujitsu.futurity.bp.custom.common.JCKPmpScParamHenshu.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.CKSV9050_CKSV9050OP_CKSV905001CC;
import com.fujitsu.futurity.bp.custom.constant.CKSV9050_CKSV9050OP_CKSV905001CC_data_list;
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.ICommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.CCException;
import com.fujitsu.futurity.bp.x21.sc.exception.SCException;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JCKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JCKLcsCommonUtil;
import eo.ejb.cbs.cbsmsg.EKK0081B523CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081B523CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2141B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2141B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKKA0020003CBSMsg2List;

// ANK-2557-00-00 DEL START
// import eo.ejb.cbs.cbsmsg.EZM0171A010CBSMsg;
// import eo.ejb.cbs.cbsmsg.EZM0171A010CBSMsg1List;
// ANK-2557-00-00 DEL END

/**
 * PMP連携 サービス契約識別情報照会。<br />
 * <BR>
 * @ author 富士通
 */
public class JCKSV905001CC extends AbstractCommonComponent implements ICommonComponent
{
	/** 当CCの内部でしか使わないエラーコード */
	private static final String PMP_ERR_OTHER = "OTHER";
	/** 当CCの内部でしか使わないマップキー */
	private static final String RET_RETURN_CD = "RETURN_CD";

	// ANK-2557-00-00 DEL START
	// private static final String RET_SVC_CD_OLD = "SVC_CD_OLD";
	// private static final String RET_SVC_NM_OLD = "SVC_NM_OLD";
	// private static final String RET_PPLAN_CD_OLD = "PPLAN_CD_OLD";
	// private static final String RET_PPLAN_NM_OLD = "PPLAN_NM_OLD";
	// ANK-2557-00-00 DEL END

	/**
	 * PMP連携プロバイダ請求利用設定一覧取得メイン処理。<br />
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText ユーザ定義文字列
	 * @return リクエストパラメータ
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite executeMain(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// 入力パラメータ取得
		Map inMap = (Map)param.getData(fixedText);
		String sysid = (String)inMap.get(CKSV9050_CKSV9050OP_CKSV905001CC.SYSID);

		// ANK-2557-00-00 ADD START
		// 要件11：処理区分14(識別情報取得)の場合に、入力項目「基準年月日」を追加する。
		String std_ymd = (String)inMap.get(CKSV9050_CKSV9050OP_CKSV905001CC.STD_YMD);
		// ANK-2557-00-00 ADD END

		// 返却値を初期化
		String returnCd = PMP_NORMAL_END;

		//***************************************************
		// サービス契約識別情報覧取得
		//***************************************************
		CAANMsg[] svcKeiList = null;
		CAANMsg[] tempList = null;
		List<CAANMsg> wTempList = new ArrayList<CAANMsg>();

		// ANK-2557-00-00 MOD START
		// Map result = callEKK0081B523(handle, param, "1", sysid);

		// 要件11：処理区分14(識別情報取得)の場合に、入力項目「基準年月日」を追加する。
// ANK-3051-00-00 MOD START
//		Map result = callEKK0081B523_14(handle, param, "1", sysid , std_ymd);
		String funcCd = (String)inMap.get(EKK0081B523CBSMsg.FUNC_CODE);
		Map result = callEKK0081B523_14(handle, param, funcCd, sysid , std_ymd);
// ANK-3051-00-00 MOD END
		// ANK-2557-00-00 MOD END

		if (isSuccess(result))
		{
			tempList = getResultMsgList(result, EKK0081B523CBSMsg.EKK0081B523CBSMSG1LIST);
			if ((tempList == null) || (tempList.length == 0))
			{
				returnCd = PMP_ERR_NODATA;   // データなし
			}
		}
		else
		{
			returnCd = PMP_ERR_OTHER;   // その他のエラー
		}

		//***************************************************
		// 返却データ設定
		//***************************************************
		List dataList = new ArrayList();

		// ANK-2557-00-00 DEL START
		// List<Map> oldIcsInfMapList = new ArrayList<Map>();
		// ANK-2557-00-00 DEL END

		if (PMP_NORMAL_END.equals(returnCd))
		{
			boolean changeFlg = false;
			// コース変更中のデータを除外する
			for (int i = 0; i < tempList.length; i++)
			{
				CAANMsg msgBefore = null;
				CAANMsg msgAfter  = null;
				msgBefore = tempList[i];
				
				// サービスコードがネット場合
				if (SVC_CD_NET.equals(msgBefore.getString(EKK0081B523CBSMsg1List.SVC_CD_NEW))) 
				{
					if (changeFlg) {
						changeFlg = false;
						continue;
					}
					// カーソルが最後の場合
					if (tempList.length-1 == i) {
						wTempList.add(msgBefore);
						break;
					}
					else {
						msgAfter = tempList[i+1];
					}
					
					// 次レコードがネットかつ、サービス契約番号が同じ場合、コース変更と判断
					if ((SVC_CD_NET.equals(msgAfter.getString(EKK0081B523CBSMsg1List.SVC_CD_NEW)))
							&& (msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO).equals(msgAfter.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO))))
					{
						changeFlg = true;
						// サービス契約内訳ステータスが同じ場合
						if (msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_STAT).equals(
								msgAfter.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_STAT)))
						{
							// サービス契約内訳番号が大きい方を設定
							if (Integer.valueOf(msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_NO)).intValue() <
									Integer.valueOf(msgAfter.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_NO)).intValue()) {
								wTempList.add(msgAfter);
							}
							else
							{
								wTempList.add(msgBefore);
							}
						}
						else
						{
							// サービス提供中または、休止・中断中または、停止中の場合
							if ("100".equals(msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_STAT))
									|| "210".equals(msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_STAT))
									|| "220".equals(msgBefore.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_STAT)))
							{
								wTempList.add(msgBefore);
							}
							else
							{
								wTempList.add(msgAfter);
							}
						}
					}
					else
					{
						// 別回線の場合リストに設定
						wTempList.add(msgBefore);
					}
				}
				else
				{
					// ネット以外はリストに設定
					wTempList.add(msgBefore);
				}
			}
			
			// リストを設定
			svcKeiList = wTempList.toArray(new CAANMsg[wTempList.size()]);
			
			// 同一サービスの数をカウント
			// (但し、CCASカード、電話番号などは1サービス契約で複数ある事を考慮)
			Map<String, Integer> sameSvcCdInfo = new HashMap<String, Integer>();
			Map<String, Integer> svcKeiInfo = new HashMap<String, Integer>();
			for (CAANMsg caanMsg : svcKeiList)
			{

				// ANK-2557-00-00 DEL START
				// // 旧ICSコード変換情報マップを取得
				// Map<String, String> oldIcsInfMap = getOldIcsCdMap(handle, param, caanMsg);
                // 
				// // 旧ICSコード変換情報リストにマップを格納
				// oldIcsInfMapList.add(oldIcsInfMap);
                // 
				// if (PMP_ERR_OTHER.equals(oldIcsInfMap.get(RET_RETURN_CD)))
				// {
				// 	continue;
				// }
				// ANK-2557-00-00 DEL END

				String svcKeiNo = caanMsg.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO);
				String sameSvcCd = caanMsg.getString(EKK0081B523CBSMsg1List.SAME_SVC_CD);
				if (!svcKeiInfo.containsKey(svcKeiNo))
				{
					if (!sameSvcCdInfo.containsKey(sameSvcCd))
					{
						sameSvcCdInfo.put(sameSvcCd, 0);
					}
					svcKeiInfo.put(svcKeiNo, 1);
					sameSvcCdInfo.put(sameSvcCd, sameSvcCdInfo.get(sameSvcCd) + 1);
				}
				else
				{
					svcKeiInfo.put(svcKeiNo, svcKeiInfo.get(svcKeiNo) + 1);
				}
			}

			/*
			 * 宅内SのAPIを呼び出す際のパラメータを退避しておくマップ
			 */
			// キー：識別情報リストの行番号，値：宅内機器型式コード+"\t"+機器製造番号
			Map<Integer, String> tkApiParamMap    = new HashMap<Integer, String>();
			// キー：宅内機器型式コード+"\t"+機器製造番号，値：識別情報リストの行番号
			Map<String, Integer> tkApiParamMapRev = new HashMap<String, Integer>();

			// 識別情報リストの設定
			for (int i = 0;  i < svcKeiList.length; i++)
			{

				// ANK-2557-00-00 DEL START
				// // 旧ICSコード変換情報を取得
				// Map<String, String> oldIcsInfMap = oldIcsInfMapList.get(i);
				// 
				// // 旧ICSコード変換情報が無い場合は、処理しない
				// if (PMP_ERR_OTHER.equals(oldIcsInfMap.get(RET_RETURN_CD)))
				// {
				// 	continue;
				// }
				// ANK-2557-00-00 DEL END

				CAANMsg caanMsg = svcKeiList[i];

				int sameSvcCnt = sameSvcCdInfo.get(caanMsg.getString(EKK0081B523CBSMsg1List.SAME_SVC_CD));
				
				Map recMap = new HashMap();
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_KEI_NO, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO));
				if ("0000".equals(caanMsg.getString(EKK0081B523CBSMsg1List.SEIRI_NO).substring(10)))
				{
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SEIRI_NO, caanMsg.getString(EKK0081B523CBSMsg1List.SEIRI_NO).substring(0,10) + "-0");
				}
				else
				{
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SEIRI_NO, caanMsg.getString(EKK0081B523CBSMsg1List.SEIRI_NO).substring(0,10) + "-" + caanMsg.getString(EKK0081B523CBSMsg1List.SEIRI_NO).substring(10).replaceAll("^0+",""));
				}

				// ANK-2557-00-00 DEL START
				// // ANK-2135-00-00 ADD START
				// // サービス契約番号
				// String svcKeiNo = caanMsg.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO);
                // 
				// // テレビコース名表示切替部品呼出に渡すINPUT
				// HashMap inTvMap = new HashMap();
				// inTvMap.put("key_svc_kei_no", svcKeiNo);
				// param.setData("tv_Swch", inTvMap);
                // 
				// // テレビコース名表示切替部品呼出
				// JFUBPCommon.getTvCourseDspSwch(handle, param, "tv_Swch");
                // 
				// // テレビコース名表示切替部品呼出の結果を取得
				// HashMap outMap = (HashMap) param.getData("tv_Swch");
                // 
				// //料金コースコードを取得
				// String pcrsCd  = (String)outMap.get("chbf_pcrs_cd");
                // 
				// //料金コース名称を取得
				// String pcrsNmNew  = (String)outMap.get("chbf_svc_nm");
                // 
				// //料金プランコードを取得
				// String pplanCD = (String)outMap.get("chbf_pplan_cd");
                // 
				// //料金プラン名称を取得
				// String pplanNM  = (String)outMap.get("chbf_svc_nm");
                // 
				// // ANK-2135-00-00 ADD END
				// ANK-2557-00-00 DEL END

				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SAME_SVC_DBLE_FLG, (sameSvcCnt > 1) ? "1" : "0");

				// ANK-2557-00-00 DEL START
				// recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_CD, oldIcsInfMap.get(RET_SVC_CD_OLD));
				// recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_NM, oldIcsInfMap.get(RET_SVC_NM_OLD));
				// recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD, oldIcsInfMap.get(RET_PPLAN_CD_OLD));
				// recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM, oldIcsInfMap.get(RET_PPLAN_NM_OLD));
				// ANK-2557-00-00 DEL END

				// ANK-2557-00-00 ADD START
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_CD, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_CD_OLD));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_NM, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_NM_OLD));
				// ANK-2557-00-00 ADD END

				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_CD_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_NM_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PRC_GRP_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PRC_GRP_CD_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PRC_GRP_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PRC_GRP_NM_NEW));

				// ANK-2557-00-00 DEL START
				// // ANK-2135-00-00 MOD START
				// // recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_CD_NEW));
				// // recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_NM_NEW));
				// // recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_NEW));
				// // recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_NEW));
				// if(null != pcrsCd){
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, pcrsCd);
				// }else{
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_CD_NEW));
				// }
				// if(null != pcrsNmNew){
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, pcrsNmNew);
				// }else{
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_NM_NEW));
				// }
				// if(null != pplanCD){
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, pplanCD);
				// }else{
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_NEW));
				// }
				// if(null != pplanNM){
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, pplanNM);
				// }else{
				// 	recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_NEW));
				// }
				// // ANK-2135-00-00 MOD END
				// ANK-2557-00-00 DEL END

				// ANK-2557-00-00 ADD START
				// テレビコース名表示切替
				HashMap<String, String> oldIcsInfMap = new HashMap<String, String>();
				if (!chkTvCourseDspSwch(handle, param, caanMsg, oldIcsInfMap))
				{
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_OLD));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_OLD));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_CD_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_NM_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_NEW));
				}
				else
				{
					// 旧ICSコード変換情報が無い場合は、処理しない
					if (PMP_ERR_OTHER.equals(oldIcsInfMap.get(RET_RETURN_CD)))
					{
						continue;
					}
// IT2-2015-0000028 MOD START
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_OLD));
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_OLD));
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_CD_NEW));
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PCRS_NM_NEW));
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_CD_NEW));
//					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.PPLAN_NM_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PPLAN_CD_OLD));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PPLAN_NM_OLD));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_CD_NEW, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PCRS_CD_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PCRS_NM_NEW, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PCRS_NM_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_CD_NEW, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PPLAN_CD_NEW));
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PPLAN_NM_NEW, oldIcsInfMap.get(EKK0081B523CBSMsg1List.PPLAN_NM_NEW));
// IT2-2015-0000028 MOD END
				}
				// ANK-2557-00-00 ADD END

				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.UCWK_PCRS_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.UCWK_PCRS_CD_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.UCWK_PCRS_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.UCWK_PCRS_NM_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.UCWK_PPLAN_CD_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.UCWK_PPLAN_CD_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.UCWK_PPLAN_NM_NEW, caanMsg.getString(EKK0081B523CBSMsg1List.UCWK_PPLAN_NM_NEW));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.NINSHO_ID, caanMsg.getString(EKK0081B523CBSMsg1List.NINSHO_ID));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.TELNO, caanMsg.getString(EKK0081B523CBSMsg1List.TELNO));

				// ANK-2557-00-00 DEL START
				// recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.USE_PLACE, 
				// 		JCKLcsCommonUtil.concatString(
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_STATE_NM), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_CITY_NM), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_OAZTSU_NM), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_AZCHO_NM), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_BNCHIGO), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_ADRTTM), 
				// 				caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_ADRRM))
				// );
				// ANK-2557-00-00 DEL END

				// ANK-2557-00-00 ADD START
// ANK-3095-00-00 MOD START
//				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.USE_PLACE, caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_AD));
				
				String usePlaceAd = caanMsg.getString(EKK0081B523CBSMsg1List.USE_PLACE_AD);
				String usePlaceAddressZipCode = null;
				String usePlace = null;
				
				if(!JCKLcsCommonUtil.isNullOrBlank(usePlaceAd))
				{
					usePlaceAddressZipCode = usePlaceAd.substring(0, 7);
					usePlace = usePlaceAd.substring(7);
				}
				
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.USE_PLACE, usePlace);
// ANK-3095-00-00 MOD END
				// ANK-2557-00-00 ADD END

				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.USER_NM, caanMsg.getString(EKK0081B523CBSMsg1List.USER_NM));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.MACAD, caanMsg.getString(EKK0081B523CBSMsg1List.MACAD));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.CCAS_CARD_NO, caanMsg.getString(EKK0081B523CBSMsg1List.CCAS_CARD_NO));
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.OUTPUT_JUN, dataList.size() + 1);
				recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.RNK_KMK_SET_PTN, caanMsg.getString(EKK0081B523CBSMsg1List.RNK_KMK_SET_PTN));

// ANK-3051-00-00 ADD START
				if(JPCModelConstant.FUNC_CD_5.equals(funcCd))
				{
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SVC_KEI_NO_EOELEC, caanMsg.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO_EOELEC));
// ANK-3095-00-00 ADD START
					recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.USE_PLACE_ADDRESS_ZIP_CODE, usePlaceAddressZipCode);
// ANK-3095-00-00 ADD END
				}
// ANK-3051-00-00 ADD END

				// EMの時は宅内のAPIからSIM番号を取得
				if (JCKStrConst.PRC_GRP_CD_MOBILE_EM.equals(caanMsg.getString(EKK0081B523CBSMsg1List.PRC_GRP_CD_NEW)))
				{
					String tkMdlCdSeizoNo = caanMsg.getString(EKK0081B523CBSMsg1List.TAKNKIKI_MODEL_CD) + "\t"
							+ caanMsg.getString(EKK0081B523CBSMsg1List.KIKI_SEIZO_NO);
					tkApiParamMap.put(dataList.size(), tkMdlCdSeizoNo);
					tkApiParamMapRev.put(tkMdlCdSeizoNo, dataList.size());
				}
				// WiMax(黒ロム)の時は宅内のAPIからMACアドレスを取得（MACアドレスが空の時は黒ロムとみなす）
				else if ((JCKStrConst.PRC_GRP_CD_MOBILE_WIMAX.equals(caanMsg.getString(EKK0081B523CBSMsg1List.PRC_GRP_CD_NEW)))
						&& (JCKLcsCommonUtil.isNullOrBlank(caanMsg.getString(EKK0081B523CBSMsg1List.MACAD))))
				{
					String tkMdlCdSeizoNo = caanMsg.getString(EKK0081B523CBSMsg1List.TAKNKIKI_MODEL_CD) + "\t"
							+ caanMsg.getString(EKK0081B523CBSMsg1List.KIKI_SEIZO_NO);
					tkApiParamMap.put(dataList.size(), tkMdlCdSeizoNo);
					tkApiParamMapRev.put(tkMdlCdSeizoNo, dataList.size());
				}
				dataList.add(recMap);
			}

			// 宅内SからMACアドレス または SIM番号を取得して、リストの対象行にセットする(宅内Sから取得すべきデータがある時のみ実行)
			if (tkApiParamMap.size() > 0)
			{
				result = callEKKA0020003ForCKSV9050(handle, param, tkApiParamMap);
				if (isSuccess(result))
				{
					CAANMsg[] caanMsgList = getResultMsgList(result, EKKA0020003CBSMsg.EKKA0020003CBSMSG2LIST);
					if ((caanMsgList != null) && (caanMsgList.length > 0))
					{
						for (int i = 0; i < caanMsgList.length; i++)
						{
							String tkMdlCd   = caanMsgList[i].getString(EKKA0020003CBSMsg2List.TK_MDL_CD);   // 宅内機器型式コード
							String kkSeizoNo = caanMsgList[i].getString(EKKA0020003CBSMsg2List.KK_SEIZO_NO); // 機器製造番号
							Integer listIdx  = tkApiParamMapRev.get(tkMdlCd + "\t" + kkSeizoNo);
							Map recMap = (Map)dataList.get(listIdx);
							if (JCKStrConst.PRC_GRP_CD_MOBILE_EM.equals(recMap.get(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.PRC_GRP_CD_NEW)))
							{
								String iccId     = caanMsgList[i].getString(EKKA0020003CBSMsg2List.ICC_ID);      // SIM番号
								recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.SIM_NO, iccId);
							}
							else
							{
								String macAd     = caanMsgList[i].getString(EKKA0020003CBSMsg2List.MAC_AD);      // MACアドレス
								recMap.put(CKSV9050_CKSV9050OP_CKSV905001CC_data_list.MACAD, macAd);
							}
						}
					}
				}
			}
		}

		//***************************************************
		// 返却パラメータ設定
		//***************************************************
		// データリストが0件の場合
		if (dataList.size() == 0)
		{
			returnCd = PMP_ERR_NODATA;   // データなし
		}

		// ST-2014-0000138 ADD START
		param.removeData("tv_Swch");
		// ST-2014-0000138 ADD END
		// 最後に実行したSCの実行結果を取得
		result = getLastResult(param);

		// 下りコントロールマップのセット
		setResultCtrlData(param, result, fixedText);

		// SC実行エラーの場合は、結果に応じてリターンコードを設定
		if (PMP_ERR_OTHER.equals(returnCd)) {
			String scReturnCd = getReturnCode(result).toString();
			String scStatusCd = getStatus(result).toString();
			returnCd = ("0".equals(scReturnCd) && "1000".equals(scStatusCd)) ? PMP_ERR_PARAM : PMP_ERR_SYSTEM;
		}

		// 下りユーザデータマップのセット
		Map<String, Object> resultMap = new HashMap();
		resultMap.put(CKSV9050_CKSV9050OP_CKSV905001CC.RETURN_CD, returnCd);
		resultMap.put(CKSV9050_CKSV9050OP_CKSV905001CC.DATA_LIST, dataList);
		resultMap.put(CKSV9050_CKSV9050OP_CKSV905001CC.SKBT_INFO_CNT, dataList.size());
		setResultUserData(param, fixedText, resultMap);

		//*************************************************
		// 処理結果の判定
		//*************************************************
		if (isError(result))
		{
			String errMsg = "サービス契約識別情報照会CCでエラーが発生しました。";
			throw new CCException(errMsg, new Exception(errMsg));
		}

		return param;
	}

	/**
	 * 宅内機器一意照会（４）SC呼び出し。<br />
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param tkApiParamMap SCへのパラメータ ※キー＝識別情報リストの行番号，値＝宅内機器型式コード+"\t"+機器製造番号 の形式で格納されたマップ
	 * @return SC実行結果
	 * @throws SCException
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private Map callEKKA0020003ForCKSV9050(SessionHandle handle, IRequestParameterReadWrite param, Map<Integer, String> tkApiParamMap) throws SCException,
			RequestParameterException
	{
		// パラメータ設定
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		int idx = 0;
		Map[] msg1List = new HashMap[tkApiParamMap.size()];
		Iterator<Integer> it = tkApiParamMap.keySet().iterator();
		while (it.hasNext())
		{
			Integer mapKey = it.next();
			String[] tkMdlCdSeizoNo = tkApiParamMap.get(mapKey).split("\t");
			HashMap inMsg = new HashMap();
			inMsg.put(EKKA0020003CBSMsg1List.KEY_TK_MDL_CD, tkMdlCdSeizoNo[0]);
			inMsg.put(EKKA0020003CBSMsg1List.KEY_KK_SEIZO_NO, tkMdlCdSeizoNo[1]);
			JCKBPCommon.setNullColumnForScParam(EKKA0020003CBSMsg1List.class, inMsg);
			JCKBPCommon.setNullBlankColumnForScParam(inMsg);
			msg1List[idx++] = inMsg;
		}
		inMap.put(EKKA0020003CBSMsg.EKKA0020003CBSMSG1LIST, msg1List);
		HashMap<String, Object> paramMap = JCKBPCommon.createScParamForSearch(param, EKKA0020003CBSMsg.class, inMap, "1");

		// ***************************************************
		// ＳＣ呼出実行
		// ***************************************************
		printDebugLog("宅内機器一意照会（４）SC呼び出し開始");
		Map<?, ?> result = scCallRun(param, handle, paramMap);
		printDebugLog("宅内機器一意照会（４）SC呼び出し完了" + result);

		return result;
	}

	// ANK-2557-00-00 DEL START
	// /**
	//  * 旧ICSコード変換テーブルから旧コード、名称を取得<br />
	//  * @param handle セッションハンドル
	//  * @param param リクエストパラメータ
	//  * @param skbtInfList 識別情報リスト
	//  * @param returnMap 検索結果
	//  * @return 処理結果
	//  * @throws Exception 
	//  */
	// @SuppressWarnings("unchecked")
	// private Map<String, String> getOldIcsCdMap(SessionHandle handle, IRequestParameterReadWrite param, CAANMsg skbtInfList) throws Exception 
	// {
	// 	Map returnMap = new HashMap();
    // 
	// 	//***************************************************
	// 	// 即割有無取得
	// 	//***************************************************
	// 	String svcKeiNo = skbtInfList.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO);
	// 	Map result = callEKK0081B523BySvcKeiNo(handle, param, "4", svcKeiNo);
	// 	String sokuWariUm = "0";
	// 	if (isSuccess(result))
	// 	{
	// 		CAANMsg[] sokuWariUmList = getResultMsgList(result, EKK0081B523CBSMsg.EKK0081B523CBSMSG1LIST);
	// 		if ((sokuWariUmList == null) || (sokuWariUmList.length == 0))
	// 		{
	// 			sokuWariUm = "0";
	// 		}
	// 		else
	// 		{
	// 			sokuWariUm = "1";
	// 		}
	// 	}
	// 	else
	// 	{
	// 		returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// その他のエラー
	// 		return returnMap;
	// 	}
	// 	
	// 	//***************************************************
	// 	// 旧ICSコード変換テーブル検索
	// 	//***************************************************
	// 	CAANMsg[] oldIcsCdList = null;
	// 	String prcGrpCdNew = skbtInfList.getString(EKK0081B523CBSMsg1List.PRC_GRP_CD_NEW);
	// 	String pcrsCdNew = skbtInfList.getString(EKK0081B523CBSMsg1List.PCRS_CD_NEW);
	// 	String pplanCdNew = skbtInfList.getString(EKK0081B523CBSMsg1List.PPLAN_CD_NEW);
	// 	// ANK-2135-00-00 ADD START
	// 	// テレビコース名表示切替部品呼出
	// 	HashMap<String, Object> inMap = new HashMap<String, Object>();
	// 	
	// 	inMap.put("key_svc_kei_no", svcKeiNo);
	// 	
	// 	String svcKeiUcwkNo = skbtInfList.getString(EKK0081B523CBSMsg1List.SVC_KEI_UCWK_NO);
	// 	inMap.put("key_svc_kei_ucwk_no", svcKeiUcwkNo);
	// 	param.setData("tvSwch", inMap);
	// 	
	// 	JFUBPCommon.getTvCourseDspSwch(handle, param, "tvSwch");
	// 	
	// 	HashMap out = (HashMap) param.getData("tvSwch");
	// 	
	// 	String outPcrsCd = (String) out.get("chbf_pcrs_cd");
	// 	String outPlanCd = (String) out.get("chbf_pplan_cd");
	// 	
	// 	// ST-2014-0000138 ADD START
	// 	param.removeData("tvSwch");
	// 	// ST-2014-0000138 ADD END
	// 	
	// 	if (null != outPcrsCd)
	// 	{
	// 		pcrsCdNew = outPcrsCd;
	// 	}
	// 	
	// 	if (null != outPlanCd)
	// 	{
	// 		pplanCdNew = outPlanCd;
	// 	}
	// 	// ANK-2135-00-00 ADD END
	// 	result = callEKK2141B001(handle, param, "1", prcGrpCdNew, pcrsCdNew, pplanCdNew, sokuWariUm);
	// 	// 旧ICS契約サービスコード
	// 	String oldIcsKeiSvcCd = "";
	// 	// 旧ICS料金プランコード
	// 	String oldIcsPplanCd = "";
	// 	// 旧ICS料金プラン名称
	// 	String oldIcsPplanNm = "";
	// 	// 旧ICS付加サービス種別コード
	// 	String oldIcsHukaSvcSbtCd = "";
	// 	if (isSuccess(result))
	// 	{
	// 		oldIcsCdList = getResultMsgList(result, EKK2141B001CBSMsg.EKK2141B001CBSMSG1LIST);
	// 		if ((oldIcsCdList == null) || (oldIcsCdList.length == 0))
	// 		{
	// 			returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// データなし
	// 			return returnMap;
	// 		}
    // 
	// 		String mapKeyPre = EKK2141B001CBSMsg.EKK2141B001CBSMSG1LIST + "[0].";
	// 		// 旧ICS契約サービスコード
	// 		oldIcsKeiSvcCd = getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_KEI_SVC_CD);
	// 		// 旧ICS料金プランコード
	// 		oldIcsPplanCd = getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_PPLAN_CD);
	// 		// 旧ICS料金プラン名称
	// 		oldIcsPplanNm = getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_PPLAN_NM);
	// 		// 旧ICS付加サービス種別コード
	// 		oldIcsHukaSvcSbtCd = getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_HUKA_SVC_SBT_CD);
	// 	}
	// 	else
	// 	{
	// 		returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// その他のエラー
	// 		return returnMap;
	// 	}
    // 
	// 	if (JCKStrConst.PRC_GRP_CD_EOH_TEL.equals(prcGrpCdNew))
	// 	{
	// 		// 旧サービスコード(付加サービス種別コード)
	// 		returnMap.put(RET_SVC_CD_OLD, oldIcsHukaSvcSbtCd);
	// 		// 旧サービス名
	// 		returnMap.put(RET_SVC_NM_OLD, JCKStrConst.OLD_ICS_KEI_SVC_NM_EOH_TEL);
	// 		// 旧プランコード(電話番号順番)
	// 		returnMap.put(RET_PPLAN_CD_OLD, skbtInfList.getString(EKK0081B523CBSMsg1List.PPLAN_CD_OLD));
	// 		// 旧プラン名
	// 		returnMap.put(RET_PPLAN_NM_OLD, null);
	// 	}
	// 	else
	// 	{
	// 		//***************************************************
	// 		// 名称管理マスタ検索(旧サービス名を取得)
	// 		//***************************************************
	// 		String svcNmOld = "";
	// 		result = callEZM0171A010(handle, param, "1", "CD01259", oldIcsKeiSvcCd);
	// 		if (isSuccess(result))
	// 		{
	// 			oldIcsCdList = getResultMsgList(result, EZM0171A010CBSMsg.EZM0171A010CBSMSG1LIST);
	// 			if (oldIcsCdList != null && oldIcsCdList.length > 0)
	// 			{
	// 				String mapKeyPre = EZM0171A010CBSMsg.EZM0171A010CBSMSG1LIST + "[0].";
	// 				svcNmOld = getResultString(result, mapKeyPre + EZM0171A010CBSMsg1List.CD_DIV_NM);
	// 			}
	// 		}
	// 		else
	// 		{
	// 			returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// その他のエラー
	// 			return returnMap;
	// 		}
    // 
	// 		// 旧サービスコード
	// 		returnMap.put(RET_SVC_CD_OLD, oldIcsKeiSvcCd);
	// 		// 旧サービス名
	// 		returnMap.put(RET_SVC_NM_OLD, svcNmOld);
	// 		// 旧プランコード
	// 		returnMap.put(RET_PPLAN_CD_OLD, oldIcsPplanCd);
	// 		// 旧プラン名
	// 		returnMap.put(RET_PPLAN_NM_OLD, oldIcsPplanNm);
	// 	}
	// 	
	// 	returnMap.put(RET_RETURN_CD, PMP_NORMAL_END);
	// 	
	// 	return returnMap;
	// }
	// ANK-2557-00-00 DEL END

	// ANK-2557-00-00 ADD START
	/**
	 * テレビコース名表示切替要否チェック<br/>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param skbtInfList 識別情報リスト
	 * @param returnMap 検索結果
	 * @return true:切替有、false:切替無
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private boolean chkTvCourseDspSwch(SessionHandle handle, IRequestParameterReadWrite param,
			CAANMsg skbtInfList, HashMap<String, String> returnMap) throws Exception 
	{
		// 性能考慮のため、地デジ・BSコースの場合のみ部品を呼び出す。
		String tvCourseGrpCd = skbtInfList.getString(EKK0081B523CBSMsg1List.TV_COURSE_GRP_CD);
		if (!JCKStrConst.TV_COURSE_GRP_CD_CDBS.equals(tvCourseGrpCd))
		{
			returnMap.put(RET_RETURN_CD, PMP_NORMAL_END);
			return false;
		}

		// テレビコース名表示切替部品呼出
		HashMap<String, Object> inMap = new HashMap<String, Object>();
		inMap.put("key_svc_kei_no", skbtInfList.getString(EKK0081B523CBSMsg1List.SVC_KEI_NO));
		param.setData("tvSwch", inMap);
		
		// テレビコース名表示切替部品呼出
		JFUBPCommon.getTvCourseDspSwch(handle, param, "tvSwch");
		
		// テレビコース名表示切替部品呼出の結果を取得
		HashMap out = (HashMap) param.getData("tvSwch");
		
		// 料金コースコード(変換後)
		String tvPcrsCd = (String) out.get("chbf_pcrs_cd");
		// 料金プランコード(変換後)
		String tvPplanCd = (String) out.get("chbf_pplan_cd");
		// 料金コース名／料金プラン名(変換後)
		String tvPcrsNM  = (String)out.get("chbf_svc_nm");
		
		param.removeData("tvSwch");
		
		// テレビコース名表示切替不要の場合
		if (null == tvPcrsCd)
		{
			returnMap.put(RET_RETURN_CD, PMP_NORMAL_END);
			return false;
		}

		//***************************************************
		// 旧ICSコード変換テーブル検索
		//***************************************************
		String prcGrpCdNew = skbtInfList.getString(EKK0081B523CBSMsg1List.PRC_GRP_CD_NEW);
		String sokuWariUm = skbtInfList.getString(EKK0081B523CBSMsg1List.SOKU_WARI_UM);
		Map result = callEKK2141B001(handle, param, "1", prcGrpCdNew, tvPcrsCd, tvPplanCd, sokuWariUm);
		if (!isSuccess(result))
		{
			returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// その他のエラー
			return true;
		}
		CAANMsg[] oldIcsCdList = getResultMsgList(result, EKK2141B001CBSMsg.EKK2141B001CBSMSG1LIST);
		if ((oldIcsCdList == null) || (oldIcsCdList.length == 0))
		{
			returnMap.put(RET_RETURN_CD, PMP_ERR_OTHER);	// データなし
			return true;
		}

		String mapKeyPre = EKK2141B001CBSMsg.EKK2141B001CBSMSG1LIST + "[0].";
		// 料金プランコード（旧） <- 旧ICS料金プランコード
		returnMap.put(EKK0081B523CBSMsg1List.PPLAN_CD_OLD, getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_PPLAN_CD));
		// 料金プラン名（旧） <- 旧ICS料金プラン名称
		returnMap.put(EKK0081B523CBSMsg1List.PPLAN_NM_OLD, getResultString(result, mapKeyPre + EKK2141B001CBSMsg1List.OLD_ICS_PPLAN_NM));
		// 料金コースコード（新）
		returnMap.put(EKK0081B523CBSMsg1List.PCRS_CD_NEW,  tvPcrsCd);
		// 料金コース名（新）
		returnMap.put(EKK0081B523CBSMsg1List.PCRS_NM_NEW,  tvPcrsNM);
		// 料金プランコード（新）
		returnMap.put(EKK0081B523CBSMsg1List.PPLAN_CD_NEW, tvPplanCd);
		// 料金プラン名（新）
		returnMap.put(EKK0081B523CBSMsg1List.PPLAN_NM_NEW, tvPcrsNM);
		
		returnMap.put(RET_RETURN_CD, PMP_NORMAL_END);
		return true;
	}
	// ANK-2557-00-00 ADD END

	/**
	 * BPチェック用パラメータ作成。<br />
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText ユーザ定義文字列
	 * @return BPチェック用パラメータ
	 */
	@SuppressWarnings("unchecked")
	public HashMap getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	{
		// BPチェックはスキップする
		return JCKPmpScParamHenshu.createBpNotCheckParam();
	}

	/**
	 * ＢＰチェック結果を編集する。<br />
	 * @param param リクエストパラメータ
	 * @param caanMsgs サービスインターフェイス用のパラメータ配列
	 * @param returnCode リターンコード
	 * @return リクエストパラメータ
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] caanMsgs, Integer returnCode) throws Throwable
	{
		return JCKPmpScParamHenshu.editErrorInfo(param, caanMsgs, returnCode);
	}
}
