/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKSendTgDataShuyaku
*	ソースファイル名	：JBSbatKKSendTgDataShuyaku.java
*	作成者				：富士通　
*	作成日				：2011年08月18日
*＜機能概要＞
*　送信対象データ集約部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/18  FJ)倉上		新規作成
*	v5.00.00	2013/08/24  FJ)柳		【OM-2013-0000698】障害対応
*	v5.00.01	2013/12/09  FJ)古内		【OM-2013-0004106】障害対応
*	v5.00.02	2013/12/19  FJ)古内		【OM-2013-0005228】障害対応
*	v5.00.03	2013/12/20  FJ)古内		【OM-2013-0005227】障害対応
*	v5.00.04	2014/01/21  FJ)古内		【OM-2014-0000197】障害対応
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatKKIFM078;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKSendTgDataShuyaku extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** サービスコード(eo光ネット)*/
	private static final String SVC_CD_NET = "01";
	
	/** サービスコード(eo光電話)*/
	private static final String SVC_CD_TEL = "02";
	
	/** サービスコード(eo光テレビ)*/
	private static final String SVC_CD_TV = "03";
	
//	/** サービスコード(eo光テレビ)*/
//	private static final String SVC_CD_NAME = "eo光テレビ";
	
	/** 中間文字列*/
	private static final String COMMA = ";";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @param outputInItem 入力情報
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap, JBSbatOutputItem outputInItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		super.logPrint.printDebugLog("execute_START");
		
		JBSbatServiceInterfaceMap out_map = null;
		
		// 入力なし（＝最終処理）の場合、集計結果を出力して処理を終了する。
		if (inMap == null)
		{
			// 退避出力領域の情報をファイル出力します。
// ++++++++++++++++++++ v5.00.02 変更開始 ++++++++++++++++++++
			JBSbatServiceInterfaceMap prt_map = (JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(outputInItem.getOutMapList().size() -1);
// ++++++++++++++++++++ v5.00.02 変更終了 ++++++++++++++++++++
// ++++++++++++++++++++ v5.00.01 変更開始 ++++++++++++++++++++
			if (!"0".equals(prt_map.getString(JBSbatKKIFM078.MAIL_SEND_FLG)))
			{
				super.logPrint.printDebugLog("送信対象!!");
				prt_map.setOutFlg(true);
			}
// ++++++++++++++++++++ v5.00.01 変更終了 ++++++++++++++++++++
			return outputInItem;
		}
		
		// マスタデータからサービスコードを取得します。
		String svc_cd = inMap.getString(JBSbatKKIFM078.SVC_CD);
		
		// 1件目のデータの退避
		if (!outputInItem.isOutMapList())
		{
			
			// サービス名を設定します。
			setServiceName(inMap, svc_cd, null, true);
			
			inMap.setOutFlg(false);
			outputInItem.addOutMapList(inMap);
			return outputInItem;
		}
		else
		{
			if (SVC_CD_TV.equals(svc_cd))
			{
				
				// キー（入力）の設定。
				StringBuilder inkeyBuf = null;
				String inKey = "";
				inkeyBuf = new StringBuilder();
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MSKM_DTL_NO));					// 申込明細番号
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MSKM_NO));						// 申込番号
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MSKMSHO_NO));					// 申込書番号 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD));			// 工事進捗通知メールアドレス 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD));			// 工事進捗通知携帯メールアドレス 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.SVC_KEI_NO));					// サービス契約番号
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.SVC_KEI_STAT));					// サービス契約ステータス 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.SVC_CD));						// サービスコード 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.SKEKKA_CD));						// 審査結果コード 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KOJIAK_NO));						// 工事案件番号 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD));		// 工程光ルート調査設計コード 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD));		// 工程お客様宅内調査日程調整コード 
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD));			// 工程お客様宅内調査コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD));	// 工程各種許可申請コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD));		// 工程宅内調査承諾書受領コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD));		// 工程光ケーブル線路工事コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD));		// 工程お客様宅内工事コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.STEP_USE_STA_CD));				// 工程ご利用開始コード
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.TAKCHO_JSSI_FLG));				// 宅内調査実施フラグ
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_PC));				// メール送信番号＿ＰＣ
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI));			// メール送信番号＿携帯 
				inKey = inkeyBuf.toString(); // キー（マスタ）メイン生成
				
