/********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 ********************************************************************
 *＜プログラム内容＞
 *  システム名      ：eo顧客基幹システム
 *  モジュール名    ：指示書登録コンポーネント部品クラス
 *  ソースファイル名：JKKAddSjishoCC.java
 *  作成者          ：FJ
 *  日付            ：2012年04月12日
 *＜機能概要＞
 *  AXM連携対象データ区分毎の情報を指示書テーブルに登録する。
 *＜修正履歴＞
 *  バージョン  修正日      修正者      修正内容
 *  v3.00.00    2012/04/12  FJ          新規作成
 *  v4.00.01	2012/11/28  FJ          ST1-2012-0000961
 *  v4.00.02    2012/02/10  FJ          ST1-2013-0000283
 *  v4.00.03    2013/03/28  FJ          IKK-2013-0000690
 *  v4.00.04    2013/03/28  FJ          IT1-2013-0000655
 *  v4.00.05    2013/03/28  FJ          IT1-2013-0000676
 *  v4.00.06    2013/04/02  FJ          IT1-2013-0000609
 *  v5.00.01    2013/04/30  FJ掛木      IT1-2013-0001113
 *  v5.00.02    2013/07/10  FJ井熊      LT-2013-0000374
 *  v5.00.03    2013/09/28  FJ鈴木      OM-2013-0002543 メモリリーク防止のためThreadLocalの使用をやめる。
 *  v5.00.04    2013/10/15  FJ鈴木      OM-2013-0003259 お客様の基本情報の連携:SYSID配下に有効なホスティング契約が存在する場合は、同意フラグに1（同意済み）を設定
 *  v8.00.00    2014/03/10  FJ鈴木      ST-2014-0000078 mineo対応。ID通知書発行識別コードが発行無しでもmineoの場合は出力するように修正。
 *  v8.01.00    2014/03/11  FJ）阮      ST-2014-0000077 会員別指示書登録の制御対応
 *  v16.00.00   2015/05/22  FJ)中原     ANK-2480-00-00  新電力対応
 *	v37.00.00	2018/02/22	FJ) 岡		ANK-3366-00-00  eo光設備卸対応
 *  v47.00.00   2019/11/07  FJ)三原     ANK-3706-00-00 ｅｏＩＤログインのセキュリティ強化対応
 *  v48.00.00   2020/02/12  FJ)三原     ANK-3814-00-00 eoIDログインセキュリティ強化フォロー対応
 *  v54.00.00   2021/10/15  FJ)上村     ANK-4171-00-00 mineo契約時の2段階認証ON対応
 *  v60.00.00   2022/08/25  FJ)北村     ANK-4236-00-00 【eo】生体認証パスワードレス認証導入対応
 *  v63.00.00   2022/12/16  FJ)北村     ANK-4341-00-00 mineo照査時の2段階認証ON対応
 *  v66.00.00   2023/06/18  FJ)菅原     #81341 機器の強制解約でONUが解約されない
 ********************************************************************/

package com.fujitsu.futurity.bp.custom.common;

import static com.fujitsu.futurity.bp.custom.common.JCKPmpCommonUtil.callECK0011B050;
import static com.fujitsu.futurity.bp.custom.common.JCKPmpScParamHenshu.getResultMsgList;
import static com.fujitsu.futurity.bp.custom.constant.JKKSvcConst.SVC_KEI_STAT_910;
import static com.fujitsu.futurity.bp.custom.constant.JKKSvcConst.SVC_KEI_STAT_920;

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_CUST_GROUP_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_CUST_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_GROUP_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_KAKIN_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_OP_SVC_KEI_ISP_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_PAYWAY_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SJISHO_KBN_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SVC_KEI_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SVC_KEI_UCWK_TEL_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SVC_UCWK_ADSL_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_SVC_UCWK_NET_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_TOKUSOKU_INFO;
import com.fujitsu.futurity.bp.custom.constant.KKSV0554_KKSV0554OP_WORK;
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.common.JCCSuperComExecUtil;
import com.fujitsu.futurity.common.JCCSyslogFormat;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.constant.JCKStrConst;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JKKStringUtil;
import eo.common.util.JPCDateUtil;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0011B050CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011B050CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0201B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0201B003CBSMsg;
import eo.ejb.cbs.cbsmsg.ECKA9010002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B519CBSMsg1List;
import eo.ejb.common.JKKModelConst;

public class JKKAddSjishoCC extends AbstractCommonComponent {
	
	/** CC-SCマッピングクラス */
// 2013/09/28 OM-2013-0002543 mod start
//	private static ThreadLocal<JKKAddSjishoCCMapper> ccMapper = new ThreadLocal<JKKAddSjishoCCMapper>();

	private JKKAddSjishoCCMapper ccMapper = null;
// 2013/09/28 OM-2013-0002543 mod end

	/*
	 * 連携データ区分
	 */
	/** 連携データ区分 お客様のグループ情報 */
	private static final String RENKEI_KBN_CUST_GROUP = "01";
	/** 連携データ区分 回線契約にかかるサービス契約番号とSYSIDの紐付け */
	private static final String RENKEI_KBN_KAISEN = "02";
	/** 連携データ区分 POPIDの情報 */
	private static final String RENKEI_KBN_POPID = "03";
	/** 連携データ区分 WEBIDの情報 */
	private static final String RENKEI_KBN_WEBID = "04";
	/** 連携データ区分 認証IDの情報 */
	private static final String RENKEI_KBN_ACCEPT = "05";
	/** 連携データ区分 請求契約番号(#T)の情報 */
	private static final String RENKEI_KBN_SEIKYU = "06";
	/** 連携データ区分 回線契約に紐付く各種サービス契約情報 */
	private static final String RENKEI_KBN_KAISEN_SVC = "07";
	/** 連携データ区分 支払方法入力支援の情報 */
	private static final String RENKEI_KBN_PAYWAY = "08";
	/** 連携データ区分 お客様の基本情報 */
	private static final String RENKEI_KBN_CUST_BASE = "11";
	/** 連携データ区分チェック用 */
	private static final String[] CHECK_KBN_ARRAY = {
		RENKEI_KBN_CUST_GROUP, 
		RENKEI_KBN_KAISEN,
		RENKEI_KBN_POPID,
		RENKEI_KBN_WEBID,
		RENKEI_KBN_ACCEPT,
		RENKEI_KBN_SEIKYU,
		RENKEI_KBN_KAISEN_SVC,
		RENKEI_KBN_PAYWAY,
		RENKEI_KBN_CUST_BASE
	};
	
	/*
	 * 処理区分
	 */
	/** 処理区分 登録 */
	private static final String ADD = "01";
	/** 処理区分 更新 */
	private static final String MOD = "02";
	/** 処理区分 削除 */
	private static final String DEL = "03";
	
	/*
	 * 機能コード
	 */
	/** 機能コード  "01"*/
	private static final String FUNC_01 = "1";
	/** 機能コード  "02"*/
	private static final String FUNC_02 = "2";
	
	/*
	 * 処理コード
	 */
	/** 処理コード 認証レプリカ更新API */
	private static final String REPLICA_MOD_API = "N01";
	/** 処理コード ADMIN-API */
	private static final String ADMIN_API = "A01";
	
	/*
	 * 対象テーブルID（AxM側テーブルID）
	 */
	/** 対象テーブルID TNM00030 */
	private static final String TNM00030 = "TNM00030";
	/** 対象テーブルID TNM00040 */
	private static final String TNM00040 = "TNM00040";
	/** 対象テーブルID TNM00050 */
	private static final String TNM00050 = "TNM00050";
	/** 対象テーブルID TNM00060 */
	private static final String TNM00060 = "TNM00060";
	
	/*
	 * 結果フラグ
	 */
	/** 結果フラグ 未実行 */
	private static final String UNPROCESS = "0";
	
	/*
	 * 支払方法
	 */
	/** 支払方法 クレジット */
	private static final String CREDIT = "1";
	/** 支払方法 IPS決済 */
	private static final String IPS = "2";
	
	/*
	 * サービスコード
	 */
	private static final String TEL = "02";

// OM-2013-0003259 2013.10.15 ADD START
	private static final String HOSTING = "04";
// OM-2013-0003259 2013.10.15 ADD END

	/*
	 * ID通知書発行識別コード
	 */
	/** 発行なし */
	private static final String HAKKO_NASHI = "0";
// OM-2013-0000474対応 20130822 星野 ADD START
	/** 発行（マンションプライベート物流倉庫連携） */
	private static final String MANSION_PRIVATE = "4";
// OM-2013-0000474対応 20130822 星野 ADD END
	
	/*
	 * 更新対象項目番号
	 */
	/** 更新項目対象番号*/
	private static final String UPD_TG_KMK_NO = "upd_tg_kmk_no";
	
	// IKK-2013-0000690 2013.03.28 START ASARI
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_2 = "2";
	
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_4 = "4";
	// IKK-2013-0000690 2013.03.28 END ASARI
	
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_6 = "6";
	
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_8 = "8";
	
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_9 = "9";

	// IT1-2013-0000609 2013.04.02 START BANDO
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_11 = "11";
	
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_17 = "17";
	// IT1-2013-0000609 2013.04.02 END BANDO
	
	// ST-2014-0000077 2014/03/11 ADD START
	/** 更新項目対象番号*/
	private static final String CHANGE_PARAM_3 = "3";
	// ST-2014-0000077 2014/03/11 ADD END
	
	// IT1-2013-0000655 2013.03.28 START MAEDA
	/*
	 * 性別コード
	 */
	/** 男性*/
	private static final String MALE   = "1";
	/** 女性*/
	private static final String FEMALE = "2";
	/** その他*/
	private static final String S_OTHER = "3";
	// IT1-2013-0000655 2013.03.28 END MAEDA
	
	/** パラメータ更新フラグ*/
	// IKK-2013-0000690 2013.03.28 START ASARI
	String PARAM_2_UPD_FLG = "0";
	String PARAM_4_UPD_FLG = "0";
	// IKK-2013-0000690 2013.03.28 END ASARI
	String PARAM_6_UPD_FLG = "0";
	String PARAM_8_UPD_FLG = "0";
	String PARAM_9_UPD_FLG = "0";
	// IT1-2013-0000609 2013.04.02 START BANDO
	String PARAM_11_UPD_FLG = "0";
	String PARAM_17_UPD_FLG = "0";
	// IT1-2013-0000609 2013.04.02 END BANDO
	/** フラグオン・オフ*/
	String FLG_ON  = "1";
	String FLG_OFF = "0";
	// ST-2014-0000077 2014/03/11 ADD START
	String PARAM_3_UPD_FLG = "0";
	// ST-2014-0000077 2014/03/11 ADD END
	
