/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKTchishoAddCC
*   ソースファイル名：JKKTchishoAddCC.java
*   作成者          ：FJ
*   日付            ：2011年08月03日
*＜機能概要＞
*   通知書、通知対象物、通知書内訳の登録を行う。
*＜修正履歴＞
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00	    2011/08/03   FJ          新規作成
*   v3.00	    2012/06/03   FJ          IT1-2012-0000574
*   v3.00	    2012/06/11   FJ          IT1-2012-0000646
*	v3.00	    2012/06/13   FJ          IT1-2012-0000805
*	v3.01	    2012/07/05   FJ          ST1-2012-0001311
*	v4.00	    2012/08/17   FJ)伊藤豪   ANK-0410-00-00
*	v4.01	    2012/10/08   FJ)長西     IT1-2012-0001139
*	v4.02	    2012/10/09   FJ)砂川     オプション通知書登録のメソッド一式を追加
*	v4.03	    2012/10/19   FJ)砂川     【IT1-2012-0001322】コース変更時に変更前の通知対象物を適用終了させる対応
*	v4.04	    2013/01/26   FJ)砂川     【ST2-2013-0000261】受付済の通知書が存在せず、同一回線に他のサービスが存在する場合、
*															他のサービスを新規登録した通知書に通知対象物で関連付けする対応
*	v4.05	    2013/02/18   FJ)泉     	 【IT1-2013-0000289】static変数の不適切利用に関する対応
*	v5.00       2013/02/26   FJ)近藤     【ANK-1469-00-00】ＩＤ登録証随時発行対応
*	v5.01	    2013/03/14   FJ)砂川     【IT1-2013-0000476】テレビの通知書印字用名称の取得方法修正
*	v5.02	    2013/04/14   FJ)砂川     【IT1-2013-0000905】通知書発行済のサービス契約の通知対象物登録で通知完了済フラグに"1"(済)を設定する対応
*	v5.03	    2013/04/22   FJ)砂川     【IT1-2013-0000992】"コース変更"時に変更後の料金コースコードをパラメータで連携し通知書発行要否を特定する対応
*															 通知対象物登録時に対象の料金コースコードから通知書発行要否を特定する対応
*	v5.04	    2013/08/24   FJ)砂川     【OM-2013-0000836】コース変更中のサービス契約内訳情報を取得する処理を追加
*															コース変更中のテレビの印字名を編集する処理にコース変更後の料金情報を設定する処理を追加
*	v5.05	    2013/08/31   FJ)砂川     【OM-2013-0001317】電話・テレビの通知書コードの編集方法を修正
*	v5.06	    2013/08/31   FJ)砂川     【OM-2013-0001425】認証ＩＤ　コース変更後の値を出力する対応（移行データの内訳番号が逆転している対応）
*	v5.07	    2013/09/12   FJ)砂川     【OM-2013-0002015】住所変更時に同一回線の考慮を削除して、住変元・先を１つの通知書として出力する対応
*	v5.09	    2013/09/18   FJ)砂川     【OM-2013-0002220】メール情報を最古の有効レコード（他システム連携サービス契約コード通番が最小）で出力する対応
*	v5.10	    2013/09/20   FJ)砂川     【OM-2013-0001760】住所変更中に再発行処理を行った場合、住所変更後の利用場所のサービス契約情報を取り直す対応
*	v5.11	    2013/09/20   FJ)砂川     【OM-2013-0002215】料金コースからID通知書発行有無を確認する処理を再発行に関してのみ削除する対応
*	v5.12	    2013/09/27   FJ)砂川     【OM-2013-0002648】ネットを持たない電話・テレビの場合に利用場所からホーム／メゾンまたはマンションを判別する対応
*	v5.13	    2013/09/30   FJ)砂川     【OM-2013-0002611】住所変更中に電話番号を追加した際に変更後の料金コース・プランを補正する対応
*	v5.14	    2013/10/01   FJ)坂東     【OM-2013-0002704】電話番号変更中のオプションサービス契約の検索キーに、継続元サービス契約内訳番号の考慮を追加
*	v5.15	    2013/10/17   FJ)山裾     【OM-2013-0003228】電話番号変更時の通知書再発行の発信者番号通知表示不正対応
*	v5.16	    2013/10/29   FJ)坂東     【OM-2013-0003656】番ポ有の場合には継続元内訳番号よりオプションサービス契約を検索するよう修正
*	v5.17	    2013/11/13   FJ)管谷     【OM-2013-0004010】TVの印字サービス名をサービス契約内訳の料金コース・料金プランを使用してID通知書印字名を取得するよう修正
*	v5.18	    2013/11/06   FJ)管谷     【OM-2013-0003515】OM-2013-0002215の対応を元に戻す
*	v5.19	    2013/11/15   FJ)鈴木     【OM-2013-0003515】OM-2013-0004010の対応を元に戻す
*	v5.20	    2013/11/19   FJ)山裾     【OM-2013-0003310】ポート番号の設定不備の修正
*	v5.21	    2013/11/20   FJ)鈴木     【OM-2013-0004009】住変の場合、住所変更明細を見て引継ぎ、解約を判断して出力対象のオプションを設定する。
*	v6.00	    2013/11/28   FJ)管谷     【IT1-2013-0001680】TVの印字サービス名をサービス契約内訳の料金コース・料金プランを使用してID通知書印字名を取得するよう修正
*	v6.01	    2013/12/21   FJ)管谷     【OM-2013-0005282】TVの印字サービス名取得処理を修正。地デジＢＳコースのときはサービス契約内訳を見ないようにする。
*	v6.02	    2013/12/21   FJ)星野     【OM-2013-0005212】通知書住所変更処理：既に通知書登録済なら、一旦取り消すように修正
*	v8.00	    2014/04/09   FJ)山裾     【OM-2014-0001451】住所変更時にオプション状態を引き継がない場合のオプション情報を、住所変更後のオプション情報から設定するように修正する
*	v8.01	    2014/04/16   FJ)山裾     【ANK-1946-00-00】 Mapper修正に伴う不要ロジックの削除
*	v8.02	    2014/04/16   FJ)山裾     【ANK-1946-00-00】 社内再発行・社外再発行のみの対応となるようにロジックを分割
*	v8.03	    2014/04/25   FJ)山裾     【OM-2014-0001579】住所変更の場合は変更前の電話番号に紐づくオプション情報を、住所変更でない場合は変更後の電話番号に紐づくオプション情報を取得するように修正する
*	v8.04	    2014/04/26   FJ)鈴木     【OM-2014-0001140】照査取消対応：サービス取消処理(delSvcTchisho)を追加
*	v8.05	    2014/04/30   FJ)鈴木     【OM-2014-0001140】照査取消対応：対象物の取消し処理後、通知対象物が"通知済"あるいは無効レコードしかない場合、通知書を取消すよう修正
*	v8.06	    2014/05/01   FJ)金田     【OM-2014-0001535】通知対象物の通知完了フラグの引継対応
*	v9.00	    2014/06/30   FJ)山裾     【ANK-1996-00-00】 コース変更処理(chgCourseTchisho)を追加
*	v9.01	    2014/07/22   FJ)米田     【ST-2014-0000132】コース変更処理(ANK-1996-00-00)の不具合対応
*	v10.00	    2014/07/22   FJ)山裾     【ANK-2135-00-00】 スターチャンネルセット割（ID通知書）対応
*	v10.01	    2014/07/30   FJ)山裾     【IT1-2014-0000256】住所変更でコース変更なしのスターチャンネルセット割不具合対応
*	v11.00	    2014/10/20   FJ)米田     【ANK-2014-0002332】【ANK-2014-0002333】開通証明書発行対応 および ID登録証のサンキューレター同梱対応
*	v11.01	    2014/12/03   FJ)福岡     【ANK-2392-00-00】開通証明書発行対応フォロー案件
*	v13.00	    2015/03/11   FJ)岡田     【OM-2015-0000346】ID通知書データの未作成
*	v26.00.00	2016/10/05   FJ)中山     【OM-2016-0001897】住所変更中の通知書発行コード誤り対応
*	v35.00.00	2017/12/07   FJ)森脇     【OM-2017-0000915】TV通知書発行不備対応
*	v53.00.00	2021/04/21   GDC)デイブ    【ANK-4009-00-00】CX戦略WG方針対応（異動シェア分・バッチ）
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;

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.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.common.util.JKKStringUtil;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B011CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0561A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0561B003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0561C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0561D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0561D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0561D010CBSMsg2List;
import eo.ejb.cbs.cbsmsg.EKK0571B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1061D010CBSMsg;


/**
 * 通知書登録部品です。<p>
 * <br>
 * @author 富士通
 */
public class JKKTchishoAddCC extends AbstractCommonComponent 
{
	// IT1-2013-0000289 2013/02/18 MOD START
	/** インスタンス変数*/
//	private static JKKTchishoMapperCC tchisho_mapper = null;
	private JKKTchishoMapperCC tchisho_mapper = null;
	// IT1-2013-0000289 2013/02/18 MOD END
	// ▼▼▼ IT1-2013-0000476 Add Start ▼▼▼
	/** 宅内機器種別コード STB */
	private static final String TAKNKIKI_SBT_CD_STB = "A0";

	/** 機器提供サービス契約ステータス 解約済 */
	private static final String KKTK_SVC_KEI_STAT_910 = "910";

	/** 機器提供サービス契約ステータス キャンセル済 */
	private static final String KKTK_SVC_KEI_STAT_920 = "920";

	// 2013/10/17 OM-2013-0003228 add Start
	/** サービス契約内訳ステータス 照査済 */
	private static final String SVC_KEI_UCWK_STAT_020 = "020";

	/** サービス契約内訳ステータス 締結済 */
	private static final String SVC_KEI_UCWK_STAT_030 = "030";
	// 2013/10/17 OM-2013-0003228 add End
	
	// 2013/10/01 OM-2013-0002704 add Start
	/** サービス契約内訳ステータス 提供中 */
	private static final String SVC_KEI_UCWK_STAT_100 = "100";
	// 2013/10/01 OM-2013-0002704 add End
	
	/** サービス契約内訳ステータス 解約済 */
	private static final String SVC_KEI_UCWK_STAT_910 = "910";

	/** サービス契約内訳ステータス キャンセル済 */
	private static final String SVC_KEI_UCWK_STAT_920 = "920";
	// ▲▲▲ IT1-2013-0000476 Add End   ▲▲▲
	
	// 2014.04.09 OM-2014-0001451 Add Start
	/** オプションサービス契約ステータス 提供中 */
	private static final String OP_SVC_KEI_STAT_100 = "100";
	
	/** オプションサービス契約ステータス 解約済 */
	private static final String OP_SVC_KEI_STAT_910 = "910";
	// 2014.04.09 OM-2014-0001451 Add End
	
	// IT1-2013-0001174 Add Start
	/** 通知完了済フラグ：未 */
	private static final String TCHI_FIN_ZM_FLG_MI = "0";
	
	/** 通知完了済フラグ：済 */
	private static final String TCHI_FIN_ZM_FLG_ZM = "1";
	// IT1-2013-0001174 Add End
	
	// 2013/9/17 OM-2013-0001760 Add Start
	/** 住所変更ステータス：登録済 */
	private static final String AD_CHG_STAT_SET_ZM = "001";
	// 2013/9/17 OM-2013-0001760 Add End
	
	// 2013/9/26 OM-2013-0002648 Add Start
	/** マンション物件コード：マンション */
	private static final String MANSION_BUKKEN_CD_MANSION = "001";
	// 2013/9/26 OM-2013-0002648 Add End
	
	// 2013/9/28 OM-2013-0002611 Add Start
	/** 料金グループコード（eo光電話）*/
	private static final String PRC_GRP_CD_TEL = "10";
	/** 料金コースコード（電話１番号）*/
	private static final String PCRS_CD_TEL_1 = "A31";
	/** 料金コースコード（電話２番号）*/
	private static final String PCRS_CD_TEL_2 = "A32";
	/** 料金プランコード（電話１番号ホームタイプ）*/
	private static final String PPLAN_CD_TEL_H_1 = "PA3101";
	/** 料金プランコード（電話２番号ホームタイプ）*/
	private static final String PPLAN_CD_TEL_H_2 = "PA3201";
	/** 料金プランコード（電話１番号マンションタイプ・グローバル）*/
	private static final String PPLAN_CD_TEL_MA_1 = "PA3102";
	/** 料金プランコード（電話２番号マンションタイプ・グローバル）*/
	private static final String PPLAN_CD_TEL_MA_2 = "PA3202";
	/** 料金プランコード（電話１番号メゾンタイプ）*/
	private static final String PPLAN_CD_TEL_ME_1 = "PA3103";
	/** 料金プランコード（電話２番号メゾンタイプ）*/
	private static final String PPLAN_CD_TEL_ME_2 = "PA3203";
	/** 料金プランコード（電話１番号マンションタイプ・光配信）*/
	private static final String PPLAN_CD_TEL_MAH_1 = "PA3104";
	/** 料金プランコード（電話２番号マンションタイプ・光配信）*/
	private static final String PPLAN_CD_TEL_MAH_2 = "PA3204";
	// 2013/9/28 OM-2013-0002611 Add End
	
	// 2013/11/19 OM-2013-0003310 Add Start
	private static final int SVC_KEI_UCWK_NO_ALLAY = 0;
	private static final int KEIZK_MT_SVC_KEI_UCWK_NO_ALLAY = 1;
	private static final int TELNO_JUN_ALLAY = 2;
	private static final int VA_PORT_NO_ALLAY = 3;
	// 2013/11/19 OM-2013-0003310 Add Start

// 2013.11.20 OM-2013-0004009 add start
	/** 住所変更前のサービス契約番号を格納するマップキー */
	private static final String SVC_KEI_NO_BF = "svc_kei_no_bf";
	/** 住所変更番号を格納するマップキー */
	private static final String ADCHG_NO = "adchg_no";
	/** 住所変更明細種別コード サービス契約番号 */
	private static final String ADCHG_DTL_SBT_CD_SVC_KEI_NO = "01";
	/** 住所変更明細種別コード オプションサービス契約番号 */
	private static final String ADCHG_DTL_SBT_CD_OPTION = "04";
// 2013.11.20 OM-2013-0004009 add end
	
	/**
	 * 通知書登録処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite addTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return param;
		}

		for (int i = 0; i < childList.size(); i++)
		{
			HashMap childMap = (HashMap)childList.get(i);
			
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			inParam = editTchishoMap(handle, param, childMap, fixedText);
		}
			
		return inParam;

	}

	/**
	 * 通知書住所変更処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite adchgTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
		// fixedTextに対応するユーザーマップが存在しない場合は処理を行わない
		if (parentMap == null) {
			return param;
		}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
		tchisho_mapper = new JKKTchishoMapperCC();
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return param;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
//		HashMap kk0081BMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		String mskmDtlNo = null;
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
		// ステータスが100：発行済の通知書を記録するためのMap
		HashMap<String, String> sentMap = new HashMap<String, String>();
		// 通知対象物の引継ぎ情報保持Map
		HashMap<String, String> hktgMap = new HashMap<String, String>();
		// 通知対象物の引継ぎを行った情報の保持Map
		HashMap<String, String> hktidaMap = new HashMap<String, String>();
		
		for (int i = 0; i < childList.size(); i++) {
			childMap = (HashMap) childList.get(i);

			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List")) {
				kk0081AList = (List) kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap) kk0081AList.get(0);

				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText)) {
					continue;
				}
				// 通知書が受付済なら取消を行う。
				// 取消処理の実行有無に関わらず、通知完了済みフラグをhktg_mapに格納（Key：サービス契約番号, value：通知完了済みフラグ））
				// 戻り値に通知書の取消処理を行ったか
				executeTchishoCLByMskmDtlNo(handle, inParam, fixedText, childMap, kk0081ChildMap, hktgMap, sentMap);
			}
		}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
			// 解約したサービスは、通知書取消用の情報なので登録を行わない。
			if (childMap.containsKey("dsl_flg") && "1".equals(childMap.get("dsl_flg"))) {
				continue;
			}
//OM-2014-0001535 2014.04.24 Y.Kanata ADD END
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				
// OM-2014-0001535 2014.04.24 Y.Kanata DEL START
// 通知対象物の引継情報取得のため、処理タイミング変更
// OM-2013-0005212対応 20131221 星野 ADD START
//				// 既に通知書登録済なら、一旦取り消す
//				executeTchishoCLByMskmDtlNo(handle, inParam, fixedText, childMap, kk0081ChildMap);
// OM-2013-0005212対応 20131221 星野 ADD END
// OM-2014-0001535 2014.04.24 Y.Kanata DEL END
				
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				// 通知書種別判定
				svcSbt = getSvcSbt(kk0081ChildMap);
				childMap.put("tchisho_cd", tchishoCd);
				
				// 申込明細番号
				mskmDtlNo = (String)kk0081ChildMap.get("mskm_dtl_no");
				
				// 申込明細番号がNULLの場合、サービス契約一意照会結果より設定
				if (null == childMap.get("mskm_dtl_no") || "".equals(childMap.get("mskm_dtl_no")))
				{
					childMap.put("mskm_dtl_no", mskmDtlNo);
				}
				
// OM-2014-0001535 2014.04.24 Y.Kanata MOD START
//				// 通知完了済フラグ：未
//				childMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI);
// 通知完了済フラグ：取消前の値が存在する場合は引継ぐ
				String tchiFinZmFlg = JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI;
				// 通知対象物品で引継ぐべき値があれば引継ぐ。
				String tgtSvcKeiNo = (String)childMap.get("svc_kei_no");
				if (hktgMap != null) {
					if (hktgMap.containsKey(tgtSvcKeiNo)) {
						// 通知完了済みフラグ
						tchiFinZmFlg = (String)hktgMap.get(tgtSvcKeiNo);
						hktidaMap.put(tgtSvcKeiNo, hktgMap.get(tgtSvcKeiNo));
					}
				}
				childMap.put("tchi_fin_zm_flg", tchiFinZmFlg);
				
// OM-2014-0001535 2014.04.24 Y.Kanata MOD END

				// ADSL,eoモバイル,eoメールアドレスの場合は単独登録
				if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
						|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
				{
					noTargetList.add(childMap);
				}
				// ネット、電話、テレビの場合は同一登録
				else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
				{
					// 2013/9/12 OM-2013-0002015 Mod Start
//					kk0081BMap = getKK0081BMap(handle, param, childMap, fixedText);
//					// 作業マップに退避
//					workMap.put("kk0081B_map", kk0081BMap);
//					
//					// セット申込判定処理
//					if (checkSetMsk(workMap)) 
//					{
//						setTargetList.add(childMap);
//					}
//					else
//					{
//						noTargetList.add(childMap);
//					}
					setTargetList.add(childMap);
					// 2013/9/12 OM-2013-0002015 Mod End
				}
			}
		}

		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_ADCNG;
		// セット対象の通知書を登録する
		if (!setTargetList.isEmpty())
		{
// OM-2014-0001535 2014.04.24 Y.Kanata MOD START
//			inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
			boolean hasSetTchishoSent = judgeSetTuchishoHasSent(setTargetList, sentMap, hktidaMap);
			if (!hasSetTchishoSent) {
				inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
			}
// OM-2014-0001535 2014.04.24 Y.Kanata MOD END
		}
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
// OM-2014-0001535 2014.04.24 Y.Kanata MOD START
//			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
			boolean hasTchishoSent = judgeTuchishoHasSent(childMap, sentMap, hktidaMap);
			if (!hasTchishoSent) {
				inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
			}
// OM-2014-0001535 2014.04.24 Y.Kanata MOD END
		}

		return inParam;

	}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
	/**
	 * セット通知書の発行済みを判断する。
	 * ただし、判断の前に通知書のステータスによる発行済みフラグの補正を行う。
	 * @param tgtList セット通知書の対象List
	 * @param sentMap 通知書のステータス管理Map（Key：サービス契約番号, value：通知書ステータス（本関数ではとくにステータス100のデータのみ利用））
	 * @param hktidaMap 通知完了済みフラグを引継いだサービス契約番号を管理するMap（Key：サービス契約番号, value：通知完了済みフラグ）
	 */
	private boolean judgeSetTuchishoHasSent(
			ArrayList<HashMap<String, Object>> tgtList
			, HashMap<String, String> sentMap
			, HashMap<String, String> hktidaMap
			){
		
		boolean hasSent = false;
		if (tgtList == null) {
			return false;
		}
		// 通知書が発行済みであったか判断する
		for (HashMap<String, Object> childMap : tgtList) {
			String tgtSvcKeiNo = (String)childMap.get("svc_kei_no");
			if (sentMap.containsKey(tgtSvcKeiNo) 
					&& JKKTchishoMapperCC.TCHISHO_STAT_ZUMI.equals(sentMap.get(tgtSvcKeiNo))) {
				hasSent = true;
				break;
			}
		}
		// 発行済であった場合、引継を行ったサービス契約のみ通知書発行済みフラグを"1"：発行済みに設定する。
		if (hasSent) {
			for (HashMap<String, Object> childMap : tgtList) {
				String tgtSvcKeiNo = (String)childMap.get("svc_kei_no");
				if (hktidaMap.containsKey(tgtSvcKeiNo)) {
					childMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI);
				}
			}
		}
		// 通知対象物となるchildMapの通知書発行済みフラグに"0"：未通知が含まれるかチェックする
		for (HashMap<String, Object> childMap : tgtList) {
			String zmFlg = (String)childMap.get("tchi_fin_zm_flg");
			if (JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI.equals(zmFlg)) {
				return false;
			}
		}
		// 通知対象物となるchildMapの通知書発行済みフラグに"0"：未通知がない
		// → 未発行の通知書がないのですべて発行済み
		return true;
	}
	
	private boolean judgeTuchishoHasSent(
			HashMap<String, Object> tgtMap
			, HashMap<String, String> sentMap
			, HashMap<String, String> hktidaMap
			){
		
		if (tgtMap == null) {
			return false;
		}
		// 通知書が発行済みであったか判断する
		String tgtSvcKeiNo = (String)tgtMap.get("svc_kei_no");
		if (sentMap.containsKey(tgtSvcKeiNo) 
				&& JKKTchishoMapperCC.TCHISHO_STAT_ZUMI.equals(sentMap.get(tgtSvcKeiNo))) {
			tgtMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI);
			return true;
		}
		String zmFlg = (String)tgtMap.get("tchi_fin_zm_flg");
		// 通知対象物となるchildMapの通知書発行済みフラグが"1"：発行済みなら通知書が発行済みと同等
		if (JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI.equals(zmFlg)) {
			return true;
		}
		return false;
	}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END

	/**
	 * 通知書再発行処理社外です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite saiHakkoShagai(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
//		HashMap kk0081BMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		
		HashMap<String, String> svcKeiNoMap = new HashMap<String, String>();
		
		// 2013/9/17 OM-2013-0001760 Add Start
		// 住変中サービス契約再取得処理
		addChgChk(handle, fixedText, inParam, childList);
		// 2013/9/17 OM-2013-0001760 Add End
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				String svcKeiNo = (String)childMap.get("svc_kei_no");
				
				if(null == svcKeiNoMap || svcKeiNoMap.containsKey(svcKeiNo))
				{
					continue;
				}
				else
				{
					svcKeiNoMap.put(svcKeiNo, svcKeiNo);
				}
				// ▼▼▼ 【OM-2013-0003515】 Mod Start ▼▼▼
				// 2013/9/20 OM-2013-0002215 Delete Start
//				// ID通知書が必要な料金コースかを判断する
//				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
//				{
//					continue;
//				}
				// 2013/9/20 OM-2013-0002215 Delete End
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				// ▲▲▲ 【OM-2013-0003515】 Mod End ▲▲▲

				
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				// 通知書種別判定
				svcSbt = getSvcSbt(kk0081ChildMap);
				childMap.put("tchisho_cd", tchishoCd);
				// 通知書発行コード
// v11.00 2014/10/20 DEL START
//				childMap.put("tchisho_hakko_cd", JKKTchishoMapperCC.TCHISHO_HAKKO_CD_SAIHAKKO);
// v11.00 2014/10/20 DEL END
				// 料金グループコード
				childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
				
				// 通知完了済フラグ：済
				childMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI);
				
				// 単独通知書作成
				if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
						|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
				{
					noTargetList.add(childMap);
				}
				//セット通知書作成
				else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
				{
					// 2013/9/20 OM-2013-0001760 Mod Start
//					kk0081BMap = getKK0081BMap(handle, inParam, childMap, fixedText);
//					// 作業マップに退避
//					workMap.put("kk0081B_map", kk0081BMap);
//					
//					// セット申込判定処理
//					if (checkSetMsk(workMap)) 
//					{
//						setTargetList.add(childMap);
//					}
//					else
//					{
//						noTargetList.add(childMap);
//					}
					setTargetList.add(childMap);
					// 2013/9/20 OM-2013-0001760 Mod End
				}
			}
		}
		
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_SHAGAI;
		// セット対象の通知書を登録する
		if (!setTargetList.isEmpty())
		{
			// 2014.04.16 ANK-1946-00-00 Mod Start
//			inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
			inParam = executeAdChgTchishoForSet2(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
			// 2014.04.16 ANK-1946-00-00 Mod End
		}
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
			// 2014.04.16 ANK-1946-00-00 Mod Start
//			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
			inParam = executeAdChgTchisho2(handle, inParam, childMap, fixedText, workMap, syoriKbn);
			// 2014.04.16 ANK-1946-00-00 Mod End
		}

//		for (int i = 0; i < childList.size(); i++)
//		{
//			HashMap childMap = (HashMap)childList.get(i);
//			childMap.put("tchisho_hakko_cd", TCHISHO_HAKKO_CD_SAIHAKKO);
//			
//			// サービス契約一意照会
//			HashMap<String, Object> kk0081A_map = getKK0081AMap(handle, param, childMap, fixedText);
//			// 作業マップに退避
//			workMap.put("kk0081A_map", kk0081A_map);
//
//			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
//			inParam = executeTchisho(handle, param, childMap, fixedText, workMap);
//		}
		
		return inParam;
	}
	
	/**
	 * 通知書再発行処理社内です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite saiHakkoShanai(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		IRequestParameterReadWrite inParam = param;
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);

		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return param;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
//		HashMap kk0081BMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		
		HashMap<String, String> svcKeiNoMap = new HashMap<String, String>();
		
		// 2013/9/20 OM-2013-0001760 Add Start
		// 住変中サービス契約再取得処理
		addChgChk(handle, fixedText, inParam, childList);
		// 2013/9/20 OM-2013-0001760 Add End
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			// 2013/8/21 OM-2013-0000360 Add Start
			String svc_kei_stat = (String)kk0081AMap.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT);
			
			if ("".equals(svc_kei_stat) 
					|| JKKTchishoMapperCC.SVC_KEI_STAT_UKE.equals(svc_kei_stat) 
					|| JKKTchishoMapperCC.SVC_KEI_STAT_KAI.equals(svc_kei_stat) 
					|| JKKTchishoMapperCC.SVC_KEI_STAT_CSL.equals(svc_kei_stat)) 
			{
				// 受付済、解約済、キャンセル済は対象外
				continue;
			}
			// 2013/8/21 OM-2013-0000360 Add End

			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				String svcKeiNo = (String)childMap.get("svc_kei_no");
				
				if(null == svcKeiNoMap || svcKeiNoMap.containsKey(svcKeiNo))
				{
					continue;
				}
				else
				{
					svcKeiNoMap.put(svcKeiNo, svcKeiNo);
				}
				
				// 2013/8/21 OM-2013-0000360 Add Start
				// 異動予約一覧照会
				HashMap subMap = new HashMap();
				subMap.put("svc_kei_no", svcKeiNo);
				
				// 未反映のコース変更の異動予約を確認
				HashMap kk1681_map = getKK1681BMap(handle, param, subMap, fixedText);
				// 作業マップに退避
				workMap.put("kk1681_map", kk1681_map);
				HashMap kk1681_subMap = null;
				if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
				{
					ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
					if(kk1681_list.size() > 0)
					{
						kk1681_subMap = (HashMap)kk1681_list.get(0);
					}
				}
				if(null != kk1681_subMap && null != kk1681_subMap.get("pcrs_cd") && !("".equals(kk1681_subMap.get("pcrs_cd"))))
				{
					// 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードで登録実行判定を行う
					kk0081ChildMap.put("pcrs_cd", kk1681_subMap.get("pcrs_cd"));
				}
				// 2013/8/21 OM-2013-0000360 Add End
				
				// ▼▼▼ 【OM-2013-0003515】 Mod Start ▼▼▼
				// 2013/9/20 OM-2013-0002215 Delete Start
//				// ID通知書が必要な料金コースかを判断する
//				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
//				{
//					continue;
//				}
				// 2013/9/20 OM-2013-0002215 Delete End
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				// ▲▲▲ 【OM-2013-0003515】 Mod End ▲▲▲
				
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				// 通知書種別判定
				svcSbt = getSvcSbt(kk0081ChildMap);
				childMap.put("tchisho_cd", tchishoCd);
				// 通知書発行コード
				childMap.put("tchisho_hakko_cd", JKKTchishoMapperCC.TCHISHO_HAKKO_CD_SAIHAKKO);
				// 料金グループコード
				childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
				
				// 通知完了済フラグ
				childMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI);

				if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
						|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
				{
					noTargetList.add(childMap);
				}
				else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
				{
					// 2013/9/20 OM-2013-0001760 Mod Start
//					kk0081BMap = getKK0081BMap(handle, inParam, childMap, fixedText);
//					// 作業マップに退避
//					workMap.put("kk0081B_map", kk0081BMap);
//					
//					// セット申込判定処理
//					if (checkSetMsk(workMap)) 
//					{
//						setTargetList.add(childMap);
//					}
//					else
//					{
//						noTargetList.add(childMap);
//					}
					setTargetList.add(childMap);
					// 2013/9/20 OM-2013-0001760 Mod End
				}
			}
		}
		
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_SHANAI;
		// セット対象の通知書を登録する
		if (!setTargetList.isEmpty())
		{
			List<HashMap<String, Object>> childWorkMapList = new ArrayList<HashMap<String, Object>>();
			HashMap<String, Object> childWorkMap = null;
			for (int i = 0; i < setTargetList.size(); i++)
			{
				childMap = (HashMap)setTargetList.get(i);
				childWorkMap = new HashMap<String, Object>();
				childWorkMap = getWorkMapSetMsk(childWorkMap, handle, inParam, childMap, fixedText);
				childWorkMapList.add(childWorkMap);
			}
			// 通知書登録処理
			// 2014.04.16 ANK-1946-00-00 Mod Start
//			inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, childWorkMap, setTargetList, syoriKbn);
			inParam = executeAdChgTchishoForSet2(handle, inParam, fixedText, childWorkMap, setTargetList, syoriKbn);
			// 2014.04.16 ANK-1946-00-00 Mod End
			// 通知書発行処理
			inParam = executeTchishoHakko(handle, inParam, fixedText);
			// 通知書内訳登録処理
			inParam = addKK1061D(handle, param, fixedText, childWorkMapList, 0);
		}
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
			HashMap<String, Object> childWorkMap = new HashMap<String, Object>();
			childWorkMap = getWorkMapSetMsk(childWorkMap, handle, inParam, childMap, fixedText);
			// 通知書登録処理
			// 2014.04.16 ANK-1946-00-00 Mod Start
//			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, childWorkMap, syoriKbn);
			inParam = executeAdChgTchisho2(handle, inParam, childMap, fixedText, childWorkMap, syoriKbn);
			// 2014.04.16 ANK-1946-00-00 Mod End
			// 通知書発行処理
			inParam = executeTchishoHakko(handle, inParam, fixedText);
			List<HashMap<String, Object>> childWorkMapList = new ArrayList<HashMap<String, Object>>();
			childWorkMapList.add(childWorkMap);
			// 通知書内訳登録処理
			inParam = addKK1061D(handle, param, fixedText, childWorkMapList, 0);
		}
		
		return inParam;
	}
	
	/**
	 * 発行取消処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite hakkoCl(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}

		HashMap childMap = (HashMap)childList.get(0);

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		inParam = cancelTchishoMap(handle, param, childMap, fixedText);
			
		return inParam;

	}
	
	/**
	 * 通知書サービス追加処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite addSvcTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		ArrayList targetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
		HashMap kk0081ChildMap = null;
		HashMap kk0081BMap = null;
		HashMap kk0081B025Map = null;
		HashMap kk0081B025ChildMap = null;
		HashMap<String, Object> kk0571B001_map = null;
		HashMap targetMap = null;
		List kk0081B025List = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		String targetTchishoNo = null;
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				
				// 申込明細番号、整理番号をカレントから取得する
				childMap.put("mskm_dtl_no", kk0081ChildMap.get("mskm_dtl_no"));
				if (null == childMap.get("seiri_no") || "".equals(childMap.get("seiri_no")))
				{
					childMap.put("seiri_no", kk0081ChildMap.get("seiri_no"));
				}
			}
			
			// SYSIDに紐づく通知書データを取得する
			HashMap<String, Object> kk0561B_map = getKK0561Map(handle, param, childMap, fixedText);
			// 対象のサービス契約で受付済の通知書が存在するかを判断する
			targetTchishoNo = getTchishoNoForUketsuke(kk0561B_map);
			
			if (null != targetTchishoNo && !"".equals(targetTchishoNo))
			{
				kk0571B001_map = getKK0571B001Map(handle, inParam, targetTchishoNo, fixedText);
			}
			
			// 整理番号より同じ回線のサービス契約を取得する
			kk0081B025Map = getKK0081B025Map(handle, inParam, childMap, fixedText);
			
			if (null != kk0081B025Map && kk0081B025Map.containsKey("EKK0081B025CBSMsg1List"))
			{
				kk0081B025List = (ArrayList)kk0081B025Map.get("EKK0081B025CBSMsg1List");
				for (int i = 0; i < kk0081B025List.size(); i++)
				{
					kk0081B025ChildMap = (HashMap)kk0081B025List.get(i);

					// 既に登録対象になっていれば、対象としない
					if (targetList.contains(kk0081B025ChildMap.get("svc_kei_no")))
					{
						continue;
					}
					// 受付済の通知書が存在した場合、対象のサービス契約番号が登録されていれば、対象としない
					if (isTouroku(kk0571B001_map, (String)kk0081B025ChildMap.get("svc_kei_no")))
					{
						continue;
					}

					// 入力パラメータをすべてセットする
					targetMap = new HashMap();
					targetMap.putAll(childMap);
					
					// 通知書コード判定
					tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
					// 通知書種別判定
					svcSbt = getSvcSbt(kk0081B025ChildMap);
					
					// サービス契約番号
					targetMap.put("svc_kei_no", kk0081B025ChildMap.get("svc_kei_no"));
					targetList.add(kk0081B025ChildMap.get("svc_kei_no"));
					// 通知書コード
					targetMap.put("tchisho_cd", tchishoCd);
					// 料金グループコード
					targetMap.put("prc_grp_cd", kk0081B025ChildMap.get("prc_grp_cd"));
					// 料金コースコード
					targetMap.put("pcrs_cd", kk0081B025ChildMap.get("pcrs_cd"));
					// 通知完了済フラグ
					HashMap<String, Object> kk0571B002_map = 
						getKK0571B002Map(handle, param, kk0081B025ChildMap, fixedText);
					// 対象のサービス契約で発行済の通知書が存在するかを判断する
					if (isHakkozumi(kk0571B002_map))
					{
						targetMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI);
					}
					else
					{
						targetMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI);
					}
					
					if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
							|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
							|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
					{
						noTargetList.add(targetMap);
					}
					else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
							|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
							|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
					{
						kk0081BMap = getKK0081BMap(handle, inParam, targetMap, fixedText);
						// 作業マップに退避
						workMap.put("kk0081B_map", kk0081BMap);
						
						// セット申込判定処理
						if (checkSetMsk(workMap)) 
						{
							setTargetList.add(targetMap);
						}
						else
						{
							noTargetList.add(targetMap);
						}
					}
				}
			}
		}
		
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_ADDSVC;
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
		}
		
		if (null == targetTchishoNo)
		{
			// セット対象の通知書を登録する
			if (!setTargetList.isEmpty())
			{
				inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
			}
		}
		else
		{
			// セット対象の通知対象物を登録する
			for (int i = 0; i < setTargetList.size(); i++)
			{
				childMap = (HashMap)setTargetList.get(i);
				// 通知書番号を設定する
				childMap.put("tchisho_no", targetTchishoNo);
				
				// 通知書一意検索を行ない、更新年月日を取得する
				HashMap kk0561A_map = getKK0561AMap(handle, inParam, childMap, fixedText);
				if (null != kk0561A_map)
				{
					// 更新年月日
					childMap.put("upd_dtm", kk0561A_map.get("upd_dtm"));
					// 通知対象物適用開始年月日
					childMap.put("tchi_tg_bpin_tstaymd", JCCBPCommon.getOpeDate(null));
					// 通知対象物適用終了年月日
					childMap.put("tchi_tg_bpin_tendymd", "20991231");

					addKK0571D(handle, inParam, childMap, fixedText, workMap);
				}
			}
		}
		
		return inParam;
	}
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * オプション通知書登録処理<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite addOpTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ユーザデータ情報 */
		HashMap<String, Object> parentMap = null;
		parentMap = (HashMap<String, Object>)param.getData(fixedText);

		ArrayList<HashMap<String, Object>> childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList<HashMap<String, Object>>)parentMap.get("trgt_data_list");
		}
		
		if (null == childList || 0 == childList.size())
		{
			return param;
		}
		HashMap<String, Object> childMap = null;
		// 作業用マップ
		HashMap<String, Object> workMap = null;
		
		for (int i = 0; i < childList.size(); i++)
		{
			childMap = (HashMap<String, Object>)childList.get(i);
			workMap = new HashMap<String, Object>();
			
			// 通知書登録処理
			HashMap<String, Object> ekk0561D010_map = executeAdOpEKK0561D010(handle, param, childMap);
			workMap.put("ekk0561D010_map", ekk0561D010_map);
			// 通知書発行処理
			HashMap<String, Object> ekk0561C010_map = executeAdOpEKK0561C010(handle, param, childMap, workMap);
			workMap.put("ekk0561C010_map", ekk0561C010_map);
			// 通知書内訳登録処理
			HashMap<String, Object> ekk1061D010_map = executeAdOpEKK1061D010(handle, param, childMap, workMap);
			workMap.put("ekk1061D010_map", ekk1061D010_map);
		}
		
		return param;
	}
	// ▲▲▲v4.02 Add End▲▲▲

	/**
	 * 通知書再登録処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite remakeTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
//		HashMap kk0081BMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				// 通知書種別判定
				svcSbt = getSvcSbt(kk0081ChildMap);
				childMap.put("tchisho_cd", tchishoCd);
				// 料金グループコード
				childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
				
				if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
						|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
				{
					noTargetList.add(childMap);
				}
				else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
				{
					// 2013/9/12 OM-2013-0002015 Mod Start
//					kk0081BMap = getKK0081BMap(handle, inParam, childMap, fixedText);
//					// 作業マップに退避
//					workMap.put("kk0081B_map", kk0081BMap);
//					
//					// セット申込判定処理
//					if (checkSetMsk(workMap)) 
//					{
//						setTargetList.add(childMap);
//					}
//					else
//					{
//						noTargetList.add(childMap);
//					}
					setTargetList.add(childMap);
					// 2013/9/12 OM-2013-0002015 Mod End
				}
			}
		}
		
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_REMAKE;
		// セット対象の通知書を登録する
		if (!setTargetList.isEmpty())
		{
			inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
		}
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
		}
		
		return inParam;
	}
	
// v5.00 2013/02/26 ANK-1469-00-00 ADD START
	/**
	 * 緊急発行処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite emgHakko(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}
		
		ArrayList setTargetList = new ArrayList();
		ArrayList noTargetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
//		HashMap kk0081BMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String svcSbt = null;
		String tchishoCd = null;
		
		HashMap<String, String> svcKeiNoMap = new HashMap<String, String>();
		
		// 2013/9/20 OM-2013-0001760 Add Start
		// 住変中サービス契約再取得処理
		addChgChk(handle, fixedText, inParam, childList);
		// 2013/9/20 OM-2013-0001760 Add End
		
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				String svcKeiNo = (String)childMap.get("svc_kei_no");
				
				if(null == svcKeiNoMap || svcKeiNoMap.containsKey(svcKeiNo))
				{
					continue;
				}
				else
				{
					svcKeiNoMap.put(svcKeiNo, svcKeiNo);
				}
				
				// ▼▼▼ 【OM-2013-0003515】 Mod Start ▼▼▼
				// 2013/9/20 OM-2013-0002215 Delete Start
//				// ID通知書が必要な料金コースかを判断する
//				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
//				{
//					continue;
//				}
				// 2013/9/20 OM-2013-0002215 Delete End
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				// ▲▲▲ 【OM-2013-0003515】 Mod End ▲▲▲
				
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				// 通知書種別判定
				svcSbt = getSvcSbt(kk0081ChildMap);
				childMap.put("tchisho_cd", tchishoCd);
				// 通知書発行コード
				childMap.put("tchisho_hakko_cd", JKKTchishoMapperCC.TCHISHO_HAKKO_CD_SAIHAKKO);
				// 料金グループコード
				childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
				// 通知完了済フラグ：未
				childMap.put("tchi_fin_zm_flg", JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI);
				
				if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svcSbt)
						|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svcSbt))
				{
					noTargetList.add(childMap);
				}
				else if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svcSbt) 
						|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svcSbt))
				{
					// 2013/9/20 OM-2013-0001760 Mod Start
//					kk0081BMap = getKK0081BMap(handle, inParam, childMap, fixedText);
//					// 作業マップに退避
//					workMap.put("kk0081B_map", kk0081BMap);
//					
//					// セット申込判定処理
//					if (checkSetMsk(workMap)) 
//					{
//						setTargetList.add(childMap);
//					}
//					else
//					{
//						noTargetList.add(childMap);
//					}
					setTargetList.add(childMap);
					// 2013/9/20 OM-2013-0001760 Mod End
				}
			}
		}
		
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_EMG;
		// セット対象の通知書を登録する
		if (!setTargetList.isEmpty())
		{
			inParam = executeAdChgTchishoForSet(handle, inParam, fixedText, workMap, setTargetList, syoriKbn);
		}
		
		// セット対象外の通知書を登録する
		for (int i = 0; i < noTargetList.size(); i++)
		{
			childMap = (HashMap)noTargetList.get(i);
			inParam = executeAdChgTchisho(handle, inParam, childMap, fixedText, workMap, syoriKbn);
		}
		
		return inParam;
	}
// v5.00 2013/02/26 ANK-1469-00-00 ADD END
	
// 2014.04.24 OM-2014-0001140 add start
	/**
	 * サービス取消処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite delSvcTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}

		HashMap childMap = (HashMap)childList.get(0);

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		inParam = deleteTchishoTg(handle, param, childMap, fixedText);
			
		return inParam;

	}
// 2014.04.24 OM-2014-0001140 add end
	
// 2014.06.30 ANK-1996-00-00 Add Start
	/**
	 * コース変更処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite chgCourseTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		tchisho_mapper = new JKKTchishoMapperCC();
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		IRequestParameterReadWrite inParam = param;
		
		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list"))
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		if (childList == null || 0 == childList.size())
		{
			return inParam;
		}
		
		ArrayList setTargetList = new ArrayList();
		HashMap childMap = null;
		HashMap kk0081AMap = null;
		HashMap kk0081ChildMap = null;
		List kk0081AList = null;
		String tchishoCd = null;
		
		HashMap<String, String> svcKeiNoMap = new HashMap<String, String>();
		
		// リクエストパラメータで連携されるサービス契約番号毎に処理を行う
		for (int j = 0; j < childList.size(); j++)
		{
			childMap = (HashMap)childList.get(j);
			
			kk0081AMap = getKK0081AMap(handle, inParam, childMap, fixedText);
			
			if (null != kk0081AMap && kk0081AMap.containsKey("EKK0081A010CBSMsg1List"))
			{
				kk0081AList = (List)kk0081AMap.get("EKK0081A010CBSMsg1List");
				kk0081ChildMap = (HashMap)kk0081AList.get(0);
				
				String svcKeiNo = (String)childMap.get("svc_kei_no");
				
				if(null == svcKeiNoMap || svcKeiNoMap.containsKey(svcKeiNo))
				{
					continue;
				}
				else
				{
					svcKeiNoMap.put(svcKeiNo, svcKeiNo);
				}
				
				// OM-2017-0000915 ADD START
				kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
				// OM-2017-0000915 ADD END
				// ID通知書が必要な料金コースかを判断する
				if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
				{
					continue;
				}
				
// 2014.07.22 ST-2014-0000132 Del Start
//				// コース変更時のサービス契約に紐づく通知書番号を取得
//				HashMap<String, Object> kk0571B002_map = getKK0571B002Map(handle, param, childMap, fixedText);
//				
//				String tchisho_no = null;
//				
//				if (null != kk0571B002_map && kk0571B002_map.containsKey("EKK0571B002CBSMsg1List"))
//				{
//					List<HashMap<String, Object>> kk0571List = (List<HashMap<String, Object>>)kk0571B002_map.get("EKK0571B002CBSMsg1List");
//					HashMap<String, Object> kk0571B002ChildMap = null;
//					kk0571B002ChildMap = kk0571List.get(kk0571List.size() - 1);
//					tchisho_no = (String)kk0571B002ChildMap.get("tchisho_no");
//					
//					// 通知書番号に紐づく通遺書対象物を取得
//					// 通知対象物一覧照会
//					HashMap kk0571_map = getKK0571Map(handle, param, tchisho_no, fixedText);
//					childMap.put("EKK0571B001CBSMsg1List", kk0571_map.get("EKK0571B001CBSMsg1List"));
//					
//					// 通知書コード判定
//					tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
//					childMap.put("tchisho_cd", tchishoCd);
//					// 料金グループコード
//					childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
//					//通知書作成
//					setTargetList.add(childMap);
//				}
// 2014.07.22 ST-2014-0000132 Del End

// 2014.07.22 ST-2014-0000132 Add Start
				// 通知書コード判定
				tchishoCd = getTchishoType(handle, inParam, kk0081ChildMap, fixedText);
				childMap.put("tchisho_cd", tchishoCd);
				// 料金グループコード
				childMap.put("prc_grp_cd", kk0081ChildMap.get("prc_grp_cd"));
				// ネットを同一回線のサービス契約番号を取得する。
				// サービス契約情報の取得（同一利用場所）
				HashMap<String, Object> kk0081B_map = getKK0081BMap(handle, param, childMap, fixedText);
				ArrayList<HashMap<String, String>> svcList = new ArrayList<HashMap<String, String>>();
				
				if(null != kk0081B_map)
				{
					ArrayList kk0081List = (ArrayList)kk0081B_map.get("EKK0081B011CBSMSG1LIST");
					HashMap kk0081childMap = new HashMap();
					
					for (int i = 0; i < kk0081List.size(); i++)
					{
						// 明細Mapの取り出し
						kk0081childMap = (HashMap)kk0081List.get(i);

						String recSvcKeiNo = (String)kk0081childMap.get(EKK0081B011CBSMsg1List.SVC_KEI_NO);

						HashMap<String, String> svcRec = new HashMap<String, String>();
						svcRec.put("svc_kei_no", recSvcKeiNo);

						svcList.add(svcRec);
					}

					// 自分自身のサービス契約番号を追加する。
					HashMap<String, String> svcOwnRec = new HashMap<String, String>();
					svcOwnRec.put("svc_kei_no", (String)childMap.get("svc_kei_no"));
					svcList.add(svcOwnRec);
					
					childMap.put("EKK0571SVCList", svcList);
					setTargetList.add(childMap);
				}
// 2014.07.22 ST-2014-0000132 Add End
			}
		}
		
		// 通知書を登録する
		if (!setTargetList.isEmpty())
		{
			inParam = executeChgCourseTchisho(handle, inParam, fixedText, workMap, setTargetList);
		}
		
		return inParam;
	}
// 2014.06.30 ANK-1996-00-00 Add End

	/**
	 * 通知書登録編集処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param childMap (I) 
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editTchishoMap(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		IRequestParameterReadWrite inParam = param;
		
		// サービス契約一意照会
		HashMap<String, Object> kk0081A_map = getKK0081AMap(handle, param, childMap, fixedText);
		
		// ▼▼▼ IT1-2012-0001322 Add Start ▼▼▼
		// 通知書一覧照会
		HashMap<String, Object> kk0561_map = getKK0561Map(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("kk0561_map", kk0561_map);

		HashMap<String, Object> kk0081ChildMap = null;
		
		// ID通知書が必要な料金コースかを判断する
		if (null != kk0081A_map && kk0081A_map.containsKey("EKK0081A010CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0081AList = 
				(List<HashMap<String, Object>>)kk0081A_map.get("EKK0081A010CBSMsg1List");
			kk0081ChildMap = (HashMap<String, Object>)kk0081AList.get(0);
			// OM-2017-0000915 ADD START
			kk0081ChildMap = setPcrsChgafPcrsCd(handle, param, kk0081ChildMap, fixedText);
			// OM-2017-0000915 ADD END
			// 20130422 IT1-2013-0000992 Add Start
			if(null != childMap.get("pcrs_chgaf_pcrs_cd") && !("".equals(childMap.get("pcrs_chgaf_pcrs_cd"))))
			{
				String pcrsChgafPcrsCd = (String)childMap.get("pcrs_chgaf_pcrs_cd");
				
				kk0081ChildMap.put(EKK0081A010CBSMsg1List.PCRS_CD, pcrsChgafPcrsCd);
			}
			// 20130422 IT1-2013-0000992 Add End
			// ID通知書発行条件判定
			// ANK-4009-00-00 2021/04/20 MOD START
			// if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
			if (!isValidSvcForIdTchisho2(handle, inParam, kk0081ChildMap, fixedText))
			// ANK-4009-00-00 2021/04/20 MOD END
			{
				// IT1-2013-0001174 Add Start
				ArrayList kk0561List = null;
				// 通知書一覧リスト取得
				if(null == kk0561_map || null == kk0561_map.get("EKK0561B002CBSMsg1List"))
				{
					return inParam;
				}
				kk0561List = (ArrayList)kk0561_map.get("EKK0561B002CBSMsg1List");
				if (kk0561List == null || 0 == kk0561List.size()) 
				{
					return inParam;
				}
				// kk0561_map.通知書番号分繰返し
				for (int i = 0; i < kk0561List.size(); i++) 
				{
					// 明細Mapの取り出し
					HashMap kk0561childMap = (HashMap)kk0561List.get(i);
				
					// 通知書ステータスの取得
					String tchisho_stat = "";
					if (kk0561childMap == null || kk0561childMap.get("tchisho_stat") == null || "".equals(kk0561childMap.get("tchisho_stat"))) 
					{
						tchisho_stat = "";
					} 
					else 
					{
						tchisho_stat = (String)kk0561childMap.get("tchisho_stat");
					}
					
					// ステータス判定
					if (JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(tchisho_stat)) 
					{
						// 通知書番号の取得
						String tchisho_no = (String)kk0561childMap.get("tchisho_no");
						// 通知対象物一覧照会
						HashMap kk0571_map = getKK0571Map(handle, param, tchisho_no, fixedText);
						// 通知書登録対象のサービス契約番号
						String svcKeiNo = (String)childMap.get("svc_kei_no");
						// 通知対象物一覧リスト取得
						if(null != kk0571_map && null != kk0571_map.get("EKK0571B001CBSMsg1List"))
						{
							ArrayList<HashMap<String, Object>> kk0571_list = 
								(ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
							
							HashMap<String, Object>kk0571_childMap = null;
							
							for(int j = 0; j < kk0571_list.size();j++)
							{
								kk0571_childMap = kk0571_list.get(j);
								if(null != kk0571_childMap.get("svc_kei_no") && !("".equals(kk0571_childMap.get("svc_kei_no"))))
								{
									// 通知書登録対象のサービス契約番号が受付済の通知書に連携されている場合
									if(svcKeiNo.equals(kk0571_childMap.get("svc_kei_no")))
									{
										// 通知書登録対象のサービス契約番号の通知対象物.通知完了済フラグが"未"の場合
										if(null != kk0571_childMap && null != kk0571_childMap.get("tchi_fin_zm_flg") && TCHI_FIN_ZM_FLG_MI.equals(kk0571_childMap.get("tchi_fin_zm_flg")))
										{
											// 通知対象物.通知完了済フラグを"済"に更新する
											kk0571_childMap.put("tchi_fin_zm_flg", TCHI_FIN_ZM_FLG_ZM);
											workMap.put("upd_dtm", kk0561childMap.get("upd_dtm"));
											// 通知対象物変更
											editKK0571CMap(handle, param, workMap, kk0571_childMap, fixedText);
										}
									}
								}
							}
						}
					}
				}
				// IT1-2013-0001174 Add End
				return inParam;
			}
			// 20130422 IT1-2013-0000992 Add Start
			if(null != childMap.get("mskm_dtl_no") && !("".equals(childMap.get("mskm_dtl_no"))))
			{
				String mskmDtlNo = (String)childMap.get("mskm_dtl_no");
				
				kk0081ChildMap.put(EKK0081A010CBSMsg1List.MSKM_DTL_NO, mskmDtlNo);
			}
			// 20130422 IT1-2013-0000992 Add End
		}
		// 作業マップに退避
		workMap.put("kk0081A_map", kk0081A_map);
		
		HashMap<String, Object> kk0571_map = null;
			
		// ▼▼▼ ST2-2013-0000261 Delete Start ▼▼▼
		// 通知書存在判定処理
//		if (checkTchishoUM(workMap)) 
//		{
//			// 通知対象物一覧照会
//			kk0571_map = getKK0571Map(handle, inParam, (String)workMap.get("tchisho_no"), fixedText);
//			// 作業マップに退避
//			workMap.put("kk0571_map", kk0571_map);
//		}
		// ▲▲▲ ST2-2013-0000261 Delete End   ▲▲▲
		// ▲▲▲ IT1-2012-0001322 Add End ▲▲▲
		
		// サービス種別判定処理
		String svc_sbt = getSvcSbt(childMap);
		String syoriKbn = JKKTchishoMapperCC.SYORI_KBN_SHINKI;
		
		// ネット・電話・テレビの場合
		if (JKKTchishoMapperCC.SVC_SBT_NET.equals(svc_sbt) 
				|| JKKTchishoMapperCC.SVC_SBT_TEL.equals(svc_sbt) 
				|| JKKTchishoMapperCC.SVC_SBT_TV.equals(svc_sbt)) 
		{
			// サービス契約情報の取得（同一利用場所）
			HashMap<String, Object> kk0081B_map = getKK0081BMap(handle, param, childMap, fixedText);
			// 作業マップに退避
			workMap.put("kk0081B_map", kk0081B_map);
			
			// セット申込判定処理
			if (checkSetMsk(workMap)) 
			{
				// ▼▼▼ IT1-2012-0001322 Delete Start ▼▼▼
//				// 通知書一覧照会
//				HashMap<String, Object> kk0561_map = getKK0561Map(handle, param, childMap, fixedText);
//				// 作業マップに退避
//				workMap.put("kk0561_map", kk0561_map);
				// ▲▲▲ IT1-2012-0001322 Delete End ▲▲▲
				
				// 通知書存在判定処理
				if (checkTchishoUM(handle, param, childMap, workMap, fixedText)) 
				{
					// 登録先整理番号判定処理
					if (checkSeiriNo(workMap)) 
					{
						// ▼▼▼ ST2-2013-0000261 Add Start ▼▼▼
						kk0571_map = (HashMap)workMap.get("kk0571_map");
						// ▲▲▲ ST2-2013-0000261 Add End   ▲▲▲
						// ▼▼▼ IT1-2012-0001322 Add Start ▼▼▼
						if(null != kk0571_map && null != kk0571_map.get("EKK0571B001CBSMsg1List"))
						{
							ArrayList<HashMap<String, Object>> kk0571_list = 
								(ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
							HashMap<String, Object>kk0571_childMap = null;
							String svcKeiNo = null;
							String tchiTgBpinTendymd = null;
							ArrayList<HashMap<String, Object>> kk0571C_list = new ArrayList();
							for(int i = 0; i < kk0571_list.size();i++)
							{
								svcKeiNo = "";
								tchiTgBpinTendymd = "";
								kk0571_childMap = kk0571_list.get(i);
								if(null != kk0571_childMap.get("svc_kei_no") && !("".equals(kk0571_childMap.get("svc_kei_no"))))
								{
									svcKeiNo = (String)kk0571_childMap.get("svc_kei_no");
								}
								if(!(svcKeiNo.equals(childMap.get("svc_kei_no"))))
								{
									continue;
								}
								if(null != kk0571_childMap.get("tchi_tg_bpin_tendymd") && !("".equals(kk0571_childMap.get("tchi_tg_bpin_tendymd"))))
								{
									tchiTgBpinTendymd = (String)kk0571_childMap.get("tchi_tg_bpin_tendymd");
								}
								if(!("20991231".equals(tchiTgBpinTendymd)))
								{
									continue;
								}
								// IT1-2013-0001174 Add Start
								String nowDate = JCCBPCommon.getOpeDate(null);
								DateFormat format = new SimpleDateFormat("yyyyMMdd");
								Calendar cal = Calendar.getInstance();
								Date date = format.parse(nowDate);
								cal.setTime(date);
								cal.add(Calendar.DAY_OF_MONTH, -1);
								String beforeDate = format.format(cal.getTime()).toString();
								kk0571_childMap.put("tchi_tg_bpin_tendymd", beforeDate);
								// IT1-2013-0001174 Add End
//								if(0 == i)
//								{
//									workMap.put("upd_dtm", kk0571_childMap.get("upd_dtm"));
//								}
								// 通知対象物変更
								HashMap<String, Object>kk0571C_map = editKK0571CMap(handle, param, workMap, kk0571_childMap, fixedText);
								workMap.put("upd_dtm", kk0571C_map.get("upd_dtm"));
//								childMap.put("upd_dtm", kk0571C_map.get("upd_dtm"));
								kk0571C_list.add(kk0571C_map);
							}
							// 作業マップに退避
							workMap.put("kk0571c_map", kk0571C_list);
						}
						// ▲▲▲ IT1-2012-0001322 Add End ▲▲▲
						// 通知対象物登録呼出処理
						inParam = executeTchiTaisho(handle, param, childMap, fixedText, workMap);
					}
					else
					{
						// 通知書登録呼出処理
						inParam = executeTchisho(handle, param, childMap, fixedText, workMap, syoriKbn);
					}
				}
				else
				{
					// ▼▼▼ ST2-2013-0000261 Add Start ▼▼▼
					if(null != workMap.get("torokuzumi_flg") && "1".equals(workMap.get("torokuzumi_flg")))
					{
						// IT1-2013-0001174 Add Start
						// 異動予約一覧照会（キー：サービス契約番号、申込明細番号、異動予約詳細コード、異動予約状態コード）
						HashMap kk1681_map = getKK1681BMap(handle, param, childMap, fixedText);
						// 作業マップに退避
						workMap.put("kk1681_map", kk1681_map);
						HashMap kk1681_subMap = null;
						if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
						{
							ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
							if(kk1681_list.size() > 0)
							{
								kk1681_subMap = (HashMap)kk1681_list.get(0);
							}
						}
						if(null != kk1681_subMap && null != kk1681_subMap.get("pcrs_cd") && !("".equals(kk1681_subMap.get("pcrs_cd"))))
						{
							// 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードで登録実行判定を行う
							kk0081ChildMap.put("pcrs_cd", kk1681_subMap.get("pcrs_cd"));
						}
						if (!isValidSvcForIdTchisho(handle, inParam, kk0081ChildMap, fixedText))
						{
							return inParam;
						}
						// 対象の通知対象物の通知完了フラグを変更する
						HashMap kk0561childMap = (HashMap)workMap.get("kk0561_subMap");
						HashMap kk0571childMap = (HashMap)workMap.get("kk0571_subMap");
						
						if(null != kk0571childMap && null != kk0571childMap.get("tchi_fin_zm_flg") && TCHI_FIN_ZM_FLG_ZM.equals(kk0571childMap.get("tchi_fin_zm_flg")))
						{
							kk0571childMap.put("tchi_fin_zm_flg", TCHI_FIN_ZM_FLG_MI);
							workMap.put("upd_dtm", kk0561childMap.get("upd_dtm"));
							// 通知対象物変更
							editKK0571CMap(handle, param, workMap, kk0571childMap, fixedText);
						}
						// IT1-2013-0001174 Add End
						return inParam;
					}
					// ▲▲▲ ST2-2013-0000261 Add End   ▲▲▲
					
					// 通知書登録呼出処理
					inParam = executeTchisho(handle, param, childMap, fixedText, workMap, syoriKbn);
					
					// ▼▼▼ ST2-2013-0000261 Add Start ▼▼▼
					if(null != kk0081B_map)
					{
						ArrayList kk0081List = (ArrayList)kk0081B_map.get("EKK0081B011CBSMSG1LIST");
						HashMap kk0081childMap = new HashMap();
						String svcKeiNo = null;
						String svcKeiStat = null;
						HashMap dataMap = new HashMap();
						
						for (int i = 0; i < kk0081List.size(); i++) 
						{
							// 明細Mapの取り出し
							kk0081childMap = (HashMap)kk0081List.get(i);
							
							if(null != kk0081childMap.get(EKK0081B011CBSMsg1List.SVC_KEI_NO) 
									|| !("".equals(kk0081childMap.get(EKK0081B011CBSMsg1List.SVC_KEI_NO))))
							{
								svcKeiNo = (String)kk0081childMap.get(EKK0081B011CBSMsg1List.SVC_KEI_NO);
							}
							else
							{
								continue;
							}
							// IT1-2013-0001174 Add Start
							// 異動予約一覧照会（キー：サービス契約番号、異動予約詳細コード、異動予約状態コード）
							HashMap kk1681_map = getKK1681BMap(handle, param, kk0081childMap, fixedText);
							HashMap kk1681_subMap = null;
							if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
							{
								ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
								if(kk1681_list.size() > 0)
								{
									kk1681_subMap = (HashMap)kk1681_list.get(0);
								}
							}
							if(null != kk1681_subMap && null != kk1681_subMap.get("pcrs_cd") && !("".equals(kk1681_subMap.get("pcrs_cd"))))
							{
								// 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードで登録実行判定を行う
								kk0081childMap.put("pcrs_cd", kk1681_subMap.get("pcrs_cd"));
							}
							// IT1-2013-0001174 Add End
							// 20130422 IT1-2013-0000992 Add Start
							if (!isValidSvcForIdTchisho(handle, inParam, kk0081childMap, fixedText))
							{
								continue;
							}
							// 20130422 IT1-2013-0000992 Ass End
							svcKeiStat = (String)kk0081childMap.get(EKK0081B011CBSMsg1List.SVC_KEI_STAT);
							if ("".equals(svcKeiStat) || JKKTchishoMapperCC.SVC_KEI_STAT_UKE.equals(svcKeiStat) 
									|| JKKTchishoMapperCC.SVC_KEI_STAT_KAI.equals(svcKeiStat) 
									|| JKKTchishoMapperCC.SVC_KEI_STAT_CSL.equals(svcKeiStat)) 
							{
								continue;
							}
							if(!(svcKeiNo.equals(childMap.get("svc_kei_no"))))
							{
								dataMap = (HashMap)inParam.getData(fixedText);
								
								if(null == dataMap)
								{
									continue;
								}
								if(null == dataMap.get("tchisho_no") || "".equals(dataMap.get("tchisho_no"))
										|| null == dataMap.get("upd_dtm") || "".equals(dataMap.get("upd_dtm")))
								{
									continue;
								}
								HashMap childTempMap = new HashMap();
								// 通知書番号
								childTempMap.put("tchisho_no", dataMap.get("tchisho_no"));
								// ＳＹＳＩＤ
								childTempMap.put("sysid", childMap.get("sysid"));
								// サービス契約番号
								childTempMap.put("svc_kei_no", svcKeiNo);
								// 通知対象物適用開始年月日
								childTempMap.put("tchi_tg_bpin_tstaymd", (String)JCCBPCommon.getOpeDate(null));
								// 通知対象物適用終了年月日
								childTempMap.put("tchi_tg_bpin_tendymd", "20991231");
								// 更新年月日時分秒(更新前)
								childTempMap.put("upd_dtm", dataMap.get("upd_dtm"));
								
								// 通知完了済フラグ
								// 20130413 IT1-2013-0000905 Add Start
								childTempMap.put("tchi_fin_zm_flg", (isHakkoFin(handle, param, fixedText, kk0561_map, svcKeiNo)));
								// 20130413 IT1-2013-0000905 Add End
								// 20130413 IT1-2013-0000905 Delete Start
//								childTempMap.put("tchi_fin_zm_flg", "0");
								// 20130413 IT1-2013-0000905 Delete End
								
								// 通知対象物登録呼出処理
								inParam = executeTchiTaisho(handle, param, childTempMap, fixedText, workMap);
							}
						}
					}
					// ▲▲▲ ST2-2013-0000261 Add End   ▲▲▲
				}
			}
			else 
			{
				// 通知書登録呼出処理
				inParam = executeTchisho(handle, param, childMap, fixedText, workMap, syoriKbn);
			}
		} 
		// ＡＤＳＬ・モバイルの場合
		else if (JKKTchishoMapperCC.SVC_SBT_ADSL.equals(svc_sbt) 
				|| JKKTchishoMapperCC.SVC_SBT_MOBAL.equals(svc_sbt)
				|| JKKTchishoMapperCC.SVC_SBT_MLAD.equals(svc_sbt))
		{
			// 通知書登録呼出処理
			inParam = executeTchisho(handle, param, childMap, fixedText, workMap, syoriKbn);
		}
		// その他
		else
		{
			// なにも処理しない
		}
		
		return inParam;
	}
	
	
	
	
	/**
	 * 通知書登録用チェック処理。<br>
	 * チェック処理用の通知書登録サービスインターフェイスを作成し返却します。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public  HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	throws RequestParameterException
	{
		
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);

		ArrayList childList = null;
		if(parentMap.containsKey("trgt_data_list")) 
		{
			childList = (ArrayList)parentMap.get("trgt_data_list");
		}
		
		HashMap childMap = null;
		if (childList == null || 0 == childList.size())
		{
			childMap = new HashMap();
		}
		else
		{
			// 1件目のチェック
			childMap = (HashMap)childList.get(0);
		}
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		HashMap paramMap = editInMsg(param, childMap, fixedText);
		
		return paramMap;
	}
	
	// 2013/9/20 OM-2013-0001760 Add Start
	/**
	 * 住変中サービス契約再取得処理<br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param fixedText ユーザ任意文字列
	 * @param inParam モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param childList 処理対象の情報リスト
	 */
	@SuppressWarnings("unchecked")
	private void addChgChk(SessionHandle handle, String fixedText,
			IRequestParameterReadWrite inParam, ArrayList childList)
			throws Throwable {
		HashMap childMap;
		// 住変中判定
		boolean adChgFlg = false;
		String adChgNo = "";
		HashMap tmpMap = null;
		
		// 2014.04.16 ANK-1946-00-00 Add Start
		HashMap adrsMap = null;
		String tchisho_sohus_nm = "";
		String tchisho_sohus_ad_cd = "";
		String tchisho_sohus_pcd = "";
		String tchisho_sohus_state_nm = "";
		String tchisho_sohus_city_nm = "";
		String tchisho_sohus_oaztsu_nm = "";
		String tchisho_sohus_azcho_nm = "";
		String tchisho_sohus_bnchigo = "";
		String tchisho_sohus_adrttm = "";
		String tchisho_sohus_adrrm = "";
		String tchisho_sohus_telno = "";
		
		if (childList.size() > 0)
		{
			adrsMap = (HashMap)childList.get(0);
			tchisho_sohus_nm = (String)adrsMap.get("tchisho_sohus_nm");
			tchisho_sohus_ad_cd = (String)adrsMap.get("tchisho_sohus_ad_cd");
			tchisho_sohus_pcd = (String)adrsMap.get("tchisho_sohus_pcd");
			tchisho_sohus_state_nm = (String)adrsMap.get("tchisho_sohus_state_nm");
			tchisho_sohus_city_nm = (String)adrsMap.get("tchisho_sohus_city_nm");
			tchisho_sohus_oaztsu_nm = (String)adrsMap.get("tchisho_sohus_oaztsu_nm");
			tchisho_sohus_azcho_nm = (String)adrsMap.get("tchisho_sohus_azcho_nm");
			tchisho_sohus_bnchigo = (String)adrsMap.get("tchisho_sohus_bnchigo");
			tchisho_sohus_adrttm = (String)adrsMap.get("tchisho_sohus_adrttm");
			tchisho_sohus_adrrm = (String)adrsMap.get("tchisho_sohus_adrrm");
			tchisho_sohus_telno = (String)adrsMap.get("tchisho_sohus_telno");
		}
		// 2014.04.16 ANK-1946-00-00 Add End
		
		for(int i = 0; i < childList.size(); i++)
		{
			childMap = (HashMap)childList.get(i);
			
			// 住所変更明細存在チェック一覧照会
			HashMap KK2101B003Map = getKK2101B003Map(handle, inParam, childMap, fixedText);
			if (null != KK2101B003Map && KK2101B003Map.containsKey("EKK2101B003CBSMsg1List"))
			{
				ArrayList KK2101B003List = (ArrayList)KK2101B003Map.get("EKK2101B003CBSMsg1List");
				HashMap KK2101B003ChildMap = new HashMap();
				String adChgStat = "";
				
				for(int j = 0; j < KK2101B003List.size(); j++)
				{
					KK2101B003ChildMap = (HashMap)KK2101B003List.get(j);
					
					// 住所変更ステータス
					adChgStat = (String)KK2101B003ChildMap.get("adchg_stat");
					
					// 住所変更ステータスが"001"(登録済)の場合
					if(AD_CHG_STAT_SET_ZM.equals(adChgStat))
					{
						// 住所変更フラグ：false → true
						adChgFlg = true;
						// 住所変更番号
						adChgNo = (String)KK2101B003ChildMap.get("adchg_no");
						
						tmpMap = childMap;
						break;
					}
				}
			}
			if(adChgFlg)
			{
				break;
			}
		}
		// 住所変更中の場合、変更後のサービス契約番号群を再取得
		if(adChgFlg)
		{
// 2013.11.20 OM-2013-0004009 mod start 引数を追加（処理内容は変更ありません）
//			HashMap KK2101B001Map =  getKK2101B001Map(handle, inParam, adChgNo, fixedText);
			HashMap KK2101B001Map =  getKK2101B001Map(handle, inParam, adChgNo, fixedText, ADCHG_DTL_SBT_CD_SVC_KEI_NO);
// 2013.11.20 OM-2013-0004009 mod end
			if (null != KK2101B001Map && KK2101B001Map.containsKey("EKK2101B001CBSMsg1List"))
			{
				childList.clear();
				
				ArrayList KK2101B001List = (ArrayList)KK2101B001Map.get("EKK2101B001CBSMsg1List");
				HashMap KK2101B001ChildMap = new HashMap();
				String svcKeiNo = "";
				String sysid = null;
				String mskm_dtl_no = null;
				String tchisho_sohus_cd = null;
				String kktk_svc_kei_no = null;
				String seikyus_svc_kei_no = null;
				String use_plc = null;
				String func_code = null;
//OM-2016-0001897 ADD START
				String tchishoHakkoCd = null;
//OM-2016-0001897 ADD END
				
				if(null != tmpMap && null != tmpMap.get("sysid") && !("".equals(tmpMap.get("sysid"))))
				{
					sysid = (String)tmpMap.get("sysid");
				}
				if(null != tmpMap && null != tmpMap.get("mskm_dtl_no") && !("".equals(tmpMap.get("mskm_dtl_no"))))
				{
					mskm_dtl_no = (String)tmpMap.get("mskm_dtl_no");
				}
				if(null != tmpMap && null != tmpMap.get("tchisho_sohus_cd") && !("".equals(tmpMap.get("tchisho_sohus_cd"))))
				{
					tchisho_sohus_cd = (String)tmpMap.get("tchisho_sohus_cd");
				}
				if(null != tmpMap && null != tmpMap.get("kktk_svc_kei_no") && !("".equals(tmpMap.get("kktk_svc_kei_no"))))
				{
					kktk_svc_kei_no = (String)tmpMap.get("kktk_svc_kei_no");
				}
				if(null != tmpMap && null != tmpMap.get("seikyus_svc_kei_no") && !("".equals(tmpMap.get("seikyus_svc_kei_no"))))
				{
					seikyus_svc_kei_no = (String)tmpMap.get("seikyus_svc_kei_no");
				}
				if(null != tmpMap && null != tmpMap.get("use_plc") && !("".equals(tmpMap.get("use_plc"))))
				{
					use_plc = (String)tmpMap.get("use_plc");
				}
				if(null != tmpMap && null != tmpMap.get("func_code") && !("".equals(tmpMap.get("func_code"))))
				{
					func_code = (String)tmpMap.get("func_code");
				}
//OM-2016-0001897 ADD START
				if(null != tmpMap && null != tmpMap.get("tchisho_hakko_cd") && !("".equals(tmpMap.get("tchisho_hakko_cd"))))
				{
					tchishoHakkoCd = (String)tmpMap.get("tchisho_hakko_cd");
				}
//OM-2016-0001897 ADD END
				
				for(int j = 0; j < KK2101B001List.size(); j++)
				{
					KK2101B001ChildMap = (HashMap)KK2101B001List.get(j);
					
					if(null != KK2101B001ChildMap && null != KK2101B001ChildMap.get("chaf_skbt_no") && !("".equals(KK2101B001ChildMap.get("chaf_skbt_no"))))
					{
						svcKeiNo = (String)KK2101B001ChildMap.get("chaf_skbt_no");
						
						HashMap addChgSvcMap = new HashMap();
						
						addChgSvcMap.put("svc_kei_no", svcKeiNo);

// 2013.11.20 OM-2013-0004009 add start
						// 住所変更前　サービス契約番号
						String svcKeiNoBf = (String)KK2101B001ChildMap.get("chbf_skbt_no");
						if ( ! JKKStringUtil.isNullBlank(svcKeiNoBf) ) {
							addChgSvcMap.put(SVC_KEI_NO_BF, svcKeiNoBf);
						}
						// 住所変更番号
						if ( ! JKKStringUtil.isNullBlank(adChgNo) ) {
							addChgSvcMap.put(ADCHG_NO, adChgNo);
						}
// 2013.11.20 OM-2013-0004009 add end

						// 2014.04.16 ANK-1946-00-00 Add Start
						if(null != tchisho_sohus_nm)
						{
							addChgSvcMap.put("tchisho_sohus_nm", tchisho_sohus_nm);
						}
						if(null != tchisho_sohus_ad_cd)
						{
							addChgSvcMap.put("tchisho_sohus_ad_cd", tchisho_sohus_ad_cd);
						}
						if(null != tchisho_sohus_pcd)
						{
							addChgSvcMap.put("tchisho_sohus_pcd", tchisho_sohus_pcd);
						}
						if(null != tchisho_sohus_state_nm)
						{
							addChgSvcMap.put("tchisho_sohus_state_nm", tchisho_sohus_state_nm);
						}
						if(null != tchisho_sohus_city_nm)
						{
							addChgSvcMap.put("tchisho_sohus_city_nm", tchisho_sohus_city_nm);
						}
						if(null != tchisho_sohus_oaztsu_nm)
						{
							addChgSvcMap.put("tchisho_sohus_oaztsu_nm", tchisho_sohus_oaztsu_nm);
						}
						if(null != tchisho_sohus_azcho_nm)
						{
							addChgSvcMap.put("tchisho_sohus_azcho_nm", tchisho_sohus_azcho_nm);
						}
						if(null != tchisho_sohus_bnchigo)
						{
							addChgSvcMap.put("tchisho_sohus_bnchigo", tchisho_sohus_bnchigo);
						}
						if(null != tchisho_sohus_adrttm)
						{
							addChgSvcMap.put("tchisho_sohus_adrttm", tchisho_sohus_adrttm);
						}
						if(null != tchisho_sohus_adrrm)
						{
							addChgSvcMap.put("tchisho_sohus_adrrm", tchisho_sohus_adrrm);
						}
						if(null != tchisho_sohus_telno)
						{
							addChgSvcMap.put("tchisho_sohus_telno", tchisho_sohus_telno);
						}
						// 2014.04.16 ANK-1946-00-00 Add End
						
						if(null != sysid)
						{
							addChgSvcMap.put("sysid", sysid);
						}
						if(null != mskm_dtl_no)
						{
							addChgSvcMap.put("mskm_dtl_no", mskm_dtl_no);
						}
						if(null != tchisho_sohus_cd)
						{
							addChgSvcMap.put("tchisho_sohus_cd", tchisho_sohus_cd);
						}
						if(null != kktk_svc_kei_no)
						{
							addChgSvcMap.put("kktk_svc_kei_no", kktk_svc_kei_no);
						}
						if(null != seikyus_svc_kei_no)
						{
							addChgSvcMap.put("seikyus_svc_kei_no", seikyus_svc_kei_no);
						}
						if(null != use_plc)
						{
							addChgSvcMap.put("use_plc", use_plc);
						}
						if(null != func_code)
						{
							addChgSvcMap.put("func_code", func_code);
						}
//OM-2016-0001897 ADD START
						if(null != tchishoHakkoCd)
						{
							addChgSvcMap.put("tchisho_hakko_cd", tchishoHakkoCd);
						}
//OM-2016-0001897 ADD END
						
						childList.add(addChgSvcMap);
					}
				}
			}
		}
	}
	// 2013/9/20 OM-2013-0001760 Add End
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * メッセージ共通部の設定。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param paramMap (O) メッセージ共通部
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private void setCommonParamMap(IRequestParameterReadOnly param, HashMap<String, Object> paramMap)
	throws RequestParameterException
	{
		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * サービスインターフェイス共通部の設定。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param template (O) サービスインターフェイス
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private void setCommonTemplate(IRequestParameterReadOnly param, CAANMsg template)
	throws RequestParameterException
	{
		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgEKK0561D010(IRequestParameterReadOnly param, HashMap<String, Object> childMap)
	throws RequestParameterException
	{

		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0561D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		// テンプレートID
		template.set(EKK0561D010CBSMsg.TEMPLATEID, "EKK0561D010");

		// 機能コード（固定：1）
		template.set(EKK0561D010CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);		

		// 通知書登録マップ.ＳＹＳＩＤ → ＳＹＳＩＤ
		if (childMap == null || childMap.get("sysid") == null || "".equals(childMap.get("sysid"))) {
			template.setNull(EKK0561D010CBSMsg.SYSID);
		} else {
			template.set(EKK0561D010CBSMsg.SYSID, (String) childMap.get("sysid"));
		}

		// 通知書登録マップ.通知書発行コード → 通知書発行コード
		if (childMap == null || childMap.get("tchisho_hakko_cd") == null || "".equals(childMap.get("tchisho_hakko_cd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD, (String) childMap.get("tchisho_hakko_cd"));
		}

		// 通知書登録マップ.申込明細番号 → 申込明細番号
		if (childMap == null || childMap.get("mskm_dtl_no") == null || "".equals(childMap.get("mskm_dtl_no"))) {
			template.setNull(EKK0561D010CBSMsg.MSKM_DTL_NO);
		} else {
			template.set(EKK0561D010CBSMsg.MSKM_DTL_NO, (String) childMap.get("mskm_dtl_no"));
		}

		// 通知書登録マップ.申込書番号 → 申込書番号
		if (childMap == null || childMap.get("mskmsho_no") == null || "".equals(childMap.get("mskmsho_no"))) {
			template.setNull(EKK0561D010CBSMsg.MSKMSHO_NO);
		} else {
			template.set(EKK0561D010CBSMsg.MSKMSHO_NO, (String) childMap.get("mskmsho_no"));
		}

		// 通知書登録マップ.工事案件番号 → 工事案件番号
		if (childMap == null || childMap.get("kojiak_no") == null || "".equals(childMap.get("kojiak_no"))) {
			template.setNull(EKK0561D010CBSMsg.KOJIAK_NO);
		} else {
			template.set(EKK0561D010CBSMsg.KOJIAK_NO, (String) childMap.get("kojiak_no"));
		}

		// 通知書登録マップ.通知書コード → 通知書コード
		if (childMap == null || childMap.get("tchisho_cd") == null || "".equals(childMap.get("tchisho_cd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_CD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_CD, (String) childMap.get("tchisho_cd"));
		}

		// 通知書登録マップ.通知書登録ユーザーＩＤ → 通知書登録ユーザーＩＤ
		if (childMap == null || childMap.get("tchisho_add_user_id") == null || "".equals(childMap.get("tchisho_add_user_id"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID, (String) childMap.get("tchisho_add_user_id"));
		}

		// 通知書登録マップ.通知書送付先名 → 通知書送付先名
		if (childMap == null || childMap.get("tchisho_sohus_nm") == null || "".equals(childMap.get("tchisho_sohus_nm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM, (String) childMap.get("tchisho_sohus_nm"));
		}

		// 通知書登録マップ.通知書送付先コード → 通知書送付先コード
		if (childMap == null || childMap.get("tchisho_sohus_cd") == null || "".equals(childMap.get("tchisho_sohus_cd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_CD, (String) childMap.get("tchisho_sohus_cd"));
		}

		// 通知書登録マップ.通知書送付先住所コード → 通知書送付先住所コード
		if (childMap == null || childMap.get("tchisho_sohus_ad_cd") == null || "".equals(childMap.get("tchisho_sohus_ad_cd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD, (String) childMap.get("tchisho_sohus_ad_cd"));
		}

		// 通知書登録マップ.通知書送付先郵便番号 → 通知書送付先郵便番号
		if (childMap == null || childMap.get("tchisho_sohus_pcd") == null || "".equals(childMap.get("tchisho_sohus_pcd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD, (String) childMap.get("tchisho_sohus_pcd"));
		}

		// 通知書登録マップ.通知書送付先都道府県名 → 通知書送付先都道府県名
		if (childMap == null || childMap.get("tchisho_sohus_state_nm") == null || "".equals(childMap.get("tchisho_sohus_state_nm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM, (String) childMap.get("tchisho_sohus_state_nm"));
		}

		// 通知書登録マップ.通知書送付先市区町村名 → 通知書送付先市区町村名
		if (childMap == null || childMap.get("tchisho_sohus_city_nm") == null || "".equals(childMap.get("tchisho_sohus_city_nm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM, (String) childMap.get("tchisho_sohus_city_nm"));
		}

		// 通知書登録マップ.通知書送付先大字通称名 → 通知書送付先大字通称名
		if (childMap == null || childMap.get("tchisho_sohus_oaztsu_nm") == null || "".equals(childMap.get("tchisho_sohus_oaztsu_nm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM, (String) childMap.get("tchisho_sohus_oaztsu_nm"));
		}

		// 通知書登録マップ.通知書送付先字丁目名 → 通知書送付先字丁目名
		if (childMap == null || childMap.get("tchisho_sohus_azcho_nm") == null || "".equals(childMap.get("tchisho_sohus_azcho_nm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM, (String) childMap.get("tchisho_sohus_azcho_nm"));
		}

		// 通知書登録マップ.通知書送付先番地号 → 通知書送付先番地号
		if (childMap == null || childMap.get("tchisho_sohus_bnchigo") == null || "".equals(childMap.get("tchisho_sohus_bnchigo"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO, (String) childMap.get("tchisho_sohus_bnchigo"));
		}

		// 通知書登録マップ.通知書送付先住所補記・建物名 → 通知書送付先住所補記・建物名
		if (childMap == null || childMap.get("tchisho_sohus_adrttm") == null || "".equals(childMap.get("tchisho_sohus_adrttm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM, (String) childMap.get("tchisho_sohus_adrttm"));
		}

		// 通知書登録マップ.通知書送付先住所補記・部屋番号 → 通知書送付先住所補記・部屋番号
		if (childMap == null || childMap.get("tchisho_sohus_adrrm") == null || "".equals(childMap.get("tchisho_sohus_adrrm"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM, (String) childMap.get("tchisho_sohus_adrrm"));
		}

		// 通知書登録マップ.通知書送付先電話番号 → 通知書送付先電話番号
		if (childMap == null || childMap.get("tchisho_sohus_telno") == null || "".equals(childMap.get("tchisho_sohus_telno"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_TELNO);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_TELNO, (String) childMap.get("tchisho_sohus_telno"));
		}

		// 通知書登録マップ.機器提供サービス契約番号 → 機器提供サービス契約番号
		if (childMap == null || childMap.get("kktk_svc_kei_no") == null || "".equals(childMap.get("kktk_svc_kei_no"))) {
			template.setNull(EKK0561D010CBSMsg.KKTK_SVC_KEI_NO);
		} else {
			template.set(EKK0561D010CBSMsg.KKTK_SVC_KEI_NO, (String) childMap.get("kktk_svc_kei_no"));
		}

		// 通知書登録マップ.請求先サービス契約番号 → 請求先サービス契約番号
		if (childMap == null || childMap.get("seiky_sk_svc_kei_no") == null || "".equals(childMap.get("seiky_sk_svc_kei_no"))) {
			template.setNull(EKK0561D010CBSMsg.SEIKY_SK_SVC_KEI_NO);
		} else {
			template.set(EKK0561D010CBSMsg.SEIKY_SK_SVC_KEI_NO, (String) childMap.get("seiky_sk_svc_kei_no"));
		}

		// 通知書登録マップ.通知書印刷実施先コード → 通知書印刷実施先コード
		if (childMap == null || childMap.get("tchisho_print_jssi_sk_cd") == null || "".equals(childMap.get("tchisho_print_jssi_sk_cd"))) {
			template.setNull(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD);
		} else {
			template.set(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD, (String) childMap.get("tchisho_print_jssi_sk_cd"));
		}

		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST);

		if (templateArray == null) {
			templateArray = new CAANMsg[1];
		}

		CAANMsg childTemplate = templateArray[0];
		if (childTemplate == null) {
			childTemplate = new CAANMsg(EKK0561D010CBSMsg1List.class.getName());
		}
		// 通知書登録マップ.通知対象物明細.サービス契約番号 → 通知対象物明細.サービス契約番号
		if (childMap == null || childMap.get("svc_kei_no") == null || "".equals(childMap.get("svc_kei_no"))) {
			childTemplate.setNull(EKK0561D010CBSMsg1List.SVC_KEI_NO);
		} else {
			childTemplate.set(EKK0561D010CBSMsg1List.SVC_KEI_NO, (String) childMap.get("svc_kei_no"));
		}

		// 通知書登録マップ.通知対象物明細.通知対象物適用開始年月日 → 通知対象物明細.通知対象物適用開始年月日
//		if (childMap == null || childMap.get("tchi_tg_bpin_tstaymd") == null || "".equals(childMap.get("tchi_tg_bpin_tstaymd"))) {
//			childTemplate.setNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD);
//		} else {
//			childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD, (String) childMap.get("tchi_tg_bpin_tstaymd"));
//		}
		childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD, JCCBPCommon.getOpeDate(null));

		// 通知書登録マップ.通知対象物明細.通知対象物適用終了年月日 → 通知対象物明細.通知対象物適用終了年月日
//		if (childMap == null || childMap.get("tchi_tg_bpin_tendymd") == null || "".equals(childMap.get("tchi_tg_bpin_tendymd"))) {
//			childTemplate.setNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD);
//		} else {
//			childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD, (String) childMap.get("tchi_tg_bpin_tendymd"));
//		}
		childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD, "20991231");

		// 通知書登録マップ.通知対象物明細.通知完了済フラグ → 通知対象物明細.通知完了済フラグ
//		if (childMap == null || childMap.get("tchi_fin_zm_flg") == null || "".equals(childMap.get("tchi_fin_zm_flg"))) {
//			childTemplate.setNull(EKK0561D010CBSMsg1List.TCHI_FIN_ZM_FLG);
//		} else {
//			childTemplate.set(EKK0561D010CBSMsg1List.TCHI_FIN_ZM_FLG, (String) childMap.get("tchi_fin_zm_flg"));
//		}
		childTemplate.set(EKK0561D010CBSMsg1List.TCHI_FIN_ZM_FLG, "1");

		// 通知書登録マップ.印刷依頼年月日 → 印刷依頼年月日
		if (childMap == null || childMap.get("print_reqymd") == null || "".equals(childMap.get("print_reqymd"))) {
			template.setNull(EKK0561D010CBSMsg.PRINT_REQYMD);
		} else {
			template.set(EKK0561D010CBSMsg.PRINT_REQYMD, (String) childMap.get("print_reqymd"));
		}

		templateArray[0] = childTemplate;

		template.set(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST, templateArray);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsgEKK0561C010(IRequestParameterReadOnly param, HashMap<String, Object> childMap, 
			HashMap<String, Object> workMap) throws RequestParameterException
	{

		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0561C010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0561C010CBSMsg.TEMPLATEID, "EKK0561C010");

		// 機能コード（固定：1）
		template.set(EKK0561C010CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);		

		HashMap ekk0561D010_map = (HashMap)workMap.get("ekk0561D010_map");
		
		// 通知書発行マップ.通知書番号 → 通知書番号
		if (ekk0561D010_map == null || ekk0561D010_map.get("tchisho_no") == null || "".equals(ekk0561D010_map.get("tchisho_no"))) {
			template.setNull(EKK0561C010CBSMsg.TCHISHO_NO);
		} else {
			template.set(EKK0561C010CBSMsg.TCHISHO_NO, (String) ekk0561D010_map.get("tchisho_no"));
		}

		// 通知書発行マップ.印刷依頼年月日 → 印刷依頼年月日
		if (childMap == null || childMap.get("print_reqymd") == null || "".equals(childMap.get("print_reqymd"))) {
			template.setNull(EKK0561C010CBSMsg.PRINT_REQYMD);
		} else {
			template.set(EKK0561C010CBSMsg.PRINT_REQYMD, (String) childMap.get("print_reqymd"));
		}

		// 通知書発行マップ.発行年月日 → 発行年月日
//		if (childMap == null || childMap.get("hakko_ymd") == null || "".equals(childMap.get("hakko_ymd"))) {
//			template.setNull(EKK0561C010CBSMsg.HAKKO_YMD);
//		} else {
//			template.set(EKK0561C010CBSMsg.HAKKO_YMD, (String) childMap.get("hakko_ymd"));
//		}
		template.set(EKK0561C010CBSMsg.HAKKO_YMD, JCCBPCommon.getOpeDate(null));

		// 通知書発行マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前）
		if (ekk0561D010_map == null || ekk0561D010_map.get("upd_dtm") == null || "".equals(ekk0561D010_map.get("upd_dtm"))) {
			template.setNull(EKK0561C010CBSMsg.UPD_DTM_BF);
		} else {
			template.set(EKK0561C010CBSMsg.UPD_DTM_BF, (String) ekk0561D010_map.get("upd_dtm"));
		}
			
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsgEKK1061D010(IRequestParameterReadOnly param, HashMap<String, Object> childMap, 
			HashMap<String, Object> workMap) throws RequestParameterException
	{

		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK1061D010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK1061D010CBSMsg.TEMPLATEID, "EKK1061D010");

		// 機能コード（固定：1）
		template.set(EKK1061D010CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);		

		HashMap ekk0561C010_map = (HashMap)workMap.get("ekk0561C010_map");
		HashMap ekk0561D010_map = (HashMap)workMap.get("ekk0561D010_map");
		
		
		// 通知書内訳登録マップ.通知書番号 → 通知書番号
		if (ekk0561D010_map == null || ekk0561D010_map.get("tchisho_no") == null || "".equals(ekk0561D010_map.get("tchisho_no"))) {
			template.setNull(EKK1061D010CBSMsg.TCHISHO_NO);
		} else {
			template.set(EKK1061D010CBSMsg.TCHISHO_NO, (String) ekk0561D010_map.get("tchisho_no"));
		}

		// 通知書内訳登録マップ.通知書内訳種別コード → 通知書内訳種別コード
		if (childMap == null || childMap.get("tchisho_ucwk_sbt_cd") == null || "".equals(childMap.get("tchisho_ucwk_sbt_cd"))) {
			template.setNull(EKK1061D010CBSMsg.TCHISHO_UCWK_SBT_CD);
		} else {
			template.set(EKK1061D010CBSMsg.TCHISHO_UCWK_SBT_CD, (String) childMap.get("tchisho_ucwk_sbt_cd"));
		}

		// 通知書内訳登録マップ.サービスコード → サービスコード
		if (childMap == null || childMap.get("svc_cd") == null || "".equals(childMap.get("svc_cd"))) {
			template.setNull(EKK1061D010CBSMsg.SVC_CD);
		} else {
			template.set(EKK1061D010CBSMsg.SVC_CD, (String) childMap.get("svc_cd"));
		}

		// 通知書内訳登録マップ.料金グループコード → 料金グループコード
		if (childMap == null || childMap.get("prc_grp_cd") == null || "".equals(childMap.get("prc_grp_cd"))) {
			template.setNull(EKK1061D010CBSMsg.PRC_GRP_CD);
		} else {
			template.set(EKK1061D010CBSMsg.PRC_GRP_CD, (String) childMap.get("prc_grp_cd"));
		}

		// 通知書内訳登録マップ.料金コースコード → 料金コースコード
		if (childMap == null || childMap.get("pcrs_cd") == null || "".equals(childMap.get("pcrs_cd"))) {
			template.setNull(EKK1061D010CBSMsg.PCRS_CD);
		} else {
			template.set(EKK1061D010CBSMsg.PCRS_CD, (String) childMap.get("pcrs_cd"));
		}

		// 通知書内訳登録マップ.料金プランコード → 料金プランコード
		if (childMap == null || childMap.get("pplan_cd") == null || "".equals(childMap.get("pplan_cd"))) {
			template.setNull(EKK1061D010CBSMsg.PPLAN_CD);
		} else {
			template.set(EKK1061D010CBSMsg.PPLAN_CD, (String) childMap.get("pplan_cd"));
		}

		// 通知書内訳登録マップ.サービス契約内訳番号 → サービス契約内訳番号
		if (childMap == null || childMap.get("svc_kei_ucwk_no") == null || "".equals(childMap.get("svc_kei_ucwk_no"))) {
			template.setNull(EKK1061D010CBSMsg.SVC_KEI_UCWK_NO);
		} else {
			template.set(EKK1061D010CBSMsg.SVC_KEI_UCWK_NO, (String) childMap.get("svc_kei_ucwk_no"));
		}

		// 通知書内訳登録マップ.利用開始年月日 → 利用開始年月日
		if (childMap == null || childMap.get("use_staymd") == null || "".equals(childMap.get("use_staymd"))) {
			template.setNull(EKK1061D010CBSMsg.USE_STAYMD);
		} else {
			template.set(EKK1061D010CBSMsg.USE_STAYMD, (String) childMap.get("use_staymd"));
		}

		// 通知書内訳登録マップ.ＡＤＳＬ利用開始年月日 → ＡＤＳＬ利用開始年月日
		if (childMap == null || childMap.get("adsl_use_staymd") == null || "".equals(childMap.get("adsl_use_staymd"))) {
			template.setNull(EKK1061D010CBSMsg.ADSL_USE_STAYMD);
		} else {
			template.set(EKK1061D010CBSMsg.ADSL_USE_STAYMD, (String) childMap.get("adsl_use_staymd"));
		}

		// 通知書内訳登録マップ.整理番号 → 整理番号
		if (childMap == null || childMap.get("seiri_no") == null || "".equals(childMap.get("seiri_no"))) {
			template.setNull(EKK1061D010CBSMsg.SEIRI_NO);
		} else {
			template.set(EKK1061D010CBSMsg.SEIRI_NO, (String) childMap.get("seiri_no"));
		}

		// 通知書内訳登録マップ.ｅｏＩＤ → ｅｏＩＤ
		if (childMap == null || childMap.get("eoid") == null || "".equals(childMap.get("eoid"))) {
			template.setNull(EKK1061D010CBSMsg.EOID);
		} else {
			template.set(EKK1061D010CBSMsg.EOID, (String) childMap.get("eoid"));
		}

		// 通知書内訳登録マップ.初期ｅｏＩＤ → 初期ｅｏＩＤ
		if (childMap == null || childMap.get("shk_eoid") == null || "".equals(childMap.get("shk_eoid"))) {
			template.setNull(EKK1061D010CBSMsg.SHK_EOID);
		} else {
			template.set(EKK1061D010CBSMsg.SHK_EOID, (String) childMap.get("shk_eoid"));
		}

		// 通知書内訳登録マップ.初期ｅｏＩＤパスワード → 初期ｅｏＩＤパスワード
		if (childMap == null || childMap.get("shk_eoid_pwd") == null || "".equals(childMap.get("shk_eoid_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.SHK_EOID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.SHK_EOID_PWD, (String) childMap.get("shk_eoid_pwd"));
		}

		// 通知書内訳登録マップ.家族入会コード → 家族入会コード
		if (childMap == null || childMap.get("family_join_cd") == null || "".equals(childMap.get("family_join_cd"))) {
			template.setNull(EKK1061D010CBSMsg.FAMILY_JOIN_CD);
		} else {
			template.set(EKK1061D010CBSMsg.FAMILY_JOIN_CD, (String) childMap.get("family_join_cd"));
		}

		// 通知書内訳登録マップ.家族入会コードパスワード → 家族入会コードパスワード
		if (childMap == null || childMap.get("family_join_cd_pwd") == null || "".equals(childMap.get("family_join_cd_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.FAMILY_JOIN_CD_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.FAMILY_JOIN_CD_PWD, (String) childMap.get("family_join_cd_pwd"));
		}

		// 通知書内訳登録マップ.通知書印字名 → 通知書印字名
		if (childMap == null || childMap.get("tchisho_prt_nm") == null || "".equals(childMap.get("tchisho_prt_nm"))) {
			template.setNull(EKK1061D010CBSMsg.TCHISHO_PRT_NM);
		} else {
			template.set(EKK1061D010CBSMsg.TCHISHO_PRT_NM, (String) childMap.get("tchisho_prt_nm"));
		}

		// 通知書内訳登録マップ.認証ＩＤ → 認証ＩＤ
		if (childMap == null || childMap.get("ninsho_id") == null || "".equals(childMap.get("ninsho_id"))) {
			template.setNull(EKK1061D010CBSMsg.NINSHO_ID);
		} else {
			template.set(EKK1061D010CBSMsg.NINSHO_ID, (String) childMap.get("ninsho_id"));
		}

		// 通知書内訳登録マップ.認証ＩＤパスワード → 認証ＩＤパスワード
		if (childMap == null || childMap.get("ninsho_id_pwd") == null || "".equals(childMap.get("ninsho_id_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.NINSHO_ID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.NINSHO_ID_PWD, (String) childMap.get("ninsho_id_pwd"));
		}

		// 通知書内訳登録マップ.メールアドレス → メールアドレス
		if (childMap == null || childMap.get("mlad") == null || "".equals(childMap.get("mlad"))) {
			template.setNull(EKK1061D010CBSMsg.MLAD);
		} else {
			template.set(EKK1061D010CBSMsg.MLAD, (String) childMap.get("mlad"));
		}

		// 通知書内訳登録マップ.ＰＯＰＩＤパスワード → ＰＯＰＩＤパスワード
		if (childMap == null || childMap.get("pop_id_pwd") == null || "".equals(childMap.get("pop_id_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.POP_ID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.POP_ID_PWD, (String) childMap.get("pop_id_pwd"));
		}

		// 通知書内訳登録マップ.ＷｅｂＩＤ → ＷｅｂＩＤ
		if (childMap == null || childMap.get("web_id") == null || "".equals(childMap.get("web_id"))) {
			template.setNull(EKK1061D010CBSMsg.WEB_ID);
		} else {
			template.set(EKK1061D010CBSMsg.WEB_ID, (String) childMap.get("web_id"));
		}

		// 通知書内訳登録マップ.ＷｅｂＩＤパスワード → ＷｅｂＩＤパスワード
		if (childMap == null || childMap.get("web_id_pwd") == null || "".equals(childMap.get("web_id_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.WEB_ID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.WEB_ID_PWD, (String) childMap.get("web_id_pwd"));
		}

		// 通知書内訳登録マップ.ＫＯＰＴ電話番号 → ＫＯＰＴ電話番号
		if (childMap == null || childMap.get("kopt_telno") == null || "".equals(childMap.get("kopt_telno"))) {
			template.setNull(EKK1061D010CBSMsg.KOPT_TELNO);
		} else {
			template.set(EKK1061D010CBSMsg.KOPT_TELNO, (String) childMap.get("kopt_telno"));
		}

		// 通知書内訳登録マップ.発信者番号通知コード → 発信者番号通知コード
		if (childMap == null || childMap.get("hasinsha_no_tch_cd") == null || "".equals(childMap.get("hasinsha_no_tch_cd"))) {
			template.setNull(EKK1061D010CBSMsg.HASINSHA_NO_TCH_CD);
		} else {
			template.set(EKK1061D010CBSMsg.HASINSHA_NO_TCH_CD, (String) childMap.get("hasinsha_no_tch_cd"));
		}

		// 通知書内訳登録マップ.ＶＡポート番号 → ＶＡポート番号
		if (childMap == null || childMap.get("va_port_no") == null || "".equals(childMap.get("va_port_no"))) {
			template.setNull(EKK1061D010CBSMsg.VA_PORT_NO);
		} else {
			template.set(EKK1061D010CBSMsg.VA_PORT_NO, (String) childMap.get("va_port_no"));
		}

		// 通知書内訳登録マップ.電話オプション設定用リモート操作用パスワード → 電話オプション設定用リモート操作用パスワード
		if (childMap == null || childMap.get("tel_op_sette_rmts_pwd") == null || "".equals(childMap.get("tel_op_sette_rmts_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.TEL_OP_SETTE_RMTS_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.TEL_OP_SETTE_RMTS_PWD, (String) childMap.get("tel_op_sette_rmts_pwd"));
		}

		// 通知書内訳登録マップ.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ → ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ
		if (childMap == null || childMap.get("ieee802_1x_ssid") == null || "".equals(childMap.get("ieee802_1x_ssid"))) {
			template.setNull(EKK1061D010CBSMsg.IEEE802_1X_SSID);
		} else {
			template.set(EKK1061D010CBSMsg.IEEE802_1X_SSID, (String) childMap.get("ieee802_1x_ssid"));
		}

		// 通知書内訳登録マップ.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ → ＷＰＡ２／ＡＥＳ用ＳＳＩＤ
		if (childMap == null || childMap.get("wpa2_aes_ssid") == null || "".equals(childMap.get("wpa2_aes_ssid"))) {
			template.setNull(EKK1061D010CBSMsg.WPA2_AES_SSID);
		} else {
			template.set(EKK1061D010CBSMsg.WPA2_AES_SSID, (String) childMap.get("wpa2_aes_ssid"));
		}

		// 通知書内訳登録マップ.ＷＥＰ用ＳＳＩＤ → ＷＥＰ用ＳＳＩＤ
		if (childMap == null || childMap.get("wep_ssid") == null || "".equals(childMap.get("wep_ssid"))) {
			template.setNull(EKK1061D010CBSMsg.WEP_SSID);
		} else {
			template.set(EKK1061D010CBSMsg.WEP_SSID, (String) childMap.get("wep_ssid"));
		}

		// 通知書内訳登録マップ.ＷＥＰキー → ＷＥＰキー
		if (childMap == null || childMap.get("wep_key") == null || "".equals(childMap.get("wep_key"))) {
			template.setNull(EKK1061D010CBSMsg.WEP_KEY);
		} else {
			template.set(EKK1061D010CBSMsg.WEP_KEY, (String) childMap.get("wep_key"));
		}

		// 通知書内訳登録マップ.ＦＴＰサーバーＵＲＬ → ＦＴＰサーバーＵＲＬ
		if (childMap == null || childMap.get("ftp_server_url") == null || "".equals(childMap.get("ftp_server_url"))) {
			template.setNull(EKK1061D010CBSMsg.FTP_SERVER_URL);
		} else {
			template.set(EKK1061D010CBSMsg.FTP_SERVER_URL, (String) childMap.get("ftp_server_url"));
		}

		// 通知書内訳登録マップ.ＰＯＰサーバーＵＲＬ → ＰＯＰサーバーＵＲＬ
		if (childMap == null || childMap.get("pop_server_url") == null || "".equals(childMap.get("pop_server_url"))) {
			template.setNull(EKK1061D010CBSMsg.POP_SERVER_URL);
		} else {
			template.set(EKK1061D010CBSMsg.POP_SERVER_URL, (String) childMap.get("pop_server_url"));
		}

		// 通知書内訳登録マップ.ＳＭＴＰサーバーＵＲＬ → ＳＭＴＰサーバーＵＲＬ
		if (childMap == null || childMap.get("smtp_server_url") == null || "".equals(childMap.get("smtp_server_url"))) {
			template.setNull(EKK1061D010CBSMsg.SMTP_SERVER_URL);
		} else {
			template.set(EKK1061D010CBSMsg.SMTP_SERVER_URL, (String) childMap.get("smtp_server_url"));
		}

		// 通知書内訳登録マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前）
		if (ekk0561C010_map == null || ekk0561C010_map.get("upd_dtm") == null || "".equals(ekk0561C010_map.get("upd_dtm"))) {
			template.setNull(EKK1061D010CBSMsg.UPD_DTM_BF);
		} else {
			template.set(EKK1061D010CBSMsg.UPD_DTM_BF, (String) ekk0561C010_map.get("upd_dtm"));
		}

		// 通知書内訳登録マップ.割賦契約締結年月日 → 割賦契約締結年月日
		if (childMap == null || childMap.get("kap_kei_cnc_ymd") == null || "".equals(childMap.get("kap_kei_cnc_ymd"))) {
			template.setNull(EKK1061D010CBSMsg.KAP_KEI_CNC_YMD);
		} else {
			template.set(EKK1061D010CBSMsg.KAP_KEI_CNC_YMD, (String) childMap.get("kap_kei_cnc_ymd"));
		}

		// 通知書内訳登録マップ.割賦販売形態コード → 割賦販売形態コード
		if (childMap == null || childMap.get("kap_hambai_form_cd") == null || "".equals(childMap.get("kap_hambai_form_cd"))) {
			template.setNull(EKK1061D010CBSMsg.KAP_HAMBAI_FORM_CD);
		} else {
			template.set(EKK1061D010CBSMsg.KAP_HAMBAI_FORM_CD, (String) childMap.get("kap_hambai_form_cd"));
		}

		// 通知書内訳登録マップ.タブレット宅内機器型式コード → タブレット宅内機器型式コード
		if (childMap == null || childMap.get("tablet_taknkiki_model_cd") == null || "".equals(childMap.get("tablet_taknkiki_model_cd"))) {
			template.setNull(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_CD);
		} else {
			template.set(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_CD, (String) childMap.get("tablet_taknkiki_model_cd"));
		}

		// 通知書内訳登録マップ.タブレット宅内機器型式名 → タブレット宅内機器型式名
		if (childMap == null || childMap.get("tablet_taknkiki_model_nm") == null || "".equals(childMap.get("tablet_taknkiki_model_nm"))) {
			template.setNull(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_NM);
		} else {
			template.set(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_NM, (String) childMap.get("tablet_taknkiki_model_nm"));
		}

		// 通知書内訳登録マップ.機器送付先住所コード → 機器送付先住所コード
		if (childMap == null || childMap.get("kiki_sohus_ad_cd") == null || "".equals(childMap.get("kiki_sohus_ad_cd"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_AD_CD);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_AD_CD, (String) childMap.get("kiki_sohus_ad_cd"));
		}

		// 通知書内訳登録マップ.機器送付先郵便番号 → 機器送付先郵便番号
		if (childMap == null || childMap.get("kiki_sohus_pcd") == null || "".equals(childMap.get("kiki_sohus_pcd"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_PCD);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_PCD, (String) childMap.get("kiki_sohus_pcd"));
		}

		// 通知書内訳登録マップ.機器送付先都道府県名 → 機器送付先都道府県名
		if (childMap == null || childMap.get("kiki_sohus_state_nm") == null || "".equals(childMap.get("kiki_sohus_state_nm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_STATE_NM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_STATE_NM, (String) childMap.get("kiki_sohus_state_nm"));
		}

		// 通知書内訳登録マップ.機器送付先市区町村名 → 機器送付先市区町村名
		if (childMap == null || childMap.get("kiki_sohus_city_nm") == null || "".equals(childMap.get("kiki_sohus_city_nm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_CITY_NM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_CITY_NM, (String) childMap.get("kiki_sohus_city_nm"));
		}

		// 通知書内訳登録マップ.機器送付先大字通称名 → 機器送付先大字通称名
		if (childMap == null || childMap.get("kiki_sohus_oaztsu_nm") == null || "".equals(childMap.get("kiki_sohus_oaztsu_nm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_OAZTSU_NM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_OAZTSU_NM, (String) childMap.get("kiki_sohus_oaztsu_nm"));
		}

		// 通知書内訳登録マップ.機器送付先字丁目名 → 機器送付先字丁目名
		if (childMap == null || childMap.get("kiki_sohus_azcho_nm") == null || "".equals(childMap.get("kiki_sohus_azcho_nm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_AZCHO_NM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_AZCHO_NM, (String) childMap.get("kiki_sohus_azcho_nm"));
		}

		// 通知書内訳登録マップ.機器送付先番地号 → 機器送付先番地号
		if (childMap == null || childMap.get("kiki_sohus_bnchigo") == null || "".equals(childMap.get("kiki_sohus_bnchigo"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_BNCHIGO);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_BNCHIGO, (String) childMap.get("kiki_sohus_bnchigo"));
		}

		// 通知書内訳登録マップ.機器送付先住所補記・建物名 → 機器送付先住所補記・建物名
		if (childMap == null || childMap.get("kiki_sohus_adrttm") == null || "".equals(childMap.get("kiki_sohus_adrttm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_ADRTTM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_ADRTTM, (String) childMap.get("kiki_sohus_adrttm"));
		}

		// 通知書内訳登録マップ.機器送付先住所補記・部屋番号 → 機器送付先住所補記・部屋番号
		if (childMap == null || childMap.get("kiki_sohus_adrrm") == null || "".equals(childMap.get("kiki_sohus_adrrm"))) {
			template.setNull(EKK1061D010CBSMsg.KIKI_SOHUS_ADRRM);
		} else {
			template.set(EKK1061D010CBSMsg.KIKI_SOHUS_ADRRM, (String) childMap.get("kiki_sohus_adrrm"));
		}

		// 通知書内訳登録マップ.端末購入受付担当者名 → 端末購入受付担当者名
		if (childMap == null || childMap.get("tnmt_buy_uk_tntsha_nm") == null || "".equals(childMap.get("tnmt_buy_uk_tntsha_nm"))) {
			template.setNull(EKK1061D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM);
		} else {
			template.set(EKK1061D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM, (String) childMap.get("tnmt_buy_uk_tntsha_nm"));
		}

		// 通知書内訳登録マップ.ＵＲＬ（ドメイン） → ＵＲＬ（ドメイン）
		if (childMap == null || childMap.get("url_domain") == null || "".equals(childMap.get("url_domain"))) {
			template.setNull(EKK1061D010CBSMsg.URL_DOMAIN);
		} else {
			template.set(EKK1061D010CBSMsg.URL_DOMAIN, (String) childMap.get("url_domain"));
		}

		// 通知書内訳登録マップ.ＵＲＬ（アカウント） → ＵＲＬ（アカウント）
		if (childMap == null || childMap.get("url_account") == null || "".equals(childMap.get("url_account"))) {
			template.setNull(EKK1061D010CBSMsg.URL_ACCOUNT);
		} else {
			template.set(EKK1061D010CBSMsg.URL_ACCOUNT, (String) childMap.get("url_account"));
		}

		// 通知書内訳登録マップ.容量 → 容量
		if (childMap == null || childMap.get("capa") == null || "".equals(childMap.get("capa"))) {
			template.setNull(EKK1061D010CBSMsg.CAPA);
		} else {
			template.set(EKK1061D010CBSMsg.CAPA, (String) childMap.get("capa"));
		}

		// 通知書内訳登録マップ.ＦＴＰサーバー接続初期フォルダ名 → ＦＴＰサーバー接続初期フォルダ名
		if (childMap == null || childMap.get("ftp_svrcnt_shk_folder_nm") == null || "".equals(childMap.get("ftp_svrcnt_shk_folder_nm"))) {
			template.setNull(EKK1061D010CBSMsg.FTP_SVRCNT_SHK_FOLDER_NM);
		} else {
			template.set(EKK1061D010CBSMsg.FTP_SVRCNT_SHK_FOLDER_NM, (String) childMap.get("ftp_svrcnt_shk_folder_nm"));
		}

		// 通知書内訳登録マップ.独自ドメイン名 → 独自ドメイン名
		if (childMap == null || childMap.get("dokuji_domain_nm") == null || "".equals(childMap.get("dokuji_domain_nm"))) {
			template.setNull(EKK1061D010CBSMsg.DOKUJI_DOMAIN_NM);
		} else {
			template.set(EKK1061D010CBSMsg.DOKUJI_DOMAIN_NM, (String) childMap.get("dokuji_domain_nm"));
		}

		// 通知書内訳登録マップ.ホスティングメール管理者ＩＤ → ホスティングメール管理者ＩＤ
		if (childMap == null || childMap.get("hosml_krisha_id") == null || "".equals(childMap.get("hosml_krisha_id"))) {
			template.setNull(EKK1061D010CBSMsg.HOSML_KRISHA_ID);
		} else {
			template.set(EKK1061D010CBSMsg.HOSML_KRISHA_ID, (String) childMap.get("hosml_krisha_id"));
		}

		// 通知書内訳登録マップ.ホスティング初期メール管理者ＩＤパスワード → ホスティング初期メール管理者ＩＤパスワード
		if (childMap == null || childMap.get("hosting_shkm_krisha_id_pwd") == null || "".equals(childMap.get("hosting_shkm_krisha_id_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.HOSTING_SHKM_KRISHA_ID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.HOSTING_SHKM_KRISHA_ID_PWD, (String) childMap.get("hosting_shkm_krisha_id_pwd"));
		}

		// 通知書内訳登録マップ.ホスティングメールボックス総容量 → ホスティングメールボックス総容量
		if (childMap == null || childMap.get("hosml_box_capa") == null || "".equals(childMap.get("hosml_box_capa"))) {
			template.setNull(EKK1061D010CBSMsg.HOSML_BOX_CAPA);
		} else {
			template.set(EKK1061D010CBSMsg.HOSML_BOX_CAPA, (String) childMap.get("hosml_box_capa"));
		}

		// 通知書内訳登録マップ.ホスティングメールアカウント数 → ホスティングメールアカウント数
		if (childMap == null || childMap.get("hosml_account_cnt") == null || "".equals(childMap.get("hosml_account_cnt"))) {
			template.setNull(EKK1061D010CBSMsg.HOSML_ACCOUNT_CNT);
		} else {
			template.set(EKK1061D010CBSMsg.HOSML_ACCOUNT_CNT, (String) childMap.get("hosml_account_cnt"));
		}

		// 通知書内訳登録マップ.ホスティングメール管理者ＰＯＰＩＤ → ホスティングメール管理者ＰＯＰＩＤ
		if (childMap == null || childMap.get("hosml_krisha_pop_id") == null || "".equals(childMap.get("hosml_krisha_pop_id"))) {
			template.setNull(EKK1061D010CBSMsg.HOSML_KRISHA_POP_ID);
		} else {
			template.set(EKK1061D010CBSMsg.HOSML_KRISHA_POP_ID, (String) childMap.get("hosml_krisha_pop_id"));
		}

		// 通知書内訳登録マップ.ホスティング初期メール管理者ＰＯＰＩＤパスワード → ホスティング初期メール管理者ＰＯＰＩＤパスワード
		if (childMap == null || childMap.get("hos_shkm_krisha_pop_id_pwd") == null || "".equals(childMap.get("hos_shkm_krisha_pop_id_pwd"))) {
			template.setNull(EKK1061D010CBSMsg.HOS_SHKM_KRISHA_POP_ID_PWD);
		} else {
			template.set(EKK1061D010CBSMsg.HOS_SHKM_KRISHA_POP_ID_PWD, (String) childMap.get("hos_shkm_krisha_pop_id_pwd"));
		}

		// 通知書内訳登録マップ.ホスティングメール管理者メールアドレス → ホスティングメール管理者メールアドレス
		if (childMap == null || childMap.get("hosml_krisha_mlad") == null || "".equals(childMap.get("hosml_krisha_mlad"))) {
			template.setNull(EKK1061D010CBSMsg.HOSML_KRISHA_MLAD);
		} else {
			template.set(EKK1061D010CBSMsg.HOSML_KRISHA_MLAD, (String) childMap.get("hosml_krisha_mlad"));
		}
			
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPEKK0561D010(Map<?, ?> msgList, IRequestParameterReadWrite param, HashMap<String, Object> childMap)
	throws Exception
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = new HashMap();
		
		// 通知書登録マップ.通知書番号 ← 通知書番号
		if (parentTemplate.isNull(EKK0561D010CBSMsg.TCHISHO_NO)) {
			dataMap.put("tchisho_no", new String());
		} else {
			dataMap.put("tchisho_no", parentTemplate.getString(EKK0561D010CBSMsg.TCHISHO_NO));
		}

		// 通知書登録マップ.通知書ステータス ← 通知書ステータス
		if (parentTemplate.isNull(EKK0561D010CBSMsg.TCHISHO_STAT)) {
			dataMap.put("tchisho_stat", new String());
		} else {
			dataMap.put("tchisho_stat", parentTemplate.getString(EKK0561D010CBSMsg.TCHISHO_STAT));
		}

		// 通知書登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (parentTemplate.isNull(EKK0561D010CBSMsg.ADD_DTM)) {
			dataMap.put("add_dtm", new String());
		} else {
			dataMap.put("add_dtm", parentTemplate.getString(EKK0561D010CBSMsg.ADD_DTM));
		}

		// 通知書登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (parentTemplate.isNull(EKK0561D010CBSMsg.ADD_OPEACNT)) {
			dataMap.put("add_opeacnt", new String());
		} else {
			dataMap.put("add_opeacnt", parentTemplate.getString(EKK0561D010CBSMsg.ADD_OPEACNT));
		}

		// 通知書登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (parentTemplate.isNull(EKK0561D010CBSMsg.UPD_DTM)) {
			dataMap.put("upd_dtm", new String());
		} else {
			dataMap.put("upd_dtm", parentTemplate.getString(EKK0561D010CBSMsg.UPD_DTM));
		}

		// 通知書登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (parentTemplate.isNull(EKK0561D010CBSMsg.UPD_OPEACNT)) {
			dataMap.put("upd_opeacnt", new String());
		} else {
			dataMap.put("upd_opeacnt", parentTemplate.getString(EKK0561D010CBSMsg.UPD_OPEACNT));
		}

		// 通知書登録マップ.無効フラグ ← 無効フラグ
		if (parentTemplate.isNull(EKK0561D010CBSMsg.MK_FLG)) {
			dataMap.put("mk_flg", new String());
		} else {
			dataMap.put("mk_flg", parentTemplate.getString(EKK0561D010CBSMsg.MK_FLG));
		}

		templateArray = parentTemplate.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0) 
		{
			// 通知書登録マップ.通知対象物明細 ←　部品呼び出し
			dataMap.put("tchi_tg_bpin_no", JPCBPCommon.getSCListValueString(parentTemplate, "EKK0561D010CBSMsg1List", 0, "tchi_tg_bpin_no"));
		}
		
        // エラー情報の設定
		param = editErrorInfoEKK0561D010(param, templates, (Integer)return_code, childMap);

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
		

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}
		
		return dataMap;	
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPEKK0561C010(Map<?, ?> msgList, IRequestParameterReadWrite param, HashMap<String, Object> childMap)
	throws Exception
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = new HashMap();
		
		
		// 通知書発行マップ.通知書ステータス ← 通知書ステータス
		if (parentTemplate.isNull(EKK0561C010CBSMsg.TCHISHO_STAT)) {
			dataMap.put("tchisho_stat", new String());
		} else {
			dataMap.put("tchisho_stat", parentTemplate.getString(EKK0561C010CBSMsg.TCHISHO_STAT));
		}

		// 通知書発行マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (parentTemplate.isNull(EKK0561C010CBSMsg.UPD_DTM)) {
			dataMap.put("upd_dtm", new String());
		} else {
			dataMap.put("upd_dtm", parentTemplate.getString(EKK0561C010CBSMsg.UPD_DTM));
		}

		// 通知書発行マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (parentTemplate.isNull(EKK0561C010CBSMsg.UPD_OPEACNT)) {
			dataMap.put("upd_opeacnt", new String());
		} else {
			dataMap.put("upd_opeacnt", parentTemplate.getString(EKK0561C010CBSMsg.UPD_OPEACNT));
		}
		
        // エラー情報の設定
		param = editErrorInfoEKK0561C010(param, templates, (Integer)return_code, childMap);

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
		

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}
		
		return dataMap;	
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPEKK1061D010(Map<?, ?> msgList, IRequestParameterReadWrite param, HashMap<String, Object> childMap)
	throws Exception
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = new HashMap();
		
		// 通知書内訳登録マップ.通知書内訳番号 ← 通知書内訳番号
		if (parentTemplate.isNull(EKK1061D010CBSMsg.TCHISHO_UW_NO)) {
			dataMap.put("tchisho_uw_no", new String());
		} else {
			dataMap.put("tchisho_uw_no", parentTemplate.getString(EKK1061D010CBSMsg.TCHISHO_UW_NO));
		}

		// 通知書内訳登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (parentTemplate.isNull(EKK1061D010CBSMsg.ADD_DTM)) {
			dataMap.put("add_dtm", new String());
		} else {
			dataMap.put("add_dtm", parentTemplate.getString(EKK1061D010CBSMsg.ADD_DTM));
		}

		// 通知書内訳登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (parentTemplate.isNull(EKK1061D010CBSMsg.ADD_OPEACNT)) {
			dataMap.put("add_opeacnt", new String());
		} else {
			dataMap.put("add_opeacnt", parentTemplate.getString(EKK1061D010CBSMsg.ADD_OPEACNT));
		}

		// 通知書内訳登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (parentTemplate.isNull(EKK1061D010CBSMsg.UPD_DTM)) {
			dataMap.put("upd_dtm", new String());
		} else {
			dataMap.put("upd_dtm", parentTemplate.getString(EKK1061D010CBSMsg.UPD_DTM));
		}

		// 通知書内訳登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (parentTemplate.isNull(EKK1061D010CBSMsg.UPD_OPEACNT)) {
			dataMap.put("upd_opeacnt", new String());
		} else {
			dataMap.put("upd_opeacnt", parentTemplate.getString(EKK1061D010CBSMsg.UPD_OPEACNT));
		}

		// 通知書内訳登録マップ.無効フラグ ← 無効フラグ
		if (parentTemplate.isNull(EKK1061D010CBSMsg.MK_FLG)) {
			dataMap.put("mk_flg", new String());
		} else {
			dataMap.put("mk_flg", parentTemplate.getString(EKK1061D010CBSMsg.MK_FLG));
		}
		
        // エラー情報の設定
		param = editErrorInfoEKK1061D010(param, templates, (Integer)return_code, childMap);

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
		

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}
		
		return dataMap;	
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 *</DL>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 * @since 2011.09.07
	 */
	private IRequestParameterReadWrite editErrorInfoEKK0561D010(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, 
			HashMap<String, Object> childMap) throws RequestParameterException 
	{
		
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;
		// エラー共通部の設定
		setControlMap(param, templates, returnCode, EKK0561D010CBSMsg.STATUS);
		
		// 通知書登録マップ.ＳＹＳＩＤ → ＳＹＳＩＤ のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.SYSID_ERR)) {
			if (!childMap.containsKey("sysid_err")) {
				childMap.put("sysid_err", template.getString(EKK0561D010CBSMsg.SYSID_ERR));
			}
		}
		// 通知書登録マップ.通知書発行コード → 通知書発行コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD_ERR)) {
			if (!childMap.containsKey("tchisho_hakko_cd_err")) {
				childMap.put("tchisho_hakko_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD_ERR));
			}
		}
		// 通知書登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.MSKM_DTL_NO_ERR)) {
			if (!childMap.containsKey("mskm_dtl_no_err")) {
				childMap.put("mskm_dtl_no_err", template.getString(EKK0561D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// 通知書登録マップ.申込書番号 → 申込書番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.MSKMSHO_NO_ERR)) {
			if (!childMap.containsKey("mskmsho_no_err")) {
				childMap.put("mskmsho_no_err", template.getString(EKK0561D010CBSMsg.MSKMSHO_NO_ERR));
			}
		}
		// 通知書登録マップ.工事案件番号 → 工事案件番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.KOJIAK_NO_ERR)) {
			if (!childMap.containsKey("kojiak_no_err")) {
				childMap.put("kojiak_no_err", template.getString(EKK0561D010CBSMsg.KOJIAK_NO_ERR));
			}
		}
		// 通知書登録マップ.通知書コード → 通知書コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_CD_ERR)) {
			if (!childMap.containsKey("tchisho_cd_err")) {
				childMap.put("tchisho_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_CD_ERR));
			}
		}
		// 通知書登録マップ.通知書登録ユーザーＩＤ → 通知書登録ユーザーＩＤ のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID_ERR)) {
			if (!childMap.containsKey("tchisho_add_user_id_err")) {
				childMap.put("tchisho_add_user_id_err", template.getString(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先名 → 通知書送付先名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_nm_err")) {
				childMap.put("tchisho_sohus_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先コード → 通知書送付先コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CD_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_cd_err")) {
				childMap.put("tchisho_sohus_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_CD_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先住所コード → 通知書送付先住所コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_ad_cd_err")) {
				childMap.put("tchisho_sohus_ad_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先郵便番号 → 通知書送付先郵便番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_pcd_err")) {
				childMap.put("tchisho_sohus_pcd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先都道府県名 → 通知書送付先都道府県名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_state_nm_err")) {
				childMap.put("tchisho_sohus_state_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先市区町村名 → 通知書送付先市区町村名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_city_nm_err")) {
				childMap.put("tchisho_sohus_city_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先大字通称名 → 通知書送付先大字通称名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_oaztsu_nm_err")) {
				childMap.put("tchisho_sohus_oaztsu_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先字丁目名 → 通知書送付先字丁目名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_azcho_nm_err")) {
				childMap.put("tchisho_sohus_azcho_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先番地号 → 通知書送付先番地号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_bnchigo_err")) {
				childMap.put("tchisho_sohus_bnchigo_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先住所補記・建物名 → 通知書送付先住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_adrttm_err")) {
				childMap.put("tchisho_sohus_adrttm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先住所補記・部屋番号 → 通知書送付先住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_adrrm_err")) {
				childMap.put("tchisho_sohus_adrrm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先電話番号 → 通知書送付先電話番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_TELNO_ERR)) {
			if (!childMap.containsKey("tchisho_sohus_telno_err")) {
				childMap.put("tchisho_sohus_telno_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_TELNO_ERR));
			}
		}
		// 通知書登録マップ.機器提供サービス契約番号 → 機器提供サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.KKTK_SVC_KEI_NO_ERR)) {
			if (!childMap.containsKey("kktk_svc_kei_no_err")) {
				childMap.put("kktk_svc_kei_no_err", template.getString(EKK0561D010CBSMsg.KKTK_SVC_KEI_NO_ERR));
			}
		}
		// 通知書登録マップ.請求先サービス契約番号 → 請求先サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.SEIKY_SK_SVC_KEI_NO_ERR)) {
			if (!childMap.containsKey("seiky_sk_svc_kei_no_err")) {
				childMap.put("seiky_sk_svc_kei_no_err", template.getString(EKK0561D010CBSMsg.SEIKY_SK_SVC_KEI_NO_ERR));
			}
		}
		// 通知書登録マップ.通知書印刷実施先コード → 通知書印刷実施先コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD_ERR)) {
			if (!childMap.containsKey("tchisho_print_jssi_sk_cd_err")) {
				childMap.put("tchisho_print_jssi_sk_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD_ERR));
			}
		}

		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST);

		if (templateArray != null) {
			for (int i = 0; i < templateArray.length; i++) {
			
				CAANMsg childTemplate = templateArray[i];

				// 通知書登録マップ.通知対象物明細.サービス契約番号 → 通知対象物明細.サービス契約番号 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.SVC_KEI_NO_ERR)) {
					if (!childMap.containsKey("svc_kei_no_err")) {
						childMap.put("svc_kei_no_err", childTemplate.getString(EKK0561D010CBSMsg1List.SVC_KEI_NO_ERR));
					}
				}
				// 通知書登録マップ.通知対象物明細.通知対象物適用開始年月日 → 通知対象物明細.通知対象物適用開始年月日 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD_ERR)) {
					if (!childMap.containsKey("tchi_tg_bpin_tstaymd_err")) {
						childMap.put("tchi_tg_bpin_tstaymd_err", childTemplate.getString(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD_ERR));
					}
				}
				// 通知書登録マップ.通知対象物明細.通知対象物適用終了年月日 → 通知対象物明細.通知対象物適用終了年月日 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD_ERR)) {
					if (!childMap.containsKey("tchi_tg_bpin_tendymd_err")) {
						childMap.put("tchi_tg_bpin_tendymd_err", childTemplate.getString(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD_ERR));
					}
				}
				// 通知書登録マップ.通知対象物明細.通知完了済フラグ → 通知対象物明細.通知完了済フラグ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.TCHI_FIN_ZM_FLG_ERR)) {
					if (!childMap.containsKey("tchi_fin_zm_flg_err")) {
						childMap.put("tchi_fin_zm_flg_err", childTemplate.getString(EKK0561D010CBSMsg1List.TCHI_FIN_ZM_FLG_ERR));
					}
				}
			}
			// 通知書登録マップ.印刷依頼年月日 → 印刷依頼年月日 のエラー情報返却
			if (!template.isNull(EKK0561D010CBSMsg.PRINT_REQYMD_ERR)) {
				if (!childMap.containsKey("print_reqymd_err")) {
					childMap.put("print_reqymd_err", template.getString(EKK0561D010CBSMsg.PRINT_REQYMD_ERR));
				}
			}
		}
		if (!template.isNull(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST_ERR)) {
			if (!childMap.containsKey("EKK0561D010CBSMsg1List_err")) {
				childMap.put("EKK0561D010CBSMsg1List_err", template.getString(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST_ERR));
			}
		}
		return param;
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 *</DL>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 * @since 2011.09.07
	 */
	private IRequestParameterReadWrite editErrorInfoEKK0561C010(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, 
			HashMap<String, Object> childMap) throws RequestParameterException 
	{
		
		CAANMsg template = templates[0];
		// エラー共通部の設定
		setControlMap(param, templates, returnCode, EKK0561C010CBSMsg.STATUS);
		
		// 通知書発行マップ.通知書番号 → 通知書番号 のエラー情報返却
		if (!template.isNull(EKK0561C010CBSMsg.TCHISHO_NO_ERR)) {
			if (!childMap.containsKey("tchisho_no_err")) {
				childMap.put("tchisho_no_err", template.getString(EKK0561C010CBSMsg.TCHISHO_NO_ERR));
			}
		}
		// 通知書発行マップ.印刷依頼年月日 → 印刷依頼年月日 のエラー情報返却
		if (!template.isNull(EKK0561C010CBSMsg.PRINT_REQYMD_ERR)) {
			if (!childMap.containsKey("print_reqymd_err")) {
				childMap.put("print_reqymd_err", template.getString(EKK0561C010CBSMsg.PRINT_REQYMD_ERR));
			}
		}
		// 通知書発行マップ.発行年月日 → 発行年月日 のエラー情報返却
		if (!template.isNull(EKK0561C010CBSMsg.HAKKO_YMD_ERR)) {
			if (!childMap.containsKey("hakko_ymd_err")) {
				childMap.put("hakko_ymd_err", template.getString(EKK0561C010CBSMsg.HAKKO_YMD_ERR));
			}
		}
		// 通知書発行マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
		if (!template.isNull(EKK0561C010CBSMsg.UPD_DTM_BF_ERR)) {
			if (!childMap.containsKey("upd_dtm_bf_err")) {
				childMap.put("upd_dtm_bf_err", template.getString(EKK0561C010CBSMsg.UPD_DTM_BF_ERR));
			}
		}
		return param;
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 *</DL>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 * @since 2011.09.07
	 */
	private IRequestParameterReadWrite editErrorInfoEKK1061D010(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, 
			HashMap<String, Object> childMap) throws RequestParameterException 
	{
		
		CAANMsg template = templates[0];
		// エラー共通部の設定
		setControlMap(param, templates, returnCode, EKK1061D010CBSMsg.STATUS);
		
		// 通知書内訳登録マップ.通知書番号 → 通知書番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TCHISHO_NO_ERR)) {
			if (!childMap.containsKey("tchisho_no_err")) {
				childMap.put("tchisho_no_err", template.getString(EKK1061D010CBSMsg.TCHISHO_NO_ERR));
			}
		}
		// 通知書内訳登録マップ.通知書内訳種別コード → 通知書内訳種別コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TCHISHO_UCWK_SBT_CD_ERR)) {
			if (!childMap.containsKey("tchisho_ucwk_sbt_cd_err")) {
				childMap.put("tchisho_ucwk_sbt_cd_err", template.getString(EKK1061D010CBSMsg.TCHISHO_UCWK_SBT_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.サービスコード → サービスコード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SVC_CD_ERR)) {
			if (!childMap.containsKey("svc_cd_err")) {
				childMap.put("svc_cd_err", template.getString(EKK1061D010CBSMsg.SVC_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.料金グループコード → 料金グループコード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.PRC_GRP_CD_ERR)) {
			if (!childMap.containsKey("prc_grp_cd_err")) {
				childMap.put("prc_grp_cd_err", template.getString(EKK1061D010CBSMsg.PRC_GRP_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.PCRS_CD_ERR)) {
			if (!childMap.containsKey("pcrs_cd_err")) {
				childMap.put("pcrs_cd_err", template.getString(EKK1061D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.PPLAN_CD_ERR)) {
			if (!childMap.containsKey("pplan_cd_err")) {
				childMap.put("pplan_cd_err", template.getString(EKK1061D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SVC_KEI_UCWK_NO_ERR)) {
			if (!childMap.containsKey("svc_kei_ucwk_no_err")) {
				childMap.put("svc_kei_ucwk_no_err", template.getString(EKK1061D010CBSMsg.SVC_KEI_UCWK_NO_ERR));
			}
		}
		// 通知書内訳登録マップ.利用開始年月日 → 利用開始年月日 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.USE_STAYMD_ERR)) {
			if (!childMap.containsKey("use_staymd_err")) {
				childMap.put("use_staymd_err", template.getString(EKK1061D010CBSMsg.USE_STAYMD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＡＤＳＬ利用開始年月日 → ＡＤＳＬ利用開始年月日 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.ADSL_USE_STAYMD_ERR)) {
			if (!childMap.containsKey("adsl_use_staymd_err")) {
				childMap.put("adsl_use_staymd_err", template.getString(EKK1061D010CBSMsg.ADSL_USE_STAYMD_ERR));
			}
		}
		// 通知書内訳登録マップ.整理番号 → 整理番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SEIRI_NO_ERR)) {
			if (!childMap.containsKey("seiri_no_err")) {
				childMap.put("seiri_no_err", template.getString(EKK1061D010CBSMsg.SEIRI_NO_ERR));
			}
		}
		// 通知書内訳登録マップ.ｅｏＩＤ → ｅｏＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.EOID_ERR)) {
			if (!childMap.containsKey("eoid_err")) {
				childMap.put("eoid_err", template.getString(EKK1061D010CBSMsg.EOID_ERR));
			}
		}
		// 通知書内訳登録マップ.初期ｅｏＩＤ → 初期ｅｏＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SHK_EOID_ERR)) {
			if (!childMap.containsKey("shk_eoid_err")) {
				childMap.put("shk_eoid_err", template.getString(EKK1061D010CBSMsg.SHK_EOID_ERR));
			}
		}
		// 通知書内訳登録マップ.初期ｅｏＩＤパスワード → 初期ｅｏＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SHK_EOID_PWD_ERR)) {
			if (!childMap.containsKey("shk_eoid_pwd_err")) {
				childMap.put("shk_eoid_pwd_err", template.getString(EKK1061D010CBSMsg.SHK_EOID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.家族入会コード → 家族入会コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.FAMILY_JOIN_CD_ERR)) {
			if (!childMap.containsKey("family_join_cd_err")) {
				childMap.put("family_join_cd_err", template.getString(EKK1061D010CBSMsg.FAMILY_JOIN_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.家族入会コードパスワード → 家族入会コードパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.FAMILY_JOIN_CD_PWD_ERR)) {
			if (!childMap.containsKey("family_join_cd_pwd_err")) {
				childMap.put("family_join_cd_pwd_err", template.getString(EKK1061D010CBSMsg.FAMILY_JOIN_CD_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.通知書印字名 → 通知書印字名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TCHISHO_PRT_NM_ERR)) {
			if (!childMap.containsKey("tchisho_prt_nm_err")) {
				childMap.put("tchisho_prt_nm_err", template.getString(EKK1061D010CBSMsg.TCHISHO_PRT_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.認証ＩＤ → 認証ＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.NINSHO_ID_ERR)) {
			if (!childMap.containsKey("ninsho_id_err")) {
				childMap.put("ninsho_id_err", template.getString(EKK1061D010CBSMsg.NINSHO_ID_ERR));
			}
		}
		// 通知書内訳登録マップ.認証ＩＤパスワード → 認証ＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.NINSHO_ID_PWD_ERR)) {
			if (!childMap.containsKey("ninsho_id_pwd_err")) {
				childMap.put("ninsho_id_pwd_err", template.getString(EKK1061D010CBSMsg.NINSHO_ID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.メールアドレス → メールアドレス のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.MLAD_ERR)) {
			if (!childMap.containsKey("mlad_err")) {
				childMap.put("mlad_err", template.getString(EKK1061D010CBSMsg.MLAD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＰＯＰＩＤパスワード → ＰＯＰＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.POP_ID_PWD_ERR)) {
			if (!childMap.containsKey("pop_id_pwd_err")) {
				childMap.put("pop_id_pwd_err", template.getString(EKK1061D010CBSMsg.POP_ID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＷｅｂＩＤ → ＷｅｂＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.WEB_ID_ERR)) {
			if (!childMap.containsKey("web_id_err")) {
				childMap.put("web_id_err", template.getString(EKK1061D010CBSMsg.WEB_ID_ERR));
			}
		}
		// 通知書内訳登録マップ.ＷｅｂＩＤパスワード → ＷｅｂＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.WEB_ID_PWD_ERR)) {
			if (!childMap.containsKey("web_id_pwd_err")) {
				childMap.put("web_id_pwd_err", template.getString(EKK1061D010CBSMsg.WEB_ID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＫＯＰＴ電話番号 → ＫＯＰＴ電話番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KOPT_TELNO_ERR)) {
			if (!childMap.containsKey("kopt_telno_err")) {
				childMap.put("kopt_telno_err", template.getString(EKK1061D010CBSMsg.KOPT_TELNO_ERR));
			}
		}
		// 通知書内訳登録マップ.発信者番号通知コード → 発信者番号通知コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HASINSHA_NO_TCH_CD_ERR)) {
			if (!childMap.containsKey("hasinsha_no_tch_cd_err")) {
				childMap.put("hasinsha_no_tch_cd_err", template.getString(EKK1061D010CBSMsg.HASINSHA_NO_TCH_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＶＡポート番号 → ＶＡポート番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.VA_PORT_NO_ERR)) {
			if (!childMap.containsKey("va_port_no_err")) {
				childMap.put("va_port_no_err", template.getString(EKK1061D010CBSMsg.VA_PORT_NO_ERR));
			}
		}
		// 通知書内訳登録マップ.電話オプション設定用リモート操作用パスワード → 電話オプション設定用リモート操作用パスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TEL_OP_SETTE_RMTS_PWD_ERR)) {
			if (!childMap.containsKey("tel_op_sette_rmts_pwd_err")) {
				childMap.put("tel_op_sette_rmts_pwd_err", template.getString(EKK1061D010CBSMsg.TEL_OP_SETTE_RMTS_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ → ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.IEEE802_1X_SSID_ERR)) {
			if (!childMap.containsKey("ieee802_1x_ssid_err")) {
				childMap.put("ieee802_1x_ssid_err", template.getString(EKK1061D010CBSMsg.IEEE802_1X_SSID_ERR));
			}
		}
		// 通知書内訳登録マップ.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ → ＷＰＡ２／ＡＥＳ用ＳＳＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.WPA2_AES_SSID_ERR)) {
			if (!childMap.containsKey("wpa2_aes_ssid_err")) {
				childMap.put("wpa2_aes_ssid_err", template.getString(EKK1061D010CBSMsg.WPA2_AES_SSID_ERR));
			}
		}
		// 通知書内訳登録マップ.ＷＥＰ用ＳＳＩＤ → ＷＥＰ用ＳＳＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.WEP_SSID_ERR)) {
			if (!childMap.containsKey("wep_ssid_err")) {
				childMap.put("wep_ssid_err", template.getString(EKK1061D010CBSMsg.WEP_SSID_ERR));
			}
		}
		// 通知書内訳登録マップ.ＷＥＰキー → ＷＥＰキー のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.WEP_KEY_ERR)) {
			if (!childMap.containsKey("wep_key_err")) {
				childMap.put("wep_key_err", template.getString(EKK1061D010CBSMsg.WEP_KEY_ERR));
			}
		}
		// 通知書内訳登録マップ.ＦＴＰサーバーＵＲＬ → ＦＴＰサーバーＵＲＬ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.FTP_SERVER_URL_ERR)) {
			if (!childMap.containsKey("ftp_server_url_err")) {
				childMap.put("ftp_server_url_err", template.getString(EKK1061D010CBSMsg.FTP_SERVER_URL_ERR));
			}
		}
		// 通知書内訳登録マップ.ＰＯＰサーバーＵＲＬ → ＰＯＰサーバーＵＲＬ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.POP_SERVER_URL_ERR)) {
			if (!childMap.containsKey("pop_server_url_err")) {
				childMap.put("pop_server_url_err", template.getString(EKK1061D010CBSMsg.POP_SERVER_URL_ERR));
			}
		}
		// 通知書内訳登録マップ.ＳＭＴＰサーバーＵＲＬ → ＳＭＴＰサーバーＵＲＬ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.SMTP_SERVER_URL_ERR)) {
			if (!childMap.containsKey("smtp_server_url_err")) {
				childMap.put("smtp_server_url_err", template.getString(EKK1061D010CBSMsg.SMTP_SERVER_URL_ERR));
			}
		}
		// 通知書内訳登録マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.UPD_DTM_BF_ERR)) {
			if (!childMap.containsKey("upd_dtm_bf_err")) {
				childMap.put("upd_dtm_bf_err", template.getString(EKK1061D010CBSMsg.UPD_DTM_BF_ERR));
			}
		}
		// 通知書内訳登録マップ.割賦契約締結年月日 → 割賦契約締結年月日 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KAP_KEI_CNC_YMD_ERR)) {
			if (!childMap.containsKey("kap_kei_cnc_ymd_err")) {
				childMap.put("kap_kei_cnc_ymd_err", template.getString(EKK1061D010CBSMsg.KAP_KEI_CNC_YMD_ERR));
			}
		}
		// 通知書内訳登録マップ.割賦販売形態コード → 割賦販売形態コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KAP_HAMBAI_FORM_CD_ERR)) {
			if (!childMap.containsKey("kap_hambai_form_cd_err")) {
				childMap.put("kap_hambai_form_cd_err", template.getString(EKK1061D010CBSMsg.KAP_HAMBAI_FORM_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.タブレット宅内機器型式コード → タブレット宅内機器型式コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_CD_ERR)) {
			if (!childMap.containsKey("tablet_taknkiki_model_cd_err")) {
				childMap.put("tablet_taknkiki_model_cd_err", template.getString(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.タブレット宅内機器型式名 → タブレット宅内機器型式名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_NM_ERR)) {
			if (!childMap.containsKey("tablet_taknkiki_model_nm_err")) {
				childMap.put("tablet_taknkiki_model_nm_err", template.getString(EKK1061D010CBSMsg.TABLET_TAKNKIKI_MODEL_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先住所コード → 機器送付先住所コード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_AD_CD_ERR)) {
			if (!childMap.containsKey("kiki_sohus_ad_cd_err")) {
				childMap.put("kiki_sohus_ad_cd_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_AD_CD_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先郵便番号 → 機器送付先郵便番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_PCD_ERR)) {
			if (!childMap.containsKey("kiki_sohus_pcd_err")) {
				childMap.put("kiki_sohus_pcd_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_PCD_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先都道府県名 → 機器送付先都道府県名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_STATE_NM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_state_nm_err")) {
				childMap.put("kiki_sohus_state_nm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_STATE_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先市区町村名 → 機器送付先市区町村名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_CITY_NM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_city_nm_err")) {
				childMap.put("kiki_sohus_city_nm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_CITY_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先大字通称名 → 機器送付先大字通称名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_OAZTSU_NM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_oaztsu_nm_err")) {
				childMap.put("kiki_sohus_oaztsu_nm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_OAZTSU_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先字丁目名 → 機器送付先字丁目名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_AZCHO_NM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_azcho_nm_err")) {
				childMap.put("kiki_sohus_azcho_nm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_AZCHO_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先番地号 → 機器送付先番地号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_BNCHIGO_ERR)) {
			if (!childMap.containsKey("kiki_sohus_bnchigo_err")) {
				childMap.put("kiki_sohus_bnchigo_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_BNCHIGO_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先住所補記・建物名 → 機器送付先住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_ADRTTM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_adrttm_err")) {
				childMap.put("kiki_sohus_adrttm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_ADRTTM_ERR));
			}
		}
		// 通知書内訳登録マップ.機器送付先住所補記・部屋番号 → 機器送付先住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.KIKI_SOHUS_ADRRM_ERR)) {
			if (!childMap.containsKey("kiki_sohus_adrrm_err")) {
				childMap.put("kiki_sohus_adrrm_err", template.getString(EKK1061D010CBSMsg.KIKI_SOHUS_ADRRM_ERR));
			}
		}
		// 通知書内訳登録マップ.端末購入受付担当者名 → 端末購入受付担当者名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM_ERR)) {
			if (!childMap.containsKey("tnmt_buy_uk_tntsha_nm_err")) {
				childMap.put("tnmt_buy_uk_tntsha_nm_err", template.getString(EKK1061D010CBSMsg.TNMT_BUY_UK_TNTSHA_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.ＵＲＬ（ドメイン） → ＵＲＬ（ドメイン） のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.URL_DOMAIN_ERR)) {
			if (!childMap.containsKey("url_domain_err")) {
				childMap.put("url_domain_err", template.getString(EKK1061D010CBSMsg.URL_DOMAIN_ERR));
			}
		}
		// 通知書内訳登録マップ.ＵＲＬ（アカウント） → ＵＲＬ（アカウント） のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.URL_ACCOUNT_ERR)) {
			if (!childMap.containsKey("url_account_err")) {
				childMap.put("url_account_err", template.getString(EKK1061D010CBSMsg.URL_ACCOUNT_ERR));
			}
		}
		// 通知書内訳登録マップ.容量 → 容量 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.CAPA_ERR)) {
			if (!childMap.containsKey("capa_err")) {
				childMap.put("capa_err", template.getString(EKK1061D010CBSMsg.CAPA_ERR));
			}
		}
		// 通知書内訳登録マップ.ＦＴＰサーバー接続初期フォルダ名 → ＦＴＰサーバー接続初期フォルダ名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.FTP_SVRCNT_SHK_FOLDER_NM_ERR)) {
			if (!childMap.containsKey("ftp_svrcnt_shk_folder_nm_err")) {
				childMap.put("ftp_svrcnt_shk_folder_nm_err", template.getString(EKK1061D010CBSMsg.FTP_SVRCNT_SHK_FOLDER_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.独自ドメイン名 → 独自ドメイン名 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.DOKUJI_DOMAIN_NM_ERR)) {
			if (!childMap.containsKey("dokuji_domain_nm_err")) {
				childMap.put("dokuji_domain_nm_err", template.getString(EKK1061D010CBSMsg.DOKUJI_DOMAIN_NM_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティングメール管理者ＩＤ → ホスティングメール管理者ＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSML_KRISHA_ID_ERR)) {
			if (!childMap.containsKey("hosml_krisha_id_err")) {
				childMap.put("hosml_krisha_id_err", template.getString(EKK1061D010CBSMsg.HOSML_KRISHA_ID_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティング初期メール管理者ＩＤパスワード → ホスティング初期メール管理者ＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSTING_SHKM_KRISHA_ID_PWD_ERR)) {
			if (!childMap.containsKey("hosting_shkm_krisha_id_pwd_err")) {
				childMap.put("hosting_shkm_krisha_id_pwd_err", template.getString(EKK1061D010CBSMsg.HOSTING_SHKM_KRISHA_ID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティングメールボックス総容量 → ホスティングメールボックス総容量 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSML_BOX_CAPA_ERR)) {
			if (!childMap.containsKey("hosml_box_capa_err")) {
				childMap.put("hosml_box_capa_err", template.getString(EKK1061D010CBSMsg.HOSML_BOX_CAPA_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティングメールアカウント数 → ホスティングメールアカウント数 のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSML_ACCOUNT_CNT_ERR)) {
			if (!childMap.containsKey("hosml_account_cnt_err")) {
				childMap.put("hosml_account_cnt_err", template.getString(EKK1061D010CBSMsg.HOSML_ACCOUNT_CNT_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティングメール管理者ＰＯＰＩＤ → ホスティングメール管理者ＰＯＰＩＤ のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSML_KRISHA_POP_ID_ERR)) {
			if (!childMap.containsKey("hosml_krisha_pop_id_err")) {
				childMap.put("hosml_krisha_pop_id_err", template.getString(EKK1061D010CBSMsg.HOSML_KRISHA_POP_ID_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティング初期メール管理者ＰＯＰＩＤパスワード → ホスティング初期メール管理者ＰＯＰＩＤパスワード のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOS_SHKM_KRISHA_POP_ID_PWD_ERR)) {
			if (!childMap.containsKey("hos_shkm_krisha_pop_id_pwd_err")) {
				childMap.put("hos_shkm_krisha_pop_id_pwd_err", template.getString(EKK1061D010CBSMsg.HOS_SHKM_KRISHA_POP_ID_PWD_ERR));
			}
		}
		// 通知書内訳登録マップ.ホスティングメール管理者メールアドレス → ホスティングメール管理者メールアドレス のエラー情報返却
		if (!template.isNull(EKK1061D010CBSMsg.HOSML_KRISHA_MLAD_ERR)) {
			if (!childMap.containsKey("hosml_krisha_mlad_err")) {
				childMap.put("hosml_krisha_mlad_err", template.getString(EKK1061D010CBSMsg.HOSML_KRISHA_MLAD_ERR));
			}
		}
		return param;
	}
	// ▲▲▲v4.02 Add End▲▲▲
	
	/**
	 * エラー共通部の設定。<br>
	 * <br>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param status (I) ステータス
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 * @since 2011.09.07
	 */
	private IRequestParameterReadWrite setControlMap(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, 
			String status) throws RequestParameterException 
	{
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(status);
		if (returnCode != 0) 
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null) 
		{
			bpStatus = -1;
		}
		else 
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus) 
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}	
		
		return param;
	}	
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) 
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsg(IRequestParameterReadOnly param, HashMap<String, Object> childMap, String fixedText)
	throws RequestParameterException
	{

		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		CAANMsg template = new CAANMsg(EKK0561D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;

		// テンプレートID
		template.set(EKK0561D010CBSMsg.TEMPLATEID, "EKK0561D010");

		// 機能コード（デフォルト：１）
		template.set(EKK0561D010CBSMsg.FUNC_CODE, "1");

		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		
		// 機能コードの指定がある場合
		if (inMap == null || inMap.get(JCMConstants.FUNC_CODE_KEY) == null || "".equals(inMap.get(JCMConstants.FUNC_CODE_KEY))) 
		{
			template.set(EKK0561D010CBSMsg.FUNC_CODE, "1");
		}
		else
		{
			template.set(EKK0561D010CBSMsg.FUNC_CODE, (String)inMap.get(JCMConstants.FUNC_CODE_KEY));
		}
		
		// 通知書登録マップ.ＳＹＳＩＤ → ＳＹＳＩＤ
		if (childMap == null || childMap.get("sysid") == null || "".equals(childMap.get("sysid"))) 
		{
			template.setNull(EKK0561D010CBSMsg.SYSID);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.SYSID, (String)childMap.get("sysid"));
		}

		// 通知書登録マップ.通知書発行コード → 通知書発行コード
		if (childMap == null || childMap.get("tchisho_hakko_cd") == null || "".equals(childMap.get("tchisho_hakko_cd"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD, (String)childMap.get("tchisho_hakko_cd"));
		}

		// 通知書登録マップ.申込明細番号 → 申込明細番号
		if (childMap == null || childMap.get("mskm_dtl_no") == null || "".equals(childMap.get("mskm_dtl_no"))) 
		{
			template.setNull(EKK0561D010CBSMsg.MSKM_DTL_NO);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.MSKM_DTL_NO, (String)childMap.get("mskm_dtl_no"));
		}

		// 通知書登録マップ.申込書番号 → 申込書番号
		if (childMap == null || childMap.get("mskmsho_no") == null || "".equals(childMap.get("mskmsho_no"))) 
		{
			template.setNull(EKK0561D010CBSMsg.MSKMSHO_NO);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.MSKMSHO_NO, (String)childMap.get("mskmsho_no"));
		}

		// 通知書登録マップ.工事案件番号 → 工事案件番号
		if (childMap == null || childMap.get("kojiak_no") == null || "".equals(childMap.get("kojiak_no"))) 
		{
			template.setNull(EKK0561D010CBSMsg.KOJIAK_NO);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.KOJIAK_NO, (String)childMap.get("kojiak_no"));
		}

		// 通知書登録マップ.通知書コード → 通知書コード
		if (childMap == null || childMap.get("tchisho_cd") == null || "".equals(childMap.get("tchisho_cd"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_CD);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_CD, (String)childMap.get("tchisho_cd"));
		}

		// 通知書登録マップ.通知書登録ユーザーＩＤ → 通知書登録ユーザーＩＤ
		if (childMap == null || childMap.get("tchisho_add_user_id") == null || "".equals(childMap.get("tchisho_add_user_id"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID, (String)childMap.get("tchisho_add_user_id"));
		}

		// 通知書登録マップ.通知書送付先名 → 通知書送付先名
		if (childMap == null || childMap.get("tchisho_sohus_nm") == null || "".equals(childMap.get("tchisho_sohus_nm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM, (String)childMap.get("tchisho_sohus_nm"));
		}

		// 通知書登録マップ.通知書送付先コード → 通知書送付先コード
		if (childMap == null || childMap.get("tchisho_shs_cd") == null || "".equals(childMap.get("tchisho_shs_cd"))) 
		{
//			template.setNull(EKK0561D010CBSMsg.TCHISHO_SHS_CD);
		} 
		else 
		{
//			template.set(EKK0561D010CBSMsg.TCHISHO_SHS_CD, (String)childMap.get("tchisho_shs_cd"));
		}

		// 通知書登録マップ.通知書送付先住所コード → 通知書送付先住所コード
		if (childMap == null || childMap.get("tchisho_sohus_ad_cd") == null || "".equals(childMap.get("tchisho_sohus_ad_cd"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD, (String)childMap.get("tchisho_sohus_ad_cd"));
		}

		// 通知書登録マップ.通知書送付先郵便番号 → 通知書送付先郵便番号
		if (childMap == null || childMap.get("tchisho_sohus_pcd") == null || "".equals(childMap.get("tchisho_sohus_pcd"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD, (String)childMap.get("tchisho_sohus_pcd"));
		}

		// 通知書登録マップ.通知書送付先都道府県名 → 通知書送付先都道府県名
		if (childMap == null || childMap.get("tchisho_sohus_state_nm") == null || "".equals(childMap.get("tchisho_sohus_state_nm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM, (String)childMap.get("tchisho_sohus_state_nm"));
		}

		// 通知書登録マップ.通知書送付先市区町村名 → 通知書送付先市区町村名
		if (childMap == null || childMap.get("tchisho_sohus_city_nm") == null || "".equals(childMap.get("tchisho_sohus_city_nm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM, (String)childMap.get("tchisho_sohus_city_nm"));
		}

		// 通知書登録マップ.通知書送付先大字通称名 → 通知書送付先大字通称名
		if (childMap == null || childMap.get("tchisho_sohus_oaztsu_nm") == null || "".equals(childMap.get("tchisho_sohus_oaztsu_nm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM, (String)childMap.get("tchisho_sohus_oaztsu_nm"));
		}

		// 通知書登録マップ.通知書送付先字丁目名 → 通知書送付先字丁目名
		if (childMap == null || childMap.get("tchisho_sohus_azcho_nm") == null || "".equals(childMap.get("tchisho_sohus_azcho_nm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM, (String)childMap.get("tchisho_sohus_azcho_nm"));
		}

		// 通知書登録マップ.通知書送付先番地号 → 通知書送付先番地号
		if (childMap == null || childMap.get("tchisho_sohus_bnchigo") == null || "".equals(childMap.get("tchisho_sohus_bnchigo"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO, (String)childMap.get("tchisho_sohus_bnchigo"));
		}

		// 通知書登録マップ.通知書送付先住所補記・建物名 → 通知書送付先住所補記・建物名
		if (childMap == null || childMap.get("tchisho_sohus_adrttm") == null || "".equals(childMap.get("tchisho_sohus_adrttm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM, (String)childMap.get("tchisho_sohus_adrttm"));
		}

		// 通知書登録マップ.通知書送付先住所補記・部屋番号 → 通知書送付先住所補記・部屋番号
		if (childMap == null || childMap.get("tchisho_sohus_adrrm") == null || "".equals(childMap.get("tchisho_sohus_adrrm"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM, (String)childMap.get("tchisho_sohus_adrrm"));
		}

		// 通知書登録マップ.通知書印刷実施先コード → 通知書印刷実施先コード
		if (childMap == null || childMap.get("tchisho_print_jssi_sk_cd") == null || "".equals(childMap.get("tchisho_print_jssi_sk_cd"))) 
		{
			template.setNull(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD);
		} 
		else 
		{
			template.set(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD, (String)childMap.get("tchisho_print_jssi_sk_cd"));
		}

//		inList = (ArrayList)childMap.get("EKK0561D010CBSMsg1List");
		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST);

		if (templateArray == null) 
		{
//			templateArray = new CAANMsg[inList.size()];
			templateArray = new CAANMsg[1];
		}

//		if (inList != null) {
//			for (int i = 0; i < inList.size(); i++) {
			for (int i = 0; i < 1; i++) 
			{
//				HashMap childMap = (HashMap)inList.get(i);

				CAANMsg childTemplate = templateArray[i];
				if (childTemplate == null) 
				{
					childTemplate = new CAANMsg(EKK0561D010CBSMsg1List.class.getName());
				}
				// 通知書登録マップ.通知対象物明細.サービス契約番号 → 通知対象物明細.サービス契約番号
				if (childMap == null || childMap.get("svc_kei_no") == null || "".equals(childMap.get("svc_kei_no"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg1List.SVC_KEI_NO);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg1List.SVC_KEI_NO, (String)childMap.get("svc_kei_no"));
				}

				// 通知書登録マップ.通知対象物明細.通知対象物適用開始年月日 → 通知対象物明細.通知対象物適用開始年月日
				if (childMap == null || childMap.get("tchi_tg_bpin_tstaymd") == null || "".equals(childMap.get("tchi_tg_bpin_tstaymd"))) 
				{
//					childTemplate.setNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD);
					childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD, JCCBPCommon.getOpeDate(null));
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD, (String)childMap.get("tchi_tg_bpin_tstaymd"));
				}

				// 通知書登録マップ.通知対象物明細.通知対象物適用終了年月日 → 通知対象物明細.通知対象物適用終了年月日
				if (childMap == null || childMap.get("tchi_tg_bpin_tendymd") == null || "".equals(childMap.get("tchi_tg_bpin_tendymd"))) 
				{
//					childTemplate.setNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD);
//					childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD, JCCBPCommon.getOpeDate(null));
					childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD, "20991231");
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD, (String)childMap.get("tchi_tg_bpin_tendymd"));
				}

				templateArray[i] = childTemplate;
			}
//		}
		template.set(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST, templateArray);

//		inList = (ArrayList)childMap.get("EKK0561D010CBSMsg2List");
//		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG2LIST);

		if (templateArray == null) 
		{
//			templateArray = new CAANMsg[inList.size()];
			templateArray = new CAANMsg[1];
		}

//		if (inList != null) {
//			for (int i = 0; i < inList.size(); i++) {
			for (int i = 0; i < 1; i++) 
			{
//				HashMap childMap = (HashMap)inList.get(i);

				CAANMsg childTemplate = templateArray[i];
				if (childTemplate == null) 
				{
					childTemplate = new CAANMsg(EKK0561D010CBSMsg2List.class.getName());
				}
				// 通知書登録マップ.通知書内訳明細.メールアドレス → 通知書内訳明細.メールアドレス
				if (childMap == null || childMap.get("mlad") == null || "".equals(childMap.get("mlad"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.MLAD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.MLAD, (String)childMap.get("mlad"));
				}

				// 通知書登録マップ.通知書内訳明細.ＰＯＰＩＤ → 通知書内訳明細.ＰＯＰＩＤ
				if (childMap == null || childMap.get("pop_id") == null || "".equals(childMap.get("pop_id"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.POP_ID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.POP_ID, (String)childMap.get("pop_id"));
				}

				// 通知書登録マップ.通知書内訳明細.ＰＯＰＩＤパスワード → 通知書内訳明細.ＰＯＰＩＤパスワード
				if (childMap == null || childMap.get("pop_id_pwd") == null || "".equals(childMap.get("pop_id_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.POP_ID_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.POP_ID_PWD, (String)childMap.get("pop_id_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.ＷｅｂＩＤ → 通知書内訳明細.ＷｅｂＩＤ
				if (childMap == null || childMap.get("web_id") == null || "".equals(childMap.get("web_id"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.WEB_ID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.WEB_ID, (String)childMap.get("web_id"));
				}

				// 通知書登録マップ.通知書内訳明細.ＷｅｂＩＤパスワード → 通知書内訳明細.ＷｅｂＩＤパスワード
				if (childMap == null || childMap.get("web_id_pwd") == null || "".equals(childMap.get("web_id_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.WEB_ID_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.WEB_ID_PWD, (String)childMap.get("web_id_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ → 通知書内訳明細.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ
				if (childMap == null || childMap.get("ieee802_1x_ssid") == null || "".equals(childMap.get("ieee802_1x_ssid"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.IEEE802_1X_SSID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.IEEE802_1X_SSID, (String)childMap.get("ieee802_1x_ssid"));
				}

				// 通知書登録マップ.通知書内訳明細.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ → 通知書内訳明細.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ
				if (childMap == null || childMap.get("wpa2_aes_ssid") == null || "".equals(childMap.get("wpa2_aes_ssid"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.WPA2_AES_SSID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.WPA2_AES_SSID, (String)childMap.get("wpa2_aes_ssid"));
				}

				// 通知書登録マップ.通知書内訳明細.ＷＥＰ用ＳＳＩＤ → 通知書内訳明細.ＷＥＰ用ＳＳＩＤ
				if (childMap == null || childMap.get("wep_ssid") == null || "".equals(childMap.get("wep_ssid"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.WEP_SSID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.WEP_SSID, (String)childMap.get("wep_ssid"));
				}

				// 通知書登録マップ.通知書内訳明細.ＷＥＰキー → 通知書内訳明細.ＷＥＰキー
				if (childMap == null || childMap.get("wep_key") == null || "".equals(childMap.get("wep_key"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.WEP_KEY);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.WEP_KEY, (String)childMap.get("wep_key"));
				}

				// 通知書登録マップ.通知書内訳明細.認証ＩＤ → 通知書内訳明細.認証ＩＤ
				if (childMap == null || childMap.get("ninsho_id") == null || "".equals(childMap.get("ninsho_id"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.NINSHO_ID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.NINSHO_ID, (String)childMap.get("ninsho_id"));
				}

				// 通知書登録マップ.通知書内訳明細.認証ＩＤパスワード → 通知書内訳明細.認証ＩＤパスワード
				if (childMap == null || childMap.get("ninsho_id_pwd") == null || "".equals(childMap.get("ninsho_id_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.NINSHO_ID_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.NINSHO_ID_PWD, (String)childMap.get("ninsho_id_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.電話オプション設定用リモート操作用パスワード → 通知書内訳明細.電話オプション設定用リモート操作用パスワード
				if (childMap == null || childMap.get("tel_op_sette_rmts_pwd") == null || "".equals(childMap.get("tel_op_sette_rmts_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.TEL_OP_SETTE_RMTS_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.TEL_OP_SETTE_RMTS_PWD, (String)childMap.get("tel_op_sette_rmts_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.初期ｅｏＩＤ → 通知書内訳明細.初期ｅｏＩＤ
				if (childMap == null || childMap.get("shk_eoid") == null || "".equals(childMap.get("shk_eoid"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.SHK_EOID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.SHK_EOID, (String)childMap.get("shk_eoid"));
				}

				// 通知書登録マップ.通知書内訳明細.初期ｅｏＩＤパスワード → 通知書内訳明細.初期ｅｏＩＤパスワード
				if (childMap == null || childMap.get("shk_eoid_pwd") == null || "".equals(childMap.get("shk_eoid_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.SHK_EOID_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.SHK_EOID_PWD, (String)childMap.get("shk_eoid_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.家族入会コード → 通知書内訳明細.家族入会コード
				if (childMap == null || childMap.get("family_join_cd") == null || "".equals(childMap.get("family_join_cd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD, (String)childMap.get("family_join_cd"));
				}

				// 通知書登録マップ.通知書内訳明細.家族入会コードパスワード → 通知書内訳明細.家族入会コードパスワード
				if (childMap == null || childMap.get("family_join_cd_pwd") == null || "".equals(childMap.get("family_join_cd_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_PWD, (String)childMap.get("family_join_cd_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.ＩＳＰ認証ＩＤ → 通知書内訳明細.ＩＳＰ認証ＩＤ
				if (childMap == null || childMap.get("isp_ninsho_id") == null || "".equals(childMap.get("isp_ninsho_id"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.ISP_NINSHO_ID);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.ISP_NINSHO_ID, (String)childMap.get("isp_ninsho_id"));
				}

				// 通知書登録マップ.通知書内訳明細.ＩＳＰ認証ＩＤパスワード → 通知書内訳明細.ＩＳＰ認証ＩＤパスワード
				if (childMap == null || childMap.get("isp_ninsho_id_pwd") == null || "".equals(childMap.get("isp_ninsho_id_pwd"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_PWD);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_PWD, (String)childMap.get("isp_ninsho_id_pwd"));
				}

				// 通知書登録マップ.通知書内訳明細.プライマリーＤＮＳ → 通知書内訳明細.プライマリーＤＮＳ
				if (childMap == null || childMap.get("prima_dns") == null || "".equals(childMap.get("prima_dns"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.PRIMA_DNS);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.PRIMA_DNS, (String)childMap.get("prima_dns"));
				}

				// 通知書登録マップ.通知書内訳明細.セカンダリーＤＮＳ → 通知書内訳明細.セカンダリーＤＮＳ
				if (childMap == null || childMap.get("secon_dns") == null || "".equals(childMap.get("secon_dns"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.SECON_DNS);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.SECON_DNS, (String)childMap.get("secon_dns"));
				}

				// 通知書登録マップ.通知書内訳明細.ｅｏ６４アクセス番号 → 通知書内訳明細.ｅｏ６４アクセス番号
				if (childMap == null || childMap.get("eo64_accss_no") == null || "".equals(childMap.get("eo64_accss_no"))) 
				{
					childTemplate.setNull(EKK0561D010CBSMsg2List.EO64_ACCSS_NO);
				} 
				else 
				{
					childTemplate.set(EKK0561D010CBSMsg2List.EO64_ACCSS_NO, (String)childMap.get("eo64_accss_no"));
				}

				templateArray[i] = childTemplate;
			}
//		}
//		template.set(EKK0561D010CBSMsg.EKK0561D010CBSMSG2LIST, templateArray);
			

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	
	/**
	 * リクエストパラメータ．料金グループコードにてサービスの判定を行う。<br>
	 * <br>
	 * @param childMap (I) 
	 * @return サービス種別
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private String getSvcSbt(HashMap<String, Object> childMap)
	throws RequestParameterException
	{
		
		String prc_grp_cd = null;
		
		// 通知書登録マップ.料金グループコード
		if (childMap == null || childMap.get("prc_grp_cd") == null || "".equals(childMap.get("prc_grp_cd"))) 
		{
			prc_grp_cd = "";
		} 
		else 
		{
			prc_grp_cd = (String)childMap.get("prc_grp_cd");
		}

		// 料金グループコード判定
		if (JKKTchishoMapperCC.PRC_GRP_CD_NET_HM.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_NET_MZ.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_NET_MN.equals(prc_grp_cd))
		{
			// eoネット
			return JKKTchishoMapperCC.SVC_SBT_NET;
		}
		
		if (JKKTchishoMapperCC.PRC_GRP_CD_TEL.equals(prc_grp_cd))
		{
			// eo電話
			return JKKTchishoMapperCC.SVC_SBT_TEL;
		}
		
		if (JKKTchishoMapperCC.PRC_GRP_CD_TV_CA.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_TV_KC.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_TV_SN.equals(prc_grp_cd))
		{
			// eoテレビ
			return JKKTchishoMapperCC.SVC_SBT_TV;
		}
		
		if (JKKTchishoMapperCC.PRC_GRP_CD_ADSL_EA.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_ADSL_FL.equals(prc_grp_cd))
		{
			// eoADSL
			return JKKTchishoMapperCC.SVC_SBT_ADSL;
		}
		
		if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WF.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_MOBA_EM.equals(prc_grp_cd) 
				|| JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WM.equals(prc_grp_cd))
		{
			// eoモバイル
			return JKKTchishoMapperCC.SVC_SBT_MOBAL;
		}
		
		if (JKKTchishoMapperCC.PRC_GRP_CD_MLAD.equals(prc_grp_cd))
		{
			// eoメールアドレス
			return JKKTchishoMapperCC.SVC_SBT_MLAD;
		}
		
		return "";
	}
	
	/**
	 * 通知書内訳登録呼出前処理。<br>
	 * <br>
	 * @param workMap (I) 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param svc_sbt (I) サービス種別
	 * @return 作業用マップ
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getWorkMapSetMsk(HashMap<String, Object> workMap, 
			SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, String fixedText)
	throws Throwable
	{
		// 通知書一覧照会(SYSID)
		HashMap<String, Object> kk0561B_map = getKK0561Map(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("kk0561B_map", kk0561B_map);
		
		//サービス契約内訳一覧
		HashMap<String, Object> kk0161B_map = getKK0161BMap(handle, param, childMap, fixedText);
		
		// 2013/9/27 OM-2013-0002611 Add Start
		// サービス契約内訳引継先判定
		keizokuMtHantei(kk0161B_map);
		// 2013/9/27 OM-2013-0002611 Add End
		
		// 2013/10/01 OM-2013-0002704 Add Start
		// オプションサービス検索用の継続元サービス契約内訳番号のマップを作製する
		// OM-2013-0003656 2013/10/28 MOD START
		// ステータスと継続元内訳番号、継続後契約変更手続中フラグをマップに保持する
		HashMap<String, String> keizokuMtMap = new HashMap<String, String>();
		HashMap<String, String> statusMap = new HashMap<String, String>();
		HashMap<String, String> chgFlgMap = new HashMap<String, String>();
//		HashMap<String, String> keizokuMtMap =  createMtMap(kk0161B_map);
		createMtMap(kk0161B_map,keizokuMtMap,statusMap,chgFlgMap);
		// OM-2013-0003656 2013/10/28 MOD END
		// 2013/10/01 OM-2013-0002704 Add End
		
		// 作業マップに退避
		workMap.put("kk0161B_map", kk0161B_map);
		
		
		// 2013/8/24 OM-2013-0000836 Add Start
		// サービス契約内訳_異動予約情報取得処理
		getIdoRsvSvcUcwk(handle, param, workMap, fixedText);
		// 2013/8/24 OM-2013-0000836 Add End
		
		// サービス契約一意照会
		HashMap<String, Object> kk0081A_map = getKK0081AMap(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("kk0081A_map", kk0081A_map);
		
		HashMap<String, Object> kk0081_childMap = null;
		if (null != kk0081A_map && kk0081A_map.containsKey("EKK0081A010CBSMsg1List"))
		{
			List<HashMap<String, Object>> list = (List<HashMap<String, Object>>)kk0081A_map.get("EKK0081A010CBSMsg1List");
			if (null != list && !list.isEmpty())
			{
				kk0081_childMap = list.get(0);
			}
		}
		
// 2013.11.20 OM-2013-0004009 add start
		// サービス契約一意照会 （住所変更前のサービス契約番号）
		// 住所変更のときは、住所変更”前”のサービス契約番号でオプションを取得する。
		HashMap<String, Object> kk0081_childMap_Bf = null;
		String svcKeiNoBf = (String)childMap.get(SVC_KEI_NO_BF);
		if ( ! JKKStringUtil.isNullBlank(svcKeiNoBf) ) {
			// svcKeiNoBf が null でなければ、住所変更。
			HashMap<String, Object> childMapAdchg = new HashMap<String, Object>();
			childMapAdchg.put("svc_kei_no", svcKeiNoBf);
			HashMap<String, Object> kk0081A_map_Bf = getKK0081AMap(handle, param, childMapAdchg, fixedText);
			
			if (null != kk0081A_map_Bf && kk0081A_map_Bf.containsKey("EKK0081A010CBSMsg1List"))
			{
				List<HashMap<String, Object>> list = (List<HashMap<String, Object>>)kk0081A_map_Bf.get("EKK0081A010CBSMsg1List");
				if (null != list && !list.isEmpty())
				{
					kk0081_childMap_Bf = list.get(0);
				}
			}
		}
// 2013.11.20 OM-2013-0004009 add end
		// 2013/9/28 OM-2013-0002611 Add Start
		// 異動予約有無フラグ（初期値：false）
		boolean idoRsvUmFlg = false;
		// 2013/9/28 OM-2013-0002611 Add End
		
		// 2013/8/21 OM-2013-0000360 Add Start
		// 異動予約一覧照会
		HashMap subMap = new HashMap();
		subMap.put("svc_kei_no", childMap.get("svc_kei_no"));
		HashMap kk1681_map = getKK1681BMap(handle, param, subMap, fixedText);
		// 作業マップに退避
		workMap.put("kk1681_map", kk1681_map);
		HashMap kk1681_subMap = null;
		if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
		{
			ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
			if(kk1681_list.size() > 0)
			{
				kk1681_subMap = (HashMap)kk1681_list.get(0);
				// 2013/9/28 OM-2013-0002611 Add Start
				// コース変更の異動予約が取得できた場合、異動予約有無フラグをtrueにする。
				idoRsvUmFlg = true;
				// 2013/9/28 OM-2013-0002611 Add End
			}
		}
		if(null != kk1681_subMap && null != kk1681_subMap.get("pcrs_cd") && !("".equals(kk1681_subMap.get("pcrs_cd"))))
		{
			// 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードに置換
			kk0081_childMap.put("pcrs_cd", kk1681_subMap.get("pcrs_cd"));
		}
		if(null != kk1681_subMap && null != kk1681_subMap.get("pplan_cd") && !("".equals(kk1681_subMap.get("pplan_cd"))))
		{
			// 未反映のコース変更の異動予約が存在する場合、変更後の料金プランコードに置換
			kk0081_childMap.put("pplan_cd", kk1681_subMap.get("pplan_cd"));
		}
		if(null != kk1681_subMap && null != kk1681_subMap.get("prc_grp_cd") && !("".equals(kk1681_subMap.get("prc_grp_cd"))))
		{
			// 未反映のコース変更の異動予約が存在する場合、変更後の料金グループコードに置換
			kk0081_childMap.put("prc_grp_cd", kk1681_subMap.get("prc_grp_cd"));
		}
		// 2013/8/21 OM-2013-0000360 Add End
		// 料金グループ一意照会
		HashMap<String, Object> kk0781A_map = getKK0781AMap(handle, param, childMap, fixedText, kk0081_childMap);
		// 作業マップに退避
		workMap.put("kk0781A_map", kk0781A_map);
		
		// 料金コース一意照会
		HashMap<String, Object> kk0791A_map = getKK0791AMap(handle, param, fixedText, kk0081_childMap);
		// 作業マップに退避
		workMap.put("kk0791A_map", kk0791A_map);
		
		// お客様情報の取得
		HashMap<String, Object> ck0011_map = getCK0011Map(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("ck0011_map", ck0011_map);
		
		// 機器提供サービス契約情報の取得
		List<HashMap<String, Object>> kk0341A_list = getKktkSvcKeiInfo(handle, param, childMap, fixedText, kk0161B_map);
		workMap.put("kk0341A_list", kk0341A_list);
		
		// 機器提供サービス契約の最新の住所を取得
		HashMap<String, Object> kk0341B027_map = getKK0341B027Map(handle, param, childMap, fixedText);
		workMap.put("kk0341B027_map", kk0341B027_map);
		
		// 2013/9/20 OM-2013-0001760 Add Start
		// 指定された送付先住所が機器送付先である場合、設定されている機器提供サービス契約番号から送付先（設置先）住所を取得する
		if(null != childMap.get("kktk_svc_kei_no") && !("".equals(childMap.get("kktk_svc_kei_no"))))
		{
			HashMap<String, Object> kk0341A010_map = getKK0341AMap(handle, param, (String)childMap.get("kktk_svc_kei_no"), fixedText);
			workMap.put("kk0341A010_map", kk0341A010_map);
		}
		// 2013/9/20 OM-2013-0001760 Add End
		
		// 料金プラン(サービス名称)情報取得

		// 2014/07/22 ANK-2135-00-00 Mod Start
//		HashMap<String, Object> kk0591A_map = getPrtNmInfo(handle, param, fixedText, kk0081_childMap, kk0341A_list, kk0161B_map, workMap);
		String mskmDtlNo = "";
		if(null != kk1681_subMap && null != kk1681_subMap.get("mskm_dtl_no") && !("".equals(kk1681_subMap.get("mskm_dtl_no"))))
		{
			// 未反映の異動予約が存在する場合、申込明細番号を連携
			mskmDtlNo = (String)kk1681_subMap.get("mskm_dtl_no");
		}
		
		HashMap<String, Object> kk0591A_map = getPrtNmInfo(handle, param, fixedText, kk0081_childMap, kk0341A_list, kk0161B_map, workMap, idoRsvUmFlg, mskmDtlNo);
		// 2014/07/22 ANK-2135-00-00 Mod End
		
		workMap.put("kk0591A_map", kk0591A_map);

		// グループ情報の取得
		HashMap<String, Object> ck0111_map = getCK0111Map(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("ck0111_map", ck0111_map);
		
		// ISP関連内容の取得
		HashMap<String, Object> kk0351_map = getKK0351Map(handle, param, childMap, fixedText);
		
		// 2014.04.09 OM-2014-0001451 Add Start
		// サービス契約が解約・新規（住所変更時、オプション情報を引き継がない）の場合、新住所に紐づくオプション（ISP関連内容）の情報を取得する
		HashMap<String, Object> kk0351_aftermap = new HashMap<String, Object>();
		
		// 住所変更後　サービス契約番号
		String svcKeiNoAfter = (String)childMap.get("svc_kei_no");
		
		// 住所変更前　サービス契約番号
		String svcKeiNoBefore = (String)childMap.get(SVC_KEI_NO_BF);
		
		// サービス契約が解約・新規の場合
		if ((!JKKStringUtil.isNullBlank(svcKeiNoBefore)) &&
			 (!svcKeiNoAfter.equals(svcKeiNoBefore)))
		{
			kk0351_aftermap = getKK0351AfterMap(handle, param, childMap, fixedText);
		}
		// 2014.04.09 OM-2014-0001451 Add End
		
// 2013.11.20 OM-2013-0004009 add start
		String adChgNo = (String)childMap.get(ADCHG_NO);
		if ( ! JKKStringUtil.isNullBlank(adChgNo) ) {
			// 住所変更明細の取得（オプション情報）
			HashMap<String, Object> kk2101B001_map =  getKK2101B001Map(handle, param, adChgNo, fixedText, ADCHG_DTL_SBT_CD_OPTION);
			
			// kk0351_map のオプションの中からKK2101B001Mapの変更前・後の両方に設定されているオプション番号
			// だけに絞り込む。
			
			// 2014.04.09 OM-2014-0001451 Mod Start
//			rmAdchgDslOpt(kk0351_map, kk2101B001_map, kk0081_childMap_Bf);
			rmAdchgDslOpt(kk0351_map, kk2101B001_map, kk0081_childMap_Bf, kk0351_aftermap);
			// 2014.04.09 OM-2014-0001451 Mod End
		}
// 2013.11.20 OM-2013-0004009 add end
		
		// 作業マップに退避
		workMap.put("kk0351_map", kk0351_map);
		
		// オプションサービス契約＜ISP＞の取得
		ArrayList kk0361_mapList = getKK0361MapList(handle, param, childMap, fixedText, workMap);
		// 作業マップに退避
		workMap.put("kk0361_mapList", kk0361_mapList);
		
		// eo光ネット関連内容の取得
		HashMap<String, Object> kk0161_map = getKK0161Map(handle, param, childMap, fixedText);
		// 作業マップに退避
		workMap.put("kk0161_map", kk0161_map);
		
		// サービス契約内訳＜eo光ネット＞
		HashMap<String, Object> kk0171_map = getKK0171Map(handle, param, childMap, fixedText, workMap);
		// 作業マップに退避
		workMap.put("kk0171_map", kk0171_map);
		
		// eo光電話関連内容の取得
		// 2013/9/27 OM-2013-0002611 Mod Start
//		HashMap<String, Object> kk0191B_map = getKK0191BMap(handle, param, childMap, fixedText, workMap);
		HashMap<String, Object> kk0191B_map = getKK0191A010Map(handle, param, childMap, fixedText, workMap);
		// 2013/9/27 OM-2013-0002611 Mod End
		// 作業マップに退避
		workMap.put("kk0191B_map", kk0191B_map);
		
		// 2013/9/28 OM-2013-0002611 Add Start
		// コース変更の異動予約が取得できない場合、サービス契約内訳<eo光電話>のレコード数で料金コース・プランを補正する（電話サービス限定）
		telPcrsChg(workMap, kk0081_childMap, idoRsvUmFlg, kk0191B_map);
		// 2013/9/28 OM-2013-0002611 Add End
		
		// eo光電話情報の取得
		HashMap<String, Object> kk0191A_map = getKK0191AMap(handle, param, childMap, fixedText, workMap);
		// 作業マップに退避
		workMap.put("kk0191A_map", kk0191A_map);
		
		// サービス契約内訳＜光電話＞一覧結果マップリストの取り出し
		List kk0191B_mapList = null;
		List telNoNoticeSvcKeiUcwkNoList = new ArrayList();
		if (null != kk0191B_map && kk0191B_map.containsKey("EKK0191B001CBSMsg1List"))
		{
			kk0191B_mapList = (List)kk0191B_map.get("EKK0191B001CBSMsg1List");
			if (null != kk0191B_mapList && !kk0191B_mapList.isEmpty())
			{
				for (int i = 0; i < kk0191B_mapList.size(); i++)
				{
					Map kk0191_map = (Map)kk0191B_mapList.get(i);
					// 2013/10/01 OM-2013-0002704 Mod Start
//					if (tchisho_mapper.isTelNoNoticeSvc(handle, param, (String)kk0191_map.get("svc_kei_ucwk_no"), fixedText, workMap))
//					{
					// サービス契約内訳番号の取得
					String svcKeiUcwkNo = (String)kk0191_map.get("svc_kei_ucwk_no");
					// 継続元サービス契約内訳番号が設定されている場合
					if(null != keizokuMtMap && !JKKStringUtil.isNullBlank(keizokuMtMap.get(svcKeiUcwkNo))){
						
						// OM-2013-0003656 2013/10/28 MOD START
						// 番ポ有無を取得
						String bmpUm = (String)kk0191_map.get("bmp_um");
						
						// サービス契約内訳のステータスを取得
						String ucwkStatus = statusMap.get(svcKeiUcwkNo);
						
						// 変更中フラグの取得
						String chgFlg = chgFlgMap.get(svcKeiUcwkNo);
						
						// 2014/04/25 OM-2014-0001579 Mod Start
//						// 番ポ有で変更中の場合は継続元内訳番号を使用
//						if(JKKTchishoMapperCC.BMP_UM_ARI.equals(bmpUm) &&
//								JKKTchishoMapperCC.CHGE_CHU.equals(chgFlg)){
//							
//							// 継続元サービス契約内訳番号をサービス契約内訳番号に設定する
//							svcKeiUcwkNo = keizokuMtMap.get(svcKeiUcwkNo);
//						}
//						else if(null != ucwkStatus &&
//								!SVC_KEI_UCWK_STAT_020.equals(ucwkStatus) &&
//								!SVC_KEI_UCWK_STAT_030.equals(ucwkStatus) &&
//								!SVC_KEI_UCWK_STAT_100.equals(ucwkStatus))
//						{
//							// 継続元サービス契約内訳番号をサービス契約内訳番号に設定する
//							svcKeiUcwkNo = keizokuMtMap.get(svcKeiUcwkNo);
//						}
						// 住所変更の場合は継続元サービス契約内訳番号をサービス契約内訳番号に設定する
						if (!JKKStringUtil.isNullBlank(adChgNo))
						{
							svcKeiUcwkNo = keizokuMtMap.get(svcKeiUcwkNo);
						}
						// 2014/04/25 OM-2014-0001579 Mod End
						
						// OM-2013-0003656 2013/10/28 MOD END
						
					}
					// オプションサービス契約の取得を行う
					if (tchisho_mapper.isTelNoNoticeSvc(handle, param, svcKeiUcwkNo, fixedText, workMap))
					{
					// 2013/10/01 OM-2013-0002704 Mod Start
						telNoNoticeSvcKeiUcwkNoList.add((String)kk0191_map.get("svc_kei_ucwk_no"));
					}
				}
			}
		}
		workMap.put("telNoNoticeSvcKeiUcwkNoList", telNoNoticeSvcKeiUcwkNoList);
		
		// 料金グループコードがeoADSL(eAccess)である場合
		// ADSL工事情報を取得する
		if (JKKTchishoMapperCC.PRC_GRP_CD_ADSL_EA.equals(childMap.get("prc_grp_cd")))
		{
			HashMap<String, Object> kk0621B_childMap = getAdslKojiInfo(handle, param, fixedText, childMap);
			workMap.put("kk0621B_childMap", kk0621B_childMap);
		}
		
		// 料金グループコードがeoADSL(フレッツ)である場合
		// サービス契約内訳＜eoADSL＞情報を取得する
		if (JKKTchishoMapperCC.PRC_GRP_CD_ADSL_FL.equals(childMap.get("prc_grp_cd")))
		{
			HashMap<String, Object> kk0221A_childMap = getSvcKeiUcwkAdsl(handle, param, fixedText, kk0161B_map);
			workMap.put("kk0221A_childMap", kk0221A_childMap);
		}
		
		// 業務パラメータ管理一意照会
		ArrayList zm0321_mapList = getZM0321MapList(handle, param, childMap, fixedText, workMap);
		// 作業マップに退避
		workMap.put("zm0321_mapList", zm0321_mapList);
		
// v11.00 2014/10/20 ADD START
		// 一番初めの通知書発行対象の異動があったサービス契約の申込明細番号を取得
		String prmSvcKeiNo = (String)kk0081_childMap.get("svc_kei_no");
		String firstMskmDtlNo = getMskmDtlNo(handle, param, prmSvcKeiNo, fixedText);
		
		// 上記で取得した申込明細番号をもとに、申込明細情報を取得
		if (!JKKStringUtil.isNullBlank(firstMskmDtlNo))
		{
			HashMap<String, Object> kk0021A_map = new HashMap<String, Object>();
			kk0021A_map = getKK0021AMap(handle, param, firstMskmDtlNo, fixedText);
			
// v11.01 ADD START
			
			if (kk0021A_map.get("EKK0021A010CBSMsg1List") != null) {
				
				ArrayList<HashMap> list = (ArrayList) kk0021A_map.get("EKK0021A010CBSMsg1List");
				
				// 申込チャネルコード特定
				String chCd = retMskmChCd(handle, param, (String) ((HashMap) list.get(0)).get("mskm_no"), fixedText);
				
				// 申込チャネルコード上書き
				for (HashMap tg : list)
					tg.put("mskm_form_cd", chCd);
			}
// v11.01 ADD END
			
			workMap.put("kk0021A_map", kk0021A_map);
		}
// v11.00 2014/10/20 ADD END

		return workMap;
		
	}

	// 2013/9/28 OM-2013-0002611 Add Start
	/**
	 * 電話サービスの料金コース・プランを内訳数から補正する処理<br>
	 */
	@SuppressWarnings("unchecked")
	private void telPcrsChg(HashMap<String, Object> workMap, HashMap<String, Object> kk0081_childMap, 
			boolean idoRsvUmFlg, HashMap<String, Object> kk0191B_map) 
	{
		if(!idoRsvUmFlg && PRC_GRP_CD_TEL.equals(kk0081_childMap.get("prc_grp_cd")))
		{
			if(null != kk0191B_map && null != kk0191B_map.get("EKK0191B001CBSMsg1List"))
			{
				ArrayList kk0191Blist = (ArrayList)kk0191B_map.get("EKK0191B001CBSMsg1List");
				
				String pcrsCd = (String)kk0081_childMap.get("pcrs_cd");
				String pplanCd = (String)kk0081_childMap.get("pplan_cd");
				
				if(kk0191Blist.size() == 1 && !(PCRS_CD_TEL_1.equals(pcrsCd)))
				{
					kk0081_childMap.put("pcrs_cd", PCRS_CD_TEL_1);
					
					if(pplanCd.equals(PPLAN_CD_TEL_H_2))
					{
						// １番号コース（ホームタイプ）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_H_1);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_ME_2))
					{
						// １番号コース（メゾンタイプ）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_ME_1);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_MA_2))
					{
						// １番号コース（マンションタイプ・グローバル）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_MA_1);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_MAH_2))
					{
						// １番号コース（マンションタイプ・光配線）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_MAH_1);
					}
					ArrayList<HashMap<String, Object>> listNew = new ArrayList<HashMap<String, Object>>();
					listNew.add(kk0081_childMap);
					HashMap<String, ArrayList> mapNew = new HashMap<String, ArrayList>();
					mapNew.put("EKK0081A010CBSMsg1List", listNew);
					workMap.put("kk0081A_map", mapNew);
					}
				else if(kk0191Blist.size() == 2 && !(PCRS_CD_TEL_2.equals(pcrsCd)))
				{
					kk0081_childMap.put("pcrs_cd", PCRS_CD_TEL_2);
					
					if(pplanCd.equals(PPLAN_CD_TEL_H_1))
					{
						// ２番号コース（ホームタイプ）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_H_2);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_ME_1))
					{
						// ２番号コース（メゾンタイプ）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_ME_2);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_MA_1))
					{
						// ２番号コース（マンションタイプ・グローバル）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_MA_2);
					}
					else if(pplanCd.equals(PPLAN_CD_TEL_MAH_1))
					{
						// ２番号コース（マンションタイプ・光配線）へ
						kk0081_childMap.put("pplan_cd", PPLAN_CD_TEL_MAH_2);
					}
					ArrayList<HashMap<String, Object>> listNew = new ArrayList<HashMap<String, Object>>();
					listNew.add(kk0081_childMap);
					HashMap<String, ArrayList> mapNew = new HashMap<String, ArrayList>();
					mapNew.put("EKK0081A010CBSMsg1List", listNew);
					workMap.put("kk0081A_map", mapNew);
				}

			}
		}
	}
	// 2013/9/28 OM-2013-0002611 Add Start

	// 2013/9/27 OM-2013-0002611 Add Start
	/**
	 * サービス契約内訳引継先判定<br>
	 */
	@SuppressWarnings("unchecked")
	private void keizokuMtHantei(HashMap<String, Object> kk0161B_map) 
	{
		if(null != kk0161B_map && null != kk0161B_map.get("EKK0161B004CBSMsg1List"))
		{
			ArrayList kk0161Blist = (ArrayList)kk0161B_map.get("EKK0161B004CBSMsg1List");
			
			if(null != kk0161Blist && kk0161Blist.size() > 0)
			{
				HashMap kk0161Bmap = null;
				HashMap keizkMtMap = null;
				String keizk_mt_svc_kei_ucwk_no = null;
				String svc_kei_ucwk_no = null;
				
				for(int i = 0; i < kk0161Blist.size(); i++)
				{
					kk0161Bmap = (HashMap)kk0161Blist.get(i);
					
					if(null != kk0161Bmap && null != kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no") && !("".equals(kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no"))))
					{
						keizk_mt_svc_kei_ucwk_no = (String)kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no");
						
						if(null == keizkMtMap)
						{
							keizkMtMap = new HashMap();
						}
						
						keizkMtMap.put(keizk_mt_svc_kei_ucwk_no, keizk_mt_svc_kei_ucwk_no);
					}
				}
				if(null != keizkMtMap)
				{
					for(int i = kk0161Blist.size() - 1; i >= 0; i--)
					{
						kk0161Bmap = (HashMap)kk0161Blist.get(i);
						
						if(null != kk0161Bmap && null != kk0161Bmap.get("svc_kei_ucwk_no") && !("".equals(kk0161Bmap.get("svc_kei_ucwk_no"))))
						{
							svc_kei_ucwk_no = (String)kk0161Bmap.get("svc_kei_ucwk_no");
							
							if(keizkMtMap.containsKey(svc_kei_ucwk_no))
							{
								kk0161Blist.remove(i);
							}
						}
					}
					
					kk0161B_map.put("EKK0161B004CBSMsg1List", kk0161Blist);
				}
			}
		}
	}
	// 2013/9/27 OM-2013-0002611 Add Start
	
	// 2013/10/01 OM-2013-0002704 Add Start
	/**
	 * サービス契約内訳継続元マップ作製処理<br>
	 * @param kk0161B_map サービス契約内訳マップマップ
	 * @return keizokuMtMap 継続元を設定したマップ
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, String> createMtMap(HashMap<String, Object> kk0161B_map,HashMap<String, String> keizokuMtMap,
			HashMap<String, String> statusMap ,HashMap<String, String> chgFlgMap) 
	{
		// OM-2013-0003656 2013/10/28 DEL START
		// サービス契約内訳番号と、継続元サービス契約内訳番号の関連を保持するマップ
//		HashMap<String, String> keizokuMtMap = new HashMap<String, String>();
		// OM-2013-0003656 2013/10/28 DEL END
		
		// サービス契約内訳一覧が存在する場合に処理を行う
		if(null != kk0161B_map && null != kk0161B_map.get("EKK0161B004CBSMsg1List"))
		{
			ArrayList kk0161Blist = (ArrayList)kk0161B_map.get("EKK0161B004CBSMsg1List");
			
			if(null != kk0161Blist && kk0161Blist.size() > 0)
			{
				// サービス契約内訳情報
				HashMap kk0161Bmap = null;
				// サービス契約内訳番号
				String svc_kei_ucwk_no = null;
				// 継続元サービス契約内訳番号
				String keizk_mt_svc_kei_ucwk_no = null;
				
				// 一覧の件数分処理を行う
				for(int i = 0; i < kk0161Blist.size(); i++)
				{
					// サービス契約内訳情報の取得
					kk0161Bmap = (HashMap)kk0161Blist.get(i);
					
					// 継続元サービス契約内訳番号が取得できた場合
					if(null != kk0161Bmap && null != kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no") && !("".equals(kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no"))))
					{
						// サービス契約内訳ステータスを取得し
						String svcKeiUcwkStat = (String)kk0161Bmap.get("svc_kei_ucwk_stat");
						
						// 2013/10/17 OM-2013-0003228 Mod Start
						// サービス契約内訳ステータスが取得でき、照査済・締結済・サービス提供中でない場合
						//if(null != svcKeiUcwkStat && !SVC_KEI_UCWK_STAT_100.equals(svcKeiUcwkStat))
						// OM-2013-0003656 2013/10/28 MOD START
						// 継続元内訳番号を無条件で格納し、ステータスを保持する
//						if(null != svcKeiUcwkStat && !SVC_KEI_UCWK_STAT_020.equals(svcKeiUcwkStat) &&
//													  !SVC_KEI_UCWK_STAT_030.equals(svcKeiUcwkStat) &&
//													  !SVC_KEI_UCWK_STAT_100.equals(svcKeiUcwkStat))
//						{
						// 2013/10/17 OM-2013-0003228 Mod End
							
//							// サービス契約内訳番号をキーとして、継続元サービス契約内訳番号を格納する
//							svc_kei_ucwk_no = (String)kk0161Bmap.get("svc_kei_ucwk_no");
//							keizk_mt_svc_kei_ucwk_no = (String)kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no");
//							keizokuMtMap.put(svc_kei_ucwk_no, keizk_mt_svc_kei_ucwk_no);
//						}
						// サービス契約内訳番号をキーとして、継続元サービス契約内訳番号を格納する
						svc_kei_ucwk_no = (String)kk0161Bmap.get("svc_kei_ucwk_no");
						keizk_mt_svc_kei_ucwk_no = (String)kk0161Bmap.get("keizk_mt_svc_kei_ucwk_no");
						keizokuMtMap.put(svc_kei_ucwk_no, keizk_mt_svc_kei_ucwk_no);
						statusMap.put(svc_kei_ucwk_no, svcKeiUcwkStat);
						chgFlgMap.put(svc_kei_ucwk_no, (String)kk0161Bmap.get("keizk_af_kei_chgechu_flg"));
						// OM-2013-0003656 2013/10/28 MOD END
					}
				}
			}
		}
		return keizokuMtMap;
	}
	// 2013/10/01 OM-2013-0002704 Add End
	
	/**
	 * 通知書取消編集処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private IRequestParameterReadWrite cancelTchishoMap(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		
		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		IRequestParameterReadWrite inParam = param;
		
		// 通知書一意照会
		HashMap<String, Object> kk0561A_map = getKK0561AMap(handle, param, childMap, fixedText);
		
		if (null == kk0561A_map)
		{
			return inParam;	
		}
		
		// 作業マップに退避
		workMap.put("kk0561A_map", kk0561A_map);
		
		// 通知書取消呼出処理
		inParam = executeTchishoCL(handle, param, childMap, fixedText, workMap);
		
		return inParam;	
	}
	
	// 2013/9/26 OM-2013-0002648 Add Start
	/**
	 * サービス回線内訳契約情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0251BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0251B001(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0251_map = new HashMap<String, Object>();
		kk0251_map = tchisho_mapper.editResultRPKK0251B001(result, param, fixedText);
		
		return kk0251_map;
	}
	/**
	 * マンション物件情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0861AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String mansionBukkenNo, String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0861A010(param, mansionBukkenNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0861_map = new HashMap<String, Object>();
		kk0861_map = tchisho_mapper.editResultRPKK0861A010(result, param, fixedText);
		
		return kk0861_map;
	}
	// 2013/9/26 OM-2013-0002648 Add End
	
	/**
	 * サービス契約情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0081B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0081_map = new HashMap<String, Object>();
		kk0081_map = tchisho_mapper.editResultRPKK0081B(result, param, fixedText, childMap);

		return kk0081_map;

	}
	
	// ▼▼▼ IT1-2012-0001322 Add Start ▼▼▼
	/**
	 * 通知対象物変更の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> editKK0571CMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> workMap, HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0571C(param, childMap, fixedText, workMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0751C_map = new HashMap<String, Object>();
		kk0751C_map = tchisho_mapper.editResultRPKK0571C(result, param, fixedText, workMap);

		return kk0751C_map;
	}
	// ▲▲▲ IT1-2012-0001322 Add End ▲▲▲
	
	/**
	 * 通知書一覧の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0561Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0561_map = new HashMap<String, Object>();
		kk0561_map = tchisho_mapper.editResultRPKK0561B(result, param, fixedText);

		return kk0561_map;

	}	

	/**
	 * サービス契約一意照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0081A(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0081A_map = new HashMap<String, Object>();
		kk0081A_map = tchisho_mapper.editResultRPKK0081A(result, param, fixedText);
		
		return kk0081A_map;
	}
	
//	/**
//	 * サービス契約一意照会の結果取得処理。<br>
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param (I) 業務データ取得用I/F
//	 * @param childMap (I) ユーザデータ情報
//	 * @param fixedText (I) ユーザ定義文字列
//	 * @return サービスコンポーネント実行用CAANMsg
//	 * @throws Throwable 
//	 * @exception Exceptionがスローされます。
//	 */
//	private HashMap<String, Object> getKK0081B009Map(SessionHandle handle, IRequestParameterReadWrite param, 
//			HashMap<String, Object> childMap, String fixedText) throws Throwable
//	{
//		/* ◇上りマッピング処理 */
//		// 上りマッピングの処理結果を取得するためのマップを生成
//		HashMap<String, Object> paramMap = new HashMap<String, Object>();
//		
//		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
//		//paramMap = TCHISHO_MAPPER.editInMsgKK0081A(param, childMap);
//		paramMap = TCHISHO_MAPPER.editInMsgKK0081B009(param, childMap);
//		
//		/* ◇ＳＣ呼出実行 */
//		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//		Map<?, ?> result = scCall.run(paramMap, handle);
//		
//		/* ◇下りマッピング処理 */
//		HashMap<String, Object> kk0081B_map = new HashMap<String, Object>();
//		kk0081B_map = TCHISHO_MAPPER.editResultRPKK0081B009(result, param, fixedText);
//		
//		return kk0081B_map;
//	}
	
	/**
	 * サービス契約内訳一覧の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0161BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0161B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0161B_map = new HashMap<String, Object>();
		kk0161B_map = tchisho_mapper.editResultRPKK0161B(result, param, fixedText);
		
		return kk0161B_map;
	}
	
	/**
	 * 料金グループの取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param kk0081A_map
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0781AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> kk0081A_map) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0781A(param, childMap, kk0081A_map);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0781A_map = new HashMap<String, Object>();
		kk0781A_map = tchisho_mapper.editResultRPKK0781A(result, param, fixedText);
		
		return kk0781A_map;
	}
	
	/**
	 * 料金コースの取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param kk0081A_map
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0791AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> kk0081A_map) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0791A(param, kk0081A_map);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0791A_map = new HashMap<String, Object>();
		kk0791A_map = tchisho_mapper.editResultRPKK0791A(result, param, fixedText);
		
		return kk0791A_map;
	}
	
	/**
	 * お客様情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getCK0011Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgCK0011(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> ck0011_map = new HashMap<String, Object>();
		ck0011_map = tchisho_mapper.editResultRPCK0011(result, param, fixedText);

		return ck0011_map;

	}
	
	/**
	 * 機器提供サービス契約情報一覧取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0341BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0341B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0341B_map = new HashMap<String, Object>();
		kk0341B_map = tchisho_mapper.editResultRPKK0341B(result, param, fixedText);

		return kk0341B_map;

	}
	
	/**
	 * 機器提供サービス契約情報一意取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0341AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String kktkSvcKeiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0341A(param, kktkSvcKeiNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0341A_map = new HashMap<String, Object>();
		kk0341A_map = tchisho_mapper.editResultRPKK0341A(result, param, fixedText);

		return kk0341A_map;

	}
	
	/**
	 * 機器提供サービス契約情報最新送付先住所取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0341B027Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0341B027(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0341B_map = new HashMap<String, Object>();
		kk0341B_map = tchisho_mapper.editResultRPKK0341B027(result, param, fixedText);

		return kk0341B_map;

	}
	
	/**
	 * サービス契約回線内訳に紐づく機器提供サービス契約情報一覧取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0341B019Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0341B019(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0341B_map = new HashMap<String, Object>();
		kk0341B_map = tchisho_mapper.editResultRPKK0341B019(result, param, fixedText);

		return kk0341B_map;

	}
	
	/**
	 * サービス契約内訳に紐づく機器提供サービス契約情報一覧取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiyakuUcwkNo サービス契約内訳番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0341B501Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String svcKeiyakuUcwkNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0341B501(param, svcKeiyakuUcwkNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0341B_map = new HashMap<String, Object>();
		kk0341B_map = tchisho_mapper.editResultRPKK0341B501(result, param, fixedText);

		return kk0341B_map;

	}
	
	/**
	 * グループ情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getCK0111Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgCK0111(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> ck0111_map = new HashMap<String, Object>();
		ck0111_map = tchisho_mapper.editResultRPCK0111(result, param, fixedText);

		return ck0111_map;

	}	
	
	/**
	 * ネット情報（ＩＳＰ）の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0351Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

// 2013.11.20 OM-2013-0004009 add start
		// サービス契約番号（住所変更のときは住所変更後）
		String svcKeiNo = (String)childMap.get("svc_kei_no");
		
		// 住所変更のときは、住所変更”前”のサービス契約番号でオプションを取得する。
		String svcKeiNoBf = (String)childMap.get(SVC_KEI_NO_BF);
		if ( ! JKKStringUtil.isNullBlank(svcKeiNoBf) ) {
			// svcKeiNoBf が null でなければ、住所変更。
			
			HashMap<String, Object> childMapAdchg = new HashMap<String, Object>();
			childMapAdchg.put("svc_kei_no", svcKeiNoBf);
			
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = tchisho_mapper.editInMsgKK0351(param, childMapAdchg);
		} else {
// 2013.11.20 OM-2013-0004009 add end
		
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = tchisho_mapper.editInMsgKK0351(param, childMap);
		}
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0351_map = new HashMap<String, Object>();
// 2013.11.20 OM-2013-0004009 mod start
//		kk0351_map = tchisho_mapper.editResultRPKK0351(result, param, fixedText);
		kk0351_map = tchisho_mapper.editResultRPKK0351(result, param, fixedText, svcKeiNo, svcKeiNoBf);
// 2013.11.20 OM-2013-0004009 mod end

		return kk0351_map;

	}	
	
	// 2014.04.09 OM-2014-0001451 Add Start
	/**
	 * ネット情報（ＩＳＰ）の取得処理（住所変更後）。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0351AfterMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// サービス契約番号（住所変更のときは住所変更後）
		String svcKeiNo = (String)childMap.get("svc_kei_no");
		
		// 住所変更のときは、住所変更”前”のサービス契約番号でオプションを取得する。
		String svcKeiNoBf = (String)childMap.get(SVC_KEI_NO_BF);
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0351(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0351_map = new HashMap<String, Object>();
		kk0351_map = tchisho_mapper.editResultRPKK0351(result, param, fixedText, svcKeiNo, svcKeiNoBf);

		return kk0351_map;

	}	
	// 2014.04.09 OM-2014-0001451 Add End
	
	/**
	 * オプションサービス契約＜ISP＞一意照会の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private ArrayList getKK0361MapList(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		// オプションサービス契約＜ISP＞一意結果マップリスト
		ArrayList kk0361MapList = new ArrayList();
		
		ArrayList kk0351List = null;
		ArrayList kk0081List = null;
		// オプションサービス契約一覧マップの取り出し
		HashMap<String, Object> kk0351_map = (HashMap)workMap.get("kk0351_map");
		
		// サービス契約一覧照会マップの取り出し
		HashMap<String, Object> kk0081A_map = (HashMap)workMap.get("kk0081A_map");

		// オプションサービス契約一覧の明細の取り出し
		kk0351List = (ArrayList)kk0351_map.get("EKK0351B002CBSMsg1List");
		// サービス契約一意照会の明細の取り出し
		kk0081List = (ArrayList)kk0081A_map.get("EKK0081A010CBSMsg1List");
		
		if (kk0351List == null || 0 == kk0351List.size()) 
		{
			return kk0361MapList;
		}
		
		if (kk0081List == null || 0 == kk0081List.size())
		{
			return kk0361MapList;
		}
		
		// kk0351_map.オプションサービス契約番号分繰返し
		for (int i = 0; i < kk0351List.size(); i++) 
		{
			
			// 明細Mapの取り出し
			HashMap kk0351childMap = (HashMap)kk0351List.get(i);
			HashMap kk0081childMap = (HashMap)kk0081List.get(0);
			
			/* ◇上りマッピング処理 */
			// 上りマッピングの処理結果を取得するためのマップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();
			
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = tchisho_mapper.editInMsgKK0361(param, childMap, kk0351childMap);
			
			/* ◇ＳＣ呼出実行 */
			// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			Map<?, ?> result = scCall.run(paramMap, handle);
		
			/* ◇下りマッピング処理 */
			HashMap<String, Object> kk0361_map = new HashMap<String, Object>();
			// 2013/9/18 OM-2013-0002220 Mod Start
//			kk0361_map = tchisho_mapper.editResultRPKK0361(result, param, fixedText, kk0081childMap);
			kk0361_map = tchisho_mapper.editResultRPKK0361(result, param, fixedText, kk0081childMap, kk0351childMap);
			// 2013/9/18 OM-2013-0002220 Mod End
			
			// 結果が存在する場合
			if (kk0361_map != null && kk0361_map.containsKey("EKK0361A010CBSMsg1List")) 
			{
				// 一意照会結果マップをリストに追加
				List<HashMap<String, Object>> list = (List<HashMap<String, Object>>)kk0361_map.get("EKK0361A010CBSMsg1List");
				
				for (int j = 0; j < list.size(); j++)
				{
					HashMap<String, Object> map = list.get(j);
					kk0361MapList.add(map);
				}
			}
		}

		return kk0361MapList;

	}	
	
	/**
	 * eo光ネット情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0161Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0161B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0161_map = new HashMap<String, Object>();
		kk0161_map = tchisho_mapper.editResultRPKK0161B(result, param, fixedText);

		return kk0161_map;

	}	
	
	/**
	 * サービス契約内訳＜eo光ネット＞の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0171Map(SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		
		ArrayList kk0161List = null;
		// サービス契約内訳一覧照会マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size()) 
		{
			return null;
		}
		// 2013/8/31 OM-2013-0001425 Mod Start
		HashMap kk0161childMap = null;
		HashMap kk1681_subMap = null;
		
		HashMap kk1681_map = (HashMap)workMap.get("kk1681_map");
		if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
		{
			ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
			if(kk1681_list.size() > 0)
			{
				// サービス契約のコース変更情報マップ
				kk1681_subMap = (HashMap)kk1681_list.get(0);
			}
		}
		
		// サービス契約内訳が2つ以上ありコース変更中の異動予約がある場合、
		// コース変更中と判断しコース変更後の申込明細番号と一致する内訳情報を選定する。
		if(kk0161List.size() > 1 && null != kk1681_subMap)
		{
			String mskmDtlNo1681 = (String)kk1681_subMap.get("mskm_dtl_no");
			String mskmDtlNo0161 = "";
			for(int i = 0; i < kk0161List.size(); i++)
			{
				kk0161childMap = (HashMap)kk0161List.get(i);
				mskmDtlNo0161 = (String)kk0161childMap.get("mskm_dtl_no");
				if(mskmDtlNo0161 != null && mskmDtlNo0161.equals(mskmDtlNo1681))
				{
					break;
				}
			}
		}
		else
		{
			kk0161childMap = (HashMap)kk0161List.get(0);
		}
//		// kk0161_map.サービス契約内訳番号を１番目を設定
//		// 2013/8/21 OM-2013-0000559 Add Start
////		HashMap kk0161childMap = (HashMap)kk0161List.get(0);
//		HashMap kk0161childMap = (HashMap)kk0161List.get(kk0161List.size() - 1);
//		// 2013/8/21 OM-2013-0000559 Add End
		// 2013/8/31 OM-2013-0001425 Mod End

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0171(param, childMap, kk0161childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0171_map = new HashMap<String, Object>();
		kk0171_map = tchisho_mapper.editResultRPKK0171(result, param, fixedText);

		return kk0171_map;

	}
	
	// 2013/9/27 OM-2013-0002611 Add Start
	/**
	 * サービス契約内訳＜eo光電話＞の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0191A010Map(SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		
		ArrayList kk0161List = null;
		// サービス契約内訳一覧照会マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161B_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size()) 
		{
			return null;
		}
		
		HashMap kk0191Map = new HashMap();
		ArrayList kk0191List = null;
		ArrayList kk0191GetList = null;
		HashMap kk0191GetMap = null;
		
		for(int i = 0; i < kk0161List.size(); i++)
		{
			// kk0161_map.サービス契約内訳番号をi番目を設定
			HashMap kk0161childMap = (HashMap)kk0161List.get(i);
			
			// 2013/9/30 OM-2013-0002611 Add Start
			HashMap kk1681B_0161_map = getKK1681BMap_Svckeiucwk2(handle, param, kk0161childMap, fixedText);
			
			if(null != kk1681B_0161_map && null != kk1681B_0161_map.get("EKK1681B001CBSMsg1List"))
			{
				ArrayList kk1681B_list = (ArrayList)kk1681B_0161_map.get("EKK1681B001CBSMsg1List");
				
				if(null != kk1681B_list && kk1681B_list.size() > 0)
				{
					continue;
				}
			}
			// 2013/9/30 OM-2013-0002611 Add End
			
			/* ◇上りマッピング処理 */
			// 上りマッピングの処理結果を取得するためのマップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();
			
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = tchisho_mapper.editInMsgKK0191A(param, childMap, kk0161childMap);

			/* ◇ＳＣ呼出実行 */
			// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			Map<?, ?> result = scCall.run(paramMap, handle);

			/* ◇下りマッピング処理 */
			HashMap<String, Object> kk0191_map = new HashMap<String, Object>();
			kk0191_map =  tchisho_mapper.editResultRPKK0191A(result, param, fixedText);
			
			if(null != kk0191_map && null != kk0191_map.get("EKK0191A010CBSMsg1List"))
			{
				kk0191GetList = (ArrayList)kk0191_map.get("EKK0191A010CBSMsg1List");
				
				if(null != kk0191GetList && kk0191GetList.size() > 0)
				{
					kk0191GetMap = (HashMap)kk0191GetList.get(0);
					
					if(null == kk0191List)
					{
						kk0191List = new ArrayList();
					}
					kk0191List.add(kk0191GetMap);
				}
			}
		}
		kk0191Map.put("EKK0191B001CBSMsg1List", kk0191List);
		
		// 2013/11/19 OM-2013-0003310 Add Start
		//ＶＡポート番号設定用の内部ワークを作成する（サービス契約内訳番号、継続元サービス契約内訳番号、電話番号順、ＶＡポート番号）
		HashMap wHashMap = new HashMap();
		ArrayList kk0191_ArrayList = (ArrayList)kk0191Map.get("EKK0191B001CBSMsg1List");

		if(null != kk0191_ArrayList && kk0191_ArrayList.size() > 0)
		{
			for(int i = 0; i < kk0161List.size(); i++)
			{
				ArrayList<String> wHashList = new ArrayList<String>();
				HashMap kk0161childMap = (HashMap)kk0161List.get(i);
				String kk0161SvcKeiUcwkNo = (String)kk0161childMap.get("svc_kei_ucwk_no");
				wHashList.add(kk0161SvcKeiUcwkNo);
				wHashList.add((String)kk0161childMap.get("keizk_mt_svc_kei_ucwk_no"));

				for (int j = 0; j < kk0191_ArrayList.size(); j++)
				{
					Map kk0191_map = (Map)kk0191_ArrayList.get(j);
					String svcKeiUcwkNo = (String)kk0191_map.get("svc_kei_ucwk_no");

					// サービス契約内内訳番号が一致
					if (kk0161SvcKeiUcwkNo.equals(svcKeiUcwkNo))
					{
						wHashList.add((String)kk0191_map.get("telno_jun"));
						wHashList.add((String)kk0191_map.get("va_port_no"));
						break;
					}
				}
				
				// サービス契約内訳（ｅｏ光）が取得できなかった場合の処理
				if (wHashList.size() == 2)
				{
					wHashList.add("");
					wHashList.add("");
				}
				
				// ハッシュマップに格納
				wHashMap.put(i, wHashList);
			}
		}
		
		// サービス契約内訳＜eo光電話＞のＶＡポート番号を再設定
		if(null != kk0191_ArrayList && kk0191_ArrayList.size() > 0)
		{
			kk0191Map = this.setVaPortNo(kk0191Map, wHashMap);
		}
		// 2013/11/19 OM-2013-0003310 Add End

		return kk0191Map;

	}
	// 2013/9/27 OM-2013-0002611 Add End
	
	/**
	 * サービス契約内訳＜eo光電話＞の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0191AMap(SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		
		ArrayList kk0161List = null;
		// サービス契約内訳一覧照会マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161B_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size()) 
		{
			return null;
		}
		
		// kk0161_map.サービス契約内訳番号を１番目を設定
		HashMap kk0161childMap = (HashMap)kk0161List.get(0);

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0191A(param, childMap, kk0161childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0191_map = new HashMap<String, Object>();
		kk0191_map =  tchisho_mapper.editResultRPKK0191A(result, param, fixedText);

		return kk0191_map;

	}
	
	/**
	 * 業務パラメータ管理一意照会の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private ArrayList getZM0321MapList(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		// 業務パラメータ管理一意結果マップリスト
		ArrayList zm0321List = new ArrayList();
		ArrayList zm0321ResultList = new ArrayList();
		
		zm0321List.add(JKKTchishoMapperCC.IEEE802_SSID);
		zm0321List.add(JKKTchishoMapperCC.WPA2_AES_SSID);
		zm0321List.add(JKKTchishoMapperCC.WEP_SSID);
		zm0321List.add(JKKTchishoMapperCC.WEP_KEY);
		zm0321List.add(JKKTchishoMapperCC.FTP_SERVER);
		zm0321List.add(JKKTchishoMapperCC.POP_SERVER);
		zm0321List.add(JKKTchishoMapperCC.SMTP_SERVER);
		
		// 2014/07/22 ANK-2135-00-00 Add Start
		zm0321List.add(JKKTchishoMapperCC.STAR_CHANNEL);
		// 2014/07/22 ANK-2135-00-00 Add End
		
		for (int i = 0; i < zm0321List.size(); i++) 
		{
			
			// 業務パラメータIDの取得
			String workParamId = (String)zm0321List.get(i);
			
			/* ◇上りマッピング処理 */
			// 上りマッピングの処理結果を取得するためのマップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();
			
			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = tchisho_mapper.editInMsgZM0321(param, childMap, workParamId);
			
			/* ◇ＳＣ呼出実行 */
			// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			Map<?, ?> result = scCall.run(paramMap, handle);
		
			/* ◇下りマッピング処理 */
			HashMap<String, Object> zm0321map = new HashMap<String, Object>();
			zm0321map = tchisho_mapper.editResultRPZM0321(result, param, fixedText);
			
			// 結果が存在する場合
			if (zm0321map != null && zm0321map.containsKey("EZM0321A010CBSMsg1List")) 
			{
				List<HashMap<String, Object>> zm0321_list = 
					(List<HashMap<String, Object>>)zm0321map.get("EZM0321A010CBSMsg1List");
				
				if (null != zm0321_list && !zm0321_list.isEmpty())
				{
					HashMap<String, Object> zm0321ChildMap = zm0321_list.get(0);
					// 一意照会結果マップをリストに追加
					zm0321ResultList.add(zm0321ChildMap);
				}
			}
		}

		return zm0321ResultList;

	}
	
//	/**
//	 * 通知対象物一覧照会の取得処理。<br>
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param (I) 業務データ取得用I/F
//	 * @param childMap (I) ユーザデータ情報
//	 * @param fixedText (I) ユーザ定義文字列
//	 * @param workMap (I) 作業用マップ
//	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
//	 * @throws Throwable 
//	 * @exception Exceptionがスローされます。
//	 */
//	@SuppressWarnings("unchecked")
//	private ArrayList getKK0571MapList(SessionHandle handle, IRequestParameterReadWrite param, 
//			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
//	{
//		// 通知対象物一覧照会結果マップリスト
//		ArrayList kk0571MapList = new ArrayList();
//		
//		ArrayList kk0561List = null;
//		// 通知書一覧照会（SYSID)マップの取り出し
//		HashMap<String, Object> kk0561B_map = (HashMap)workMap.get("kk0561B_map");
//
//		// 明細の取り出し
//		kk0561List = (ArrayList)kk0561B_map.get("EKK0561B002CBSMsg1List");
//		
//		if (kk0561List == null || 0 == kk0561List.size()) 
//		{
//			return kk0571MapList;
//		}
//		
//		// kk0561_map.通知書番号分繰返し
//		for (int i = 0; i < kk0561List.size(); i++) 
//		{
//			
//			// 明細の取り出し
//			HashMap kk0561childMap = (HashMap)kk0561List.get(i);
//			
//			// 通知書ステータスの取得
//			String tchisho_stat = "";
//			if (kk0561childMap == null || kk0561childMap.get("tchisho_stat") == null || "".equals(kk0561childMap.get("tchisho_stat"))) 
//			{
//				tchisho_stat = "";
//			} 
//			else 
//			{
//				tchisho_stat = (String)kk0561childMap.get("tchisho_stat");
//			}
//			
//			// ステータス判定
//			if (TCHISHO_STAT_UKE.equals(tchisho_stat)) 
//			{
//				/* ◇上りマッピング処理 */
//				// 上りマッピングの処理結果を取得するためのマップを生成
//				HashMap<String, Object> paramMap = new HashMap<String, Object>();
//				
//				// リクエストパラメータを引数に上りマッピング処理メソッドを実行
//				paramMap = tchisho_mapper.editInMsgKK0571B(param, childMap, kk0561childMap);
//				
//				/* ◇ＳＣ呼出実行 */
//				// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
//				ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//				Map<?, ?> result = scCall.run(paramMap, handle);
//				
//				/* ◇下りマッピング処理 */
//				HashMap<String, Object> kk0571B_map = new HashMap<String, Object>();
//				kk0571B_map = tchisho_mapper.editResultRPKK0571B(result, param, fixedText);
//				
//				// 結果が存在する場合
//				if (kk0571B_map != null) 
//				{
//					// 一覧照会結果マップをリストに追加
//					kk0571MapList.add(kk0571B_map);
//				}
//			}
//		}
//
//		return kk0571MapList;
//
//	}	
	
	/**
	 * 通知書一意照会の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0561AMap(
			SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561A(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0561A_map = new HashMap<String, Object>();
		kk0561A_map = tchisho_mapper.editResultRPKK0561A(result, param, fixedText);

		return kk0561A_map;

	}	
	
	// 2013/9/20 OM-2013-0001760 Add Start
	/**
	 * 住所変更明細存在チェック一覧照会の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK2101B003Map(
			SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK2101B003(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk2101B003_map = new HashMap<String, Object>();
		kk2101B003_map = tchisho_mapper.editResultRPKK2101B003(result, param, fixedText);
		
		return kk2101B003_map;
	}
	
	/**
	 * 住所変更明細一覧照会の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param adchgDtlSbtCd 住所変更明細種別コード
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
// 2013.11.20 OM-2013-0004009 mod 引数追加 住所変更明細種別コード
	private HashMap<String, Object> getKK2101B001Map(
			SessionHandle handle, IRequestParameterReadWrite param, String adChgNo, 
			String fixedText, String adchgDtlSbtCd) throws Throwable
//			String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
// 2013.11.20 OM-2013-0004009 mod start
//		paramMap = tchisho_mapper.editInMsgKK2101B001(param, adChgNo);
		paramMap = tchisho_mapper.editInMsgKK2101B001(param, adChgNo, adchgDtlSbtCd);
// 2013.11.20 OM-2013-0004009 mod end
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk2101B001_map = new HashMap<String, Object>();
		kk2101B001_map = tchisho_mapper.editResultRPKK2101B001(result, param, fixedText);
		
		return kk2101B001_map;
	}
	// 2013/9/20 OM-2013-0001760 Add End
	
	/**
	 * 通知書登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite executeTchisho(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap, String syoriKbn) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		// 通知書コード判定
		String tchishoCd = null;
		String mskmDtlNo = null;
		HashMap<String, Object> kk0081A_map = (HashMap<String, Object>)workMap.get("kk0081A_map");
		if (null != kk0081A_map && kk0081A_map.containsKey("EKK0081A010CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0081A_MapList = 
				(List<HashMap<String, Object>>)kk0081A_map.get("EKK0081A010CBSMsg1List");
			
			if (null != kk0081A_MapList && !kk0081A_MapList.isEmpty())
			{
				HashMap<String, Object> kk0081A_childMap = kk0081A_MapList.get(0);
				
				if (null != kk0081A_childMap)
				{
					tchishoCd = getTchishoType(handle, inParam, kk0081A_childMap, fixedText);
					mskmDtlNo = (String)kk0081A_childMap.get("mskm_dtl_no");
				}
			}
		}
		childMap.put("tchisho_cd", tchishoCd);
		
		// 申込明細番号はサービス契約一意照会結果から設定する
		// 20130423 IT1-2013-0000992 Add Start
		if((null == childMap.get("mskm_dtl_no") || "".equals(childMap.get("mskm_dtl_no"))) 
				&& (null != mskmDtlNo && !("".equals(mskmDtlNo))))
		{
			childMap.put("mskm_dtl_no", mskmDtlNo);
		}
		// 20130423 IT1-2013-0000992 Add End
		// 20130423 IT1-2013-0000992 Delete Start
//		childMap.put("mskm_dtl_no", mskmDtlNo);
		// 20130423 IT1-2013-0000992 Delete End
		
		HashMap<String, String> userIdMap = getZM0051AMap(handle, param, childMap ,fixedText);
		if(null == userIdMap || null == userIdMap.get("user_id") || "".equals(userIdMap.get("user_id")))
		{
			childMap.put("tchisho_add_user_id", "");
		}
		else
		{
			childMap.put("tchisho_add_user_id", userIdMap.get("user_id"));
		}
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561D(param, childMap, fixedText, workMap, syoriKbn);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
	
	/**
	 * 通知書登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param childList ユーザデータ情報リスト
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeAdChgTchishoForSet(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> workMap, List<HashMap<String, Object>> childList, String syoriKbn) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561DForAdChg(param, fixedText, workMap, childList, syoriKbn);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
	
	/**
	 * 通知書登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeAdChgTchisho(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap, String syoriKbn) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		HashMap<String, String> userIdMap = getZM0051AMap(handle, param, childMap ,fixedText);
		if(null == userIdMap)
		{
			childMap.put("tchisho_add_user_id", "");
		}
		else
		{
			childMap.put("tchisho_add_user_id", userIdMap.get("user_id"));
		}
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561D(param, childMap, fixedText, workMap, syoriKbn);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
	
	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * 通知書登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> executeAdOpEKK0561D010(SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgEKK0561D010(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		resultMap = editResultRPEKK0561D010(result, param, childMap);
		
		return resultMap;
	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * 通知書発行呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> executeAdOpEKK0561C010(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> childMap, HashMap<String, Object> workMap) 
			throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgEKK0561C010(param, childMap, workMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		resultMap = editResultRPEKK0561C010(result, param, childMap);
		
		return resultMap;
	}
	// ▲▲▲v4.02 Add End▲▲▲

	// ▼▼▼v4.02 Add Start▼▼▼
	/**
	 * 通知書内訳登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> executeAdOpEKK1061D010(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> childMap, HashMap<String, Object> workMap) 
			throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgEKK1061D010(param, childMap, workMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		resultMap = editResultRPEKK1061D010(result, param, childMap);
		
		return resultMap;
	}
	// ▲▲▲v4.02 Add End▲▲▲

	/**
	 * 通知書発行呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeTchishoHakko(
			SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561C010(param, fixedText);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561C010(result, param, fixedText);
		
		return inParam;
	}
	
	/**
	 * 通知対象物登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeTchiTaisho(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		IRequestParameterReadWrite inParam = param;
		// ■通知対象物登録
		inParam = addKK0571D(handle, param, childMap, fixedText, workMap);

		return inParam;
	}
	
	
	/**
	 * 通知対象物登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite addKK0571D(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		IRequestParameterReadWrite inParam = param;
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0571D(param, childMap, fixedText, workMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0571D(result, param, fixedText, workMap);

		return inParam;
	}
	
	/**
	 * 通知書内訳登録呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMapList (I) 作業用マップリスト
	 * @param cnt (I) 実行件数
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite addKK1061D(SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, List<HashMap<String, Object>> workMapList, int cnt) throws Throwable
	{
		
		IRequestParameterReadWrite inParam = param;
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK1061D(param, fixedText, workMapList);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK1061D(result, param, fixedText, cnt);

		return inParam;
	}
	
	/**
	 * 通知書取消呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeTchishoCL(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561C(param, childMap, fixedText, workMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561C(result, param, fixedText);
		
		return inParam;
	}		
	
	/**
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする<br>
	 * <br>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException 
	{
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;
		int templateStatus = template.getInt(EKK0561D010CBSMsg.STATUS);
		if (returnCode != 0) 
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null) 
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null) 
		{
			bpStatus = -1;
		} 
		else 
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus) 
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;
		ArrayList inList = null;
		
		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null) 
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// 通知書登録マップ.ＳＹＳＩＤ → ＳＹＳＩＤ のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.SYSID_ERR)) 
		{
			if (!inMap.containsKey("sysid_err")) 
			{
				inMap.put("sysid_err", template.getString(EKK0561D010CBSMsg.SYSID_ERR));
			}
		}
		// 通知書登録マップ.通知書発行コード → 通知書発行コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD_ERR)) 
		{
			if (!inMap.containsKey("tchisho_hakko_cd_err")) 
			{
				inMap.put("tchisho_hakko_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_HAKKO_CD_ERR));
			}
		}
		// 通知書登録マップ.配送番号 → 配送番号 のエラー情報返却
//		if (!template.isNull(EKK0561D010CBSMsg.HAISO_NO_ERR)) 
//		{
//			if (!inMap.containsKey("haiso_no_err")) 
//			{
//				inMap.put("haiso_no_err", template.getString(EKK0561D010CBSMsg.HAISO_NO_ERR));
//			}
//		}
		// 通知書登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.MSKM_DTL_NO_ERR)) 
		{
			if (!inMap.containsKey("mskm_dtl_no_err")) 
			{
				inMap.put("mskm_dtl_no_err", template.getString(EKK0561D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// 通知書登録マップ.申込書番号 → 申込書番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.MSKMSHO_NO_ERR)) 
		{
			if (!inMap.containsKey("mskmsho_no_err")) 
			{
				inMap.put("mskmsho_no_err", template.getString(EKK0561D010CBSMsg.MSKMSHO_NO_ERR));
			}
		}
		// 通知書登録マップ.工事案件番号 → 工事案件番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.KOJIAK_NO_ERR)) 
		{
			if (!inMap.containsKey("kojiak_no_err")) 
			{
				inMap.put("kojiak_no_err", template.getString(EKK0561D010CBSMsg.KOJIAK_NO_ERR));
			}
		}
		// 通知書登録マップ.通知書コード → 通知書コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_CD_ERR)) 
		{
			if (!inMap.containsKey("tchisho_cd_err")) 
			{
				inMap.put("tchisho_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_CD_ERR));
			}
		}
		// 通知書登録マップ.通知書登録ユーザーＩＤ → 通知書登録ユーザーＩＤ のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID_ERR)) 
		{
			if (!inMap.containsKey("tchisho_add_user_id_err")) 
			{
				inMap.put("tchisho_add_user_id_err", template.getString(EKK0561D010CBSMsg.TCHISHO_ADD_USER_ID_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先名 → 通知書送付先名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_nm_err")) 
			{
				inMap.put("tchisho_sohus_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先コード → 通知書送付先コード のエラー情報返却
//		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SHS_CD_ERR)) 
//		{
//			if (!inMap.containsKey("tchisho_shs_cd_err")) 
//			{
//				inMap.put("tchisho_shs_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SHS_CD_ERR));
//			}
//		}
		// 通知書登録マップ.通知書送付先住所コード → 通知書送付先住所コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_ad_cd_err")) 
			{
				inMap.put("tchisho_sohus_ad_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_AD_CD_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先郵便番号 → 通知書送付先郵便番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_pcd_err")) 
			{
				inMap.put("tchisho_sohus_pcd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_PCD_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先都道府県名 → 通知書送付先都道府県名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_state_nm_err")) 
			{
				inMap.put("tchisho_sohus_state_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_STATE_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先市区町村名 → 通知書送付先市区町村名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_city_nm_err")) 
			{
				inMap.put("tchisho_sohus_city_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_CITY_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先大字通称名 → 通知書送付先大字通称名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_oaztsu_nm_err")) 
			{
				inMap.put("tchisho_sohus_oaztsu_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_OAZTSU_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先字丁目名 → 通知書送付先字丁目名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_azcho_nm_err")) 
			{
				inMap.put("tchisho_sohus_azcho_nm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_AZCHO_NM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先番地号 → 通知書送付先番地号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_bnchigo_err")) 
			{
				inMap.put("tchisho_sohus_bnchigo_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_BNCHIGO_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先住所補記・建物名 → 通知書送付先住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_adrttm_err")) 
			{
				inMap.put("tchisho_sohus_adrttm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRTTM_ERR));
			}
		}
		// 通知書登録マップ.通知書送付先住所補記・部屋番号 → 通知書送付先住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM_ERR)) 
		{
			if (!inMap.containsKey("tchisho_sohus_adrrm_err")) 
			{
				inMap.put("tchisho_sohus_adrrm_err", template.getString(EKK0561D010CBSMsg.TCHISHO_SOHUS_ADRRM_ERR));
			}
		}
		// 通知書登録マップ.通知書印刷実施先コード → 通知書印刷実施先コード のエラー情報返却
		if (!template.isNull(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD_ERR)) 
		{
			if (!inMap.containsKey("tchisho_print_jssi_sk_cd_err")) 
			{
				inMap.put("tchisho_print_jssi_sk_cd_err", template.getString(EKK0561D010CBSMsg.TCHISHO_PRINT_JSSI_SK_CD_ERR));
			}
		}
		inList = (ArrayList)inMap.get("EKK0561D010CBSMsg1List");
		if (inList == null) 
		{
			inList = new ArrayList();
			inMap.put("EKK0561D010CBSMsg1List", inList);
		}

		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST);

		if (templateArray != null) 
		{
			for (int i = 0; i < templateArray.length; i++) 
			{
				if (i >= inList.size()) 
				{
					inList.add(new HashMap());
				}
			
				HashMap childMap = (HashMap)inList.get(i);
				CAANMsg childTemplate = templateArray[i];

				// 通知書登録マップ.通知対象物明細.サービス契約番号 → 通知対象物明細.サービス契約番号 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.SVC_KEI_NO_ERR)) 
				{
					if (!childMap.containsKey("svc_kei_no_err")) 
					{
						childMap.put("svc_kei_no_err", childTemplate.getString(EKK0561D010CBSMsg1List.SVC_KEI_NO_ERR));
					}
				}
				// 通知書登録マップ.通知対象物明細.通知対象物適用開始年月日 → 通知対象物明細.通知対象物適用開始年月日 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD_ERR)) 
				{
					if (!childMap.containsKey("tchi_tg_bpin_tstaymd_err")) 
					{
						childMap.put("tchi_tg_bpin_tstaymd_err", childTemplate.getString(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TSTAYMD_ERR));
					}
				}
				// 通知書登録マップ.通知対象物明細.通知対象物適用終了年月日 → 通知対象物明細.通知対象物適用終了年月日 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD_ERR)) 
				{
					if (!childMap.containsKey("tchi_tg_bpin_tendymd_err")) 
					{
						childMap.put("tchi_tg_bpin_tendymd_err", childTemplate.getString(EKK0561D010CBSMsg1List.TCHI_TG_BPIN_TENDYMD_ERR));
					}
				}
			}
		}
		if (!template.isNull(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST_ERR)) 
		{
			if (!inMap.containsKey("EKK0561D010CBSMsg1List_err")) 
			{
				inMap.put("EKK0561D010CBSMsg1List_err", template.getString(EKK0561D010CBSMsg.EKK0561D010CBSMSG1LIST_ERR));
			}
		}
		inList = (ArrayList)inMap.get("EKK0561D010CBSMsg2List");
		if (inList == null) 
		{
			inList = new ArrayList();
			inMap.put("EKK0561D010CBSMsg2List", inList);
		}

//		templateArray = template.getCAANMsgList(EKK0561D010CBSMsg.EKK0561D010CBSMSG2LIST);

		if (templateArray != null) 
		{
			for (int i = 0; i < templateArray.length; i++) 
			{
				if (i >= inList.size()) 
				{
					inList.add(new HashMap());
				}
			
				HashMap childMap = (HashMap)inList.get(i);
				CAANMsg childTemplate = templateArray[i];

				// 通知書登録マップ.通知書内訳明細.メールアドレス → 通知書内訳明細.メールアドレス のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.MLAD_ERR)) 
				{
					if (!childMap.containsKey("mlad_err")) 
					{
						childMap.put("mlad_err", childTemplate.getString(EKK0561D010CBSMsg2List.MLAD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＰＯＰＩＤ → 通知書内訳明細.ＰＯＰＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.POP_ID_ERR)) 
				{
					if (!childMap.containsKey("pop_id_err")) 
					{
						childMap.put("pop_id_err", childTemplate.getString(EKK0561D010CBSMsg2List.POP_ID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＰＯＰＩＤパスワード → 通知書内訳明細.ＰＯＰＩＤパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.POP_ID_PWD_ERR)) 
				{
					if (!childMap.containsKey("pop_id_pwd_err")) 
					{
						childMap.put("pop_id_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.POP_ID_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＷｅｂＩＤ → 通知書内訳明細.ＷｅｂＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.WEB_ID_ERR)) 
				{
					if (!childMap.containsKey("web_id_err")) 
					{
						childMap.put("web_id_err", childTemplate.getString(EKK0561D010CBSMsg2List.WEB_ID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＷｅｂＩＤパスワード → 通知書内訳明細.ＷｅｂＩＤパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.WEB_ID_PWD_ERR)) 
				{
					if (!childMap.containsKey("web_id_pwd_err")) 
					{
						childMap.put("web_id_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.WEB_ID_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ → 通知書内訳明細.ＩＥＥＥ８０２．１Ｘ用ＳＳＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.IEEE802_1X_SSID_ERR)) 
				{
					if (!childMap.containsKey("ieee802_1x_ssid_err")) 
					{
						childMap.put("ieee802_1x_ssid_err", childTemplate.getString(EKK0561D010CBSMsg2List.IEEE802_1X_SSID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ → 通知書内訳明細.ＷＰＡ２／ＡＥＳ用ＳＳＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.WPA2_AES_SSID_ERR)) 
				{
					if (!childMap.containsKey("wpa2_aes_ssid_err")) 
					{
						childMap.put("wpa2_aes_ssid_err", childTemplate.getString(EKK0561D010CBSMsg2List.WPA2_AES_SSID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＷＥＰ用ＳＳＩＤ → 通知書内訳明細.ＷＥＰ用ＳＳＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.WEP_SSID_ERR)) 
				{
					if (!childMap.containsKey("wep_ssid_err")) 
					{
						childMap.put("wep_ssid_err", childTemplate.getString(EKK0561D010CBSMsg2List.WEP_SSID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＷＥＰキー → 通知書内訳明細.ＷＥＰキー のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.WEP_KEY_ERR)) 
				{
					if (!childMap.containsKey("wep_key_err")) 
					{
						childMap.put("wep_key_err", childTemplate.getString(EKK0561D010CBSMsg2List.WEP_KEY_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.認証ＩＤ → 通知書内訳明細.認証ＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.NINSHO_ID_ERR)) 
				{
					if (!childMap.containsKey("ninsho_id_err")) 
					{
						childMap.put("ninsho_id_err", childTemplate.getString(EKK0561D010CBSMsg2List.NINSHO_ID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.認証ＩＤパスワード → 通知書内訳明細.認証ＩＤパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.NINSHO_ID_PWD_ERR)) 
				{
					if (!childMap.containsKey("ninsho_id_pwd_err")) 
					{
						childMap.put("ninsho_id_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.NINSHO_ID_PWD_ERR));
					}
				}
				// 通知書内訳明細.電話オプション設定用リモート操作用パスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.TEL_OP_SETTE_RMTS_PWD_ERR)) 
				{
					if (!childMap.containsKey("tel_op_sette_rmts_pwd_err")) 
					{
						childMap.put("tel_op_sette_rmts_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.TEL_OP_SETTE_RMTS_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.初期ｅｏＩＤ → 通知書内訳明細.初期ｅｏＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.SHK_EOID_ERR)) 
				{
					if (!childMap.containsKey("shk_eoid_err"))
					{
						childMap.put("shk_eoid_err", childTemplate.getString(EKK0561D010CBSMsg2List.SHK_EOID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.初期ｅｏＩＤパスワード → 通知書内訳明細.初期ｅｏＩＤパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.SHK_EOID_PWD_ERR)) 
				{
					if (!childMap.containsKey("shk_eoid_pwd_err")) 
					{
						childMap.put("shk_eoid_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.SHK_EOID_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.家族入会コード → 通知書内訳明細.家族入会コード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_ERR)) 
				{
					if (!childMap.containsKey("family_join_cd_err")) 
					{
						childMap.put("family_join_cd_err", childTemplate.getString(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.家族入会コードパスワード → 通知書内訳明細.家族入会コードパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_PWD_ERR)) 
				{
					if (!childMap.containsKey("family_join_cd_pwd_err")) 
					{
						childMap.put("family_join_cd_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.FAMILY_JOIN_CD_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＩＳＰ認証ＩＤ → 通知書内訳明細.ＩＳＰ認証ＩＤ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_ERR)) 
				{
					if (!childMap.containsKey("isp_ninsho_id_err")) 
					{
						childMap.put("isp_ninsho_id_err", childTemplate.getString(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ＩＳＰ認証ＩＤパスワード → 通知書内訳明細.ＩＳＰ認証ＩＤパスワード のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_PWD_ERR)) 
				{
					if (!childMap.containsKey("isp_ninsho_id_pwd_err")) 
					{
						childMap.put("isp_ninsho_id_pwd_err", childTemplate.getString(EKK0561D010CBSMsg2List.ISP_NINSHO_ID_PWD_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.プライマリーＤＮＳ → 通知書内訳明細.プライマリーＤＮＳ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.PRIMA_DNS_ERR)) 
				{
					if (!childMap.containsKey("prima_dns_err")) 
					{
						childMap.put("prima_dns_err", childTemplate.getString(EKK0561D010CBSMsg2List.PRIMA_DNS_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.セカンダリーＤＮＳ → 通知書内訳明細.セカンダリーＤＮＳ のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.SECON_DNS_ERR)) 
				{
					if (!childMap.containsKey("secon_dns_err")) 
					{
						childMap.put("secon_dns_err", childTemplate.getString(EKK0561D010CBSMsg2List.SECON_DNS_ERR));
					}
				}
				// 通知書登録マップ.通知書内訳明細.ｅｏ６４アクセス番号 → 通知書内訳明細.ｅｏ６４アクセス番号 のエラー情報返却
				if (!childTemplate.isNull(EKK0561D010CBSMsg2List.EO64_ACCSS_NO_ERR)) 
				{
					if (!childMap.containsKey("eo64_accss_no_err")) 
					{
						childMap.put("eo64_accss_no_err", childTemplate.getString(EKK0561D010CBSMsg2List.EO64_ACCSS_NO_ERR));
					}
				}
			}
		}
//		if (!template.isNull(EKK0561D010CBSMsg.EKK0561D010CBSMSG2LIST_ERR)) 
//		{
//			if (!inMap.containsKey("EKK0561D010CBSMsg2List_err")) 
//			{
//				inMap.put("EKK0561D010CBSMsg2List_err", template.getString(EKK0561D010CBSMsg.EKK0561D010CBSMSG2LIST_ERR));
//			}
//		}
		return param;
	}
	

	/**
	 * セット申込判定処理。<br>
	 * <br>
	 * @param workMap (I) 業務データ取得用I/F
	 * @return True:セット申込
	 */
	@SuppressWarnings("unchecked")
	private boolean checkSetMsk(HashMap<String, Object> workMap)
	{
		
		// サービス契約情報作業マップの取り出し
		HashMap<String, Object> kk0081_map = (HashMap)workMap.get("kk0081B_map");
		
		if (kk0081_map == null) 
		{
			return false;
		}
		
		ArrayList kk0081List = null;

		kk0081List = (ArrayList)kk0081_map.get("EKK0081B011CBSMSG1LIST");
		
		if (kk0081List == null) 
		{
			return false;
		}

		// kk0081_map.サービス契約番号分繰返し
		for (int i = 0; i < kk0081List.size(); i++) 
		{
			// 明細Mapの取り出し
			HashMap kk0081childMap = (HashMap)kk0081List.get(i);
		
			// 通知書ステータスの取得
			String svc_kei_stat = "";
			if (kk0081childMap == null || kk0081childMap.get("svc_kei_stat") == null || "".equals(kk0081childMap.get("svc_kei_stat"))) 
			{
				svc_kei_stat = "";
			} 
			else 
			{
				svc_kei_stat = (String)kk0081childMap.get("svc_kei_stat");
			}
			
			// ステータス判定
			if (!"".equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_UKE.equals(svc_kei_stat) 
					&& !JKKTchishoMapperCC.SVC_KEI_STAT_KAI.equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_CSL.equals(svc_kei_stat)) 
			{
				// 同一利用場所サービス契約一覧照会明細が複数存在する場合
				return true;
			}

		}

		return false;
		
	}
	
	/**
	 * 通知書存在判定処理。<br>
	 * <br>
	 * @param workMap (I) 業務データ取得用I/F
	 * @return True:存在する
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private boolean checkTchishoUM(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, HashMap<String, Object> workMap, String fixedText) throws Throwable
	{
		
		ArrayList kk0561List = null;
		// 通知書一覧照会（SYSID)マップの取り出し
		HashMap<String, Object> kk0561_map = (HashMap)workMap.get("kk0561_map");
		
		// ▼▼▼ ST2-2013-0000261 Add Start ▼▼▼
		if(null == kk0561_map || null == kk0561_map.get("EKK0561B002CBSMsg1List"))
		{
			return false;
		}
		// サービス契約情報の取得（同一利用場所）マップの取り出し
		HashMap<String, Object> kk0081B_map = (HashMap)workMap.get("kk0081B_map");
		if(null == kk0081B_map || null == kk0081B_map.get("EKK0081B011CBSMSG1LIST"))
		{
			return false;
		}
		 ArrayList kk0081List = (ArrayList)kk0081B_map.get("EKK0081B011CBSMSG1LIST");
		// ▲▲▲ ST2-2013-0000261 Add End   ▲▲▲

		// 明細の取り出し
		kk0561List = (ArrayList)kk0561_map.get("EKK0561B002CBSMsg1List");
		
		if (kk0561List == null || 0 == kk0561List.size()) 
		{
			return false;
		}
		
		// kk0561_map.通知書番号分繰返し
		for (int i = 0; i < kk0561List.size(); i++) 
		{
			// 明細Mapの取り出し
			HashMap kk0561childMap = (HashMap)kk0561List.get(i);
		
			// 通知書ステータスの取得
			String tchisho_stat = "";
			if (kk0561childMap == null || kk0561childMap.get("tchisho_stat") == null || "".equals(kk0561childMap.get("tchisho_stat"))) 
			{
				tchisho_stat = "";
			} 
			else 
			{
				tchisho_stat = (String)kk0561childMap.get("tchisho_stat");
			}
			
// v13.00 ADD START
			// 通知書コードの取得
			String tchisho_hakko_cd = "";
			if (kk0561childMap == null || kk0561childMap.get("tchisho_hakko_cd") == null || "".equals(kk0561childMap.get("tchisho_hakko_cd")))
			{
				tchisho_hakko_cd = "";
			}
			else 
			{
				tchisho_hakko_cd = (String)kk0561childMap.get("tchisho_hakko_cd");
			}
// v13.00 ADD END
// v13.00 MOD START
			// ステータス判定
			//if (JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(tchisho_stat)) 
			if (JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(tchisho_stat) && !JKKTchishoMapperCC.TCHISHO_HAKKO_CD_SOUSINTAISYOUGAI.equals(tchisho_hakko_cd))
// v13.00 MOD END
			{
				// ▼▼▼ ST2-2013-0000261 Delete Start ▼▼▼
//				if (kk0561childMap != null && kk0561childMap.get("tchisho_no") != null && !"".equals(kk0561childMap.get("tchisho_no"))) 
//				{
//					// 作業用マップに退避
//					workMap.put("tchisho_no", (String)kk0561childMap.get("tchisho_no"));
//					
//					// 更新年月日時分秒
//					workMap.put("upd_dtm", (String)kk0561childMap.get("upd_dtm"));
//					
//					return true;
//				}
				// ▲▲▲ ST2-2013-0000261 Delete End   ▲▲▲
				// ▼▼▼ ST2-2013-0000261 Add Start ▼▼▼
				// 通知書番号の取得
				String tchisho_no = (String)kk0561childMap.get("tchisho_no");
				String tchisho_upd_dtm = (String)kk0561childMap.get("upd_dtm");
				
				// 通知対象物一覧照会
				HashMap kk0571_map = getKK0571Map(handle, param, tchisho_no, fixedText);
				
				String svcKeiNo = (String)childMap.get("svc_kei_no");
				
				if(null != kk0571_map && null != kk0571_map.get("EKK0571B001CBSMsg1List"))
				{
					ArrayList<HashMap<String, Object>> kk0571_list = 
						(ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
					
					HashMap<String, Object>kk0571_childMap = null;
					
					for(int j = 0; j < kk0571_list.size();j++)
					{
						kk0571_childMap = kk0571_list.get(j);
						if(null != kk0571_childMap.get("svc_kei_no") && !("".equals(kk0571_childMap.get("svc_kei_no"))))
						{
							if(svcKeiNo.equals(kk0571_childMap.get("svc_kei_no")))
							{
								workMap.put("torokuzumi_flg", "1");
								
								// IT1-2013-0001174 Add Start
								workMap.put("kk0561_subMap", kk0561childMap);
								
								workMap.put("kk0571_subMap", kk0571_childMap);
								// IT1-2013-0001174 Add End
								
								return false;
							}
						}
					}
					for(int j = 0; j < kk0571_list.size();j++)
					{
						kk0571_childMap = kk0571_list.get(j);
						if(null != kk0571_childMap.get("svc_kei_no") && !("".equals(kk0571_childMap.get("svc_kei_no"))))
						{
							// kk0081_map.サービス契約番号分繰返し
							for (int k = 0; k < kk0081List.size(); k++) 
							{
								// 明細Mapの取り出し
								HashMap kk0081childMap = (HashMap)kk0081List.get(k);
							
								// サービス契約番号の取得
								String svc_kei_no = "";
								if (kk0081childMap == null || kk0081childMap.get("svc_kei_no") == null || "".equals(kk0081childMap.get("svc_kei_no"))) 
								{
									continue;
								} 
								else 
								{
									svc_kei_no = (String)kk0081childMap.get("svc_kei_no");
								}
								
								if(svc_kei_no.equals(svcKeiNo) || !(svc_kei_no.equals(kk0571_childMap.get("svc_kei_no"))))
								{
									continue;
								}
								
								// サービス契約ステータスの取得
								String svc_kei_stat = "";
								if (kk0081childMap == null || kk0081childMap.get("svc_kei_stat") == null || "".equals(kk0081childMap.get("svc_kei_stat"))) 
								{
									continue;
								} 
								else 
								{
									svc_kei_stat = (String)kk0081childMap.get("svc_kei_stat");
								}
								
								// ステータス判定
								if (!"".equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_UKE.equals(svc_kei_stat) 
										&& !JKKTchishoMapperCC.SVC_KEI_STAT_KAI.equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_CSL.equals(svc_kei_stat)) 
								{
									// 同一利用場所サービス契約一覧照会明細が複数存在する場合
									// 作業用マップに退避
									workMap.put("tchisho_no", tchisho_no);
									
									// 更新年月日時分秒
									workMap.put("upd_dtm", tchisho_upd_dtm);
									
									// 通知対象物一覧照会を作業マップに退避
									workMap.put("kk0571_map", kk0571_map);
									return true;
								}
							}
						}
					}
				}
				// ▲▲▲ ST2-2013-0000261 Add End   ▲▲▲
			}
		}
		
		return false;
	}
	
	/**
	 * 登録先整理番号判定処理。<br>
	 * <br>
	 * @param workMap (I) 業務データ取得用I/F
	 * @return True:存在する
	 */
	@SuppressWarnings("unchecked")
	private boolean checkSeiriNo(HashMap<String, Object> workMap)
	{
		ArrayList kk0081AList = null;
		// サービス契約一意照会マップの取り出し
		HashMap<String, Object> kk0081A_map = (HashMap)workMap.get("kk0081A_map");
		
		// 明細の取り出し
		kk0081AList = (ArrayList)kk0081A_map.get("EKK0081A010CBSMsg1List");
		
		if (kk0081AList == null || 0 == kk0081AList.size()) 
		{
			return false;
		}
		
		// kk0081AchildMap.整理番号分繰返し
		for (int i = 0; i < kk0081AList.size(); i++) 
		{
			// 明細Mapの取り出し
			HashMap kk0081AchildMap = (HashMap)kk0081AList.get(i);
		
			// 登録先の整理番号の存在チェック
			if (kk0081AchildMap != null && kk0081AchildMap.get("seiri_no") != null && !"".equals(kk0081AchildMap.get("seiri_no"))) 
			{
				return true;
			}
		}
		
		return false;
		
	}
	
//	/**
//	 * サービス契約番号判定処理。<br>
//	 * <br>
//	 * @param childMap (I) 
//	 * @param workMap (I) 業務データ取得用I/F
//	 * @return True:存在する
//	 */
//	@SuppressWarnings("unchecked")
//	private boolean checkSvcUM(HashMap<String, Object> childMap, HashMap<String, Object> workMap)
//	{
//		
//		
//		// 通知対象物一覧照会マップの取り出し
//		ArrayList kk0571_mapList = (ArrayList)workMap.get("kk0571_mapList");
//
//		if (kk0571_mapList == null || 0 == kk0571_mapList.size()) 
//		{
//			return false;
//		}
//		
//		ArrayList kk0571List = null;
//		
//		// kk0571B_map.通知書番号分繰返し
//		for (int i = 0; i < kk0571_mapList.size(); i++) 
//		{
//			// 明細Mapの取り出し
//			HashMap kk0571B_map = (HashMap)kk0571_mapList.get(i);
//
//			// 明細の取り出し
//			kk0571List = (ArrayList)kk0571B_map.get("EKK0571B001CBSMsg1List");
//			
//			if (kk0571List == null || 0 == kk0571List.size()) 
//			{
//				break;
//			}
//			
//			// kk0571B_map.通知対象物番号分繰返し
//			for (int j = 0; j < kk0571List.size(); j++) 
//			{
//				// 明細Mapの取り出し
//				HashMap kk0571childMap = (HashMap)kk0571List.get(j);
//				
//				// サービス契約番号の取得
//				String svc_kei_no = "";
//				if (kk0571childMap == null || kk0571childMap.get("svc_kei_no") == null || "".equals(kk0571childMap.get("svc_kei_no"))) 
//				{
//					svc_kei_no = "";
//				} 
//				else 
//				{
//					svc_kei_no = (String)kk0571childMap.get("svc_kei_no");
//				}
//
//				// 通知書番号の取得
//				String tchisho_no = "";
//				if (kk0571childMap == null || kk0571childMap.get("tchisho_no") == null || "".equals(kk0571childMap.get("tchisho_no"))) 
//				{
//					tchisho_no = "";
//				} 
//				else 
//				{
//					tchisho_no = (String)kk0571childMap.get("tchisho_no");
//				}
//				
//				// サービス契約番号の判定
//				if (svc_kei_no.equals(childMap.get("svc_kei_no")))
//				{
//					// リクエストパラメータ.通知書番号にkk0561B_map．通知書番号を設定する
//					childMap.put("tchisho_no", tchisho_no);
//					return true;
//				}
//			}
//		}
//		
//		return false;
//	}
	
	/**
	 * 通知書種別を判断し返します。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081A_map サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 通知書種別コード
	 * @throws Throwable 
	 */
	private String getTchishoType(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> kk0081A_map, String fixedText) throws Throwable
	{
		
		String idTchishoHakkoSkbtCd = getIdTchishoHakkoSkbtCd(handle, param, kk0081A_map, fixedText);
		
		String prcGrpCd = (String)kk0081A_map.get("prc_grp_cd");

		String tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;

		if (null == prcGrpCd || "".equals(prcGrpCd))
		{
			tchishoType = null;
		}
		// eoメールアドレス
		else if (JKKTchishoMapperCC.PRC_GRP_CD_MLAD.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_MLADR;
		}
		// eo光ネットホームタイプ
		else if (JKKTchishoMapperCC.PRC_GRP_CD_NET_HM.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
		}
		// eo光ネットメゾンタイプ
		else if (JKKTchishoMapperCC.PRC_GRP_CD_NET_MZ.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
		}
		// eo光ネットマンションタイプ
		else if (JKKTchishoMapperCC.PRC_GRP_CD_NET_MN.equals(prcGrpCd))
		{
			// 料金コースコードがマンションプライベート対象である場合
//			if (JKKTchishoMapperCC.PCRS_CD_MP_VDSL1.equals(pcrsCd)
			if (JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_4.equals(idTchishoHakkoSkbtCd))
			{
				tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_MP;
			}
			else
			{
				tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_GL;
			}
		}
		// eoADSL(eAccess)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_ADSL_EA.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_ADSL_E;
		}
		// eoADSL(フレッツ)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_ADSL_FL.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_ADSL_F;
		}
		// eoモバイル(Wi-Fi)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WF.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(EM)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_EM.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(UQ-WiMAX)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WM.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_MOBAL;
		}
		// eo光電話
		else if (JKKTchishoMapperCC.PRC_GRP_CD_TEL.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
			
			// 2013/8/30 OM-2013-0001317 Add Start
			tchishoType = tchishoCodeChg(handle, param, kk0081A_map, fixedText, tchishoType);
			// 2013/8/30 OM-2013-0001317 Add End
		}
		// eo光テレビ(K-CAT)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_TV_CA.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
			// 2013/8/30 OM-2013-0001317 Add Start
			tchishoType = tchishoCodeChg(handle, param, kk0081A_map, fixedText, tchishoType);
			// 2013/8/30 OM-2013-0001317 Add End
		}
		// eo光テレビ(KCN)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_TV_KC.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
			// 2013/8/30 OM-2013-0001317 Add Start
			tchishoType = tchishoCodeChg(handle, param, kk0081A_map, fixedText, tchishoType);
			// 2013/8/30 OM-2013-0001317 Add End
		}
		// eo光テレビ(再送信)
		else if (JKKTchishoMapperCC.PRC_GRP_CD_TV_SN.equals(prcGrpCd))
		{
			tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_3TS;
			// 2013/8/30 OM-2013-0001317 Add Start
			tchishoType = tchishoCodeChg(handle, param, kk0081A_map, fixedText, tchishoType);
			// 2013/8/30 OM-2013-0001317 Add End
		}
		// その他
		else
		{
			tchishoType = null;
		}

		return tchishoType;
	}

	// 2013/8/30 OM-2013-0001317 Add Start
	@SuppressWarnings("unchecked")
	private String tchishoCodeChg(SessionHandle handle, IRequestParameterReadWrite param,
			HashMap<String, Object> kk0081A_map, String fixedText, String tchishoType) throws Throwable {
		
		// 2013/9/26 OM-2013-0002648 Mod Start
		// サービス契約回線内訳一覧照会
		HashMap kk0251BMap = getKK0251BMap(handle, param, kk0081A_map, fixedText);
		
		if(null != kk0251BMap && null != kk0251BMap.get("EKK0251B001CBSMsg1List"))
		{
			ArrayList kk0251BList = (ArrayList)kk0251BMap.get("EKK0251B001CBSMsg1List");
			
			if(null != kk0251BList && kk0251BList.size() > 0)
			{
				String kaisenUcwkUseStaymd = null;
				String mansionBukkenNo = null;
				HashMap kk0251map = null;
				
				// 取得レコードのうち、回線使用開始年月日が最大のレコードのマンション物件番号を取得
				for(int i = 0; i < kk0251BList.size(); i++)
				{
					kk0251map = (HashMap)kk0251BList.get(i);
					
					// １件目（そのまま取得）
					if(null == kaisenUcwkUseStaymd)
					{
						// 回線使用開始年月日を取得
						if(null != kk0251map && null != kk0251map.get("kaisen_ucwk_use_staymd") && !("".equals(kk0251map.get("kaisen_ucwk_use_staymd"))))
						{
							kaisenUcwkUseStaymd = (String)kk0251map.get("kaisen_ucwk_use_staymd");
						}
						// マンション物件番号を取得
						if(null != kk0251map && null != kk0251map.get("mansion_bukken_no") && !("".equals(kk0251map.get("mansion_bukken_no"))))
						{
							mansionBukkenNo = (String)kk0251map.get("mansion_bukken_no");
						}
					}
					// ２件目以降
					else
					{
						if(null != kk0251map && null != kk0251map.get("kaisen_ucwk_use_staymd") && !("".equals(kk0251map.get("kaisen_ucwk_use_staymd"))))
						{
							// 取得済みの回線使用開始年月日と比較する
							if(kaisenUcwkUseStaymd.compareTo((String)kk0251map.get("kaisen_ucwk_use_staymd")) < 0)
							{
								kaisenUcwkUseStaymd = (String)kk0251map.get("kaisen_ucwk_use_staymd");
								
								if(null != kk0251map && null != kk0251map.get("mansion_bukken_no") && !("".equals(kk0251map.get("mansion_bukken_no"))))
								{
									mansionBukkenNo = (String)kk0251map.get("mansion_bukken_no");
								}
								else
								{
									mansionBukkenNo = null;
								}
							}
						}
					}
				}
				// マンション物件番号が取得できている場合、マンション物件一意照会でマンション物件コードを取得
				if(null != mansionBukkenNo && !("".equals(mansionBukkenNo)))
				{
					HashMap kk0861AMap = getKK0861AMap(handle, param, mansionBukkenNo, fixedText);
					
					if(null != kk0861AMap && null != kk0861AMap.get("EKK0861A010CBSMsg1List"))
					{
						ArrayList kk00861AList = (ArrayList)kk0861AMap.get("EKK0861A010CBSMsg1List");
						
						if(null != kk00861AList && kk00861AList.size() > 0)
						{
							HashMap kk0861map = (HashMap)kk00861AList.get(0);
							
							// マンション物件コードが"001"(マンション)の場合、通知書コードをマンショングローバルに変更
							if(null != kk0861map && null != kk0861map.get("mansion_bukken_cd") && MANSION_BUKKEN_CD_MANSION.equals(kk0861map.get("mansion_bukken_cd")))
							{
								tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_GL;
							}
						}
					}
				}
			}
		}
//		// 同一利用場所サービス契約一覧照会
//		HashMap kk0081BMap = getKK0081BMap(handle, param, kk0081A_map, fixedText);
//		
//		if (kk0081BMap != null) 
//		{
//			ArrayList kk0081List = (ArrayList)kk0081BMap.get("EKK0081B011CBSMSG1LIST");
//			
//			if (kk0081List != null) 
//			{
//				// kk0081_map.サービス契約番号分繰返し
//				for (int i = 0; i < kk0081List.size(); i++) 
//				{
//					// 明細Mapの取り出し
//					HashMap kk0081childMap = (HashMap)kk0081List.get(i);
//					
//					// ステータスの取得
//					String svc_kei_stat = "";
//					if (null != kk0081childMap && null != kk0081childMap.get("svc_kei_stat")) 
//					{
//						svc_kei_stat = (String)kk0081childMap.get("svc_kei_stat");
//					}
//					
//					// ステータス判定
//					if (!"".equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_UKE.equals(svc_kei_stat) 
//							&& !JKKTchishoMapperCC.SVC_KEI_STAT_KAI.equals(svc_kei_stat) && !JKKTchishoMapperCC.SVC_KEI_STAT_CSL.equals(svc_kei_stat)) 
//					{
//						String prc_grp_cd = (String)kk0081childMap.get("prc_grp_cd");
//						
//						if(JKKTchishoMapperCC.PRC_GRP_CD_NET_MN.equals(prc_grp_cd))
//						{
//							// 同一利用場所にネットマンションが存在する場合、マンショングローバル用のコードを返す
//							tchishoType = JKKTchishoMapperCC.TCHISHO_SBT_GL;
//							break;
//						}
//					}
//				}
//			}
//		}
		// 2013/9/26 OM-2013-0002648 Mod End
		return tchishoType;
	}
	// 2013/8/30 OM-2013-0001317 Add End
	
	/**
	 * サービス契約内訳＜eo光電話＞の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0191BMap(
			SessionHandle handle, IRequestParameterReadWrite param, HashMap<String, Object> childMap, 
			String fixedText, HashMap<String, Object> workMap) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0191B(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0191_map = new HashMap<String, Object>();
		kk0191_map =  tchisho_mapper.editResultRPKK0191B(result, param, fixedText);

		return kk0191_map;

	}
	
	/**
	 * ID通知書の発行が必要な料金コースかを判断します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param param (I) 業務データ取得用I/F
	 * @param kk0081A_map サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 必要な場合、true 不要な場合、false
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private boolean isValidSvcForIdTchisho(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> kk0081A_map, String fixedText) throws Throwable
	{
		
		IRequestParameterReadWrite inParam = param;
		
		// 料金コース一意照会
		HashMap<String, Object> kk0791A_map = getKK0791AMap(handle, inParam, fixedText, kk0081A_map);
		
		if (null == kk0791A_map)
		{
			return false;
		}
		ArrayList<HashMap<String, Object>> dataList = 
			(ArrayList<HashMap<String, Object>>)kk0791A_map.get("EKK0791A010CBSMsg1List");
		if (!dataList.isEmpty())
		{
			HashMap<String, Object> kk0791A_childMap = dataList.get(0);
			String idTchishoHakSkbtCd = (String)kk0791A_childMap.get("id_tchisho_hak_skbt_cd");
			// ID通知書発行識別コードが「発行なし」の場合は出力しない 
			if (null == idTchishoHakSkbtCd 
					|| JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_0.equals(idTchishoHakSkbtCd))
			{
				return false;
			}
		}
		
		return true;
	}
	
	// ANK-4009-00-00 2021/04/20 ADD START
	/**
	 * ID通知書の発行が必要な料金コースかを判断します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param param (I) 業務データ取得用I/F
	 * @param kk0081A_map サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 必要な場合、true 不要な場合、false
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private boolean isValidSvcForIdTchisho2(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> kk0081A_map, String fixedText) throws Throwable
	{
		
		IRequestParameterReadWrite inParam = param;
		
		// 料金コース一意照会
		HashMap<String, Object> kk0791A_map = getKK0791AMap(handle, inParam, fixedText, kk0081A_map);
		
		if (null == kk0791A_map	|| kk0791A_map.isEmpty())
		{
			return false;
		}
		ArrayList<HashMap<String, Object>> dataList = 
			(ArrayList<HashMap<String, Object>>)kk0791A_map.get("EKK0791A010CBSMsg1List");
		if (!dataList.isEmpty())
		{
			HashMap<String, Object> kk0791A_childMap = dataList.get(0);
			String idTchishoHakSkbtCd = (String)kk0791A_childMap.get("id_tchisho_hak_skbt_cd");
			// ID通知書発行識別コードが「発行なし」の場合は出力しない 
			if (null == idTchishoHakSkbtCd || idTchishoHakSkbtCd.trim().isEmpty()
					|| JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_0.equals(idTchishoHakSkbtCd)
					|| JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_2.equals(idTchishoHakSkbtCd))
			{
				return false;
			}
		}
		
		return true;
	}
	// ANK-4009-00-00 2021/04/20 ADD END
	
	/**
	 * ID通知書発行識別コードを取得します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param param (I) 業務データ取得用I/F
	 * @param kk0081A_map サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return ID通知書発行識別コード
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private String getIdTchishoHakkoSkbtCd(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> kk0081A_map, String fixedText) throws Throwable
	{
		
		IRequestParameterReadWrite inParam = param;
		
		// 料金コース一意照会
		HashMap<String, Object> kk0791A_map = getKK0791AMap(handle, inParam, fixedText, kk0081A_map);
		String idTchishoHakSkbtCd = null;
		
		if (null == kk0791A_map)
		{
			return "";
		}
		ArrayList<HashMap<String, Object>> dataList = 
			(ArrayList<HashMap<String, Object>>)kk0791A_map.get("EKK0791A010CBSMsg1List");
		if (!dataList.isEmpty())
		{
			HashMap<String, Object> kk0791A_childMap = dataList.get(0);
			idTchishoHakSkbtCd = (String)kk0791A_childMap.get("id_tchisho_hak_skbt_cd");
			if (null == idTchishoHakSkbtCd)
			{
				return "";
			}
		}
		
		return idTchishoHakSkbtCd;
	}
	
	/**
	 * 整理番号が同一のサービス契約情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081B025Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0081B025(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0081B025_map = new HashMap<String, Object>();
		kk0081B025_map = tchisho_mapper.editResultRPKK0081B025(result, param, fixedText);

		return kk0081B025_map;

	}
	
	/**
	 * 受付済の通知書番号を返します
	 * 
	 * @param kk0561B_map 再発行対象通知書情報
	 * @return 受付済通知書番号
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private String getTchishoNoForUketsuke(HashMap<String, Object> kk0561B_map) throws Throwable
	{
		String tchishoNo = null;
		
		if (null != kk0561B_map && kk0561B_map.containsKey("EKK0561B002CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0561List = 
				(List<HashMap<String, Object>>)kk0561B_map.get("EKK0561B002CBSMsg1List");
			
			HashMap<String, Object> kk0561BChildMap = null;
			for (int i = 0; i < kk0561List.size(); i++)
			{
				kk0561BChildMap = kk0561List.get(i);
				
				// 通知書ステータスが受付済であれば、通知書番号を返す
				if (JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(kk0561BChildMap.get("tchisho_stat")))
				{
					tchishoNo = (String)kk0561BChildMap.get("tchisho_no");
					return tchishoNo;
				}
			}
		}
		
		return tchishoNo;
	}
	
	/**
	 * 対象のサービス契約の指定の通知書に登録されているかを返します
	 * 
	 * @param kk0571B001_map 通知対象物情報
	 * @param svcKeiNo サービス契約番号
	 * @return 登録済→true
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private boolean isTouroku(HashMap<String, Object> kk0571B001_map, String svcKeiNo) throws Throwable
	{
		
		if (null != kk0571B001_map && kk0571B001_map.containsKey("EKK0571B001CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0571List = 
				(List<HashMap<String, Object>>)kk0571B001_map.get("EKK0571B001CBSMsg1List");
			
			HashMap<String, Object> kk0571B001ChildMap = null;
			for (int i = 0; i < kk0571List.size(); i++)
			{
				kk0571B001ChildMap = kk0571List.get(i);
				
				// 対象のサービス契約番号が通知対象物に存在すればtrueを返す
				if (svcKeiNo.equals(kk0571B001ChildMap.get("svc_kei_no")))
				{
					return true;
				}
			}
		}
		
		return false;
	}
	
	/**
	 * 対象のサービス契約の通知書が発効済かを返します
	 * 
	 * @param kk0571B002_map 再発行対象通知書情報
	 * @return 発行済→true
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private boolean isHakkozumi(HashMap<String, Object> kk0571B002_map) throws Throwable
	{
		
		if (null != kk0571B002_map && kk0571B002_map.containsKey("EKK0571B002CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0571List = 
				(List<HashMap<String, Object>>)kk0571B002_map.get("EKK0571B002CBSMsg1List");
			
			HashMap<String, Object> kk0571B002ChildMap = null;
			for (int i = 0; i < kk0571List.size(); i++)
			{
				kk0571B002ChildMap = kk0571List.get(i);
				
				// 通知書ステータスが発行済であれば、trueを返す
				if (JKKTchishoMapperCC.TCHISHO_STAT_ZUMI.equals(kk0571B002ChildMap.get("tchisho_stat")))
				{
					return true;
				}
			}
		}
		
		return false;
	}
	// 20130413 IT1-2013-0000905 Add Start
	/**
	 * 対象のサービス契約の通知書が発効済かを返します
	 * 
	 * @param kk0561B002_map 通知書情報
	 * @return 発行済→"1"(済)、未発行→"0"(未)
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private String isHakkoFin(SessionHandle handle, IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0561B002_map, String svcKeiNo) throws Throwable
	{
		if(null != kk0561B002_map && null != (kk0561B002_map.get("EKK0561B002CBSMsg1List")))
		{
			ArrayList kk0561List = (ArrayList)kk0561B002_map.get("EKK0561B002CBSMsg1List");
			
			for(int i = 0; i < kk0561List.size(); i++)
			{
				HashMap kk0561childMap = (HashMap)kk0561List.get(i);
				String tchisho_stat = "";
				String tchisho_no = "";
				if (null != kk0561childMap && null != kk0561childMap.get("tchisho_stat") || !("".equals(kk0561childMap.get("tchisho_stat")))) 
				{
					tchisho_stat = (String)kk0561childMap.get("tchisho_stat");
				}
				// ステータス判定（発行・通知済）
				if (JKKTchishoMapperCC.TCHISHO_STAT_ZUMI.equals(tchisho_stat)) 
				{
					tchisho_no = (String)kk0561childMap.get("tchisho_no");
					
					// 通知対象物一覧照会
					HashMap kk0571_map = getKK0571Map(handle, param, tchisho_no, fixedText);
					
					if(null != kk0571_map && null != kk0571_map.get("EKK0571B001CBSMsg1List"))
					{
						ArrayList<HashMap<String, Object>> kk0571_list = 
							(ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
						
						HashMap<String, Object>kk0571_childMap = null;
						
						for(int j = 0; j < kk0571_list.size();j++)
						{
							kk0571_childMap = kk0571_list.get(j);
							if(null != kk0571_childMap.get("svc_kei_no") && !("".equals(kk0571_childMap.get("svc_kei_no"))))
							{
								if(svcKeiNo.equals(kk0571_childMap.get("svc_kei_no")))
								{
									return JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_ZUMI;
								}
							}
						}
					}
				}
			}
		}
		return JKKTchishoMapperCC.TCHI_KANRYO_ZUMI_FLG_MI;
	}
	// 20130413 IT1-2013-0000905 Add End

	/**
	 * 通知対象物一覧の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param tchishoNo 通知書番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0571B001Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String tchishoNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0571B001(param, tchishoNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0571B001_map = new HashMap<String, Object>();
		kk0571B001_map = tchisho_mapper.editResultRPKK0571B001(result, param, fixedText);

		return kk0571B001_map;

	}
	
	/**
	 * 通知書一覧の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0571B002Map(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0571B002(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0571B002_map = new HashMap<String, Object>();
		kk0571B002_map = tchisho_mapper.editResultRPKK0571B002(result, param, fixedText);

		return kk0571B002_map;

	}
	
	/**
	 * 機器提供サービス契約情報を取得する
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param kk0161B_map サービス契約内訳情報
	 * @return 機器提供サービス契約情報リスト
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private List<HashMap<String, Object>> getKktkSvcKeiInfo(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> kk0161B_map) throws Throwable
	{
		// サービス契約番号より機器提供サービス契約番号一覧情報を取得
		HashMap<String, Object> kk0341B_map = getKK0341BMap(handle, param, childMap, fixedText);
		HashMap<String, Object> kk0341B_childMap = null;
		List<HashMap<String, Object>> kk0341B_list = null;
		List<HashMap<String, Object>> kk0341A_childMapList = new ArrayList<HashMap<String, Object>>();
		
		if (null != kk0341B_map && kk0341B_map.containsKey("EKK0341B002CBSMsg1List"))
		{
			kk0341B_list = (List<HashMap<String, Object>>)kk0341B_map.get("EKK0341B002CBSMsg1List");
			if (null != kk0341B_list && !kk0341B_list.isEmpty())
			{
				for (int i= 0; i < kk0341B_list.size(); i++)
				{
					kk0341B_childMap = kk0341B_list.get(i);
					
					if (null == kk0341B_childMap || !kk0341B_childMap.containsKey("kktk_svc_kei_no"))
					{
						continue;
					}
					// 機器提供サービス契約番号より機器提供サービス契約一意情報を取得
					HashMap<String, Object> kk0341A_map = 
						getKK0341AMap(handle, param, (String)kk0341B_childMap.get("kktk_svc_kei_no"), fixedText);
					
					if (null == kk0341A_map || !kk0341A_map.containsKey("EKK0341A010CBSMsg1List"))
					{
						continue;
					}
					
					List<HashMap<String, Object>> kk0341A_List = 
						(List<HashMap<String, Object>>)kk0341A_map.get("EKK0341A010CBSMsg1List");
					
					if (null == kk0341A_List || kk0341A_List.isEmpty())
					{
						continue;
					}
					
					HashMap<String, Object> kk0341A_childMap = kk0341A_List.get(0);
					kk0341A_childMapList.add(kk0341A_childMap);
				}
			}
			else
			{
				// サービス契約回線内訳に紐づく機器提供サービス契約を取得
				HashMap<String, Object> kk0341B019_map = getKK0341B019Map(handle, param, childMap, fixedText);
				if (null != kk0341B019_map && kk0341B019_map.containsKey("EKK0341B019CBSMsg1List"))
				{
					kk0341B_list = (List<HashMap<String, Object>>)kk0341B019_map.get("EKK0341B019CBSMsg1List");
					
					if (null != kk0341B_list && !kk0341B_list.isEmpty())
					{
						HashMap<String, Object> kk0341B019_childMap = null;
						for (int i = 0; i < kk0341B_list.size(); i++)
						{
							kk0341B019_childMap = kk0341B_list.get(i);
							
							if (null == kk0341B019_childMap || !kk0341B019_childMap.containsKey("kktk_svc_kei_no"))
							{
								continue;
							}
							
							// 機器提供サービス契約番号より機器提供サービス契約一意情報を取得
							HashMap<String, Object> kk0341A_map = 
								getKK0341AMap(handle, param, (String)kk0341B019_childMap.get("kktk_svc_kei_no"), fixedText);
							
							if (null == kk0341A_map || !kk0341A_map.containsKey("EKK0341A010CBSMsg1List"))
							{
								continue;
							}

							List<HashMap<String, Object>> kk0341A_List = 
								(List<HashMap<String, Object>>)kk0341A_map.get("EKK0341A010CBSMsg1List");
							
							if (null == kk0341A_List || kk0341A_List.isEmpty())
							{
								continue;
							}
							
							HashMap<String, Object> kk0341A_childMap = kk0341A_List.get(0);
							kk0341A_childMapList.add(kk0341A_childMap);
						}
					}
				}
			}
			
			
			if (null == kk0341B_list || kk0341B_list.isEmpty())
			{
				// サービス契約内訳に紐づく機器提供サービス契約を取得
				if (null != kk0161B_map && kk0161B_map.containsKey("EKK0161B004CBSMsg1List"))
				{
					List<HashMap<String, Object>> kk0161B_childMapList = 
						(List<HashMap<String, Object>>)kk0161B_map.get("EKK0161B004CBSMsg1List");
					
					HashMap<String, Object> kk0161B_childMap = null;
					if (null != kk0161B_childMapList && !kk0161B_childMapList.isEmpty())
					{
						String svcKeiyakuUcwkNo = null;
						for (int i = 0; i < kk0161B_childMapList.size(); i++)
						{
							kk0161B_childMap = kk0161B_childMapList.get(i);
							
							if (null == kk0161B_childMap || !kk0161B_childMap.containsKey("svc_kei_ucwk_no"))
							{
								continue;
							}
							
							svcKeiyakuUcwkNo = (String)kk0161B_childMap.get("svc_kei_ucwk_no");
							
							HashMap<String, Object> kk0341B501_map = 
								getKK0341B501Map(handle, param, svcKeiyakuUcwkNo, fixedText);
							
							if (null == kk0341B501_map || !kk0341B501_map.containsKey("EKK0341B501CBSMsg1List"))
							{
								continue;
							}
							
							kk0341B_list = (List<HashMap<String, Object>>)kk0341B501_map.get("EKK0341B501CBSMsg1List");
							
							if (null == kk0341B_list || kk0341B_list.isEmpty())
							{
								continue;
							}
							
							HashMap<String, Object> kk0341B501_childMap = null;
							for (int j = 0; j < kk0341B_list.size(); j++)
							{
								kk0341B501_childMap = kk0341B_list.get(j);
								
								if (null == kk0341B501_childMap || !kk0341B501_childMap.containsKey("kktk_svc_kei_no"))
								{
									continue;
								}
								
								HashMap<String, Object> kk0341A_map = 
									getKK0341AMap(handle, param, (String)kk0341B501_childMap.get("kktk_svc_kei_no"), fixedText);
								
								if (null == kk0341A_map || !kk0341A_map.containsKey("EKK0341A010CBSMsg1List"))
								{
									continue;
								}

								List<HashMap<String, Object>> kk0341A_List = 
									(List<HashMap<String, Object>>)kk0341A_map.get("EKK0341A010CBSMsg1List");
								
								if (null == kk0341A_List || kk0341A_List.isEmpty())
								{
									continue;
								}
								
								if (null == kk0341A_List || kk0341A_List.isEmpty())
								{
									continue;
								}
								
								HashMap<String, Object> kk0341A_childMap = kk0341A_List.get(0);
								kk0341A_childMapList.add(kk0341A_childMap);
							}
						}
					}
					
				}
			}
		}
		
		return kk0341A_childMapList;
	}
	
	/**
	 * 料金プラン一意照会情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param pcrsCd 料金コースコード
	 * @param pplanCd 料金プランコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0591AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String pcrsCd, String pplanCd, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0591A(param, pcrsCd, pplanCd);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0591A_map = new HashMap<String, Object>();
		kk0591A_map = tchisho_mapper.editResultRPKK0591A(result, param, fixedText);

		return kk0591A_map;

	}
	
	/**
	 * 料金プラン固定単価一覧照会情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param pplanCd 料金プランコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0601BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String pplanCd, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0601B(param, pplanCd);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0601B_map = new HashMap<String, Object>();
		kk0601B_map = tchisho_mapper.editResultRPKK0601B(result, param, fixedText);

		return kk0601B_map;

	}
	
	/**
	 * ID通知書印字用サービスプラン名を取得します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param kk0081_childMap サービス契約情報
	 * @param kk0341A_list 機器提供サービス契約情報リスト
	 * @param kk0161B_map 
	 * @param workMap 
	 * @param idoRsvUmFlg 異動予約有無フラグ
	 * @param idoMskmDtlNo 異動予約存在時の申込明細番号
	 * @return
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
// 2014/07/22 ANK-2135-00-00 Mod Start
//	private HashMap<String, Object> getPrtNmInfo(
//			SessionHandle handle, IRequestParameterReadWrite param, 
//			String fixedText, HashMap<String, Object> kk0081_childMap,
//			List<HashMap<String, Object>> kk0341A_list, HashMap<String, Object> kk0161B_map, 
//			HashMap<String, Object> workMap) throws Throwable
	private HashMap<String, Object> getPrtNmInfo(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> kk0081_childMap,
			List<HashMap<String, Object>> kk0341A_list, HashMap<String, Object> kk0161B_map, 
			HashMap<String, Object> workMap, Boolean idoRsvUmFlg, String idoMskmDtlNo) throws Throwable
// 2014/07/22 ANK-2135-00-00 Mod End
	{
		HashMap<String, Object> kk0591A_map = null;
		// ▼▼▼ IT1-2013-0000476 Add Start ▼▼▼
		ArrayList kk0591A_list = null;
		HashMap<String, Object> kk0591A_childmap = null;
		// ▲▲▲ IT1-2013-0000476 Add End   ▲▲▲
		
		String prcGrpCd = (String)kk0081_childMap.get("prc_grp_cd");
		
		// ▼▼▼ IT1-2013-0000476 Add Start ▼▼▼
		// 料金グループがｅｏモバイル（ＥＭ）の場合
		if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_EM.equals(prcGrpCd))
		{
			String idTchishoHakSkbtCd = getIdTchishoHakkoSkbtCd(handle, param, kk0081_childMap, fixedText);
			
			if (null != kk0341A_list && !kk0341A_list.isEmpty() 
					&& !JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_5.equals(idTchishoHakSkbtCd))
			{
				HashMap<String, Object> kk0341Map = null;
				
				String kktk_svc_kei_stat = null;
				for(int i = 0; i < kk0341A_list.size(); i++)
				{
					kk0341Map = kk0341A_list.get(i);
					
					// 機器提供サービス契約の料金プランから
					// 料金プラン情報を取得する
					String pcrsCd = (String)kk0341Map.get("pcrs_cd");
					String pplanCd = (String)kk0341Map.get("pplan_cd");
					kktk_svc_kei_stat = (String)kk0341Map.get("kktk_svc_kei_stat");
					if(null == kktk_svc_kei_stat 
							|| KKTK_SVC_KEI_STAT_910.equals(kktk_svc_kei_stat) 
							|| KKTK_SVC_KEI_STAT_920.equals(kktk_svc_kei_stat))
					{
						continue;
					}
					
					kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
					
					if(null == kk0591A_map || null == kk0591A_map.get("EKK0591A010CBSMsg1List"))
					{
						continue;
					}
					kk0591A_list = (ArrayList)kk0591A_map.get("EKK0591A010CBSMsg1List");
					
					if(kk0591A_list.size() < 1)
					{
						continue;
					}
					for(int j = 0; j < kk0591A_list.size(); j++)
					{
						kk0591A_childmap = (HashMap)kk0591A_list.get(j);
						
						if(null != kk0591A_childmap 
								&& null != kk0591A_childmap.get("id_tchisho_prt_yo_pplan_nm") 
								&& !("".equals(kk0591A_childmap.get("id_tchisho_prt_yo_pplan_nm"))))
						{
							return kk0591A_map;
						}
					}
				}
			}
		}
		// 料金グループがｅｏモバイル（ＷｉＭＡＸ）の場合
		if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WM.equals(prcGrpCd))
		{
			if (null != kk0341A_list && !kk0341A_list.isEmpty())
			{
				HashMap<String, Object> kk0341Map = null;
				
				String kktk_svc_kei_stat = null;
				for(int i = 0; i < kk0341A_list.size(); i++)
				{
					kk0341Map = kk0341A_list.get(i);
					
					// 機器提供サービス契約の料金プランから
					// 料金プラン情報を取得する
					String pcrsCd = (String)kk0341Map.get("pcrs_cd");
					String pplanCd = (String)kk0341Map.get("pplan_cd");
					kktk_svc_kei_stat = (String)kk0341Map.get("kktk_svc_kei_stat");
					if(null == kktk_svc_kei_stat 
							|| KKTK_SVC_KEI_STAT_910.equals(kktk_svc_kei_stat) 
							|| KKTK_SVC_KEI_STAT_920.equals(kktk_svc_kei_stat))
					{
						continue;
					}

					kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
					
					if(null == kk0591A_map || null == kk0591A_map.get("EKK0591A010CBSMsg1List"))
					{
						continue;
					}
					kk0591A_list = (ArrayList)kk0591A_map.get("EKK0591A010CBSMsg1List");
					
					if(kk0591A_list.size() < 1)
					{
						continue;
					}
					for(int j = 0; j < kk0591A_list.size(); j++)
					{
						kk0591A_childmap = (HashMap)kk0591A_list.get(j);
						
						if(null != kk0591A_childmap 
								&& null != kk0591A_childmap.get("id_tchisho_prt_yo_pplan_nm") 
								&& !("".equals(kk0591A_childmap.get("id_tchisho_prt_yo_pplan_nm"))))
						{
							return kk0591A_map;
						}
					}
				}
			}
		}
		// ▲▲▲ IT1-2013-0000476 Add End   ▲▲▲
		// ▼▼▼ IT1-2013-0000476 Delete Start ▼▼▼
//		// 料金グループがモバイルの場合
//		if (JKKTchishoMapperCC.PRC_GRP_CD_MOBA_EM.equals(prcGrpCd) 
//				|| JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WF.equals(prcGrpCd)
//				|| JKKTchishoMapperCC.PRC_GRP_CD_MOBA_WM.equals(prcGrpCd))
//		{
//			String idTchishoHakSkbtCd = getIdTchishoHakkoSkbtCd(handle, param, kk0081_childMap, fixedText);
//			
//			if (null != kk0341A_list && !kk0341A_list.isEmpty() 
//					&& !JKKTchishoMapperCC.ID_TCHISHO_HAK_SKBT_CD_5.equals(idTchishoHakSkbtCd))
//			{
//				HashMap<String, Object> kk0341Map = null;
//				kk0341Map = kk0341A_list.get(0);
//					
//				// 機器提供サービス契約の料金プランから
//				// 料金プラン情報を取得する
//				String pcrsCd = (String)kk0341Map.get("pcrs_cd");
//				String pplanCd = (String)kk0341Map.get("pplan_cd");
//
//				kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
//			}
//		}
		// ▲▲▲ IT1-2013-0000476 Delete End   ▲▲▲
		
		// 料金グループがテレビの場合
		if (JKKTchishoMapperCC.PRC_GRP_CD_TV_CA.equals(prcGrpCd)
				|| JKKTchishoMapperCC.PRC_GRP_CD_TV_SN.equals(prcGrpCd))
		{
// ▼▼▼ 2013.12.21【OM-2013-0005286】Add START▼▼▼
			String pcrsCd_DigBS = (String)kk0081_childMap.get("pcrs_cd");
			String pplanCd_DigBS = (String)kk0081_childMap.get("pplan_cd");
			if( "PA3701".equals(pplanCd_DigBS))
			{
				kk0591A_map = getKK0591AMap(handle, param, pcrsCd_DigBS, pplanCd_DigBS, fixedText);
				
				// 2014/07/22 ANK-2135-00-00 Add Start
				// 直近で通知書発行対象の異動があったサービス契約の申込明細番号を取得
				String svcKeiNo = (String)kk0081_childMap.get("svc_kei_no");
				
				// 異動予約が存在する場合、連携されてきた申込明細番号を設定する
				String mskmDtlNo = "";
				if (idoRsvUmFlg)
				{
					mskmDtlNo = idoMskmDtlNo;
				}
				
				// 2014/07/30 IT1-2014-0000256 Del Start
//				else
//				{
//					mskmDtlNo = getMskmDtlNo(handle, param, svcKeiNo, fixedText);
//				}
				// 2014/07/30 IT1-2014-0000256 Del End
				
				// 申込時登録不可契約予約スキーマを取得
				HashMap<String, Object> kk2931B001_map = new HashMap<String, Object>();
				if (null != mskmDtlNo && !"".equals(mskmDtlNo))
				{
					kk2931B001_map = getKK2931B001Map(handle, param, mskmDtlNo, svcKeiNo, fixedText);
				}
				
				workMap.put("kk2931B001_map", kk2931B001_map);
				// 2014/07/22 ANK-2135-00-00 Add End
				
				// 2014/07/30 IT1-2014-0000256 Add Start
				// 割引サービス契約よりスターチャンネルが適用されているかを確認する
				HashMap<String, Object> kk0451B010_map = new HashMap<String, Object>();
				kk0451B010_map = getKK0451B010Map(handle, param, svcKeiNo, fixedText);
				workMap.put("kk0451B010_map", kk0451B010_map);
				// 2014/07/30 IT1-2014-0000256 Add End
				
				return kk0591A_map;
			}
// ▲▲▲ 2013.12.21【OM-2013-0005286】Add END▲▲▲
			
			if (null != kk0341A_list && !kk0341A_list.isEmpty())
			{
				// 2013/8/24 OM-2013-0000836 Add Start
				HashMap<String, String> kktkMap = new HashMap<String, String>();
				String svcKeiUcwkNo = "";
				// 2013/8/24 OM-2013-0000836 Add End
				
				String mainPcrsCd = null;
				String mainPplanCd = null;
				BigDecimal mainAmnt = null;
				// ▼▼▼ IT1-2013-0000476 Add Start ▼▼▼
				String taknkiki_sbt_cd = null;
				String kktk_svc_kei_stat = null;
				boolean stb_flg = false;
				for (int x = 0; x < kk0341A_list.size(); x++)
				{
					HashMap<String, Object> kk0341Map = null;
					kk0341Map = kk0341A_list.get(x);
					kktk_svc_kei_stat = (String)kk0341Map.get("kktk_svc_kei_stat");
					if(null == kktk_svc_kei_stat 
							|| KKTK_SVC_KEI_STAT_910.equals(kktk_svc_kei_stat) 
							|| KKTK_SVC_KEI_STAT_920.equals(kktk_svc_kei_stat))
					{
						continue;
					}
					taknkiki_sbt_cd= (String)kk0341Map.get("taknkiki_sbt_cd");
					if(null != taknkiki_sbt_cd && TAKNKIKI_SBT_CD_STB.equals(taknkiki_sbt_cd))
					{
						// 2013/8/24 OM-2013-0000836 Add Start
						if(null != kk0341Map.get("svc_kei_ucwk_no") && !("".equals(kk0341Map.get("svc_kei_ucwk_no"))))
						{
							svcKeiUcwkNo = (String)kk0341Map.get("svc_kei_ucwk_no");
							kktkMap.put(svcKeiUcwkNo, svcKeiUcwkNo);
						}
						// 2013/8/24 OM-2013-0000836 Add End
						stb_flg = true;
//						break;
					}
				}
				if(!stb_flg)
				{
					// STBが存在しない場合
//	▼▼▼ 【IT1-2013-0001680】Mod START ▼▼▼
//					String pcrsCd = (String)kk0081_childMap.get("pcrs_cd");
//					String pplanCd = (String)kk0081_childMap.get("pplan_cd");
					
					Map<String,String> map = getPcrs(handle, param, fixedText, kk0161B_map, kk0081_childMap);
					String pcrsCd = map.get("pcrsCd");
					String pplanCd = map.get("pplanCd");
//	▲▲▲ 【IT1-2013-0001680】Mod END ▲▲▲
					
					kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
					
					return kk0591A_map;
				}
				ArrayList<HashMap<String, Object>> kk0161B_list = (ArrayList<HashMap<String, Object>>)kk0161B_map.get("EKK0161B004CBSMsg1List");
				// ▲▲▲ IT1-2013-0000476 Add End   ▲▲▲
				// ▼▼▼ IT1-2013-0000476 Delete Start ▼▼▼
//				for (int x = 0; x < kk0341A_list.size(); x++)
//				{
//					HashMap<String, Object> kk0341Map = null;
//					kk0341Map = kk0341A_list.get(x);
//					String pcrsCd = (String)kk0341Map.get("pcrs_cd");
//					String pplanCd = (String)kk0341Map.get("pplan_cd");
				// ▲▲▲ IT1-2013-0000476 Delete End   ▲▲▲
				// ▼▼▼ IT1-2013-0000476 Add Start ▼▼▼
				for (int x = 0; x < kk0161B_list.size(); x++)
				{
					HashMap<String, Object> kk0161Map = null;
					kk0161Map = kk0161B_list.get(x);
					String svcKeiUcwkStat = (String)kk0161Map.get("svc_kei_ucwk_stat");
					String pcrsCd = (String)kk0161Map.get("pcrs_cd");
					String pplanCd = (String)kk0161Map.get("pplan_cd");
					// 2013/8/24 OM-2013-0000836 Add Start
					svcKeiUcwkNo = (String)kk0161Map.get("svc_kei_ucwk_no");
					if(!kktkMap.containsKey(svcKeiUcwkNo))
					{
						continue;
					}
					HashMap<String, String> kk1681B_0161_map = getIdoRsvSvcKeiUw(workMap, svcKeiUcwkNo);
					
					if(null != kk1681B_0161_map)
					{
						pcrsCd = kk1681B_0161_map.get("pcrs_cd");
						pplanCd = kk1681B_0161_map.get("pplan_cd");
					}
					// 2013/8/24 OM-2013-0000836 Add End
					if(null == svcKeiUcwkStat 
							|| SVC_KEI_UCWK_STAT_910.equals(svcKeiUcwkStat) 
							|| SVC_KEI_UCWK_STAT_920.equals(svcKeiUcwkStat))
					{
						// 解約済またはキャンセル済の内訳はスキップ
						continue;
					}
					// ▲▲▲ IT1-2013-0000476 Add End   ▲▲▲
					
					// 料金プランコードの下1桁が偶数の場合、-1する
					if (null != pplanCd && 6 == pplanCd.length())
					{
						int val = Integer.parseInt(pplanCd.substring(5));
						
						if (0 == val%2 && 0 != val)
						{
							StringBuilder sb = new StringBuilder();
							sb.append(pplanCd.substring(0, 5));
							sb.append(val-1);
							pplanCd = sb.toString();
						}
					}
					
					if (null == pplanCd || "".equals(pplanCd))
					{
						continue;
					}
					// 料金プラン固定金額を取得する
					HashMap<String, Object> kk0601B_map = getKK0601BMap(handle, param, pplanCd, fixedText);
					
					if (null == kk0601B_map || !kk0601B_map.containsKey("EKK0601B002CBSMsg1List"))
					{
						continue;
					}
					
					List<HashMap<String, Object>> kk0601B_list = 
						(List<HashMap<String, Object>>)kk0601B_map.get("EKK0601B002CBSMsg1List");
					
					if (null == kk0601B_list || kk0601B_list.isEmpty())
					{
						continue;
					}
					
					HashMap<String, Object> kk0601B_childMap = kk0601B_list.get(0);
					BigDecimal amnt = null; 
					if (null == kk0601B_childMap.get("pplan_kotei_amnt") 
							|| "".equals(kk0601B_childMap.get("pplan_kotei_amnt")))
					{
						amnt = new BigDecimal("0");
					}
					else
					{
						amnt = new BigDecimal((String)kk0601B_childMap.get("pplan_kotei_amnt"));
					}
					
					if (null == mainAmnt)
					{
						mainAmnt = amnt;
						mainPcrsCd = pcrsCd;
						mainPplanCd = pplanCd;
						continue;
					}
					else
					{
						if (0 > mainAmnt.compareTo(amnt))
						{
							mainAmnt = amnt;
							mainPcrsCd = pcrsCd;
							mainPplanCd = pplanCd;
						}
					}
				}
				
				if (null != mainPcrsCd && null != mainPplanCd)
				{
					kk0591A_map = getKK0591AMap(handle, param, mainPcrsCd, mainPplanCd, fixedText);
				}
			}
// ▼▼▼ 【IT1-2013-0001680】Add START ▼▼▼
			if (null == kk0591A_map)
			{
				Map<String,String> map = getPcrs(handle, param, fixedText, kk0161B_map, kk0081_childMap);
				String pcrsCd = map.get("pcrsCd");
				String pplanCd = map.get("pplanCd");
				kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
			}
// ▲▲▲ 【IT1-2013-0001680】Add END ▲▲▲

		}
		
		if (null == kk0591A_map)
		{
			String pcrsCd = (String)kk0081_childMap.get("pcrs_cd");
			String pplanCd = (String)kk0081_childMap.get("pplan_cd");
			
			kk0591A_map = getKK0591AMap(handle, param, pcrsCd, pplanCd, fixedText);
		}
		
		return kk0591A_map;
	}

	// ▼▼▼ 【IT1-2013-0001680】Add START ▼▼▼
	private Map<String,String> getPcrs(
			SessionHandle handle, IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> kk0161B_map, HashMap<String, Object> kk0081_childMap) throws Throwable {
		// サービス契約内訳から取得する
		
		String pcrsCd = "";
		String pplanCd = "";
		String mainPcrsCd = null;
		String mainPplanCd = null;
		BigDecimal mainAmnt = null;
		
		ArrayList<HashMap<String, Object>> kk0161B_list = (ArrayList<HashMap<String, Object>>)kk0161B_map.get("EKK0161B004CBSMsg1List");
		for (int x = 0; x < kk0161B_list.size(); x++)
		{
			HashMap<String, Object> kk0161Map = null;
			kk0161Map = kk0161B_list.get(x);
			String svcKeiUcwkStat = (String)kk0161Map.get("svc_kei_ucwk_stat");
			pcrsCd = (String)kk0161Map.get("pcrs_cd");
			pplanCd = (String)kk0161Map.get("pplan_cd");
			
			if(null == svcKeiUcwkStat 
					|| SVC_KEI_UCWK_STAT_910.equals(svcKeiUcwkStat) 
					|| SVC_KEI_UCWK_STAT_920.equals(svcKeiUcwkStat))
			{
				// 解約済またはキャンセル済の内訳はスキップ
				continue;
			}
			
			// 料金プランコードの下1桁が偶数の場合、-1する
			if (null != pplanCd && 6 == pplanCd.length())
			{
				int val = Integer.parseInt(pplanCd.substring(5));
				
				if (0 == val%2 && 0 != val)
				{
					StringBuilder sb = new StringBuilder();
					sb.append(pplanCd.substring(0, 5));
					sb.append(val-1);
					pplanCd = sb.toString();
				}
			}
			
			if (null == pplanCd || "".equals(pplanCd))
			{
				continue;
			}
			// 料金プラン固定金額を取得する
			HashMap<String, Object> kk0601B_map = getKK0601BMap(handle, param, pplanCd, fixedText);
			
			if (null == kk0601B_map || !kk0601B_map.containsKey("EKK0601B002CBSMsg1List"))
			{
				continue;
			}

			List<HashMap<String, Object>> kk0601B_list = 
				(List<HashMap<String, Object>>)kk0601B_map.get("EKK0601B002CBSMsg1List");
			
			if (null == kk0601B_list || kk0601B_list.isEmpty())
			{
				continue;
			}
			
			HashMap<String, Object> kk0601B_childMap = kk0601B_list.get(0);
			BigDecimal amnt = null; 
			if (null == kk0601B_childMap.get("pplan_kotei_amnt") 
					|| "".equals(kk0601B_childMap.get("pplan_kotei_amnt")))
			{
				amnt = new BigDecimal("0");
			}
			else
			{
				amnt = new BigDecimal((String)kk0601B_childMap.get("pplan_kotei_amnt"));
			}
			
			if (null == mainAmnt)
			{
				mainAmnt = amnt;
				mainPcrsCd = pcrsCd;
				mainPplanCd = pplanCd;
				continue;
			}
			else
			{
				if (0 > mainAmnt.compareTo(amnt))
				{
					mainAmnt = amnt;
					mainPcrsCd = pcrsCd;
					mainPplanCd = pplanCd;
				}
			}
		}

		if (null != mainPcrsCd && null != mainPplanCd) {
			pcrsCd = mainPcrsCd;
			pplanCd = mainPplanCd;
		} else {
			pcrsCd = (String)kk0081_childMap.get("pcrs_cd");
			pplanCd = (String)kk0081_childMap.get("pplan_cd");
		}

		Map<String,String> map = new HashMap<String,String>();
		map.put("pcrsCd", pcrsCd);
		map.put("pplanCd", pplanCd);

		return map;
	}
//	▲▲▲ 【IT1-2013-0001680】Add END ▲▲▲
	
	// 2013/8/24 OM-2013-0000836 Add Start
	/**
	 * サービス契約内訳の異動予約情報の取り出し
	 * 
	 * @param workMap 作業マップ
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return サービス契約内訳の異動予約情報
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, String> getIdoRsvSvcKeiUw(HashMap<String, Object> workMap, String svcKeiUcwkNo) 
	{
		HashMap<String, String> kk1681B_0161_map = null;
		
		if(null != workMap && workMap.containsKey("kk1681B_0161"))
		{
			HashMap<String, Object> kk1681B_0161 = (HashMap<String, Object>)workMap.get("kk1681B_0161");
			
			if(null != kk1681B_0161 && kk1681B_0161.containsKey(svcKeiUcwkNo))
			{
				ArrayList<Object> kk1681B_0161_list = (ArrayList<Object>)kk1681B_0161.get(svcKeiUcwkNo);
				
				if(null != kk1681B_0161_list && kk1681B_0161_list.size() > 0)
				{
					kk1681B_0161_map = (HashMap<String, String>)kk1681B_0161_list.get(0);
				}
			}
		}
		return kk1681B_0161_map;
	}
	// 2013/8/24 OM-2013-0000836 Add End
	
	/**
	 * サービス契約内訳<eoADSL>一意照会情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0221AMap(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String svcKeiUcwkNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0221A(param, svcKeiUcwkNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0221A_map = new HashMap<String, Object>();
		kk0221A_map = tchisho_mapper.editResultRPKK0221A(result, param, fixedText);

		return kk0221A_map;

	}
	
	/**
	 * サービス契約内訳<eoADSL>情報を取得します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param kk0161B_map サービス契約内訳情報
	 * @return サービス契約内訳
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getSvcKeiUcwkAdsl(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> kk0161B_map) throws Throwable
	{
		HashMap<String, Object> kk0221A_childMap = null;
		
		if (null != kk0161B_map && kk0161B_map.containsKey("EKK0161B004CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0161B_list = 
				(List<HashMap<String, Object>>)kk0161B_map.get("EKK0161B004CBSMsg1List");
			
			if (null != kk0161B_list && !kk0161B_list.isEmpty())
			{
				HashMap<String, Object> kk0161B_childMap = null;
				for (int i = 0; i < kk0161B_list.size(); i++)
				{
					kk0161B_childMap = kk0161B_list.get(i);
					String svcKeiUcwkNo = (String)kk0161B_childMap.get("svc_kei_ucwk_no");
					
					if (null == svcKeiUcwkNo)
					{
						continue;
					}
					
					HashMap<String, Object> kk0221A_map = getKK0221AMap(handle, param, svcKeiUcwkNo, fixedText);
					if (null != kk0221A_map && kk0221A_map.containsKey("EKK0221A010CBSMsg1List"))
					{
						List<HashMap<String, Object>> kk0221A_list = 
							(List<HashMap<String, Object>>)kk0221A_map.get("EKK0221A010CBSMsg1List");
						
						if (null != kk0221A_list && !kk0221A_list.isEmpty())
						{
							kk0221A_childMap = kk0221A_list.get(0);
							
							if (null != kk0221A_childMap.get("adsl_ninsho_id"))
							{
								break;
							}
							else
							{
								kk0221A_childMap = null;
							}
						}
					}
				}
			}
		}
		
		return kk0221A_childMap;
	}
	
	/**
	 * ADSL工事履歴一覧照会情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param mskmshoNo 申込書番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0621BMap(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String mskmshoNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0621B(param, mskmshoNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0621B_map = new HashMap<String, Object>();
		kk0621B_map = tchisho_mapper.editResultRPKK0621B(result, param, fixedText);

		return kk0621B_map;

	}
	
	/**
	 * ADSL工事一意照会照会情報の取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param adslKojiNo ADSL工事番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0621AMap(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String adslKojiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0621A(param, adslKojiNo);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0621A_map = new HashMap<String, Object>();
		kk0621A_map = tchisho_mapper.editResultRPKK0621A(result, param, fixedText);

		return kk0621A_map;

	}
	
	/**
	 * ADSL工事情報を取得します
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param childMap サービス契約情報
	 * @return ADSL工事情報
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getAdslKojiInfo(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> childMap) throws Throwable
	{
		HashMap<String, Object> kk00621A_childMap = null;

		// ADSL工事履歴一覧照会を取得する
		HashMap<String, Object> kk00621B_map = 
			getKK0621BMap(handle, param, (String)childMap.get("svc_kei_no"), fixedText);
		
		if (null != kk00621B_map && kk00621B_map.containsKey("EKK0621B002CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk00621B_list = 
				(List<HashMap<String, Object>>)kk00621B_map.get("EKK0621B002CBSMsg1List");
			
			if (null != kk00621B_list && !kk00621B_list.isEmpty())
			{
				HashMap<String, Object> kk00621B_childMap = null;
				for (int i = 0; i < kk00621B_list.size(); i++)
				{
					kk00621B_childMap = kk00621B_list.get(kk00621B_list.size() - i -1);
					
					if (null != kk00621B_childMap 
							&& null != kk00621B_childMap.get("adsl_koji_no") 
							|| !"".equals(kk00621B_childMap.get("adsl_koji_no")))
					{
						HashMap<String, Object> kk0621A_map = 
							getKK0621AMap(handle, param, (String)kk00621B_childMap.get("adsl_koji_no"), fixedText);
						
						if (null == kk0621A_map || !kk0621A_map.containsKey("EKK0621A010CBSMsg1List"))
						{
							continue;
						}
						
						List<HashMap<String, Object>> kk0621A_list = 
							(List<HashMap<String, Object>>)kk0621A_map.get("EKK0621A010CBSMsg1List");
						
						if (null == kk0621A_list || kk0621A_list.isEmpty())
						{
							continue;
						}
						
						for (int j = 0; j < kk0621A_list.size(); j++)
						{
							kk00621A_childMap = kk0621A_list.get(j);
							
							if (null != kk00621A_childMap 
									&& null != kk00621A_childMap.get("adsl_ninsho_id") 
									&& !"".equals(kk00621A_childMap.get("adsl_ninsho_id")))
							{
								break;
							}
							else
							{
								kk00621A_childMap = null;
							}
						}
					}
					
					if(null != kk00621A_childMap)
					{
						break;
					}
				}
			}
		}

		return kk00621A_childMap;
	}
	
	// ▼▼▼ IT1-2012-0001322 Add Start ▼▼▼
	/**
	 * 登録対象のサービス契約番号が通知書番号で重複していないかチェックします。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param tchishoNo 通知書番号
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 重複している場合→true
	 * @throws Throwable
	 */
	private HashMap<String, Object> getKK0571Map(SessionHandle handle, IRequestParameterReadWrite param, String tchishoNo, 
			String fixedText) throws Throwable
	{
		if (null == tchishoNo || "".equals(tchishoNo))
		{
			return null;
		}
		
		HashMap<String, Object> kk0571B_map = getKK0571B001Map(handle, param, tchishoNo, fixedText);
		
		return kk0571B_map;
	}
	// ▲▲▲ IT1-2012-0001322 Add End ▲▲▲
	
	/**
	 * ユーザー一意取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param userId ユーザＩＤ
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, String> getZM0051AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgZM0051A(param, childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> zm0051A_map = new HashMap<String, Object>();
		zm0051A_map = tchisho_mapper.editResultRPZM0051A(result, param, fixedText);
		
		if(null != zm0051A_map && null != zm0051A_map.get("EZM0051A010CBSMsg1List"))
		{
			ArrayList zm0051List = (ArrayList)zm0051A_map.get("EZM0051A010CBSMsg1List");
			
			if(zm0051List.size() > 0)
			{
				HashMap zm0051A_childMap = (HashMap)zm0051List.get(0);
				
				return zm0051A_childMap;
			}
		}
		return null;
	}
	
	// IT1-2013-0001174 Add Start
	/**
	 * 異動予約一覧照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK1681BMap(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK1681B(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk1681B_map = new HashMap<String, Object>();
		kk1681B_map = tchisho_mapper.editResultRPKK1681B(result, param, fixedText);
		
		return kk1681B_map;
	}
	
	// 2013/8/24 OM-2013-0000836 Add Start
	/**
	 * 異動予約一覧照会（サービス契約内訳）の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK1681BMap_Svckeiucwk(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK1681B_0161(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk1681B_map = new HashMap<String, Object>();
		kk1681B_map = tchisho_mapper.editResultRPKK1681B_0161(result, param, fixedText);
		
		return kk1681B_map;
	}
	
	// 2013/9/30 OM-2013-0002611 Add Start
	/**
	 * 異動予約一覧照会（電話サービスの予約解約）の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK1681BMap_Svckeiucwk2(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK1681B_0161(param, childMap);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk1681B_map = new HashMap<String, Object>();
		kk1681B_map = tchisho_mapper.editResultRPKK1681B_0161_2(result, param, fixedText);
		
		return kk1681B_map;
	}
	// 2013/9/30 OM-2013-0002611 Add End
	
	/**
	 * サービス契約内訳異動予約取得処理。<br>
	 * <br>
	 * @param workMap (I) 業務データ取得用I/F
	 * @return True:セット申込
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private void getIdoRsvSvcUcwk(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> workMap, String fixedText) throws Throwable
	{
		if(null == workMap || null == workMap.get("kk0161B_map"))
		{
			return;
		}
		HashMap<String, Object> kk0161B_map = (HashMap<String, Object>)workMap.get("kk0161B_map");
		HashMap<String, ArrayList> kk1681B_map = new HashMap<String, ArrayList>();
		
		if (null != kk0161B_map && kk0161B_map.containsKey("EKK0161B004CBSMsg1List"))
		{
			List<HashMap<String, Object>> kk0161B_childMapList = 
				(List<HashMap<String, Object>>)kk0161B_map.get("EKK0161B004CBSMsg1List");
			
			HashMap<String, Object> kk0161B_childMap = null;
			if (null != kk0161B_childMapList && !kk0161B_childMapList.isEmpty())
			{
				// サービス契約内訳番号の数だけ繰り返す
				for (int i = 0; i < kk0161B_childMapList.size(); i++)
				{
					kk0161B_childMap = kk0161B_childMapList.get(i);
					
					if (null == kk0161B_childMap 
							|| null == kk0161B_childMap.get("svc_kei_ucwk_no") 
							|| "".equals(kk0161B_childMap.get("svc_kei_ucwk_no")))
					{
						continue;
					}
					
					String svc_kei_ucwk_no = (String)kk0161B_childMap.get("svc_kei_ucwk_no");
					
					HashMap kk1681B_0161_map = getKK1681BMap_Svckeiucwk(handle, param, kk0161B_childMap, fixedText);
					
					if(null != kk1681B_0161_map && kk1681B_0161_map.containsKey("EKK1681B001CBSMsg1List"))
					{
						ArrayList<HashMap> kk1681B_0161_list = (ArrayList<HashMap>)kk1681B_0161_map.get("EKK1681B001CBSMsg1List");
						
						// サービス契約内訳番号をキーにサービス契約内訳の異動予約情報を格納する
						kk1681B_map.put(svc_kei_ucwk_no, kk1681B_0161_list);
					}
				}
				workMap.put("kk1681B_0161", kk1681B_map);
			}
		}
	}
	// 2013/8/24 OM-2013-0000836 Add End
	
// 2013.11.20 OM-2013-0004009 add start
	/**
	 * 住所変更で解約したオプションを出力対象外とするための処理です。
	 * kk0351_map の中のオプションで、kk2101B001_mapの変更前識別番号にあり、変更後識別番号に設定されていない
	 * 場合、そのオプションは住変時に”解約”されているので、出力対象オプションから除去します。
	 */
	// 2014.04.09 OM-2014-0001451 Mod Start
//	private void rmAdchgDslOpt(HashMap<String, Object> kk0351_map, HashMap<String, Object> kk2101B001_map,
//			HashMap<String, Object> kk0081_map) {
	private void rmAdchgDslOpt(HashMap<String, Object> kk0351_map, HashMap<String, Object> kk2101B001_map,
			HashMap<String, Object> kk0081_map, HashMap<String, Object> kk0351_aftermap) {
	// 2014.04.09 OM-2014-0001451 Mod End
		
		ArrayList<HashMap<String,String>> kk0351List = null;
		ArrayList<HashMap<String,String>> kk2101B001List = null;
		
		// オプションサービス契約一覧の明細の取り出し
		kk0351List = (ArrayList)kk0351_map.get("EKK0351B002CBSMsg1List");
		
		if (kk0351List == null || kk0351List.isEmpty()) {
			return;
		}

		// 住所変更明細の取り出し
		kk2101B001List = (ArrayList)kk2101B001_map.get("EKK2101B001CBSMsg1List");
		
		if (kk2101B001List == null || kk2101B001List.isEmpty()) {
			return;
		}

		// サービス契約・サービス終了年月日
		// リクエストパラメータ.料金コースコード → ＫＥＹ＿料金コースコード
		String svcEndymd_svcKei = "";
		if (kk0081_map == null || kk0081_map.get("svc_endymd") == null || "".equals(kk0081_map.get("svc_endymd"))) {
			//
		} else {
			svcEndymd_svcKei = (String)kk0081_map.get("svc_endymd");
		}
		
		
		// 変更前識別番号だけのリスト
		List<String> opSvcNoAdchgBFList = new ArrayList<String>();
		// 変更後識別番号だけのリスト
		List<String> opSvcNoAdchgAFList = new ArrayList<String>();

		// 住所変更明細分
		for (int i = 0; i < kk2101B001List.size(); i++) 
		{
			// 明細Mapの取り出し
			HashMap<String,String> kk2101BchildMap = (HashMap<String,String>)kk2101B001List.get(i);
			
			if (kk2101BchildMap == null || kk2101BchildMap.get("chbf_skbt_no") == null || "".equals(kk2101BchildMap.get("chbf_skbt_no"))) {
				continue;
			}

			// 変更前識別番号を取得
			String opSvcKeiNoAdchgBF = (String)kk2101BchildMap.get("chbf_skbt_no");
			if(!JKKStringUtil.isNullBlank(opSvcKeiNoAdchgBF)) {
				opSvcNoAdchgBFList.add(opSvcKeiNoAdchgBF);
			}
			// 変更後識別番号を取得
			String opSvcKeiNoAdchgAF = (String)kk2101BchildMap.get("chaf_skbt_no");
			if (!JKKStringUtil.isNullBlank(opSvcKeiNoAdchgAF)) {
				opSvcNoAdchgAFList.add(opSvcKeiNoAdchgAF);
			}
		}

		// kk0351_map.オプションサービス契約番号分繰返し（後ろから繰り返してremoveする）
		for (int i = kk0351List.size()-1; i >= 0 ; i--) {
			// 明細Mapの取り出し
			HashMap<String,String> kk0351childMap = (HashMap<String,String>)kk0351List.get(i);

			if (kk0351childMap == null || kk0351childMap.get("op_svc_kei_no") == null || "".equals(kk0351childMap.get("op_svc_kei_no"))) {
				continue;
			}

			String opSvcKeiNo = (String)kk0351childMap.get("op_svc_kei_no");
			String opSvcStat = (String)kk0351childMap.get("op_svc_stat");
			String svcEndymd_Opt = (String)kk0351childMap.get("svc_endymd");
			
			// op_svc_kei_no が 「変更前」にあって「変更後」にない場合、住所変更画面で
			// 「解約」したものと判断するので、そのオプション番号を除去する。
			// 住所変更時にサービス提供中でないオプションの場合、「変更前」「変更後」のどちらにも入ってこない。
			// この場合は、”引き継ぐ”扱いとする。
			if (opSvcNoAdchgBFList.contains(opSvcKeiNo) && !opSvcNoAdchgAFList.contains(opSvcKeiNo) ) {
				kk0351List.remove(i);
			} else if (!opSvcNoAdchgBFList.contains(opSvcKeiNo) && !opSvcNoAdchgAFList.contains(opSvcKeiNo) ) {
				// 「変更前」「変更後」どちらにもない場合、締結済などは対象にするが、解約の場合は
				// 対象外にする。（住所変更の後に解約になった場合、「引継」をしていれば変更前、変更後に設定される）
				if (!JKKStringUtil.isNullBlank(opSvcStat) && "910".equals(opSvcStat)) {
					// 住所変更の前に解約していた場合には、対象外にする。
					// サービス契約の解約日＝オプションの解約日　の場合、住所変更後にサービスが解約されて
					// オプションも解約されたとみなされる。この場合は除去しない。
					if (!JKKStringUtil.isNullBlank(svcEndymd_svcKei) && !JKKStringUtil.isNullBlank(svcEndymd_Opt)
							&& svcEndymd_svcKei.equals(svcEndymd_Opt)) {
						// 除去しない
					} else {
						kk0351List.remove(i);
					}
				}
			}
		}
		
		// 2014.04.09 OM-2014-0001451 Add Start
		// 新住所情報が存在すればサービス提供中・解約済み以外のオプションを除去し、紐づくオプションの情報を追加する
		ArrayList<HashMap<String,String>> kk0351AfterList = null;
		
		// オプションサービス契約一覧の明細の取り出し
		kk0351AfterList = (ArrayList)kk0351_aftermap.get("EKK0351B002CBSMsg1List");
		
		// 新住所情報が存在
		if (kk0351AfterList != null && !kk0351AfterList.isEmpty())
		{
			for (int i = kk0351List.size() - 1; i >= 0 ; i--)
			{
				// 明細Mapの取り出し
				HashMap<String,String> kk0351childMap = (HashMap<String,String>)kk0351List.get(i);
				String opSvcStat = (String)kk0351childMap.get("op_svc_stat");

				if ((!OP_SVC_KEI_STAT_100.equals(opSvcStat)) &&
					(!OP_SVC_KEI_STAT_910.equals(opSvcStat)))
				{
					// サービス提供中・解約済み以外のオプションを除去
					kk0351List.remove(i);
				}
			}
			
			// 紐づくオプションの情報を追加
			for (int i = 0; i < kk0351AfterList.size() ; i++)
			{
				// 明細Mapの取り出し
				HashMap<String,String> kk0351afterChildMap = (HashMap<String,String>)kk0351AfterList.get(i);
				kk0351List.add(kk0351afterChildMap);
			}
		}
		// 2014.04.09 OM-2014-0001451 Add End
	}
// 2013.11.20 OM-2013-0004009 add end

	// IT1-2013-0001174 Add End
//	/**
//	 * CCで検知したエラー情報を呼び出し元に通知します。
//	 * @param param パラメータ
//	 * @param itemName エラーの起こった項目名
//	 * @param errorLevel Eから始まるエラーレベル
//	 * @param ifId エラーが起こったことにするインターフェイスＩＤ
//	 * @throws RequestParameterException 例外発生時
//	 */
//	private void addError(
//			IRequestParameterReadWrite param, String itemName, String errorLevel, 
//			String ifId, int status, int returnCode) throws RequestParameterException
//	{
//		List<Map<String, Object>> errors = null;
//		Object errorInfos = param.getControlMapData(SCControlMapKeys.ERROR_INFO);
//		if (errorInfos == null)
//		{
//			errors = new ArrayList<Map<String, Object>>();
//			param.setControlMapData(SCControlMapKeys.ERROR_INFO, errorInfos);
//		}
//		else
//		{
//			errors = (List<Map<String, Object>>)errorInfos;
//		}
//		
//		String recentryErrorStatusString = (String)param.getControlMapData(SCControlMapKeys.RETURN_CODE);
//		Integer recentryErrorStatus = 0;
//		try
//		{
//			if (recentryErrorStatusString != null)
//			{
//				recentryErrorStatus = Integer.parseInt(recentryErrorStatusString);
//			}
//		} catch (NumberFormatException e)
//		{
//		}
//		if (status > recentryErrorStatus)
//		{
//			String formatStatus = String.format("%1$04d", status);
//			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
//			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
//			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);	
//		}
//
//		Map<String, String> itemCheckErrorMap = new HashMap<String, String>();
//		itemCheckErrorMap.put(itemName, errorLevel);
//		
//		Map<String, Object> errorInfoMap = new HashMap<String, Object>();
//		errorInfoMap.put(ErrorInfoMapKeys.ITEM_CHECK_ERRORS, itemCheckErrorMap);
//		errorInfoMap.put(ErrorInfoMapKeys.TEMPLATE_ID, ifId);
//		errorInfoMap.put(ErrorInfoMapKeys.STATUS, status);
//		errorInfoMap.put(ErrorInfoMapKeys.RETURN_CODE, returnCode);
//		
//		errors.add(errorInfoMap);
//	}
	
	// 2013/11/19 OM-2013-0003310 Add Start
	/**
	 * サービス契約内訳番号から、該当契約に紐付くサービス契約内訳番号をすべて取得し
	 * ポート番号を付与し、結果を返却します。
	 * 
	 * @param kk0191Map サービス契約内訳番号（ｅｏ光電話）マップ
	 * @param HashMap サービス契約内訳番号に紐付くＶＡポート番号マップ
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private HashMap setVaPortNo(HashMap kk0191Map, HashMap tmpMap) throws Exception
	{
		ArrayList tmpInfo =  new ArrayList();
		String w_Port1_Flg = "";
		String w_Port2_Flg = "";
		String w_Port1_AftFlg = "";
		String w_Port2_AftFlg = "";
		String w_Keizk_Find_Flg = "";
		int w_Base_Count = 0;
		int w_Chg_Count = 0;
		
		// サービス契約内訳のポート番号に何が設定されているかを確認する
		for(int i = 0; i < tmpMap.size(); i++)
		{
			tmpInfo = (ArrayList)tmpMap.get(i);
			
			// 継続元が設定されていない場合
			if (this.isNullOrEmpty((String)tmpInfo.get(KEIZK_MT_SVC_KEI_UCWK_NO_ALLAY)))
			{
				w_Base_Count++;
				if ("1".equals(tmpInfo.get(VA_PORT_NO_ALLAY)))
				{
					w_Port1_Flg = "1";
				}
				
				if ("2".equals(tmpInfo.get(VA_PORT_NO_ALLAY)))
				{
					w_Port2_Flg = "1";
				}
			}
			
			// 継続元が設定されている場合
			else
			{
				w_Chg_Count++;
				w_Keizk_Find_Flg = "1";
				if ("1".equals(tmpInfo.get(VA_PORT_NO_ALLAY)))
				{
					w_Port1_AftFlg = "1";
				}
				
				if ("2".equals(tmpInfo.get(VA_PORT_NO_ALLAY)))
				{
					w_Port2_AftFlg = "1";
				}
			}
		}
		
		// １番号コースの場合は、設定されたポート番号をそのまま使用（サービス契約内訳番号に紐付くＶＡポート番号マップには、有効なサービス契約内訳番号しか設定されていない）
		if (1 < w_Base_Count + w_Chg_Count)
		{
			// 継続元が設定されていないサービス契約内訳のポート番号に値を設定する
			for(int i = 0; i < tmpMap.size(); i++)
			{
				tmpInfo = (ArrayList)tmpMap.get(i);

				if ((this.isNullOrEmpty((String)tmpInfo.get(KEIZK_MT_SVC_KEI_UCWK_NO_ALLAY))) &&
					(this.isNullOrEmpty((String)tmpInfo.get(VA_PORT_NO_ALLAY))))
				{
					// 電話番号順が１で１フラグＯＦＦ
					if (("1".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port1_Flg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"1");
						w_Port1_Flg = "1";
					}
					
					// 電話番号順が１で２フラグＯＦＦ
					else if (("1".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port2_Flg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"2");
						w_Port2_Flg = "1";
					}
					
					// 電話番号順が２で２フラグＯＦＦ
					else if (("2".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port2_Flg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"2");
						w_Port2_Flg = "1";
					}
					
					// 電話番号順が２で１フラグＯＦＦ
					else if (("2".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port1_Flg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"1");
						w_Port1_Flg = "1";
					}
				}
			}
			
			// １フラグ、２フラグともにＯＦＦのとき⇒継続元が設定されているサービス契約内訳のポート番号に番号順を設定
			if ((this.isNullOrEmpty(w_Port1_AftFlg)) &&
				(this.isNullOrEmpty(w_Port2_AftFlg)) &&
				(!this.isNullOrEmpty(w_Keizk_Find_Flg)))
			{
				for(int i = 0; i < tmpMap.size(); i++)
				{
					tmpInfo = (ArrayList)tmpMap.get(i);
					
					if (!this.isNullOrEmpty((String)tmpInfo.get(KEIZK_MT_SVC_KEI_UCWK_NO_ALLAY)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY , tmpInfo.get(TELNO_JUN_ALLAY));
					}
				}
			}
			
			// 継続元が設定されているサービス契約内訳のポート番号に値を設定する
			for(int i = 0; i < tmpMap.size(); i++)
			{
				tmpInfo = (ArrayList)tmpMap.get(i);

				if ((!this.isNullOrEmpty((String)tmpInfo.get(KEIZK_MT_SVC_KEI_UCWK_NO_ALLAY))) &&
					(this.isNullOrEmpty((String)tmpInfo.get(VA_PORT_NO_ALLAY))))
				{
					// 電話番号順が１で１フラグＯＦＦ
					if (("1".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port1_AftFlg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"1");
						w_Port1_AftFlg = "1";
					}
					
					// 電話番号順が１で２フラグＯＦＦ
					else if (("1".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port2_AftFlg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"2");
						w_Port2_AftFlg = "1";
					}
					
					// 電話番号順が２で２フラグＯＦＦ
					else if (("2".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port2_AftFlg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"2");
						w_Port2_AftFlg = "1";
					}
					
					// 電話番号順が２で１フラグＯＦＦ
					else if (("2".equals(tmpInfo.get(TELNO_JUN_ALLAY))) &&
						(this.isNullOrEmpty(w_Port1_AftFlg)))
					{
						tmpInfo.set(VA_PORT_NO_ALLAY,"1");
						w_Port1_AftFlg = "1";
					}
				}
			}
		}
		
		// ＶＡポート番号の再設定
		ArrayList kk0191_ArrayList = (ArrayList)kk0191Map.get("EKK0191B001CBSMsg1List");
		
		for (int i = 0; i < kk0191_ArrayList.size(); i++)
		{
			Map kk0191_map = (Map)kk0191_ArrayList.get(i);
			String svcKeiUcwkNo = (String)kk0191_map.get("svc_kei_ucwk_no");

			for(int j = 0; j < tmpMap.size(); j++)
			{
				tmpInfo = (ArrayList)tmpMap.get(j);

				if (svcKeiUcwkNo.equals(tmpInfo.get(SVC_KEI_UCWK_NO_ALLAY)))
				{
					kk0191_map.put("va_port_no", tmpInfo.get(VA_PORT_NO_ALLAY));
					break;
				}
			}
		}
		
		return kk0191Map;
	}

	/**
	 * nullか空白の判定処理
	 * @param value　判定対象
	 * @return boolean　（true:null、false:null以外）
	 */
	private boolean isNullOrEmpty(String value)
	{
		if ("".equals(value) || value == null)
		{
			return true;
		}

		return false;
	}
	// 2013/11/19 OM-2013-0003310 Add End
	
// OM-2013-0005212対応 20131221 星野 ADD START
// OM-2014-0001535 2014.04.24 Y.Kanata MOD START
//	private void executeTchishoCLByMskmDtlNo(
	/**
	 * ・通知書が受付済の場合は通知書の取消を行う。
	 * ・取消処理の実行有無に関わらず、通知対象物の一覧照会結果を取得。（通知完了済みフラグの引継を行うため）
	 */
	@SuppressWarnings("unchecked")
	private void executeTchishoCLByMskmDtlNo(
// OM-2014-0001535 2014.04.24 Y.Kanata MOD END
		SessionHandle handle,
		IRequestParameterReadWrite inParam, 
		String fixedText,
		HashMap childMap, 
		HashMap kk0081ChildMap,
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
		HashMap<String, String> hktgMap,
		HashMap<String, String> sentMap
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
	) throws Throwable {
		
		// 申込明細番号取得
		String mskmDtlNo = (String)childMap.get("mskm_dtl_no");
		if(StringUtils.isEmpty(mskmDtlNo)){
			mskmDtlNo = (String)kk0081ChildMap.get("mskm_dtl_no");
		}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
		boolean hoseiFlg = false;
		// 通知対象物一覧照会対象セット
		HashSet<String> searchTchiNoSet = new HashSet<String>();
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
		// 通知書一覧照会
		HashMap kk0561b003Map = getKK0561B003(handle, inParam, fixedText, mskmDtlNo);
		if(kk0561b003Map != null && kk0561b003Map.get(EKK0561B003CBSMsg.EKK0561B003CBSMSG1LIST) != null){
			List<HashMap> kk0561b003List = (List)kk0561b003Map.get(EKK0561B003CBSMsg.EKK0561B003CBSMSG1LIST);
			for(HashMap kk0561b003ChildMap : kk0561b003List){
				// 通知書一意照会
				HashMap<String, Object> kk0561A_map = getKK0561AMap(handle, inParam, kk0561b003ChildMap, fixedText);
				
				// 通知書ステータスが受付済なら、取消
// OM-2014-0001535 2014.04.24 Y.Kanata MOD START
//				if (kk0561A_map != null && JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(kk0561A_map.get(EKK0561A010CBSMsg1List.TCHISHO_STAT)))
				if (kk0561A_map != null 
						&& JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(kk0561A_map.get(EKK0561A010CBSMsg1List.TCHISHO_STAT))
// OM-2014-0001535 2014.04.24 Y.Kanata MOD END
				) {
					// 作業用マップ
					HashMap<String, Object> workMap2 = new HashMap<String, Object>();
					// 作業マップに退避
					workMap2.put("kk0561A_map", kk0561A_map);
					
					// 通知書取消呼出処理
					executeTchishoCL(handle, inParam, kk0561b003ChildMap, fixedText, workMap2);
				}
				
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
				// 通知書が送信済みの場合、送信済みとしてMapに記録
				else if (kk0561A_map != null 
							&& JKKTchishoMapperCC.TCHISHO_STAT_ZUMI.equals(kk0561A_map.get(EKK0561A010CBSMsg1List.TCHISHO_STAT))
				) {
					String tgtSvcKeiNo = (String)childMap.get("svc_kei_no");
					sentMap.put(tgtSvcKeiNo, (String)kk0561A_map.get(EKK0561A010CBSMsg1List.TCHISHO_STAT));
					// 補正用にフラグ立て
					hoseiFlg = true;
				}
				
				// 通知対象物一覧照会用に通知書番号を控えておく
				String tchisho_no = (String)kk0561b003ChildMap.get("tchisho_no");
				if (!StringUtils.isEmpty(tchisho_no)) {
					searchTchiNoSet.add(tchisho_no);
				}
			}
			// 控えておいた通知書番号に対し対象物の一覧紹介をかけて引継項目をhktg_mapに得る
			if (searchTchiNoSet != null && !searchTchiNoSet.isEmpty()) {
				for (String tchisho_no : searchTchiNoSet) {
					// 通知対象物一覧照会
					HashMap<String, Object> kk0571_map = getKK0571Map(handle, inParam, tchisho_no, fixedText);
					// 引継リストに足すべき要素があれば足す
					getHktgParam(kk0571_map, hktgMap);
					// 補正が必要であれば補正を行う
					if (hoseiFlg) {
						sentMapHosei(kk0571_map, sentMap);
					}
				}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
			}
		}
	}
	
// OM-2014-0001535 2014.04.24 Y.Kanata ADD START
	@SuppressWarnings("unchecked")
	private void getHktgParam(
			HashMap<String, Object> kk0571_map
			, HashMap<String, String> hktg_map
			){
		
		if (kk0571_map != null && kk0571_map.containsKey("EKK0571B001CBSMsg1List")) {
			ArrayList<HashMap<String, Object>> kk0571_temp = (ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
			if (kk0571_temp != null) {
				for (HashMap<String, Object> kk0571_rec : kk0571_temp) {
					String svcKeiNo = (String)kk0571_rec.get(EKK0571B001CBSMsg1List.SVC_KEI_NO);
					String zmFlg = (String)kk0571_rec.get(EKK0571B001CBSMsg1List.TCHI_FIN_ZM_FLG);
					// 引継マップになければ追加する。
					if (!hktg_map.containsKey(svcKeiNo)) {
						hktg_map.put(svcKeiNo, zmFlg);
					}
				}
			}
		}
		return;
	}
		
	@SuppressWarnings("unchecked")
	/**
	 * 通知書を得られたキーとなるサービス契約が住所変更修正モードで解約となっている場合<br/>
	 * 後の通知発行済みフラグ補正時に通知書が発行済みか正しく判断できないため<br/>
	 * 通知対象物のサービス契約番号すべてにステータスを持たせるように補正する
	 */
	private void sentMapHosei(
			HashMap<String, Object> kk0571_map
			, HashMap<String, String> sentMap
			){
		String status = "";
		
		if (kk0571_map != null && kk0571_map.containsKey("EKK0571B001CBSMsg1List")) {
			ArrayList<HashMap<String, Object>> kk0571_temp = (ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
			if (kk0571_temp != null) {
				for (HashMap<String, Object> kk0571_rec : kk0571_temp) {
					String svcKeiNo = (String)kk0571_rec.get(EKK0571B001CBSMsg1List.SVC_KEI_NO);
					if (sentMap.containsKey(svcKeiNo)) {
						status = (String)sentMap.get(svcKeiNo);
					}
				}
			}
			if (StringUtils.isEmpty(status)) {
				return;
			}
			if (kk0571_temp != null) {
				for (HashMap<String, Object> kk0571_rec : kk0571_temp) {
					String svcKeiNo = (String)kk0571_rec.get(EKK0571B001CBSMsg1List.SVC_KEI_NO);
					sentMap.put(svcKeiNo, status);
				}
			}
		}
		return;
	}
// OM-2014-0001535 2014.04.24 Y.Kanata ADD END
	
	/**
	 * 通知書一覧照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0561B003(SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, String mskmDtlNo) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561B003(param, mskmDtlNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK0561B003_map = new HashMap<String, Object>();
		KK0561B003_map = tchisho_mapper.editResultRPKK0561B003(result, param, fixedText);
		
		return KK0561B003_map;
	}
	
// OM-2013-0005212対応 20131221 星野 ADD END
	
	// 2014.04.16 ANK-1946-00-00 Add Start
	/**
	 * 通知書登録呼出処理（再発行用）。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param childList ユーザデータ情報リスト
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeAdChgTchishoForSet2(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> workMap, List<HashMap<String, Object>> childList, String syoriKbn) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561DForAdChg2(param, fixedText, workMap, childList, syoriKbn);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
	
	/**
	 * 通知書登録呼出処理（再発行用）。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeAdChgTchisho2(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, HashMap<String, Object> workMap, String syoriKbn) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		HashMap<String, String> userIdMap = getZM0051AMap(handle, param, childMap ,fixedText);
		if(null == userIdMap)
		{
			childMap.put("tchisho_add_user_id", "");
		}
		else
		{
			childMap.put("tchisho_add_user_id", userIdMap.get("user_id"));
		}
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561D2(param, childMap, fixedText, workMap, syoriKbn);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
	// 2014.04.16 ANK-1946-00-00 Add End
	
// 2014.04.24 OM-2014-0001140 Add start
	/**
	 * 通知書対象物取消編集処理です。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private IRequestParameterReadWrite deleteTchishoTg(SessionHandle handle, 
			IRequestParameterReadWrite param, HashMap<String, Object> childMap, String fixedText) throws Throwable
	{
		IRequestParameterReadWrite inParam = param;
		
		if (null == childMap)
		{
			return inParam;	
		}
		
		// リクエストパラメータ.サービス契約番号リスト
		ArrayList svcKeiNoList = (ArrayList)childMap.get("svc_kei_no_list");
		
		if (svcKeiNoList == null || svcKeiNoList.isEmpty()) {
			return inParam;	
		}

		// 通知書一意照会
		HashMap<String, Object> kk0561A_map = getKK0561AMap(handle, param, childMap, fixedText);
		
		if (null == kk0561A_map)
		{
			return inParam;	
		}
		
		// 通知書ステータスを取得
		String tchishoStat = (String)kk0561A_map.get(EKK0561A010CBSMsg1List.TCHISHO_STAT);
		if (!JKKTchishoMapperCC.TCHISHO_STAT_UKE.equals(tchishoStat)) {
			// 通知書ステータス != 受付済 の場合、何もせずに終了
			return inParam;	
		}
		
		// 通知書番号の取得
		String tchisho_no = (String)childMap.get("tchisho_no");

		// 通知対象物一覧照会
		HashMap<String, Object> kk0571_map = getKK0571Map(handle, param, tchisho_no, fixedText);

		// 通知対象マップ（サービス契約番号、kk0571_childMap）通知済は対象。
// 2014.04.30 OM-2014-0001140 mod start
//		HashMap<String, HashMap<String, Object>> tchiTgMap = getKK0571SvckeiMap(kk0571_map);
		HashMap<String, HashMap<String, Object>> tchiTgMap = getKK0571SvckeiMap(kk0571_map,"1");
// 2014.04.30 OM-2014-0001140 mod end
		
		if (tchiTgMap == null) {
			// 有効な通知対象物がないため、通知書を取り消しする。

			// 作業マップに通知書一意照会を格納
			HashMap<String, Object> workMap = new HashMap<String, Object>();
			workMap.put("kk0561A_map", kk0561A_map);
			
			// 通知書取消呼出処理
			inParam = executeTchishoCL(handle, param, childMap, fixedText, workMap);

			return inParam;	
		}
		
		// 取消対象のsvcKeiNoListの数分、繰り返す。
		for (int i = 0; i < svcKeiNoList.size(); i++) {
			
			String svcKeiNoIn = (String)svcKeiNoList.get(i);
			
			if (!JKKStringUtil.isNullBlank(svcKeiNoIn)) {
				
				// 通知対象物データを取得
				HashMap<String, Object> childMap_kk0571 = (HashMap<String, Object>)tchiTgMap.get(svcKeiNoIn);
				
				if (childMap_kk0571 != null) {
					// 通知対象物論理削除 呼出処理
					inParam = executeTchishoTgDel(handle, param, childMap_kk0571, fixedText, svcKeiNoIn);
				}
			}
		}
		
		// 再度、通知対象物一覧照会
		HashMap<String, Object> kk0571_map_af = getKK0571Map(handle, param, tchisho_no, fixedText);

		// 通知対象マップ（サービス契約番号、kk0571_childMap）通知済は対象としない。
// 2014.04.30 OM-2014-0001140 mod start
//		HashMap<String, HashMap<String, Object>> tchiTgMap_af = getKK0571SvckeiMap(kk0571_map_af);
		HashMap<String, HashMap<String, Object>> tchiTgMap_af = getKK0571SvckeiMap(kk0571_map_af, "2");
// 2014.04.30 OM-2014-0001140 mod end

		if (tchiTgMap_af == null) {
			// 有効な通知対象物がないため、通知書を取り消す。
			
			// 作業マップに通知書一意照会を格納
			HashMap<String, Object> workMap = new HashMap<String, Object>();
			workMap.put("kk0561A_map", kk0561A_map);

			// 通知書取消呼出処理
			inParam = executeTchishoCL(handle, param, childMap, fixedText, workMap);
		}
		
		return inParam;	
	}

	/**
	 * 通知対象物一覧結果から、サービス契約番号をキーとして、通知対象物データを値とするマップを返却します。
	 * 無効フラグ＝１（無効）の対象物データは対象外です。
	 * 通知済みの場合を対象とするかどうかは、引数(mode)で指定します。
	 * 有効な対象物データがないときは（全て無効レコード、あるいは通知済）、null が返却されます。
	 * @param kk0571_map 
	 * @param mode 1:通知済を対象とする。 2:通知済を非対象とする。
	 * @return サービス契約番号をキーとして、通知対象物データを値とするマップ。有効な通知対象物データが
	 * 存在しないときはnullを返す。
	 */
// 2014.04.30 OM-2014-0001140 mod start
//	private HashMap<String, HashMap<String, Object>> getKK0571SvckeiMap(HashMap<String, Object> kk0571_map)
	private HashMap<String, HashMap<String, Object>> getKK0571SvckeiMap(HashMap<String, Object> kk0571_map, String mode)
// 2014.04.30 OM-2014-0001140 mod end
	{
		// 通知対象物 格納用マップ（サービス契約、kk0571対象物データ）
		HashMap<String, HashMap<String, Object>> tchiTgMap = null;
		
		// 通知対象物一覧リスト取得
		if(null != kk0571_map && null != kk0571_map.get("EKK0571B001CBSMsg1List"))
		{
			ArrayList<HashMap<String, Object>> kk0571_list = 
				(ArrayList<HashMap<String, Object>>)kk0571_map.get("EKK0571B001CBSMsg1List");
			
			HashMap<String, Object> kk0571_childMap = null;
			
			for(int j = 0; j < kk0571_list.size();j++)
			{
				kk0571_childMap = kk0571_list.get(j);

				// 無効の場合は対象外。（無効レコードは検索されないはずだが念のため）
				if ("1".equals(kk0571_childMap.get("mk_flg"))) {
					continue;
				}
				
// 2014.04.30 OM-2014-0001140 add start
				// mode=2 のとき、通知済は、対象外。
				if ("2".equals(mode)) {
					if ("1".equals(kk0571_childMap.get("tchi_fin_zm_flg"))) {
						continue;
					}
				}
				// 有効で、未通知の場合だけ、マップに格納する。
//2014.04.30 OM-2014-0001140 add end
				
				String svcKeiNo_kk0571 = (String)kk0571_childMap.get("svc_kei_no");
				
				if (!JKKStringUtil.isNullBlank(svcKeiNo_kk0571)) {
					
					if (tchiTgMap == null) {
						tchiTgMap = new HashMap<String, HashMap<String, Object>>();
					}
					// 通知対象物 格納用マップに退避
					tchiTgMap.put(svcKeiNo_kk0571, kk0571_childMap);
				}
			}
		}
		return tchiTgMap;
	}
	
	/**
	 * 通知書取消呼出処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param childMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeTchishoTgDel(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> childMap, String fixedText, String svcKeiNo) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0571E(param, childMap, fixedText);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0571E(result, param, fixedText);
		
		return inParam;
	}		
// 2014.04.24 OM-2014-0001140 Add end

// 2014.06.30 ANK-1996-00-00 Add Start
	/**
	 * 通知書登録呼出処理（コース変更用）。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @param childList ユーザデータ情報リスト
	 * @param syoriKbn 処理区分
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private IRequestParameterReadWrite executeChgCourseTchisho(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, HashMap<String, Object> workMap, List<HashMap<String, Object>> childList) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		IRequestParameterReadWrite inParam = param;
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0561DForChgCourse(param, fixedText, workMap, childList);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		inParam = tchisho_mapper.editResultRPKK0561D(result, param, fixedText);
		
		return inParam;
	}
// 2014.06.30 ANK-1996-00-00 Add End

// 2014/07/22 ANK-2135-00-00 Add Start
// 2014/07/30 IT1-2014-0000256 Del Start
//	/**
//	 * 直近で通知書発行対象の異動があったサービス契約の申込明細番号を取得します
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param (I) 業務データ取得用I/F
//	 * @param svcKeiNo サービス契約番号
//	 * @param fixedText (I) ユーザ定義文字列
//	 * @return 申込明細番号
//	 * @throws Throwable 
//	 */
//	@SuppressWarnings("unchecked")
//	private String getMskmDtlNo(SessionHandle handle, IRequestParameterReadWrite param, String svcKeiNo, String fixedText) throws Throwable
//	{
//		// サービス契約スキーマを取得
//		HashMap<String, Object> kk0081B024_map = getKK0081B024Map(handle, param, svcKeiNo, fixedText);
//		
//		if(null == kk0081B024_map || null == kk0081B024_map.get("EKK0081B024CBSMsg1List"))
//		{
//			return null;
//		}
//		
//		ArrayList kk0081B024_list = null;
//		kk0081B024_list = (ArrayList)kk0081B024_map.get("EKK0081B024CBSMsg1List");
//		
//		if (null == kk0081B024_list || kk0081B024_list.isEmpty())
//		{
//			return null;
//		}
//
//		// 直近で通知書発行対象の異動があったサービス契約の申込明細番号を取得
//		HashMap<String, Object> kk0081Map = null;
//		for(int i = 0; i < kk0081B024_list.size(); i++)
//		{
//			kk0081Map = (HashMap)kk0081B024_list.get(i);
//			String idoDiv = (String)kk0081Map.get("ido_div");
//			
//			// 対象の異動区分（新規申込・サービス追加・コース変更・住所変更登録）に該当する申込明細番号を取得
//			if (JKKStrConst.CD00576_00001.equals(idoDiv) ||
//				JKKStrConst.CD00576_00002.equals(idoDiv) ||
//				JKKStrConst.CD00576_00009.equals(idoDiv) ||
//				JKKStrConst.CD00576_ADCHG_ADD.equals(idoDiv))
//			{
//				return (String)kk0081Map.get("mskm_dtl_no");
//			}
//		}
//		
//		return null;
//	}
// 2014/07/30 IT1-2014-0000256 Del End

// v11.00 2014/10/20 ADD START
	/**
	 * 通知書発行対象の異動があった世代が最も古いサービス契約の申込明細番号を取得します
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 申込明細番号
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private String getMskmDtlNo(SessionHandle handle, IRequestParameterReadWrite param, String svcKeiNo, String fixedText) throws Throwable
	{
		// サービス契約スキーマを取得
		HashMap<String, Object> kk0081B019_map = getKK0081B019Map(handle, param, svcKeiNo, fixedText);
		
		if(null == kk0081B019_map || null == kk0081B019_map.get("EKK0081B019CBSMsg1List"))
		{
			return null;
		}
		
		ArrayList kk0081B019_list = null;
		kk0081B019_list = (ArrayList)kk0081B019_map.get("EKK0081B019CBSMsg1List");
		
		if (null == kk0081B019_list || kk0081B019_list.isEmpty())
		{
			return null;
		}

		HashMap<String, Object> kk0081Map = (HashMap)kk0081B019_list.get(0);

		return (String)kk0081Map.get("mskm_dtl_no");
	}

	/**
	 * サービス契約履歴一覧照会の結果取得処理。(履歴が最も古いサービス契約を取得)<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081B019Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String svcKeiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0081B019(param, svcKeiNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK0081B019_map = new HashMap<String, Object>();
		KK0081B019_map = tchisho_mapper.editResultRPKK0081B019(result, param, fixedText);
		
		return KK0081B019_map;
	}
// v11.00 2014/10/20 ADD END

	/**
	 * サービス契約履歴一覧照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081B024Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String svcKeiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0081B024(param, svcKeiNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK0081B024_map = new HashMap<String, Object>();
		KK0081B024_map = tchisho_mapper.editResultRPKK0081B024(result, param, fixedText);
		
		return KK0081B024_map;
	}
	
	/**
	 * 申込時登録不可契約予約一覧照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param mskmDtlNo 申込明細番号
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK2931B001Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String mskmDtlNo, String svcKeiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK2931B001(param, mskmDtlNo, svcKeiNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK2931B001_map = new HashMap<String, Object>();
		KK2931B001_map = tchisho_mapper.editResultRPKK2931B001(result, param, fixedText);
		
		return KK2931B001_map;
	}
// 2014/07/22 ANK-2135-00-00 Add End
// 2014/07/30 IT1-2014-0000256 Add Start
	/**
	 * 割引サービス契約一覧照会（割引サービス指定）の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param svcKeiNo サービス契約番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0451B010Map(SessionHandle handle, IRequestParameterReadWrite param, 
			String svcKeiNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0451B010(param, svcKeiNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK0451B010_map = new HashMap<String, Object>();
		KK0451B010_map = tchisho_mapper.editResultRPKK0451B010(result, param, fixedText);
		
		return KK0451B010_map;
	}
// 2014/07/30 IT1-2014-0000256 Add End

// v11.00 2014/10/20 ADD START
	/**
	 * 申込明細一意照会の結果取得処理。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param mskmDtlNo 申込明細番号
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0021AMap(SessionHandle handle, IRequestParameterReadWrite param, 
			String mskmDtlNo, String fixedText) throws Throwable
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0021A(param, mskmDtlNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object>KK0021A_map = new HashMap<String, Object>();
		KK0021A_map = tchisho_mapper.editResultRPKK0021A(result, param, fixedText);
		
		return KK0021A_map;
	}
// v11.00 2014/10/20 ADD END
	
// v11.01 ADD START
	
	/**
	 * 
	 * 申込_代理店一覧照会
	 * 
	 * @param  handle
	 * @param  param
	 * @param  mskmNo
	 * @param  fixedText
	 * @return 
	 * @throws Throwable
	 * 
	 */
	private HashMap<String, Object> getKK0071B002Map(SessionHandle handle, IRequestParameterReadWrite param, String mskmNo, String fixedText) throws Throwable {
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0071B002(param, mskmNo);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> ret = new HashMap<String, Object>();
		ret = tchisho_mapper.editResultRPKK0071B002(result, param, fixedText);
		
		return ret;
	}
	
	/**
	 * 
	 * 代理店マスタ一意照会
	 * 
	 * @param  handle
	 * @param  param
	 * @param  mskmNo
	 * @param  fixedText
	 * @return 
	 * @throws Throwable
	 * 
	 */
	private HashMap<String, Object> getKK0061A010Map(SessionHandle handle, IRequestParameterReadWrite param, String agntCd, String fixedText) throws Throwable {
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = tchisho_mapper.editInMsgKK0061A010(param, agntCd);
		
		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		/* ◇下りマッピング処理 */
		HashMap<String, Object> ret = new HashMap<String, Object>();
		ret = tchisho_mapper.editResultRPKK0061A010(result, param, fixedText);
		
		return ret;
	}
	
	/**
	 * 
	 * 申込チャネルコードを返却
	 * 
	 * @param  handle
	 * @param  param
	 * @param  mskmNo
	 * @param  fixedText
	 * @return 
	 * @throws Throwable
	 * 
	 */
	private String retMskmChCd(SessionHandle handle, IRequestParameterReadWrite param, String mskmNo, String fixedText) throws Throwable {
		
		final String conOk = "02";																	// 量販
		final String conNg = "01";																	// 量販以外
		
		// 対象となる代理店コードをリスト化
		List<String> agntCdList  = retTgAgntCdList(handle, param, (String) mskmNo, fixedText);
		
		// 対象となる申込チャネルをリスト化
		List<String> mkmChCdList = retTgMkmChCdList(handle, param, agntCdList, fixedText);
		
		// 取扱コード用申込チャネルコード返却
		return mkmChCdList.contains("01") ? conOk : conNg;
	}
	
	/**
	 * 
	 * 対象となる代理店コードをリスト化して返却
	 * 
	 * @param  handle
	 * @param  param
	 * @param  mskmNo
	 * @param  fixedText
	 * @return 
	 * @throws Throwable
	 * 
	 */
	private List<String> retTgAgntCdList(SessionHandle handle, IRequestParameterReadWrite param, String mskmNo, String fixedText) throws Throwable {
		
		List<String> ret = new ArrayList<String>();
		final String conKK0071List = "EKK0071B002CBSMsg1List";
		
		// 一覧検索：申込_代理店検索
		HashMap<String, Object> kk0071B002 = getKK0071B002Map(handle, param, mskmNo, fixedText);
		if (kk0071B002 == null || kk0071B002.size() == 0) 
			return ret;
		
		// リスト取得
		ArrayList<HashMap> kk0071List = (ArrayList<HashMap>)kk0071B002.get(conKK0071List);
		if (kk0071List == null || kk0071List.size() == 0) 
			return ret;
		
		// 件数分,代理店コード保持判定
		for (HashMap map : kk0071List) {
			
			String agntCd = (String) map.get("agnt_cd");
			String dspJun = (String) map.get("dsp_jun");
			
			// 表示順が[1]又は[3]の場合,代理店コードを保持
			if ("1".equals(dspJun) || "3".equals(dspJun))
				ret.add(agntCd);
		}
		
		return ret;
	}
	
	/**
	 * 
	 * 対象となるチャネルコードをリスト化して返却
	 * 
	 * @param  handle
	 * @param  param
	 * @param  agntCdList
	 * @param  fixedText
	 * @return 
	 * @throws Throwable
	 * 
	 */
	private List<String> retTgMkmChCdList(SessionHandle handle, IRequestParameterReadWrite param, List<String> agntCdList, String fixedText) throws Throwable {
		
		List<String> ret = new ArrayList<String>();
		final String conKK0061List = "EKK0061A010CBSMsg1List";
		
		for (String tg : agntCdList) {
			
			// 一意検索：代理店
			HashMap<String, Object> kk0061A010 = getKK0061A010Map(handle, param, tg, fixedText);
			if (kk0061A010 == null || kk0061A010.size() == 0) 
				continue;
			
			// リスト取得
			ArrayList<HashMap> kk0061List = (ArrayList<HashMap>) kk0061A010.get(conKK0061List);
			if (kk0061List == null || kk0061List.size() == 0) 
				continue;
			
			// 取扱コード用申込チャネルコード設定
			ret.add((String) kk0061List.get(0).get("trat_cd_yo_mkm_channel_cd"));
		}
		
		return ret;
	}
// v11.01 ADD END
	
	// OM-2017-0000915 ADD START
	/**
	 * 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードを設定し結果を返却します。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param param (I) 業務データ取得用I/F
	 * @param kk0081A_map サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return kk0081A_map サービス契約情報
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private HashMap setPcrsChgafPcrsCd(SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> kk0081childMap, String fixedText) throws Throwable
	{
		String svcKeiNo = null;
		
		if(null != kk0081childMap && null != kk0081childMap.get("svc_kei_no") && !("".equals(kk0081childMap.get("svc_kei_no"))))
		{
			svcKeiNo = (String)kk0081childMap.get("svc_kei_no");
		}
		else
		{
			return kk0081childMap;
		}

		// 異動予約一覧照会
		HashMap subMap = new HashMap();
		subMap.put("svc_kei_no", svcKeiNo);
		
		// 異動予約一覧照会（キー：サービス契約番号、異動予約詳細コード、異動予約状態コード）
		HashMap kk1681_map = getKK1681BMap(handle, param, subMap, fixedText);
		HashMap kk1681_subMap = null;
		if(null != kk1681_map && null != kk1681_map.get("EKK1681B001CBSMsg1List"))
		{
			ArrayList kk1681_list = (ArrayList)kk1681_map.get("EKK1681B001CBSMsg1List");
			if(kk1681_list.size() > 0)
			{
				kk1681_subMap = (HashMap)kk1681_list.get(0);
			}
		}
		if(null != kk1681_subMap && null != kk1681_subMap.get("pcrs_cd") && !("".equals(kk1681_subMap.get("pcrs_cd"))))
		{
			// 未反映のコース変更の異動予約が存在する場合、変更後の料金コースコードを設定する
			kk0081childMap.put("pcrs_cd", kk1681_subMap.get("pcrs_cd"));
		}
		return kk0081childMap;
	}
	// OM-2017-0000915 ADD END
}