// ++++++++++++++++++++ v5.00.02 変更開始 ++++++++++++++++++++
				out_map = (JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(outputInItem.getOutMapList().size() -1);
// ++++++++++++++++++++ v5.00.02 変更終了 ++++++++++++++++++++
				
				// キー（退避）の設定。
				StringBuilder keyBufTmp = new StringBuilder();

				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MSKM_DTL_NO));					// 申込明細番号
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MSKM_NO));						// 申込番号
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MSKMSHO_NO));						// 申込書番号 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD));				// 工事進捗通知メールアドレス 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD));				// 工事進捗通知携帯メールアドレス 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.SVC_KEI_NO));						// サービス契約番号 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.SVC_KEI_STAT));					// サービス契約ステータス 
 				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.SVC_CD));							// サービスコード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.SKEKKA_CD));						// 審査結果コード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KOJIAK_NO));						// 工事案件番号 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD));		// 工程光ルート調査設計コード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD));		// 工程お客様宅内調査日程調整コード
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD));			// 工程お客様宅内調査コード 
 				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD));		// 工程各種許可申請コード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD));		// 工程宅内調査承諾書受領コード 
 				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD));		// 工程光ケーブル線路工事コード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD));		// 工程お客様宅内工事コード 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.STEP_USE_STA_CD));				// 工程ご利用開始コード 
 				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.TAKCHO_JSSI_FLG));				// 宅内調査実施フラグ 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MAIL_SEND_NO_PC));				// 宅内調査実施フラグ 
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI));			// メール送信番号＿携帯 
				String tmpKey = keyBufTmp.toString(); // キー（退避）メイン生成

				super.logPrint.printDebugLog("キー（マスタ）:::::" + inKey);
				super.logPrint.printDebugLog("キー（退避）:::::" + tmpKey);
				
				// キーが不一致
				if (!inKey.equals(tmpKey)) 
				{
					super.logPrint.printDebugLog("キーが不一致");
					super.logPrint.printDebugLog("svc_cd:::::" + svc_cd);
					
// ++++++++++++++++++++ v5.00.01 変更開始 ++++++++++++++++++++
					if (!"0".equals(out_map.getString(JBSbatKKIFM078.MAIL_SEND_FLG)))
					{
						super.logPrint.printDebugLog("送信対象!!" + out_map.getString(JBSbatKKIFM078.MAIL_SEND_FLG));
						//出力共通電文に入出力インターフェースを設定する。
						out_map.setOutFlg(true);
					}
// ++++++++++++++++++++ v5.00.01 変更終了 ++++++++++++++++++++
					
					JBSbatServiceInterfaceMap map = new JBSbatServiceInterfaceMap();
					map.setOutFlg(false);
					map.set(JBSbatKKIFM078.MSKM_DTL_NO, inMap.getString(JBSbatKKIFM078.MSKM_DTL_NO));
					map.set(JBSbatKKIFM078.MSKM_NO, inMap.getString(JBSbatKKIFM078.MSKM_NO));
					map.set(JBSbatKKIFM078.MSKMSHO_NO, inMap.getString(JBSbatKKIFM078.MSKMSHO_NO));
					map.set(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD, inMap.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD));
					map.set(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD, inMap.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD));
					map.set(JBSbatKKIFM078.SVC_KEI_NO, inMap.getString(JBSbatKKIFM078.SVC_KEI_NO));
					map.set(JBSbatKKIFM078.SVC_KEI_STAT, inMap.getString(JBSbatKKIFM078.SVC_KEI_STAT));
					map.set(JBSbatKKIFM078.SVC_CD, inMap.getString(JBSbatKKIFM078.SVC_CD));
					map.set(JBSbatKKIFM078.SKEKKA_CD, inMap.getString(JBSbatKKIFM078.SKEKKA_CD));
					map.set(JBSbatKKIFM078.KOJIAK_NO, inMap.getString(JBSbatKKIFM078.KOJIAK_NO));
					map.set(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD, inMap.getString(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD));
					map.set(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD, inMap.getString(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD));
					map.set(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD, inMap.getString(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD));
					map.set(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD, inMap.getString(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD));
					map.set(JBSbatKKIFM078.STEP_USE_STA_CD, inMap.getString(JBSbatKKIFM078.STEP_USE_STA_CD));
					map.set(JBSbatKKIFM078.TAKCHO_JSSI_FLG, inMap.getString(JBSbatKKIFM078.TAKCHO_JSSI_FLG));
					map.set(JBSbatKKIFM078.MAIL_SEND_NO_PC, inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_PC));
					map.set(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI, inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI));
					map.set(JBSbatKKIFM078.MAIL_SEND_FLG, inMap.getString(JBSbatKKIFM078.MAIL_SEND_FLG));
// ++++++++++++++++++++++ v5.00.03 追加開始 ++++++++++++++++++++++++++++
					map.set(JBSbatKKIFM078.KOJIAK_SBT_CD, inMap.getString(JBSbatKKIFM078.KOJIAK_SBT_CD));