	/*
	 * 最終年月日
	 */
	private static final String LAST_YMD = "20991231";
	
// 2014.03.10 ST-2014-0000078 add start
	/** 料金コースコード mineo */
	private static final String PCRS_CD_MINEO = "A81";
// 2014.03.10 ST-2014-0000078 add end
// 2015.05.22 ANK-2480-00-00 add start
	/** 料金コースコード eo電気 */
	private static final String PCRS_CD_EODENKI = "A82";
// 2015.05.22 ANK-2480-00-00 add end
	
// ANK-4171-00-00 ADD START
	/** 呼出元サービス */
	private String MOTO_SVC = "";
	/** 呼出元サービス KKSV076601CC */
	private static final String KKSV076601CC = "KKSV076601CC_CUSTMMBSBT_CHG_SJISHO_MAP";
// ANK-4171-00-00 ADD END

// ANK-4341-00-00 ADD START
	/** 変更前会員種別コード */
	private String regitMemberSbtCd = null;
	/** IDAより取得した認証レベル */
	private String ninsho_lv_value = null;
	/** メッセージ区分 */
	private static final String WAR = "WAR";
	/** API警告メッセージID(eoIDが無効) **/
	private static final String API_WAR_MSG_ID_1 = "EKKB2170CW";
	/** API警告メッセージID(コンテンツ連絡先メールアドレスの未設定) **/
	private static final String API_WAR_MSG_ID_2 = "EKKB2180CW";
	/** API警告メッセージID(会員情報の未取得時) **/
	private static final String API_WAR_MSG_ID_3 = "EKKB2190CW";
	/** API_ID（MVNOサービス照査受付） **/
	private static final String KKIFE231 = "KKIFE231";
	/** eoID非有効時エラーメッセージ */
	private static final String MESLOG_EOID = "eoIDが有効ではありません。(SYSID:";
	/** コンテンツ系メールアドレス未設定エラーメッセージ */
	private static final String MESLOG_CONT_MAIL = "コンテンツ連絡用メールアドレスが設定されていません。(SYSID:";
	/** ログイン認証レベル未取得エラーメッセージ */
	private static final String MESLOG_iDA_KAIIN = "ログイン認証レベルが取得できませんでした。(SYSID:";
// ANK-4341-00-00 ADD END

	/**
	 * 指示書登録を実行します。
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * 
	 * @return IRequestParameterReadWrite リクエストパラメータ
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	
	public IRequestParameterReadWrite addSjisho(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
			throws Throwable
	{
		// CC-SCマッピングクラスのインスタンス生成
// 2013/09/28 OM-2013-0002543 mod start
//		ccMapper.set(new JKKAddSjishoCCMapper(handle, param, JCCBPCommon.getOpeDate(null), fixedText));
		ccMapper = new JKKAddSjishoCCMapper(handle, param, JCCBPCommon.getOpeDate(null), fixedText);
// 2013/09/28 OM-2013-0002543 mod end
		
// ANK-4171-00-00 ADD START
		// 呼出元のサービス
		this.MOTO_SVC = fixedText;
// ANK-4171-00-00 ADD END
// ANK-4341-00-00 ADD START
		// 呼出元を確認し、KKSV076601CC(サービス契約Mvno照査受付サービス)の場合のみ、処理を行う。
		if(KKSV076601CC.equals(this.MOTO_SVC))
		{
			// 変更前の会員種別の値を取得する。
			HashMap<String, Object> custMap = (HashMap<String, Object>)param.getData("KKSV076601CC");
			this.regitMemberSbtCd = (String) custMap.get(ECK0011A010CBSMsg1List.MEMBER_SBT_CD);
		}
// ANK-4341-00-00 ADD END

		// 作業領域取得
		HashMap<String, Object> ccMap = (HashMap<String, Object>)param.getData(fixedText);
		// 連携データ区分リストを所得
		ArrayList<HashMap<String, Object>> renkeiDataKbnList =
			(ArrayList<HashMap<String,Object>>)ccMap.get(KKSV0554_KKSV0554OP_WORK.RENKEI_DATA_KBN_LIST);
		
		if (!chkParam(renkeiDataKbnList))
		{
			// 入力データチェック終了
			throw new Exception("入力データ不正");
		}
		
		//指示書情報登録処理
// #81341 MOD START
//		executeSjishoAdd(renkeiDataKbnList);
		executeSjishoAdd(renkeiDataKbnList, handle, param);
// #81341 MOD END
		
		return param;
	}
	
	/**
	 * 入力データのチェックを行います。<BR>
	 * <BR>
	 * 必須項目がNullの場合に、Exceptionをスローします。
	 * 
	 * @param ccMapNm CCマップ名
	 * 
	 * @return boolean true:チェックＯＫ, false:チェックＮＧ
	 * @throws RequestParameterException 
	 */
	@SuppressWarnings("unchecked")
	private boolean chkParam(ArrayList<HashMap<String, Object>> renkeiDataKbnList) throws RequestParameterException
	{
		if (isNullEmpty(renkeiDataKbnList))
		{
			printlnEjbLog("連携データ区分リストが設定されていません");
			return false;
		}
		
		// 連携データ区分リスト内のデータをチェック
		Iterator<HashMap<String, Object>> ite = renkeiDataKbnList.iterator();
		while (ite.hasNext())
		{
			HashMap<String, Object> renkeiDataKbnMap = ite.next();
			
			// 連携データ区分を取得
			String renkeiDataKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.RENKEI_DATA_KBN);
			if (isNullEmpty(renkeiDataKbn))
			{
				printlnEjbLog("連携データ区分が設定されていません");
				return false;
			}
			
			if (!Arrays.asList(CHECK_KBN_ARRAY).contains(renkeiDataKbn))
			{
				printlnEjbLog("不正な連携データ区分が設定されています【" + renkeiDataKbn + "】");
				return false;
			}
			
			// 処理区分を取得
			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
			if (isNullEmpty(trnKbn))
			{
				printlnEjbLog("処理区分が設定されていません");
				return false;
			}
			if (ADD.equals(trnKbn) || MOD.equals(trnKbn) || DEL.equals(trnKbn))
			{
			}
			else{
				printlnEjbLog("不正な処理区分が設定されています【" + trnKbn + "】");
				return false;
			}
			
			//-------------------------------------------------------
			// 連携区分
			//   "01" お客様のグループ情報
			//   "08" 支払方法入力支援の情報
			//   "11" お客様の基本情報
			//-------------------------------------------------------
			if (RENKEI_KBN_CUST_GROUP.equals(renkeiDataKbn)
					|| RENKEI_KBN_PAYWAY.equals(renkeiDataKbn)
					|| RENKEI_KBN_CUST_BASE.equals(renkeiDataKbn))
			{
				// SYSIDを取得
				String sysid = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SYSID);
				if (isNullEmpty(sysid))
				{
					printlnEjbLog("SYSIDが設定されていません");
					return false;
				}
			}
						
			
			//-------------------------------------------------------
			// 連携区分
			//   "02" 回線契約にかかるサービス契約番号とSYSIDの紐付け
			//   "06" 請求契約番号(#T)の情報
			//   "07" 回線契約に紐付く各種サービス契約情報
			//   "08" 支払方法入力支援の情報
			//   "11" お客様の基本情報
			//-------------------------------------------------------
			if (RENKEI_KBN_KAISEN.equals(renkeiDataKbn)
				|| RENKEI_KBN_SEIKYU.equals(renkeiDataKbn)
				|| RENKEI_KBN_KAISEN_SVC.equals(renkeiDataKbn)
				|| RENKEI_KBN_PAYWAY.equals(renkeiDataKbn)
				|| RENKEI_KBN_CUST_BASE.equals(renkeiDataKbn))
			{
			
				// サービス契約情報リスト
				ArrayList<HashMap<String, Object>> svcKeiList = 
					(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_LIST);
				if (svcKeiList == null)
				{
					printlnEjbLog("サービス契約情報リストが設定されていません");
					return false;
				}
				
				for (HashMap<String,Object> svcKeiInfo : svcKeiList)
				{
					if (isNullEmpty(svcKeiInfo.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_NO)))
					{
						printlnEjbLog("サービス契約情報リストにサービス契約番号が設定されていません");
						return false;
					}
				}
			}
			
			//-------------------------------------------------------
			// 連携区分
			//   "03" POPIDの情報
			//   "04" WEBIDの情報
			//-------------------------------------------------------
			if (RENKEI_KBN_POPID.equals(renkeiDataKbn)
				|| RENKEI_KBN_WEBID.equals(renkeiDataKbn))
			{
				
				// オプションサービス契約情報リスト
				ArrayList<HashMap<String, Object>> opSvcKeiList = 
					(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.OP_SVC_KEI_LIST);
				if (opSvcKeiList==null)
				{
					printlnEjbLog("オプションサービス契約情報リストが設定されていません");
					return false;
				}
				
				
				for (HashMap<String,Object> opSvcKeiInfo : opSvcKeiList)
				{
					if (isNullEmpty(opSvcKeiInfo.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_NO)))
					{
						printlnEjbLog("オプションサービス契約情報リストにオプションサービス契約番号が設定されていません");
						return false;
					}
				}
			}
			
			//-------------------------------------------------------
			// 連携区分
			//   "05" 認証IDの情報
			//-------------------------------------------------------
			if (RENKEI_KBN_ACCEPT.equals(renkeiDataKbn))
			{
				// サービス契約内訳情報リスト
				ArrayList<HashMap<String, Object>> svcKeiUcwkList = 
					(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_UCWK_LIST);
				if (svcKeiUcwkList == null)
				{
					printlnEjbLog("サービス契約内訳情報リストが設定されていません");
					return false;
				}
				
				for (HashMap<String,Object> svcKeiUcwkInfo : svcKeiUcwkList)
				{
					if (isNullEmpty(svcKeiUcwkInfo.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SVC_KEI_UCWK_NO)))
					{
						printlnEjbLog("サービス契約内訳情報リストにサービス契約内訳番号が設定されていません");
						return false;
					}
				}
			}
		/*ST1-2012-0000961 対応ここから*/
			//-------------------------------------------------------
			// 連携区分
			//   "11" お客様の基本情報
			//-------------------------------------------------------
			if (RENKEI_KBN_CUST_BASE.equals(renkeiDataKbn))
			{
				if (MOD.equals(trnKbn))
				{
					// 更新対象項目リスト
					ArrayList<HashMap<String, Object>> upd_tg_kmk_list = 
						(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.UPD_TG_KMK_LIST);
					if (upd_tg_kmk_list == null)
					{
						printlnEjbLog("更新対象項目リストが設定されていません");
						return false;
					}
					for (HashMap<String,Object> updTgKmkInfo : upd_tg_kmk_list)
					{
						String tmp_upd_tg_kmk_no = (String)updTgKmkInfo.get(UPD_TG_KMK_NO);
						if (isNullEmpty(tmp_upd_tg_kmk_no))
						{
							printlnEjbLog("更新対象項目リストに更新項目番号が設定されていません");
							return false;
						}
						//更新対象項目が存在する場合フラグをオンにする
						// IKK-2013-0000690 2013.03.28 START ASARI
						else if(CHANGE_PARAM_2.equals(tmp_upd_tg_kmk_no)){
							PARAM_2_UPD_FLG = FLG_ON;
						}
						// ST-2014-0000077 2014/03/11 ADD START
						else if(CHANGE_PARAM_3.equals(tmp_upd_tg_kmk_no)){
							PARAM_3_UPD_FLG = FLG_ON;
						}
						// ST-2014-0000077 2014/03/11 ADD END
						else if(CHANGE_PARAM_4.equals(tmp_upd_tg_kmk_no)){
							PARAM_4_UPD_FLG = FLG_ON;
						}
						// IKK-2013-0000690 2013.03.28 END ASARI
						else if(CHANGE_PARAM_6.equals(tmp_upd_tg_kmk_no)){
							PARAM_6_UPD_FLG = FLG_ON;
						}
						else if(CHANGE_PARAM_8.equals(tmp_upd_tg_kmk_no)){
							PARAM_8_UPD_FLG = FLG_ON;
						}
						else if(CHANGE_PARAM_9.equals(tmp_upd_tg_kmk_no)){
							PARAM_9_UPD_FLG = FLG_ON;
						}
						// IT1-2013-0000609 2013.04.02 START BANDO
						else if(CHANGE_PARAM_11.equals(tmp_upd_tg_kmk_no)){
							PARAM_11_UPD_FLG = FLG_ON;
						}
						else if(CHANGE_PARAM_17.equals(tmp_upd_tg_kmk_no)){
							PARAM_17_UPD_FLG = FLG_ON;
						}
						// IT1-2013-0000609 2013.04.02 END BANDO
						//更新対象外の項目が設定された場合エラーとする。
						else{
							printlnEjbLog("更新対象外の項目番号が設定されています");
							return false;
						}
					}
				}
			}
		/*ST1-2012-0000961 対応ここまで*/
		}
		return true;
	}
	
	/**
	 * 連携データ区分ごとに指示書情報登録処理を実行します。
	 * 
	 * @param renkeiDataKbnList
	 * @throws Throwable
	 */
// #81341 MOD START
//	private void executeSjishoAdd(ArrayList<HashMap<String, Object>> renkeiDataKbnList) throws Throwable
	private void executeSjishoAdd(ArrayList<HashMap<String, Object>> renkeiDataKbnList, SessionHandle handle, 
		IRequestParameterReadWrite param) throws Throwable
// #81341 MOD END
	{
		// 連携データ区分リストを全件ループ
		for (HashMap<String, Object> renkeiDataKbnMap : renkeiDataKbnList)
		{
			// 連携データ区分
			String renkeiKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.RENKEI_DATA_KBN);
			
			/*
			 * 連携データ区分 ０１：お客様のグループ情報
			 */
			if (RENKEI_KBN_CUST_GROUP.equals(renkeiKbn))
			{
				renkei01(renkeiDataKbnMap);
			}
			
			/*
			 * 連携データ区分 ０２：回線契約にかかるサービス契約番号とSYSIDの紐付け
			 */
			else if (RENKEI_KBN_KAISEN.equals(renkeiKbn))
			{
				renkei02(renkeiDataKbnMap);
			}
			
			/*
			 * 連携データ区分 ０３：POPIDの情報
			 */
			else if (RENKEI_KBN_POPID.equals(renkeiKbn))
			{
				renkei03(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 ０４：WEBIDの情報
			 */
			else if (RENKEI_KBN_WEBID.equals(renkeiKbn))
			{
				renkei04(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 ０５：認証IDの情報
			 */
			else if (RENKEI_KBN_ACCEPT.equals(renkeiKbn))
			{
				renkei05(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 ０６：請求契約番号(#T)の情報
			 */
			else if (RENKEI_KBN_SEIKYU.equals(renkeiKbn))
			{
				renkei06(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 ０７：回線契約に紐付く各種サービス契約情報
			 */
			else if (RENKEI_KBN_KAISEN_SVC.equals(renkeiKbn))
			{
				renkei07(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 ０８：支払方法入力支援の情報
			 */
			else if (RENKEI_KBN_PAYWAY.equals(renkeiKbn))
			{
				renkei08(renkeiDataKbnMap);
			}
			/*
			 * 連携データ区分 １１：お客様の基本情報
			 */
			else if (RENKEI_KBN_CUST_BASE.equals(renkeiKbn))
			{
// #81341 MOD START
//				renkei11(renkeiDataKbnMap);
				renkei11(renkeiDataKbnMap, handle, param);
// #81341 MOD END
			}
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０１」お客様のグループ情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	private void renkei01(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// 登録用データマップ
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// グループデータ用マップ
		HashMap<String, Object> groupMap = new HashMap<String, Object>();
		// お客様グループ設定データ用マップ
		HashMap<String, Object> custGroupMap = new HashMap<String, Object>();
		
		/*
		 * 登録用データ取得
		 */
		// グループ一覧照会
		getMapper().callGrpIcrnShokai(renkeiDataKbnMap, groupMap, FUNC_01);
		// お客様グループ設定一覧照会
		getMapper().callCustGrpSetteIcrnShokai(groupMap, custGroupMap, FUNC_01);
		// お客様グループ設定一意照会
		getMapper().callCustGrpSetteIciShokai(custGroupMap, FUNC_02);
		
		/*
		 * 登録データ設定
		 */
//		// IT1-2013-0000655 2013.03.28 START MAEDA
		//		String mkFlg = "";
//		String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//		if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//		
//		{
//			mkFlg = (String)custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.MK_FLG);
//		}
//		else if (DEL.equals(trnKbn))
//		{
//			mkFlg = "1";
//		}
		// IT1-2013-0000655 2013.03.28 END MAEDA
		
		// 処理コード
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
		// 対象テーブルID
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00030);
		// 処理対象SYSID
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.SYSID));
		// 結果フラグ
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
		// パラメータ有効数
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "10");
		// パラメータ１（グループコード）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, groupMap.get(KKSV0554_KKSV0554OP_GROUP_INFO.GRP_SBT_CD));
		// パラメータ２（グループリーダーSYSID）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, groupMap.get(KKSV0554_KKSV0554OP_GROUP_INFO.GRP_LEADER_SYSID));
		// パラメータ３（メンバーSYSID）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.SYSID));
		// パラメータ４（有効無効フラグ）
		// IT1-2013-0000676 2013.03.28 START MAEDA
//		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, mkFlg);
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.MK_FLG));
		// IT1-2013-0000676 2013.03.28 END MAEDA
		// パラメータ５（登録日時）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.ADD_DTM));
		// パラメータ６（登録者）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.ADD_OPEACNT));
		// パラメータ７（登録PGID）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
		// パラメータ８（更新日時）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.UPD_DTM));
		// パラメータ９（更新者）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, custGroupMap.get(KKSV0554_KKSV0554OP_CUST_GROUP_INFO.UPD_OPEACNT));
		// パラメータ１０（更新PGID）
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, null);
		
		/*
		 * 登録処理
		 */
		// 指示書登録
		getMapper().callSjishoAdd(dataMap, FUNC_01, "01");
	}
	
	/**
	 * 連携データ区分
	 * 「０２」回線契約にかかるサービス契約番号とSYSIDの紐付け
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void renkei02(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// サービス契約情報リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_LIST);
		
		int i = 0;
		for (HashMap<String,Object> svcKeiNoMap : svcKeiList)
		{
			i++;
			
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			
			/*
			 * 登録用データ取得
			 */
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(svcKeiNoMap, svcKeiMap, FUNC_02, getSerial(i, svcKeiList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
			if (!isHakko(pcrsCd))
			{
				// ID通知書発行識別コードが「発行なし」はスキップ
				continue;
			}
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00040);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "13");
			// パラメータ１（SYSID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
			// パラメータ２（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_NO));
			// パラメータ３（適用開始日）
			// ◆◆ LT-2013-0000374 START ◆◆
			// 照査取消の場合
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_YMD));
			if(!JKKStringUtil.isNullBlank((String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
			{
				// 照査取消年月日に値があれば20991231を出力する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, LAST_YMD);
			}
			else
			{
				// 照査の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_YMD));
			}
			// ◆◆ LT-2013-0000374 END   ◆◆

			// パラメータ４（適用終了日）
			String svcKeiStat = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_STAT);
			String endYmd = "20991231";
			if (SVC_KEI_STAT_910.equals(svcKeiStat))
			{
				endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_ENDYMD);
			}
			else if (SVC_KEI_STAT_920.equals(svcKeiStat))
			{
				endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_CANCEL_YMD);
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, endYmd);
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// パラメータ５（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.MK_FLG));
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// パラメータ６（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.ADD_DTM));
			// パラメータ７（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.ADD_OPEACNT));
			// パラメータ８（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, null);
			// パラメータ９（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.UPD_DTM));
			// パラメータ１０（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.UPD_OPEACNT));
			// パラメータ１１（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			// パラメータ１２（契約種別コード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, "00");
			// パラメータ１３（サービスコード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, "00000");
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０３」POPIDの情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void renkei03(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// オプションサービス契約情報リスト
		ArrayList<HashMap<String, Object>> opSvcKeiList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.OP_SVC_KEI_LIST);
		
		int i = 0;
		for (HashMap<String,Object> opSvcKeiNoMap : opSvcKeiList)
		{
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// オプションサービス契約データ用マップ
			HashMap<String, Object> opSvcKeiMap = new HashMap<String, Object>();
			// オプションサービス契約<ISP>データ用マップ
			HashMap<String, Object> opSvcKeiISPMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			
			/*
			 * 登録用データ取得
			 */
			String opSvcKeiNo = (String)opSvcKeiNoMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_NO);
			// オプションサービス契約一意照会
			getMapper().callOpSvcKeiIciShokai(opSvcKeiNo, opSvcKeiMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
// IT1-2013-000XXXX対応 20130610 星野 ADD START
			if(isNullEmpty( opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_NO) )){
				// 強制解約後の回復の場合、オプションが回復対象外となり論理削除されるケースがある。
				// この場合一意照会結果がノーヒットとなるため、システムエラーとはせず処理対象外としてスキップする
				continue;
			}
// IT1-2013-000XXXX対応 20130610 星野 ADD END
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(opSvcKeiMap, svcKeiMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
			if (!isHakko(pcrsCd))
			{
				// ID通知書発行識別コードが「発行なし」はスキップ
				continue;
			}
			// オプションサービス契約<ISP>一意照会
			getMapper().callOpSvcKeiISPIciShokai(opSvcKeiNo, opSvcKeiISPMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
				
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
//			// IT1-2013-0000676 2013.03.28 END MAEDA
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00050);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "14");
			// パラメータ１（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_KEI_NO));
			// パラメータ２（サービス契約コード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, "02");
			// パラメータ３（サービス契約コード通番）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, opSvcKeiISPMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_ISP_INFO.TSYRN_SVKEI_CD_SEQ));
			// パラメータ４（サービス契約ＩＤ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, opSvcKeiISPMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_ISP_INFO.POP_ID));
			// パラメータ５（適用開始日）
			// ◆◆ LT-2013-0000374 START ◆◆
			// 照査取消の場合
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_YMD));
			if(!JKKStringUtil.isNullBlank((String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
			{
				// 照査取消年月日に値があれば20991231を出力する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, LAST_YMD);
			}
			else
			{
				// 照査の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_YMD));
			}
			// ◆◆ LT-2013-0000374 END   ◆◆

			// パラメータ６（適用終了日）
			String svcKeiStat = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_STAT);
			String endYmd = "20991231";
			if (SVC_KEI_STAT_910.equals(svcKeiStat))
			{
				endYmd = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_ENDYMD);
			}
			else if (SVC_KEI_STAT_920.equals(svcKeiStat))
			{
				endYmd = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_CANCEL_YMD);
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, endYmd);
			// パラメータ７（回線契約メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, opSvcKeiISPMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_ISP_INFO.MLAD));
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// パラメータ８（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.MK_FLG));
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// パラメータ９（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.ADD_DTM));
			// パラメータ１０（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.ADD_OPEACNT));
			// パラメータ１１（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			// パラメータ１２（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.UPD_DTM));
			// パラメータ１３（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.UPD_OPEACNT));
			// パラメータ１４（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, null);
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, opSvcKeiList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０４」WEBIDの情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void renkei04(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// オプションサービス契約情報リスト
		ArrayList<HashMap<String, Object>> opSvcKeiList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.OP_SVC_KEI_LIST);
		
		int i = 0;
		for (HashMap<String,Object> opSvcKeiNoMap : opSvcKeiList)
		{
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// オプションサービス契約データ用マップ
			HashMap<String, Object> opSvcKeiMap = new HashMap<String, Object>();
			// オプションサービス契約<ISP>データ用マップ
			HashMap<String, Object> opSvcKeiISPMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			
			/*
			 * 登録用データ取得
			 */
			String opSvcKeiNo = (String)opSvcKeiNoMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_NO);
			// オプションサービス契約一意照会
			getMapper().callOpSvcKeiIciShokai(opSvcKeiNo, opSvcKeiMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
// IT1-2013-000XXXX対応 20130610 星野 ADD START
			if(isNullEmpty( opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_NO) )){
				// 強制解約後の回復の場合、オプションが回復対象外となり論理削除されるケースがある。
				// この場合一意照会結果がノーヒットとなるため、システムエラーとはせず処理対象外としてスキップする
				continue;
			}
// IT1-2013-000XXXX対応 20130610 星野 ADD END
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(opSvcKeiMap, svcKeiMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
			if (!isHakko(pcrsCd))
			{
				// ID通知書発行識別コードが「発行なし」はスキップ
				continue;
			}
			// オプションサービス契約<ISP>一意照会
			getMapper().callOpSvcKeiISPIciShokai(opSvcKeiNo, opSvcKeiISPMap, FUNC_02, getSerial(i, opSvcKeiList.size()));
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00050);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "14");
			// パラメータ１（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_KEI_NO));
			// パラメータ２（サービス契約コード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, "04");
			// パラメータ３（サービス契約コード通番）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, "1");
			// パラメータ４（サービス契約ＩＤ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, opSvcKeiISPMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_ISP_INFO.WEB_ID));
			// パラメータ５（適用開始日）
			// ◆◆ LT-2013-0000374 START ◆◆
			// 照査取消の場合
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_YMD));
			if(!JKKStringUtil.isNullBlank((String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
			{
				// 照査取消年月日に値があれば20991231を出力する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, LAST_YMD);
			}
			else
			{
				// 照査の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SHOSA_YMD));
			}
			// ◆◆ LT-2013-0000374 END   ◆◆
			// パラメータ６（適用終了日）
			String svcKeiStat = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.OP_SVC_KEI_STAT);
			String endYmd = "20991231";
			if (SVC_KEI_STAT_910.equals(svcKeiStat))
			{
				endYmd = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_ENDYMD);
			}
			else if (SVC_KEI_STAT_920.equals(svcKeiStat))
			{
				endYmd = (String)opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.SVC_CANCEL_YMD);
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, endYmd);
			// パラメータ７（回線契約メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// パラメータ８（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.MK_FLG));
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// パラメータ９（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.ADD_DTM));
			// パラメータ１０（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.ADD_OPEACNT));
			// パラメータ１１（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			// パラメータ１２（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.UPD_DTM));
			// パラメータ１３（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, opSvcKeiMap.get(KKSV0554_KKSV0554OP_OP_SVC_KEI_INFO.UPD_OPEACNT));
			// パラメータ１４（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, null);
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, opSvcKeiList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０５」認証IDの情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void renkei05(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// サービス契約内訳リスト
		ArrayList<HashMap<String, Object>> svcKeiUcwkList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_UCWK_LIST);
		
		int i = 0;
		for (HashMap<String,Object> svcKeiUcwkNoMap : svcKeiUcwkList)
		{
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			// サービス契約内訳データ用マップ
			HashMap<String, Object> svcKeiUcwkMap = new HashMap<String, Object>();
			// サービス契約<eo光ネット>データ用マップ
			HashMap<String, Object> svcKeiNetMap = null;
			// サービス契約<eoADSL>データ用マップ
			HashMap<String, Object> svcKeiADSLMap = null;
			
			/*
			 * 登録用データ取得
			 */
			// サービス契約内訳一意照会
			getMapper().callSvcKeiUcwkIciShokai(svcKeiUcwkNoMap, svcKeiUcwkMap, FUNC_02, getSerial(i, svcKeiUcwkList.size()));
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(svcKeiUcwkMap, svcKeiMap, FUNC_02, getSerial(i, svcKeiUcwkList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
// OM-2013-0000474対応 20130822 星野 MOD START
//			if (!isHakko(pcrsCd))
			if (!isNinshoHakko(pcrsCd))
// OM-2013-0000474対応 20130822 星野 MOD END
			{
				// ID通知書発行識別コードが「発行なし」「発行（マンションプライベート物流倉庫連携）」はスキップ
				continue;
			}
			// サービス契約<eo光ネット>一意照会
			svcKeiNetMap = getMapper().callSvcUcwkNetKeiIciShokai(svcKeiUcwkNoMap, FUNC_02, getSerial(i, svcKeiUcwkList.size()));
			// サービス契約<eoADSL>一意照会
			svcKeiADSLMap = getMapper().callSvcUcwkADSLIciShokai(svcKeiUcwkNoMap, FUNC_02, getSerial(i, svcKeiUcwkList.size()));
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00050);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "14");
			// パラメータ１（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SVC_KEI_NO));
			// パラメータ２（サービス契約コード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, "05");
			// パラメータ３（サービス契約コード通番）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, "1");
			// パラメータ４（サービス契約ＩＤ）
			if (svcKeiNetMap != null)
			{
				// ISP認証ID
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, svcKeiNetMap.get(KKSV0554_KKSV0554OP_SVC_UCWK_NET_INFO.ISP_NINSHO_ID));
			}
			else if (svcKeiADSLMap != null)
			{
				// ADSL認証ID
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, svcKeiADSLMap.get(KKSV0554_KKSV0554OP_SVC_UCWK_ADSL_INFO.ADSL_NINSHO_ID));
			}