// ++++++++++++++++++++++ v5.00.03 追加終了 ++++++++++++++++++++++++++++
// ++++++++++++++++++++++ v5.00.04 追加開始 ++++++++++++++++++++++++++++
					map.set(JBSbatKKIFM078.MSKMSHO_DTL_NO, inMap.getString(JBSbatKKIFM078.MSKMSHO_DTL_NO));
// ++++++++++++++++++++++ v5.00.04 追加終了 ++++++++++++++++++++++++++++
					
					// サービス名を設定します。
					setServiceName(map, svc_cd, null, true);
					map.set(JBSbatKKIFM078.SVC_NAME, map.getString(JBSbatKKIFM078.SVC_NAME));
					outputInItem.addOutMapList(map);
				}
			}
			else
			{
				// キー（入力）の設定。
				StringBuilder inkeyBuf = null;
				String inKey = "";
				inkeyBuf = new StringBuilder();
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KOJIAK_NO));				// 工事案件番号
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.MSKM_NO));				// 申込番号
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD));	// 工事進捗通知メールアドレス
				inkeyBuf.append(COMMA);
				inkeyBuf.append(inMap.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD));	// 工事進捗通知携帯メールアドレス
				inKey = inkeyBuf.toString(); // キー（マスタ）メイン生成
				
// ++++++++++++++++++++ v5.00.02 変更開始 ++++++++++++++++++++
				out_map = (JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(outputInItem.getOutMapList().size() -1);
// ++++++++++++++++++++ v5.00.02 変更終了 ++++++++++++++++++++
				
				// キー（退避）の設定。
				StringBuilder keyBufTmp = new StringBuilder();
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KOJIAK_NO));			// 工事案件番号
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.MSKM_NO));			// 申込番号
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD)); // 工事進捗通知メールアドレス
				keyBufTmp.append(COMMA);
				keyBufTmp.append(out_map.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD)); // 工事進捗通知携帯メールアドレス
				String tmpKey = keyBufTmp.toString(); // キー（退避）メイン生成
				
				super.logPrint.printDebugLog("キー（マスタ）:::::" + inKey);
				super.logPrint.printDebugLog("キー（退避）:::::" + tmpKey);
				
				// キーが不一致
				if (!inKey.equals(tmpKey)) 
				{
					super.logPrint.printDebugLog("キーが不一致");
					super.logPrint.printDebugLog("svc_cd:::::" + svc_cd);
					
					if (!"0".equals(out_map.getString(JBSbatKKIFM078.MAIL_SEND_FLG)))
					{
						super.logPrint.printDebugLog("送信対象!!");
						//出力共通電文に入出力インターフェースを設定する。
						out_map.setOutFlg(true);
					}
					
					JBSbatServiceInterfaceMap map = new JBSbatServiceInterfaceMap();
					map.setOutFlg(false);
					map.set(JBSbatKKIFM078.MSKM_DTL_NO, inMap.getString(JBSbatKKIFM078.MSKM_DTL_NO));
					map.set(JBSbatKKIFM078.MSKM_NO, inMap.getString(JBSbatKKIFM078.MSKM_NO));
					map.set(JBSbatKKIFM078.MSKMSHO_NO, inMap.getString(JBSbatKKIFM078.MSKMSHO_NO));
					map.set(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD, inMap.getString(JBSbatKKIFM078.KOJI_PRG_TCHI_MLAD));
					map.set(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD, inMap.getString(JBSbatKKIFM078.KJSC_TCH_KTAI_MLAD));
					map.set(JBSbatKKIFM078.SVC_KEI_NO, inMap.getString(JBSbatKKIFM078.SVC_KEI_NO));
					map.set(JBSbatKKIFM078.SVC_KEI_STAT, inMap.getString(JBSbatKKIFM078.SVC_KEI_STAT));
					map.set(JBSbatKKIFM078.SVC_CD, inMap.getString(JBSbatKKIFM078.SVC_CD));
					map.set(JBSbatKKIFM078.SKEKKA_CD, inMap.getString(JBSbatKKIFM078.SKEKKA_CD));
					map.set(JBSbatKKIFM078.KOJIAK_NO, inMap.getString(JBSbatKKIFM078.KOJIAK_NO));
					map.set(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD, inMap.getString(JBSbatKKIFM078.STEP_HROUTE_CHOSA_DSGN_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_NTADJ_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKCHO_CD));
					map.set(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD, inMap.getString(JBSbatKKIFM078.STEP_VARI_KYOKA_SHINSEI_CD));
					map.set(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD, inMap.getString(JBSbatKKIFM078.STEP_TAKCHO_SDAKS_RCP_CD));
					map.set(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD, inMap.getString(JBSbatKKIFM078.STEP_HCABLE_LINE_KOJI_CD));
					map.set(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD, inMap.getString(JBSbatKKIFM078.STEP_CUST_TAKNI_KOJI_CD));
					map.set(JBSbatKKIFM078.STEP_USE_STA_CD, inMap.getString(JBSbatKKIFM078.STEP_USE_STA_CD));
					map.set(JBSbatKKIFM078.TAKCHO_JSSI_FLG, inMap.getString(JBSbatKKIFM078.TAKCHO_JSSI_FLG));
					map.set(JBSbatKKIFM078.MAIL_SEND_NO_PC, inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_PC));
					map.set(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI, inMap.getString(JBSbatKKIFM078.MAIL_SEND_NO_KEITAI));
					map.set(JBSbatKKIFM078.MAIL_SEND_FLG, inMap.getString(JBSbatKKIFM078.MAIL_SEND_FLG));