// OM-2013-0000474対応 20130822 星野 ADD START
			// 認証ＩＤが未設定の場合
			if( StringUtils.isEmpty( (String)dataMap.get(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4) ) ){
				// マンションプライベートは認証ＩＤを持たないサービスのため未設定となる。
				// 認証ＩＤ未設定の場合、指示書登録不要のため、処理対象外とする。
				continue;
			}
// OM-2013-0000474対応 20130822 星野 ADD END
			
			// パラメータ５（適用開始日）
			// ◆◆ LT-2013-0000374 START ◆◆
			// 照査取消の場合
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SHOSA_YMD));
			if(!JKKStringUtil.isNullBlank((String)svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SHOSA_CL_YMD)))
			{
				// 照査取消年月日に値があれば20991231を出力する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, LAST_YMD);
			}
			else
			{
				// 照査の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SHOSA_YMD));
			}
			// ◆◆ LT-2013-0000374 END   ◆◆

			// パラメータ６（適用終了日）
			String svcKeiStat = (String)svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SVC_KEI_UCWK_STAT);
			String endYmd = "20991231";
			if (SVC_KEI_STAT_910.equals(svcKeiStat))
			{
				endYmd = (String)svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SVC_ENDYMD);
			}
			else if (SVC_KEI_STAT_920.equals(svcKeiStat))
			{
				endYmd = (String)svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.SVC_CANCEL_YMD);
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, endYmd);
			// パラメータ７（回線契約メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// パラメータ８（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.MK_FLG));
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// パラメータ９（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.ADD_DTM));
			// パラメータ１０（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.ADD_OPEACNT));
			// パラメータ１１（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			// パラメータ１２（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.UPD_DTM));
			// パラメータ１３（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, svcKeiUcwkMap.get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_INFO.UPD_OPEACNT));
			// パラメータ１４（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, null);
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiUcwkList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０６」請求契約番号(#T)の情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void renkei06(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String, Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_LIST);
		
		int i = 0;
		for (HashMap<String,Object> svcKeiNoMap : svcKeiList)
		{
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			// 課金先データ用マップ
			HashMap<String, Object> kakinMap = new HashMap<String, Object>();
			
			/*
			 * 登録用データ取得
			 */
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(svcKeiNoMap, svcKeiMap, FUNC_02, getSerial(i, svcKeiList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
			if (!isHakko(pcrsCd))
			{
				// ID通知書発行識別コードが「発行なし」はスキップ
				continue;
			}
			// 課金先一覧照会（請求契約番号）
			getMapper().callKakinIcrnShokai(svcKeiNoMap, kakinMap, FUNC_01, getSerial(i, svcKeiList.size()));
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00050);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "14");
			// パラメータ１（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.SVC_KEI_NO));
			// パラメータ２（サービス契約コード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, "01");
			// パラメータ３（サービス契約コード通番）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, "1");
			// パラメータ４（サービス契約ID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.SEIKY_KEI_NO));
			// パラメータ５（適用開始日）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.KAKINS_TSTAYMD));
			// パラメータ６（適用終了日）
			String endYmd = (String)kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.KAKINS_TENDYMD);
			if (JKKStringUtil.isNullBlank(endYmd))
			{
				endYmd = "20991231";
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, endYmd);
			// パラメータ７（回線契約メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
			// IT1-2013-0000676 2013.03.28 START MAEDA
			// パラメータ８（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.MK_FLG));
			// IT1-2013-0000676 2013.03.28 END MAEDA
			// パラメータ９（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.ADD_DTM));
			// パラメータ１０（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.ADD_OPEACNT));
			// パラメータ１１（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			// パラメータ１２（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.UPD_DTM));
			// パラメータ１３（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, kakinMap.get(KKSV0554_KKSV0554OP_KAKIN_INFO.UPD_OPEACNT));
			// パラメータ１４（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, null);
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「０７」回線契約に紐付く各種サービス契約情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private void renkei07(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_LIST);
		
		int i = 0;
		for (HashMap<String,Object> svcKeiNoMap : svcKeiList)
		{
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> svcKeiMap = new HashMap<String, Object>();
			// サービス契約データ用マップ
			HashMap<String, Object> oldIcsMap = new HashMap<String, Object>();
			// IT1-2013-0001113 2013.04.30 START KAKEGI
			// サービス契約データ用マップ
			HashMap<String, Object> oldIcsRevMap = new HashMap<String, Object>();
			// IT1-2013-0001113 2013.04.30 END   KAKEGI
			
			/*
			 * 登録用データ取得
			 */
			// サービス契約一意照会
			getMapper().callSvcKeiIciShokai(svcKeiNoMap, svcKeiMap, FUNC_02, getSerial(i, svcKeiList.size()));
			// 料金コース一意照会
			String pcrsCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PCRS_CD);
			if (!isHakko(pcrsCd))
			{
				// ID通知書発行識別コードが「発行なし」はスキップ
				continue;
			}
			// 旧ICSコード変換一覧照会
			getMapper().callOldICSConvIcrnShokai(svcKeiMap, oldIcsMap, FUNC_01, isHavingSokuwari(svcKeiMap), getSerial(i, svcKeiList.size()));
			// IT1-2013-0001113 2013.04.30 START KAKEGI
			// 旧ICSコード変換一覧照会（即割契約中の場合"無"で、以外の場合"有"で取得）
			getMapper().callOldICSConvIcrnShokai(svcKeiMap, oldIcsRevMap, FUNC_01, 
				isHavingSokuwari(svcKeiMap).equals("0") ? "1" : "0", getSerial(i, svcKeiList.size()));
			// IT1-2013-0001113 2013.04.30 END   KAKEGI
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000676 2013.03.28 START MAEDA
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000676 2013.03.28 END MAEDA
			int outMaxCnt = 1;
			ArrayList<HashMap<String, Object>> svcKeiUcwkList = null;
			String svcCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_CD);
			if (TEL.equals(svcCd))
			{
				// サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）
				svcKeiUcwkList = getMapper().callSvcKeiUcwkTelIcrnShokai(svcKeiMap, FUNC_01);
				outMaxCnt = svcKeiUcwkList.size();
			}
			for (int outCnt = 0; outCnt < outMaxCnt; outCnt++)
			{
				// 処理コード
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
				// 対象テーブルID
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00040);
				// 処理対象SYSID
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
				// 結果フラグ
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
				// パラメータ有効数
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "13");
				// パラメータ１（SYSID）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SYSID));
				// パラメータ２（サービス契約番号）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_NO));

// IT1-2013-0001113 2013.04.30 START KAKEGI
//				// ST1-2013-0000283 2012.02.10 START ASARI
//				// パラメータ３（適用開始日）
//				String endYmd = "20991231";
//				// 照査取消の場合
//				if(!JKKStringUtil.isNullBlank((String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
//				{
//					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, endYmd);
//				}
//				else
//				{
//					// 照査の場合
//					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, 
//							svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_YMD));
//				}
//				
//				
//				// パラメータ４（適用終了日）
//				String svcKeiStat = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_STAT);
////				String endYmd = "20991231";
//				
//				if (SVC_KEI_STAT_910.equals(svcKeiStat))
//				{
//					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_ENDYMD);
//				}
//				else if (SVC_KEI_STAT_920.equals(svcKeiStat))
//				{
//					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_CANCEL_YMD);
//				}
//				// 照査取消の場合
//				else if (!JKKStringUtil.isNullBlank((String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
//				{	
//					// 照査取消年月日を設定
//					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD);
//				}
//				// ST1-2013-0000283 2012.02.10 END ASARI
//				
//				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, endYmd);
// IT1-2013-0001113 2013.04.30 END KAKEGI
				
				// パラメータ５（有効無効フラグ）
				// IT1-2013-0000676 2013.03.28 START MAEDA
//				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, mkFlg);
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.MK_FLG));
				// IT1-2013-0000676 2013.03.28 END MAEDA
				// パラメータ６（登録日時）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.ADD_DTM));
				// パラメータ７（登録者）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.ADD_OPEACNT));
				// パラメータ８（登録PGID）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, null);
				// パラメータ９（更新日時）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.UPD_DTM));
				// パラメータ１０（更新者）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.UPD_OPEACNT));
				// パラメータ１１（更新PGID）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
				// パラメータ１２（契約種別コード）
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_CD));

				// IT1-2013-0001113 2013.04.30 START KAKEGI
				String parameter13 = "";
				String prcGrpCd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.PRC_GRP_CD);
				
				// ｅｏ光ネットホームタイプ、ｅｏ光ネットメゾンタイプの場合、
				// ダミー指示書を２件作成する。
				if (JKKModelConst.PRC_GRP_CD_EOHNT_HOME_TYPE.equals(prcGrpCd) ||
					JKKModelConst.PRC_GRP_CD_EOHNT_MAISON_TYPE.equals(prcGrpCd)) {
					/*************************************
					 * ダミー指示書作成（１件目）
					 *************************************/
					// パラメータ３（適用開始日）
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, JCCBPCommon.getOpeDate(null));
					// パラメータ４（適用終了日）
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, JPCDateUtil.addDay(JCCBPCommon.getOpeDate(null), -1));
					// パラメータ１３（サービスコード）
					parameter13 = "";
					if (TEL.equals(svcCd))
					{
						// 電話の場合、旧ICS付加サービス種別コード＋電話番号順番下３桁
						parameter13 = JKKStringUtil.nullToBlank((String)oldIcsRevMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_HUKA_SVC_SBT_CD));
						parameter13 += modTelNoJun((String)svcKeiUcwkList.get(outCnt).get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_TEL_INFO.TELNO_JUN));
					}
					else
					{
						// 電話以外の場合、旧ICS契約サービスコード＋旧ICS料金プランコード
						parameter13 = JKKStringUtil.nullToBlank((String)oldIcsRevMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_KEI_SVC_CD));
						parameter13 += JKKStringUtil.nullToBlank((String)oldIcsRevMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_PPLAN_CD));
					}
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, parameter13);
					
					/*
					 * 登録処理
					 */
					// 指示書登録
					getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
	
					/*******************************
					 * ダミー指示書作成（２件目）
					 *******************************/
					// パラメータ３（適用開始日）
					// パラメータ４（適用終了日）
					String svcstaYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_STA_YMD);
					// サービス開始日に設定がある場合、サービス開始日
					if(!JKKStringUtil.isNullBlank(svcstaYmd))
					{
						dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, svcstaYmd);
						dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, LAST_YMD);
					}
					else
					{
						// サービス開始日に設定がない場合、照査
						String shosaYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_YMD);
						// 照査日に設定がある場合、照査日
						if(!JKKStringUtil.isNullBlank(shosaYmd)) {
							dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, shosaYmd);
							dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, LAST_YMD);
						}
						else
						{
							// 照査日に設定がない場合、適用開始日に「20991231」を、適用終了日に照査取消年月日を設定する
							dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, LAST_YMD);
							dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, 
									(String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD));
						}
					}
					// パラメータ１３（サービスコード）
					parameter13 = "";
					if (TEL.equals(svcCd))
					{
						// 電話の場合、旧ICS付加サービス種別コード＋電話番号順番下３桁
						parameter13 = JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_HUKA_SVC_SBT_CD));
						parameter13 += modTelNoJun((String)svcKeiUcwkList.get(outCnt).get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_TEL_INFO.TELNO_JUN));
					}
					else
					{
						// 電話以外の場合、旧ICS契約サービスコード＋旧ICS料金プランコード
						parameter13 = JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_KEI_SVC_CD));
						parameter13 += JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_PPLAN_CD));
					}
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, parameter13);
					
					/*
					 * 登録処理
					 */
					// 指示書登録
					getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
				}
				
				/*******************************
				 * 指示書作成
				 *******************************/
				// パラメータ３（適用開始日）
				// 照査取消の場合
				if(!JKKStringUtil.isNullBlank((String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
				{
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, LAST_YMD);
				}
				else
				{
					// 照査の場合
					dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, 
							svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_YMD));
				}
				// パラメータ４（適用終了日）
				String svcKeiStat = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_STAT);
				String endYmd = "20991231";
				if (SVC_KEI_STAT_910.equals(svcKeiStat))
				{
					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_ENDYMD);
				}
				else if (SVC_KEI_STAT_920.equals(svcKeiStat))
				{
					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_CANCEL_YMD);
				}
				// 照査取消の場合
				else if (!JKKStringUtil.isNullBlank((String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD)))
				{	
					// 照査取消年月日を設定
					endYmd = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SHOSA_CL_YMD);
				}
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, endYmd);
				// IT1-2013-0001113 2013.04.30 END   KAKEGI
				
				// パラメータ１３（サービスコード）
				parameter13 = "";
				if (TEL.equals(svcCd))
				{
					// 電話の場合、旧ICS付加サービス種別コード＋電話番号順番下３桁
					parameter13 = JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_HUKA_SVC_SBT_CD));
					parameter13 += modTelNoJun((String)svcKeiUcwkList.get(outCnt).get(KKSV0554_KKSV0554OP_SVC_KEI_UCWK_TEL_INFO.TELNO_JUN));
				}
				else
				{
					// 電話以外の場合、旧ICS契約サービスコード＋旧ICS料金プランコード
					parameter13 = JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_KEI_SVC_CD));
					parameter13 += JKKStringUtil.nullToBlank((String)oldIcsMap.get(KKSV0554_KKSV0554OP_OLD_ICS_CONV_INFO.OLD_ICS_PPLAN_CD));
				}
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, parameter13);
				
				/*
				 * 登録処理
				 */
				// 指示書登録
				getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
			}
		}
	}
	
	/**
	 * 連携データ区分
	 * 「８」支払方法入力支援の情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private void renkei08(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	{
		// サービス契約リスト
		ArrayList<HashMap<String, Object>> svcKeiList = 
			(ArrayList<HashMap<String,Object>>)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SVC_KEI_LIST);
		/*
		 * 登録用データ取得
		 */
		// 支払方法入力支援一覧照会（テーブル単一参照）
		ArrayList<HashMap<String, Object>> payWayList = getMapper().callPayWayIcrnShokai(renkeiDataKbnMap, FUNC_01);
		
		for (HashMap<String,Object> paywayMap : payWayList)
		{
			int i = 0;
			i++;
			// 登録用データマップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();
			
			/*
			 * 登録データ設定
			 */
			// IT1-2013-0000609 2013.04.02 START BANDO
			// コンテンツ同時支払い判定
//			boolean contSameTimePay =
//				isContSameTimePay((String)paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.ISP_KSSAI_SVC_KEI_NO), svcKeiList);
//
//			String mkFlg = "";
//			String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
//			if (ADD.equals(trnKbn) || MOD.equals(trnKbn))
//			{
//				mkFlg = (String)paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.MK_FLG);
//			}
//			else if (DEL.equals(trnKbn))
//			{
//				mkFlg = "1";
//			}
//			if (contSameTimePay)
//			{
//				mkFlg = "1";
//			}
			// IT1-2013-0000609 2013.04.02 END BANDO
			String payWay = (String)paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.PAYWAY_INPUT_SHIEN_CD);
			
			// 処理コード
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, REPLICA_MOD_API);
			// 対象テーブルID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, TNM00060);
			// 処理対象SYSID
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.SYSID));
			// 結果フラグ
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
			// パラメータ有効数
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "13");
			// パラメータ１（SYSID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.SYSID));
			// パラメータ２（支払方法）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, payWay);
			// パラメータ３（支払通番）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.TSYRN_PAY_SEQ));
			// パラメータ４（サービス契約番号）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, null);
			if (IPS.equals(payWay))
			{
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.ISP_KSSAI_SVC_KEI_NO));
			}
			// パラメータ５（クレジットカードID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, null);
			if (CREDIT.equals(payWay))
			{
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.CRECARD_ID));
			}
			// IT1-2013-0000609 2013.04.02 START BANDO
			// パラメータ６（有効無効フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, mkFlg);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.MK_FLG));
			// IT1-2013-0000609 2013.04.02 END BANDO
			// パラメータ７（登録日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.ADD_DTM));
			// パラメータ８（登録者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.ADD_OPEACNT));
			// パラメータ９（登録PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, null);
			// パラメータ１０（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.UPD_DTM));
			// パラメータ１１（更新者）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.UPD_OPEACNT));
			// パラメータ１２（更新PGID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, null);
			// パラメータ１３（督促ステータス）
			if (IPS.equals(payWay))
			{
				// 督促一覧照会（サービス契約番号）
				getMapper().callTkskIcrnShokai((String)paywayMap.get(KKSV0554_KKSV0554OP_PAYWAY_INFO.ISP_KSSAI_SVC_KEI_NO), dataMap, FUNC_01);
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, dataMap.get(KKSV0554_KKSV0554OP_TOKUSOKU_INFO.TOKUSOKU_STAT));
			}
			else
			{
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, null);
			}
			
			/*
			 * 登録処理
			 */
			// 指示書登録
			getMapper().callSjishoAdd(dataMap, FUNC_01, getSerial(i, svcKeiList.size()));
		}
	}
	
	/**
	 * 連携データ区分
	 * 「１１」お客様の基本情報
	 * 
	 * @param renkeiDataKbnMap
	 * @throws Throwable
	 */