// ++++++++++++++++++++++ v5.00.03 追加開始 ++++++++++++++++++++++++++++
					map.set(JBSbatKKIFM078.KOJIAK_SBT_CD, inMap.getString(JBSbatKKIFM078.KOJIAK_SBT_CD));
// ++++++++++++++++++++++ v5.00.03 追加終了 ++++++++++++++++++++++++++++
// ++++++++++++++++++++++ v5.00.04 追加開始 ++++++++++++++++++++++++++++
					map.set(JBSbatKKIFM078.MSKMSHO_DTL_NO, inMap.getString(JBSbatKKIFM078.MSKMSHO_DTL_NO));
// ++++++++++++++++++++++ v5.00.04 追加終了 ++++++++++++++++++++++++++++
					
					// サービス名を設定します。
					setServiceName(map, svc_cd, null, true);
					map.set(JBSbatKKIFM078.SVC_NAME, map.getString(JBSbatKKIFM078.SVC_NAME));
					outputInItem.addOutMapList(map);
				}
				else
				{
					super.logPrint.printDebugLog("キーが一致");
					
// ++++++++++++++++++++ v5.00.02 変更開始 ++++++++++++++++++++
					out_map = (JBSbatServiceInterfaceMap)outputInItem.getOutMapList().get(outputInItem.getOutMapList().size() -1);
// ++++++++++++++++++++ v5.00.02 変更終了 ++++++++++++++++++++
					// マスタデータからサービスコードを取得します。
					String svc_cd1 = out_map.getString(JBSbatKKIFM078.SVC_CD);
					
					// サービス名を設定します。
					setServiceName(out_map, svc_cd, svc_cd1, false);
				}
			}
		}
		super.logPrint.printDebugLog("execute_END");
		
		return outputInItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 
	 * サービス名の設定を行います。
	 * 
	 * @param  inMap      入力データ
	 * @param  svc_cd     メインデータのサービスコード
	 * @param  svc_cd_wk  退避データのサービスコード
	 * @param  flag       true:キーが不一致の場合、false:キーが一致の場合
	 * @return 処理結果
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void setServiceName(JBSbatServiceInterfaceMap inMap, String svc_cd, String svc_cd_wk, boolean flag) throws Exception 
	{
		// キーが不一致の場合
		if (flag)
		{
			// サービスコードが「eo光ネット」の場合
			if (SVC_CD_NET.equals(svc_cd))
			{
				// サービス名に「eo光ネット」を設定。
				inMap.set(JBSbatKKIFM078.SVC_NAME, "eo光ネット");
			}
			
			// サービスコードが「eo光電話」の場合
			else if (SVC_CD_TEL.equals(svc_cd))
			{
				// サービス名に「eo光電話」を設定。
				inMap.set(JBSbatKKIFM078.SVC_NAME, "eo光電話");
			}
			
			// サービスコードが「eo光テレビ」の場合
			else if (SVC_CD_TV.equals(svc_cd))
			{
				// サービス名に「eo光テレビ」を設定。
				inMap.set(JBSbatKKIFM078.SVC_NAME, "eo光テレビ");
			}
		}
		
		// キーが一致の場合
		else
		{
			// マスタデータが「01：eo光ネット」、退避データが「02：eo光電話」の場合
			if (SVC_CD_TEL.equals(svc_cd) && SVC_CD_NET.equals(svc_cd_wk))
			{
				// サービス名に「eo光ネット/eo電話」を設定。
				inMap.set(JBSbatKKIFM078.SVC_NAME, "eo光ネット/eo光電話");
			}
		}
	}
}