// #81341 MOD START
//	private void renkei11(HashMap<String, Object> renkeiDataKbnMap) throws Throwable
	private void renkei11(HashMap<String, Object> renkeiDataKbnMap, SessionHandle handle, 
		IRequestParameterReadWrite param) throws Throwable
// #81341 MOD END
	{
		// 登録用データマップ
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		// お客様情報用データマップ
		HashMap<String, Object> custMap = new HashMap<String, Object>();
		
		/*
		 * 登録用データ取得
		 */
		// お客様一意照会
		getMapper().callCustIciShokai(renkeiDataKbnMap, custMap, FUNC_02);
		
// ANK-4341-00-00 ADD START
		// 呼出元を確認し、KKSV076601CC(サービス契約Mvno照査受付サービス)の場合のみ、処理を行う。
		if(KKSV076601CC.equals(this.MOTO_SVC))
		{
			// 取得したお客様情報よりSYSIDを取得する。
			String sysid = (String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SYSID);

			// AXM会員情報更新依頼（検索）サービスIF実行
			CAANMsg[] eCKA9010002MsgList = getMapper().calliDAKaiinUpdateIraiSearch(sysid);

			// 会員情報が設定されている場合、ログイン認証レベルを取得する。
			if(eCKA9010002MsgList != null && eCKA9010002MsgList.length != 0)
			{
				CAANMsg eCKA9010002Msg = eCKA9010002MsgList[0];
				// ログイン認証レベル
				ninsho_lv_value = getNullToStr(eCKA9010002Msg.getString(ECKA9010002CBSMsg1List.AUTHENTICATION_LEVEL));
			}

			// 会員種別がマスター会員の場合
			if (JCKStrConst.CD00039_MASTER_KOJIN.equals(this.regitMemberSbtCd)
					|| JCKStrConst.CD00039_MASTER_HOJIN.equals(this.regitMemberSbtCd)) {
				// ログイン認証レベルが空の場合、指示書登録を行わず、マイナーアラームを発行する。
				if (ninsho_lv_value == null || "".equals(ninsho_lv_value)) {
					//マイナーアラーム出力
					printSyslog4War(KKIFE231, API_WAR_MSG_ID_3, MESLOG_iDA_KAIIN + sysid +")");
					return;
				}

				// ログイン認証レベルが"1"(1段階認証)以外の場合、指示書登録を行わない。
				if (!"1".equals(ninsho_lv_value)) {
					return;
				}
				else 
				{
					// 更新フラグをオフにする。
					PARAM_2_UPD_FLG = FLG_OFF;
					PARAM_4_UPD_FLG = FLG_OFF;
					PARAM_6_UPD_FLG = FLG_OFF;
					PARAM_8_UPD_FLG = FLG_OFF;
					PARAM_9_UPD_FLG = FLG_OFF;
					PARAM_11_UPD_FLG = FLG_OFF;
					PARAM_17_UPD_FLG = FLG_OFF;
				}
			}
		}
//ANK-4341-00-00 ADD END
		
		/*
		 * 登録データ設定
		 */
		// 処理コード
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRN_CD, ADMIN_API);
		// 対象テーブルID
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRGT_TABLE_ID, null);
		// 処理対象SYSID
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.TRAN_TRGT_SYSID, renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SYSID));
		// 結果フラグ
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.RSLT_FLG, UNPROCESS);
		// パラメータ有効数
		// ANK-3706-00-00 MOD START
		//dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "19");
		dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "22");
		// ANK-3706-00-00 MOD END
		
		String trnKbn = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.TRN_KBN);
		// 登録なら照査とみなす
		if (ADD.equals(trnKbn))
		{
			// パラメータ１（処理区分）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, "C");
			// パラメータ２（eoID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.EOID));
			// パラメータ３（SYSID）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SYSID));
			// パラメータ４（パスワード）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SHK_EOID_PWD));
			// パラメータ５（ニックネーム）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, null);
			// パラメータ６（会員種別）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MEMBER_SBT_CD));
			// パラメータ７（連絡先メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
			// パラメータ８（年齢フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, getOldFlg((String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_BIRTHD)));
			// IT1-2013-0000655 2013.03.28 START MAEDA
			// パラメータ９（性別）
			if(MALE.equals(custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_SEX_CD))
					|| FEMALE.equals(custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_SEX_CD))){
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_SEX_CD));}
			else{
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9,S_OTHER);
			}
			// IT1-2013-0000655 2013.03.28 END MAEDA
			// パラメータ１０（登録フラグ）
			// ANK-3366-00-00 2018/02/28 MOD START
			// dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, "0");
			// 会員種別コードが"10"(マスター会員（個人）) かつ 卸先事業者コードがNULLでない
			if((JCKStrConst.CD00039_MASTER_KOJIN).equals(custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MEMBER_SBT_CD)) 
				&& ((custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.ORSJGS_CD) != null) && !("".equals(custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.ORSJGS_CD)))))
			{
				// 卸契約の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, "4");
			}
			else
			{
				// 本登録の場合
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, "0");
			}
			// ANK-3366-00-00 2018/02/28 MOD END
			// パラメータ１１（ISP利用停止フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CONT_ISP_USE_FAIL_FLG));

			// パラメータ１２（標準コンテンツ規則同意フラグ）
// OM-2013-0003259 2013.10.15 mod start
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, "0");
			
			String param12Flg = getContentsFlg(renkeiDataKbnMap);
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, param12Flg);
// OM-2013-0003259 2013.10.15 mod end
			
			// パラメータ１３（テスト用IDフラグ）
			String keishaType = (String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.KEISHA_TYPE_CD);
			if ("3".equals(keishaType))
			{
				// 保守用なら"1"を設定
				keishaType = "1";
			}
			//追加
			else{
				// 保守用以外なら"0"を設定
				keishaType = "0";
			}
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, keishaType);
			// パラメータ１４（管理者フラグ１）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, "0");
			// パラメータ１５（管理者フラグ２）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_15, "0");
			// パラメータ１６（管理者フラグ３）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_16, "0");
			// パラメータ１７（会員種別）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_17, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MMB_ISP_KSSAI_STAT_CD));
			// パラメータ１８（会員種別特定フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_18, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MMB_SBT_TOKUT_FLG));
			// パラメータ１９（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_19, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.UPD_DTM));
			// ANK-3706-00-00 ADD START
			// パラメータ２０（契約者電話番号）
			// ANK-3814-00-00 MOD START
			//dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_20, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.KEISHA_TELNO));
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_20, "");
			// ANK-3814-00-00 MOD END
// ANK-4171-00-00 MOD START
//			// パラメータ２１（ログイン認証レベル）
//			// 画面での設定を行わないため、""を設定する
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "");
//			// パラメータ２２（ワンタイムキー送付先優先区分）
//			// 画面での設定を行わないため、""を設定する
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "");
//			// ANK-3706-00-00 ADD END
			// 呼出元サービスの判定を行う
// #81341 MOD START
//			if (motoSvcCheck(custMap))
			if (motoSvcCheck(custMap, handle, param))
// #81341 MOD END
			{
				// KKSV076601CCから呼出されかつ、有効なeoIDおよびコンテンツ連絡先メールアドレスが存在する場合、
				// パラメータ２１（ログイン認証レベル）
				// "2"(2段階認証)を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "2");
				// パラメータ２２（ワンタイムキー送付先優先区分）
				// "1"(メール)を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "1");
			}
			else
			{
				// パラメータ２１（ログイン認証レベル）
				// 画面での設定を行わないため、""を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "");
				// パラメータ２２（ワンタイムキー送付先優先区分）
				// 画面での設定を行わないため、""を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "");
			}
// ANK-4171-00-00 MOD END
		}

		/*ST1-2012-0000961 対応ここから*/
		else if (MOD.equals(trnKbn))
		{
			// パラメータ１（処理区分）
			//"PU"（更新を設定）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, "PU");
			// パラメータ２（eoID）
			// IKK-2013-0000690 2013.03.28 START ASARI
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, null);
			if(FLG_ON.equals(PARAM_2_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.EOID));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_2, null);
			}
			// IKK-2013-0000690 2013.03.28 END ASARI
			// パラメータ３（SYSID）
// ST-2014-0000077 2014/03/11 MOD START
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, null);
			if(FLG_ON.equals(PARAM_3_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SYSID));
			} else {
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_3, null);
			}
// ST-2014-0000077 2014/03/11 MOD END
			// パラメータ４（パスワード）
			// IKK-2013-0000690 2013.03.28 START ASARI
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, null);
			if(FLG_ON.equals(PARAM_4_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SHK_EOID_PWD));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_4, null);
			}
			// IKK-2013-0000690 2013.03.28 END ASARI
			// パラメータ５（ニックネーム）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_5, null);
			// パラメータ６（会員種別）			
			if(FLG_ON.equals(PARAM_6_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MEMBER_SBT_CD));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_6, null);
			}
			// パラメータ７（連絡先メールアドレス）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_7, null);
			// パラメータ８（年齢フラグ）
			if(FLG_ON.equals(PARAM_8_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, getOldFlg((String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_BIRTHD)));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_8, null);
			}
			// パラメータ９（性別）
			if(FLG_ON.equals(PARAM_9_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9,custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CUST_SEX_CD));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_9, null);
			}
			// パラメータ１０（登録フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_10, null);
			// IT1-2013-0000609 2013.04.02 START BANDO
			// パラメータ１１（ISP利用停止フラグ）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			if(FLG_ON.equals(PARAM_11_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.CONT_ISP_USE_FAIL_FLG));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_11, null);
			}
			// IT1-2013-0000609 2013.04.02 END BANDO
			// パラメータ１２（標準コンテンツ規則同意フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_12, null);
			// パラメータ１３（テスト用IDフラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_13, null);
			// パラメータ１４（管理者フラグ１）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_14, null);
			// パラメータ１５（管理者フラグ２）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_15, null);
			// パラメータ１６（管理者フラグ３）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_16, null);
			// IT1-2013-0000609 2013.04.02 START BANDO
			// パラメータ１７（会員種別）
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_17, null);
			if(FLG_ON.equals(PARAM_17_UPD_FLG)){
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_17, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.MMB_ISP_KSSAI_STAT_CD));
			}else{
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_17, null);
			}
			// IT1-2013-0000609 2013.04.02 END BANDO
			// パラメータ１８（会員種別特定フラグ）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_18, null);
			// パラメータ１９（更新日時）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_19,custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.UPD_DTM));
			// ANK-3706-00-00 ADD START
			// パラメータ２０（契約者電話番号）
			// ANK-3814-00-00 MOD START
			//dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_20, custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.KEISHA_TELNO));
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_20, "");
			// ANK-3814-00-00 MOD END
// ANK-4171-00-00 MOD START
//			// パラメータ２１（ログイン認証レベル）
//			// 画面での設定を行わないため、""を設定する
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "");
//			// パラメータ２２（ワンタイムキー送付先優先区分）
//			// 画面での設定を行わないため、""を設定する
//			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "");
//			// ANK-3706-00-00 ADD END
			// 呼出元サービスの判定を行う
// #81341 MOD START
//			if (motoSvcCheck(custMap))
			if (motoSvcCheck(custMap, handle, param))
// #81341 MOD END
			{
				// KKSV076601CCから呼出されかつ、有効なeoIDおよびコンテンツ連絡先メールアドレスが存在する場合、
				// パラメータ２１（ログイン認証レベル）
				// "2"(2段階認証)を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "2");
				// パラメータ２２（ワンタイムキー送付先優先区分）
				// "1"(メール)を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "1");
// ANK-4236-00-00 ADD START
				// ログイン認証レベル更新時のみパラメータ有効数を上書きする
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_YK_CNT, "28");
				// パラメータ２８（パスワード有効フラグ）
				// "1"(有効)を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_28, "1");
// ANK-4236-00-00 ADD END
			}
			else
			{
// ANK-4341-00-00 ADD START
				// 呼出元を確認し、KKSV076601CC(サービス契約Mvno照査受付サービス)の場合のみ、処理を行う。
				if(KKSV076601CC.equals(this.MOTO_SVC))
				{
					// 会員種別がマスター会員の場合
					if (JCKStrConst.CD00039_MASTER_KOJIN.equals(this.regitMemberSbtCd)
							|| JCKStrConst.CD00039_MASTER_HOJIN.equals(this.regitMemberSbtCd)) {
						// 登録処理は実施せず、指示書登録を行わない。
						return;
					}
				}
// ANK-4341-00-00 ADD END

				// パラメータ２１（ログイン認証レベル）
				// 画面での設定を行わないため、""を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_21, "");
				// パラメータ２２（ワンタイムキー送付先優先区分）
				// 画面での設定を行わないため、""を設定する
				dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_22, "");
			}
// ANK-4171-00-00 MOD END

			// パラメータ更新フラグの初期化
			// IKK-2013-0000690 2013.03.28 START ASARI
			PARAM_2_UPD_FLG = FLG_OFF;
			PARAM_4_UPD_FLG = FLG_OFF;
			// IKK-2013-0000690 2013.03.28 END ASARI
			PARAM_6_UPD_FLG = FLG_OFF;
			PARAM_8_UPD_FLG = FLG_OFF;
			PARAM_9_UPD_FLG = FLG_OFF;
			// IT1-2013-0000609 2013.04.02 START BANDO
			PARAM_11_UPD_FLG = FLG_OFF;
			PARAM_17_UPD_FLG = FLG_OFF;
			// IT1-2013-0000609 2013.04.02 END BANDO
		}
		/*ST1-2012-0000961 対応ここまで*/
		
		// 削除なら照査取消とみなす
		else if (DEL.equals(trnKbn))
		{
			// パラメータ１（処理区分）
			dataMap.put(KKSV0554_KKSV0554OP_SJISHO_KBN_INFO.PARAMETER_1, "D");
			// パラメータ２〜２２の設定
			String baseKey = "parameter_";
			// ANK-3706-00-00 MOD START
			//for (int i = 2; i <= 19; i++)
			for (int i = 2; i <= 22; i++)
			// ANK-3706-00-00 MOD END
			
			{
				dataMap.put(baseKey + i, null);
			}
		}
		
		/*
		 * 登録処理
		 */
		// 指示書登録
		getMapper().callSjishoAdd(dataMap, FUNC_01, "01");
	}
	
	
	/**
	 * null値、又は空文字の場合はtrue、文字列が設定されている場合はfalse
	 * 
	 * @param str
	 * @return
	 */
	@SuppressWarnings("unchecked")
	private boolean isNullEmpty(Object target)
	{
		if (target == null)
		{
			return true;
		}
		
		if (target instanceof String)
		{
			if (target.equals(""))
			{
				return true;
			}
		}
		
		if (target instanceof ArrayList)
		{
			if (((ArrayList) target).isEmpty())
			{
				return true;
			}
		}
		return false;
	}
	
	/**
	 * エラーログを出力します。<BR>
	 * 
	 * @param dumpObj 出力するオブジェクト
	 */
	private void printlnEjbLog(Object dumpObj)
	{
		JSYejbLog.println(JSYejbLog.ERROR, this.getClass(), dumpObj, null, null, null);
	}
	
	/**
	 * リストサイズでゼロ埋めした数値の文字列を返却
	 * 
	 * @param index
	 * @param listSize
	 * @return
	 */
	private String getSerial(int index, int listSize)
	{
		return String.format("%0" + String.valueOf(listSize).length() + "d", index);
	}
	
	/**
	 * お客様の年齢に該当する年齢フラグを返却する。
	 * 
	 * @param birthDay
	 * @return
	 */
	private String getOldFlg(String birthDay)
	{
		String oldFlg = "0000";
		
		if (isNullEmpty(birthDay))
		{
			return oldFlg;
		}
		
		int custOld = getOld(JCCBPCommon.getSysDate(), birthDay);
		// 12歳未満
		if (custOld < 12)
		{
			oldFlg = "1000";
		}
		// 12歳以上且つ15歳未満
		else if (12 <= custOld && custOld < 15)
		{
			oldFlg = "2000";
		}
		// 15歳以上且つ18歳未満
		else if (15 <= custOld && custOld < 18)
		{
			oldFlg = "3000";
		}
		// 18歳以上且つ20歳未満
		else if (18 <= custOld && custOld < 20)
		{
			oldFlg = "4000";
		}
		// 20歳以上且つ21歳未満
		else if (20 <= custOld && custOld < 21)
		{
			oldFlg = "5000";
		}
		// 21歳以上
		else if (21 <= custOld)
		{
			oldFlg = "6000";
		}
		return oldFlg;
	}
	
	/**
	 * お客様の生年月日から年齢を算出する。
	 * <br>
	 *  
	 * @param birthDay お客様生年月日
	 * @return
	 */
	private int getOld(String sysDate, String birthDay)
	{
		// 年取得
		int sysYear = Integer.parseInt(sysDate.substring(0,4));
		int custYear = Integer.parseInt(birthDay.substring(0,4));
		
		// 年齢算出
		int old = sysYear - custYear;
		
		// 月日の判定
		int sysMmdd = Integer.parseInt(sysDate.substring(4, 8));
		int custMmdd = Integer.parseInt(birthDay.substring(4, 8));
		
		// 現在の月日より誕生日の月日が小さい場合は年齢をに1を引く
		if(sysMmdd <= custMmdd)
		{
			old = old - 1;
		}
		return old;
	}
	
	/**
	 * コンテンツ同時支払い登録の判定を行う。
	 * 
	 * @param svcKeiNo
	 * @param svcKeiList
	 * @return
	 */
	private boolean isContSameTimePay(String ispSvcKeiNo, ArrayList<HashMap<String, Object>> svcKeiList)
	{
		for (HashMap<String, Object> svcKeiNoMap : svcKeiList)
		{
			// 支払い方法入力支援一覧照会で取得したISP決済サービス契約番号と入力パラメータのサービス契約番号が
			// 同じなら「コンテンツ同時支払い登録」と判断する
			if (ispSvcKeiNo.equals(svcKeiNoMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_NO)))
			{
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 即割が適用中かどうか判定する。
	 * 
	 * @param svcKeiNo
	 * @param svcKeiList
	 * @return
	 * @throws Throwable 
	 */
	private String isHavingSokuwari(HashMap<String,Object> svcKeiMap) throws Throwable
	{
		// 即割が適用中かどうか判定する
		// 割引サービス契約一覧照会
		String svcKeiNo = (String)svcKeiMap.get(KKSV0554_KKSV0554OP_SVC_KEI_INFO.SVC_KEI_NO);
		int cnt = getMapper().callWrsvAplyCntIcrnShokai(svcKeiNo, FUNC_01);
		
		if (cnt > 0)
		{
			return "1";
		}
		
		return "0";
	}
	
	/**
	 * 引数の下3桁（0埋め）を返却する
	 * 
	 * @param telNoJun
	 * @return
	 */
	private String modTelNoJun(String telNoJun)
	{
		int wk = 0;
		if (!JKKStringUtil.isNullBlank(telNoJun))
		{
			wk = Integer.parseInt(telNoJun);
		}
		return String.format("%09d", wk).substring(6, 9);
	}
	
	/**
	 * スレッドローカルに保存したマッパーを返却する。
	 * 
	 * @return
	 */
	private JKKAddSjishoCCMapper getMapper()
	{
// 2013/09/28 OM-2013-0002543 mod start
//		return ccMapper.get();
		return ccMapper;
// 2013/09/28 OM-2013-0002543 mod end
	}

	/**
	 * 料金コースコードに設定されているID通知書発行識別コードが発行無しの場合はfalse、
	 * それ以外はtrueを返却する。
	 * 
	 * @param pcrsCd
	 * @return
	 * @throws Throwable
	 */
	private boolean isHakko(String pcrsCd) throws Throwable
	{
		// 料金コース一意照会
		String idTchishoHakSkbtCd = getMapper().callPcrsIciShokai(pcrsCd, FUNC_02);
		if (HAKKO_NASHI.equals(idTchishoHakSkbtCd))
		{
// 2014.03.10 ST-2014-0000078 add start
			// mineo対応
			if (PCRS_CD_MINEO.equals(pcrsCd)) {
				return true;
			}
// 2014.03.10 ST-2014-0000078 add end
// 2015.05.22 ANK-2480-00-00 add start
			// eo電気対応
			if (PCRS_CD_EODENKI.equals(pcrsCd)) {
				return true;
			}
// 2015.05.22 ANK-2480-00-00 add end
			return false;
		}
		return true;
	}
// OM-2013-0000474対応 20130822 星野 ADD START
	/**
	 * 料金コースコードに設定されているID通知書発行識別コードが発行無し または マンションプライベートの場合はfalse、
	 * それ以外はtrueを返却する。
	 * 
	 * @param pcrsCd
	 * @return
	 * @throws Throwable
	 */
	private boolean isNinshoHakko(String pcrsCd) throws Throwable
	{
		// 料金コース一意照会
		String idTchishoHakSkbtCd = getMapper().callPcrsIciShokai(pcrsCd, FUNC_02);
		if (HAKKO_NASHI.equals(idTchishoHakSkbtCd) || MANSION_PRIVATE.equals(idTchishoHakSkbtCd))
		{
			return false;
		}
		return true;
	}
// OM-2013-0000474対応 20130822 星野 ADD END
	
// OM-2013-0003259 2013.10.15 add start
	/**
	 * お客様基本情報：標準コンテンツ規約同意フラグの設定値を判定して返却します。
	 * SYSID配下のサービス契約を取得して、有効なホスティング契約があるかチェックして
	 * あれば、1 なければ 0 を返却します。
	 * @param renkeiDataKbnMap
	 * @return SYSID配下に有効なホスティング契約があれば1 なかれば0 
	 */
	private String getContentsFlg(HashMap<String, Object> renkeiDataKbnMap) throws Throwable {

		String rtnFlg = "0";
		
		// SYSIDを取得
		String sysid = (String)renkeiDataKbnMap.get(KKSV0554_KKSV0554OP_RENKEI_DATA_KBN_INFO.SYSID);
		if (isNullEmpty(sysid))
		{
			printlnEjbLog("SYSIDが設定されていません");
			return rtnFlg;
		}

		// SYSID配下のサービス契約を取得して、有効なホスティング契約があるかチェックする。
		// サービス契約一覧照会（SYSID）3
		CAANMsg[] msgListEKK0081B519 = getMapper().callSvcKeiIchiranBySidShokai(sysid);

		if (msgListEKK0081B519 != null) {
			for (CAANMsg msgEKK0081B519 : msgListEKK0081B519) {
	
				String svcKeiNo = msgEKK0081B519.getString(EKK0081B519CBSMsg1List.SVC_KEI_NO);
				String svcCd = msgEKK0081B519.getString(EKK0081B519CBSMsg1List.SVC_CD);
				String svcStatusCd = msgEKK0081B519.getString(EKK0081B519CBSMsg1List.SVC_KEI_STAT);
	
				// "ホスティング"でサービス提供中の場合
				if (HOSTING.equals(svcCd) && "100".equals(svcStatusCd)) {
					rtnFlg = "1";
					break;
				}
			}
		}
		
		return rtnFlg;
	}
// OM-2013-0003259 2013.10.15 add end

// ANK-4171-00-00 ADD START
	/**
	 * KKSV076601CCから呼出されかつ、認証レベルが"1"かつ、
	 *  有効なeoIDおよびコンテンツ連絡先メールアドレスが存在する場合、TRUE
	 *  それ以外はFALSEを返却
	 * 
	 * @param motoSvcCheck
	 * @return true false
	 * @throws Throwable
	 */
// #81341 MOD START
//	private boolean motoSvcCheck(HashMap<String, Object> custMap) throws Throwable
	private boolean motoSvcCheck(HashMap<String, Object> custMap, SessionHandle handle, 
			IRequestParameterReadWrite param) throws Throwable
// #81341 MOD END
	{
		Boolean result = false;
		
		// 呼出元サービス判定を行う
		if(KKSV076601CC.equals(this.MOTO_SVC))
		{
			// お客様情報よりeoIDおよびSYSIDを取得
			String eoID = (String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.EOID);
			String sysid = (String)custMap.get(KKSV0554_KKSV0554OP_CUST_INFO.SYSID);
// ANK-4341-00-00 ADD START
			// ログイン認証レベルが空の場合、指示書登録を行わず、マイナーアラームを発行する。
			if (ninsho_lv_value == null || "".equals(ninsho_lv_value)) {
				//マイナーアラーム出力
				printSyslog4War(KKIFE231, API_WAR_MSG_ID_3, MESLOG_iDA_KAIIN + sysid +")");
				return result;
			}
			// 認証レベルが1以外の場合、処理を返却する。
			if (!"1".equals(ninsho_lv_value)) {
				return result;
			}
// ANK-4341-00-00 ADD END

			// KKSV076601CCより呼出された場合、有効なeoIDおよびコンテンツ連絡先メールアドレスが存在するかを確認する
			if(eoID != null && !"".equals(eoID)){
// #81341 DEL START
//				// 仮登録メールアドレス格納用
//				String kariAddMlad = "";
// #81341 DEL END
			// 本登録メールアドレス格納用
				String AddMlad = "";
				// 最新世代コンテンツ連絡先取得フラグ
				Boolean newContGetFlg = false;
				
				// eoIDが存在する場合、下記を実行
				if(sysid != null && !"".equals(sysid)){
// #81341 ADD START
					CAANMsg custInfo = null;
					Map<?,?> resultMap = null;
					// PMPと同じ条件でお客様情報検索を実行する。
					resultMap = callECK0011B050(handle, param, "1", sysid);
					
					if (JCKPmpScParamHenshu.isSuccess(resultMap)) {
						CAANMsg[] dataList = getResultMsgList(resultMap, ECK0011B050CBSMsg.ECK0011B050CBSMSG1LIST);
						
						if ((dataList == null) || (dataList.length == 0)) {
							// 検索結果が取得できない場合メールアドレスは設定しない
						} else {
							custInfo = dataList[0];
							// メールアドレスを取得する。
							AddMlad = custInfo.getString(ECK0011B050CBSMsg1List.MLAD);
						}
					} else {
						// 検索結果が取得できない場合メールアドレスは設定しない
					}
					
// #81341 ADD END
// #81341 DEL START
//					// 連絡先一覧照会明細
//					CAANMsg[] eCK0201B003MsgList = getMapper().callrnrkIcrnShokai(sysid);
//					// 照会結果が存在する場合、有効なメールアドレスが存在するかを確認
//					if(eCK0201B003MsgList != null && eCK0201B003MsgList.length != 0)
//					{
//						// 仮登録中のメールアドレスの判定処理
//						for (CAANMsg eCK0201B003Msg : eCK0201B003MsgList)
//						{
//							// 連絡方法コード
//							String rrkWayCd = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.RRK_WAY_CD);
//							// 連絡先分類コード
//							String rrksBunruiCd = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.RRKS_BUNRUI_CD);
//							// 予約適用コード
//							String rsvAplyCd = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.RSV_APLY_CD);
//							
//							// 連絡方法コードが"001"(メールアドレス)である、連絡先分類コードが"1"(コンテンツ系連絡先)である場合
//							if (JKKStrConst.CD00790_MLAD.equals(rrkWayCd) && JKKStrConst.CD00871_CONT_RRS.equals(rrksBunruiCd))
//							{
//								// 最新世代コンテンツ連絡先取得フラグが"TRUE"の場合、
//								if (newContGetFlg)
//								{
//									// コンテンツ連絡先メールアドレスにて、
//									// 旧世代に仮登録メールアドレスと同じメールアドレスの本登録メールアドレスが存在する場合、
//									if (kariAddMlad.equals(eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.MLAD)) &&
//											"2".equals(rsvAplyCd))
//									{
//										// 本登録中のメールアドレスを取得
//										AddMlad  = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.MLAD);
//										break;
//									}
//								}
//								
//								// 予約適用コードが"1"または"2"または"3"の場合、
//								// かつ最新世代コンテンツ連絡先取得フラグが"FALSE"の場合、
//								if (("1".equals(rsvAplyCd) || "2".equals(rsvAplyCd) || "3".equals(rsvAplyCd)) &&
//										!newContGetFlg)
//								{
//									// 最新世代コンテンツ連絡先取得フラグをTRUEに設定
//									newContGetFlg = true;
//									
//									// 予約適用コードが"2"のレコード(本登録中のメールアドレス)を特定する
//									if ("2".equals(rsvAplyCd))
//									{
//										// 本登録中のメールアドレスを取得
//										AddMlad  = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.MLAD);
//										break;
//									}
//									else 
//									{
//										// 予約適用コードが"1"および"3"のレコード(仮登録中のメールアドレス)を特定する
//										// 本登録中のメールアドレスを取得
//										kariAddMlad  = eCK0201B003Msg.getString(ECK0201B001CBSMsg1List.MLAD);
//									}
//								}
//								
//							}
//						}
// #81341 DEL END

						// 本登録されたメールアドレスが存在する場合、TRUEを設定
						if (AddMlad != null && !"".equals(AddMlad))
						{
							result = true;
						}
// #81341 DEL START
//					}
// #81341 DEL END
// ANK-4341-00-00 ADD START
					// コンテンツ連絡先メールアドレスの設定が無い場合、マイナーアラームを発行する。
					if (!result) {
						//マイナーアラーム出力
						printSyslog4War(KKIFE231, API_WAR_MSG_ID_2, MESLOG_CONT_MAIL + sysid +")");
					}
// ANK-4341-00-00 ADD END
				}
			}
// ANK-4341-00-00 ADD START
			else
			{
				//マイナーアラーム出力
				printSyslog4War(KKIFE231, API_WAR_MSG_ID_1, MESLOG_EOID + sysid +")");
			}
// ANK-4341-00-00 ADD END
		}
		
		return result;
	}
// ANK-4171-00-00 ADD END

// ANK-4341-00-00 ADD START
	/**
	 * パラメタがNullの場合空白を返却する。
	 * @param str 文字列
	 * @return str 文字列
	 */
	private String getNullToStr(String str)
	{
		if (str == null || "".equals(str.trim()))
		{
			return "";
		}
		return str;
	}

	/**
	 * 警告シスログ出力
	 * @param proId プログラムID
	 * @param msgId メッセージID
	 * @param msg メッセージ文字列
	 */
	private void printSyslog4War(String proId, String msgId, String msg)
	{
		String sysdate = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date(System.currentTimeMillis()));
		HashMap<String, Object> propMap = new HashMap<String, Object>();

		propMap.put(JCCSuperComExecUtil.EXEC_BUFF_SIZE, JCMAPLConstMgr.getString(JCCSuperComExecUtil.EXEC_BUFF_SIZE));
		propMap.put(JCCSuperComExecUtil.EXEC_PERMIT_MEMORY, JCMAPLConstMgr.getString(JCCSuperComExecUtil.EXEC_PERMIT_MEMORY));
		propMap.put(JCCSyslogFormat.SYSLOG_FOMAT_PTN_KEY, JCMAPLConstMgr.getString(JCCSyslogFormat.SYSLOG_FOMAT_PTN_KEY));
		propMap.put(JCCSyslogFormat.SYSLOG_MAILING_ID_KEY, JCMAPLConstMgr.getString(JCCSyslogFormat.SYSLOG_MAILING_ID_KEY));
		propMap.put(JCCSyslogFormat.SYSLOG_OUT_DIR_OPTION, JCMAPLConstMgr.getString(JCCSyslogFormat.SYSLOG_OUT_DIR_OPTION));

		JCCSyslogFormat.logger(proId, msgId, sysdate, msg, WAR, propMap);
	}
// ANK-4341-00-00 ADD END
}
