/*********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名			：eo顧客基幹システム
 *	モジュール名		：JBSbatKKDojiBmpKiboUmHanei
 *	ソースファイル名	：JBSbatKKDojiBmpKiboUmHanei.java
 *	作成者				：富士通　
 *	作成日				：2012年09月11日
 *＜機能概要＞
 *　同時番ポ希望有無反映部品です。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/09/11   富士通		新規作成
 *********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM261;
import eo.framework.application.JBSbatBusinessError;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatCheckUtil;
import eo.framework.util.JBSbatStringUtil;

/**
 * (クラスの機能概要) <p>
 *<BR>
 * @author 富士通
 */
public class JBSbatKKDojiBmpKiboUmHanei extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(サービス契約＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_EOH_TEL = "KK_T_SVC_KEI_EOH_TEL";

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(サービス契約内訳＜ｅｏ光電話＞)*/
	private static final String D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL = "KK_T_SVKEIUW_EOH_TEL";

	/** SQL定義キー(KK_SELECT_032)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_032 = "KK_SELECT_032";

	/** SQL定義キー(KK_INSERT_007)*/
	private static final String KK_T_SVC_KEI_KK_INSERT_007 = "KK_INSERT_007";

	/** SQL定義キー(KK_INSERT_002)*/
	private static final String KK_T_SVC_KEI_EOH_TEL_KK_INSERT_002 = "KK_INSERT_002";

	
	/** SQL定義キー(KK_SELECT_098)*/
    // IT2-2013-0000270 2013/03/12 UPD START
	//	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_067 = "KK_SELECT_067";
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_098 = "KK_SELECT_098";
    // IT2-2013-0000270 2013/03/12 UPD END
	
	
	
	/** SQL定義キー(KK_INSERT_004)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_INSERT_004 = "KK_INSERT_004";

	/** SQL定義キー(KK_INSERT_003)*/
	private static final String KK_T_SVKEIUW_EOH_TEL_KK_INSERT_003 = "KK_INSERT_003";

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_EOH_TEL = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(サービス契約内訳＜ｅｏ光電話＞)*/
	private JBSbatSQLAccess db_KK_T_SVKEIUW_EOH_TEL = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	// ▼▼▼▼▼ 2013/02/01 ST1-2013-0000263 UPD START ▼▼▼▼▼
	/** 世代登録年月日時分秒 */
	private String strGeneAddDtm   = null;
	// ▲▲▲▲▲ 2013/02/01 ST1-2013-0000263 UPD E N D ▲▲▲▲▲

	/** 世代登録年月日時分秒（更新前） */
	private String strGeneAddDtmBf = null;

	// ▼▼▼▼▼ 2012/11/15 IT2-2012-0001686 UPD START ▼▼▼▼▼
	/** 改行コード */
	private static final String LF   = "LF";
	// ▲▲▲▲▲ 2012/11/15 IT2-2012-0001686 UPD E N D ▲▲▲▲▲

	/** カンマ */
	private static final String CAM  = JKKBatConst.S_SEP_CAM;

	/** エンド */
	private static final String END = "\n";

	/** ファイル出力用のデータを設定 */
	private StringBuffer writeData = new StringBuffer();

	// ▼▼▼▼▼ 2013/02/01 ST1-2013-0000263 ADD START ▼▼▼▼▼
	/** 処理済サービス契約番号格納リスト */
	private ArrayList<String> processedSvcKeiList = new ArrayList<String>();
	// ▲▲▲▲▲ 2013/02/01 ST1-2013-0000263 ADD E N D ▲▲▲▲▲

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_EOH_TEL);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_SVKEIUW_EOH_TEL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEIUW_EOH_TEL);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		try{
			// 入力情報の単項目チェック
			if (!isSingleCheckKKIFM261_INF1(inMap.getMap(), getItemvalueMap()))
			{
				// エラーフラグ設定
				super.commonItem.setErrFlg(true);

				// ファイル出力用のデータを登録
				setStringBuffer(inMap);

				return null;
			}

			// ▼▼▼▼▼ 2013/02/01 ST1-2013-0000263 ADD START ▼▼▼▼▼
			// 処理済のサービス契約番号は、処理をしない
			// ========================================================================== //
			// ※サービス契約回線内訳番号違いで、同サービス契約番号のレコードが           //
			// 　複数行存在する場合があるが、回線に関わるスキーマの更新を行わないため、   //
			// 　同サービス契約番号では、一度きりの更新処理とする。                       //
			// ※単項目チェックをしているのは、エラー検出のため。                         //
			// ========================================================================== //
			if (processedSvcKeiList.contains(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO)))
			{
				return null;
			}

			// 世代登録年月日時分秒を取得
			strGeneAddDtm = JCCBatCommon.getSysDateTimeStamp();
			// ▲▲▲▲▲ 2013/02/01 ST1-2013-0000263 ADD E N D ▲▲▲▲▲

			// サービス契約の世代登録年月日を取得
			executeKK_T_SVC_KEI_KK_SELECT_032(getParam_KK_T_SVC_KEI_S032(inMap));

			// SQL実行結果を取得
			JBSbatCommonDBInterface map = new JBSbatCommonDBInterface(); 
			map = db_KK_T_SVC_KEI.selectNext();

			if (map != null)
			{
				strGeneAddDtmBf = map.getString("GENE_ADD_DTM");
				
				// OM-2013-0002592 2013/10/08 START
				executeKK_T_SVC_KEI_UCWK_KK_SELECT_098(getParam_KK_T_SVC_KEI_UCWK_S098(inMap));
				
				JBSbatCommonDBInterface svcKeiUcwkmap = new JBSbatCommonDBInterface(); 
				
				svcKeiUcwkmap = db_KK_T_SVC_KEI_UCWK.selectNext();
				
				if ( null == svcKeiUcwkmap) {
					return null;
				}
				// OM-2013-0002592 2013/10/08 END

				//サービス契約スキーマに新規登録
				executeKK_T_SVC_KEI_KK_INSERT_007(getParam_KK_T_SVC_KEI_I007(inMap));

				//サービス契約＜ｅｏ光電話＞スキーマに新規登録
				executeKK_T_SVC_KEI_EOH_TEL_KK_INSERT_002(getParam_KK_T_SVC_KEI_EOH_TEL_I002(inMap));

				//サービス契約内訳番号を取得
				// IT2-2013-0000270 2013/03/12 UPD START
				//executeKK_T_SVC_KEI_UCWK_KK_SELECT_067(getParam_KK_T_SVC_KEI_UCWK_S067(inMap));
				executeKK_T_SVC_KEI_UCWK_KK_SELECT_098(getParam_KK_T_SVC_KEI_UCWK_S098(inMap));
				// IT2-2013-0000270 2013/03/12 UPD END
				
				map = new JBSbatCommonDBInterface(); 
				for(map = db_KK_T_SVC_KEI_UCWK.selectNext(); null != map; map = db_KK_T_SVC_KEI_UCWK.selectNext())
				{
					//サービス契約内訳＜ｅｏ光電話＞スキーマに新規登録
					executeKK_T_SVKEIUW_EOH_TEL_KK_INSERT_003(getParam_KK_T_SVKEIUW_EOH_TEL_I003(inMap,map.getString("SVC_KEI_UCWK_NO")));

					//サービス契約内訳スキーマに新規登録
					executeKK_T_SVC_KEI_UCWK_KK_INSERT_004(getParam_KK_T_SVC_KEI_UCWK_I004(map.getString("SVC_KEI_UCWK_NO")));
				}

				// ▼▼▼▼▼ 2013/02/01 ST1-2013-0000263 ADD START ▼▼▼▼▼
				// 処理したサービス契約番号を格納
				processedSvcKeiList.add(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO));
				// ▲▲▲▲▲ 2013/02/01 ST1-2013-0000263 ADD E N D ▲▲▲▲▲
			}

		}catch(Exception e){

			//ファイル出力用のデータを登録
			setStringBuffer(inMap);

			//スローするエラー
			JBSbatBusinessError bError = new JBSbatBusinessError();
			bError.setStackTrace(e.getStackTrace());

			throw bError;
		}

		return null;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * エラーメッセージに関する項目値を格納されたHashMap<String, String>を生成します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.エラーメッセージに関する項目値を格納されたHashMapを生成する。<br>
	 *
	 * 2.エラーメッセージに関する項目値を格納されたHashMapに値を設定する。<br>
	 * </pre>
	 * <p>
	 * @return itemvalueMap エラーメッセージに関する項目値を格納されたHashMap
	 */
	private HashMap<String, String> getItemvalueMap()
	{
		// エラーメッセージに関する項目値が格納されたHashMapを設定
		HashMap<String, String> itemvalueMap = new HashMap<String, String>();
		itemvalueMap.put("TXT-KKIFM261-INF1.SVC_KEI_NO"," サービス契約番号");
		itemvalueMap.put("TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO"," サービス契約回線内訳番号");
		itemvalueMap.put("TXT-KKIFM261-INF1.RNKI_YMD"," 連携年月日");
		itemvalueMap.put("TXT-KKIFM261-INF1.RNKI_SEQ"," 連携通番");
		itemvalueMap.put("TXT-KKIFM261-INF1.NEW_CHGE_CD"," 新規変更コード");
		itemvalueMap.put("TXT-KKIFM261-INF1.KOJIAK_SBT_CD"," 工事案件種別コード");
		itemvalueMap.put("TXT-KKIFM261-INF1.KOJIAK_NO"," 工事案件番号");
		itemvalueMap.put("TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD"," 宅内工事完了予定年月日");
		itemvalueMap.put("TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM"," 宅内工事作業開始時分");
		itemvalueMap.put("TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH"," 工事都合同時番ポ可否");
		itemvalueMap.put("TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG"," 番ポ同時工事実施フラグ");
		itemvalueMap.put("TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM"," 同時番ポ希望有無");
		itemvalueMap.put("TXT-KKIFM261-INF1.ADD_DTM"," 登録年月日時分秒");
		itemvalueMap.put("TXT-KKIFM261-INF1.ADD_OPEACNT"," 登録オペレータアカウント");
		itemvalueMap.put("TXT-KKIFM261-INF1.UPD_DTM"," 更新年月日時分秒");
		itemvalueMap.put("TXT-KKIFM261-INF1.UPD_OPEACNT"," 更新オペレータアカウント");
		itemvalueMap.put("TXT-KKIFM261-INF1.DEL_DTM"," 削除年月日時分秒");
		itemvalueMap.put("TXT-KKIFM261-INF1.DEL_OPEACNT"," 削除オペレータアカウント");

		return itemvalueMap;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_SVKEIUW_EOH_TEL.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/

		outputFile();

		/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（同時番ポ希望有無反映対象ファイル）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM261-INF1.SVC_KEI_NO			同時番ポ希望有無反映対象ファイル.サービス契約番号
	 *			 TXT-KKIFM261-INF1.SVC_KEI_NO			同時番ポ希望有無反映対象ファイル.サービス契約番号
	 *			 TXT-KKIFM261-INF1.SVC_KEI_NO			同時番ポ希望有無反映対象ファイル.サービス契約番号
	 *			 TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO			同時番ポ希望有無反映対象ファイル.サービス契約回線内訳番号
	 *			 TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO			同時番ポ希望有無反映対象ファイル.サービス契約回線内訳番号
	 *			 TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO			同時番ポ希望有無反映対象ファイル.サービス契約回線内訳番号
	 *			 TXT-KKIFM261-INF1.RNKI_YMD			同時番ポ希望有無反映対象ファイル.連携年月日
	 *			 TXT-KKIFM261-INF1.RNKI_YMD			同時番ポ希望有無反映対象ファイル.連携年月日
	 *			 TXT-KKIFM261-INF1.RNKI_YMD			同時番ポ希望有無反映対象ファイル.連携年月日
	 *			 TXT-KKIFM261-INF1.RNKI_SEQ			同時番ポ希望有無反映対象ファイル.連携通番
	 *			 TXT-KKIFM261-INF1.RNKI_SEQ			同時番ポ希望有無反映対象ファイル.連携通番
	 *			 TXT-KKIFM261-INF1.RNKI_SEQ			同時番ポ希望有無反映対象ファイル.連携通番
	 *			 TXT-KKIFM261-INF1.NEW_CHGE_CD			同時番ポ希望有無反映対象ファイル.新規変更コード
	 *			 TXT-KKIFM261-INF1.NEW_CHGE_CD			同時番ポ希望有無反映対象ファイル.新規変更コード
	 *			 TXT-KKIFM261-INF1.NEW_CHGE_CD			同時番ポ希望有無反映対象ファイル.新規変更コード
	 *			 TXT-KKIFM261-INF1.KOJIAK_SBT_CD			同時番ポ希望有無反映対象ファイル.工事案件種別コード
	 *			 TXT-KKIFM261-INF1.KOJIAK_SBT_CD			同時番ポ希望有無反映対象ファイル.工事案件種別コード
	 *			 TXT-KKIFM261-INF1.KOJIAK_SBT_CD			同時番ポ希望有無反映対象ファイル.工事案件種別コード
	 *			 TXT-KKIFM261-INF1.KOJIAK_NO			同時番ポ希望有無反映対象ファイル.工事案件番号
	 *			 TXT-KKIFM261-INF1.KOJIAK_NO			同時番ポ希望有無反映対象ファイル.工事案件番号
	 *			 TXT-KKIFM261-INF1.KOJIAK_NO			同時番ポ希望有無反映対象ファイル.工事案件番号
	 *			 TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD			同時番ポ希望有無反映対象ファイル.宅内工事完了予定年月日
	 *			 TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD			同時番ポ希望有無反映対象ファイル.宅内工事完了予定年月日
	 *			 TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD			同時番ポ希望有無反映対象ファイル.宅内工事完了予定年月日
	 *			 TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM			同時番ポ希望有無反映対象ファイル.宅内工事作業開始時分
	 *			 TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM			同時番ポ希望有無反映対象ファイル.宅内工事作業開始時分
	 *			 TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM			同時番ポ希望有無反映対象ファイル.宅内工事作業開始時分
	 *			 TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH			同時番ポ希望有無反映対象ファイル.工事都合同時番ポ可否
	 *			 TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH			同時番ポ希望有無反映対象ファイル.工事都合同時番ポ可否
	 *			 TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH			同時番ポ希望有無反映対象ファイル.工事都合同時番ポ可否
	 *			 TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG			同時番ポ希望有無反映対象ファイル.番ポ同時工事実施フラグ
	 *			 TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG			同時番ポ希望有無反映対象ファイル.番ポ同時工事実施フラグ
	 *			 TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG			同時番ポ希望有無反映対象ファイル.番ポ同時工事実施フラグ
	 *			 TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM			同時番ポ希望有無反映対象ファイル.同時番ポ希望有無
	 *			 TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM			同時番ポ希望有無反映対象ファイル.同時番ポ希望有無
	 *			 TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM			同時番ポ希望有無反映対象ファイル.同時番ポ希望有無
	 *			 TXT-KKIFM261-INF1.ADD_DTM			同時番ポ希望有無反映対象ファイル.登録年月日時分秒
	 *			 TXT-KKIFM261-INF1.ADD_DTM			同時番ポ希望有無反映対象ファイル.登録年月日時分秒
	 *			 TXT-KKIFM261-INF1.ADD_DTM			同時番ポ希望有無反映対象ファイル.登録年月日時分秒
	 *			 TXT-KKIFM261-INF1.ADD_OPEACNT			同時番ポ希望有無反映対象ファイル.登録オペレータアカウント
	 *			 TXT-KKIFM261-INF1.ADD_OPEACNT			同時番ポ希望有無反映対象ファイル.登録オペレータアカウント
	 *			 TXT-KKIFM261-INF1.ADD_OPEACNT			同時番ポ希望有無反映対象ファイル.登録オペレータアカウント
	 *			 TXT-KKIFM261-INF1.UPD_DTM			同時番ポ希望有無反映対象ファイル.更新年月日時分秒
	 *			 TXT-KKIFM261-INF1.UPD_DTM			同時番ポ希望有無反映対象ファイル.更新年月日時分秒
	 *			 TXT-KKIFM261-INF1.UPD_DTM			同時番ポ希望有無反映対象ファイル.更新年月日時分秒
	 *			 TXT-KKIFM261-INF1.UPD_OPEACNT			同時番ポ希望有無反映対象ファイル.更新オペレータアカウント
	 *			 TXT-KKIFM261-INF1.UPD_OPEACNT			同時番ポ希望有無反映対象ファイル.更新オペレータアカウント
	 *			 TXT-KKIFM261-INF1.UPD_OPEACNT			同時番ポ希望有無反映対象ファイル.更新オペレータアカウント
	 *			 TXT-KKIFM261-INF1.DEL_DTM			同時番ポ希望有無反映対象ファイル.削除年月日時分秒
	 *			 TXT-KKIFM261-INF1.DEL_DTM			同時番ポ希望有無反映対象ファイル.削除年月日時分秒
	 *			 TXT-KKIFM261-INF1.DEL_OPEACNT			同時番ポ希望有無反映対象ファイル.削除オペレータアカウント
	 *			 TXT-KKIFM261-INF1.DEL_OPEACNT			同時番ポ希望有無反映対象ファイル.削除オペレータアカウント
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKKIFM261_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// サービス契約番号項目チェック
		strValue = (String)rsMap.get("SVC_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_NO")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_NO")});
			return false;
		}

		// サービス契約回線内訳番号項目チェック
		strValue = (String)rsMap.get("SVC_KEI_KAISEN_UCWK_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.SVC_KEI_KAISEN_UCWK_NO")});
			return false;
		}

		// 連携年月日項目チェック
		strValue = (String)rsMap.get("RNKI_YMD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_YMD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_YMD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_YMD")});
			return false;
		}

		// 連携通番項目チェック
		strValue = (String)rsMap.get("RNKI_SEQ");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_SEQ")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "12"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_SEQ")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.RNKI_SEQ")});
			return false;
		}

		// 新規変更コード項目チェック
		strValue = (String)rsMap.get("NEW_CHGE_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.NEW_CHGE_CD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.NEW_CHGE_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.NEW_CHGE_CD")});
			return false;
		}

		// 工事案件種別コード項目チェック
		strValue = (String)rsMap.get("KOJIAK_SBT_CD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_SBT_CD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "3"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_SBT_CD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_SBT_CD")});
			return false;
		}

		// 工事案件番号項目チェック
		strValue = (String)rsMap.get("KOJIAK_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_NO")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_NO")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJIAK_NO")});
			return false;
		}

		// 宅内工事完了予定年月日項目チェック
		strValue = (String)rsMap.get("TAKNI_KOJI_FIN_RSV_YMD");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "8"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNI_KOJI_FIN_RSV_YMD")});
			return false;
		}

		// 宅内工事作業開始時分項目チェック
		strValue = (String)rsMap.get("TAKNIKJ_WORK_STA_HM");
		//2013/01/21 ST1-2013-0000184 MOD START
		//必須項目でないため、trim結果がnullまたは空白でない場合に、桁数と属性のみ単項目チェックを行う。
		if (strValue.trim() == null || "".equals(strValue.trim()))
		{

		} else {
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM")});
//			return false;
//		}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "4"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hour_min1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.TAKNIKJ_WORK_STA_HM")});
				return false;
			}
		}
		//2013/01/21 ST1-2013-0000184 MOD END

		// 工事都合同時番ポ可否項目チェック
		strValue = (String)rsMap.get("KOJI_TUGO_DOJI_BMP_KH");
		//2013/01/26 ST1-2013-0000225 MOD START
		//必須項目でないため、trim結果がnullまたは空白でない場合に、桁数と属性のみ単項目チェックを行う。
		if (strValue.trim() == null || "".equals(strValue.trim()))
		{

		} else {
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH")});
//			return false;
//		}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.KOJI_TUGO_DOJI_BMP_KH")});
				return false;
			}
		}
		//2013/01/26 ST1-2013-0000225 MOD END

		// 番ポ同時工事実施フラグ項目チェック
		strValue = (String)rsMap.get("BMP_DOJI_KOJI_JSSI_FLG");
		//2013/01/26 ST1-2013-0000225 MOD START
		//必須項目でないため、trim結果がnullまたは空白でない場合に、桁数と属性のみ単項目チェックを行う。
		if (strValue.trim() == null || "".equals(strValue.trim()))
		{

		} else {
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG")});
//			return false;
//		}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.BMP_DOJI_KOJI_JSSI_FLG")});
				return false;
			}
		}
		//2013/01/26 ST1-2013-0000225 MOD END

		// 同時番ポ希望有無項目チェック
		strValue = (String)rsMap.get("DOJI_BMP_KIBO_UM");
		//2013/01/26 ST1-2013-0000225 MOD START
		//必須項目でないため、trim結果がnullまたは空白でない場合に、桁数と属性のみ単項目チェックを行う。
		if (strValue.trim() == null || "".equals(strValue.trim()))
		{

		} else {
//		// 必須チェック
//		if(strValue == null || "".equals(strValue))
//		{
//			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
//															(String)itemvalueMap.get("TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM")});
//			return false;
//		}
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM")});
				return false;
			}
			// 属性チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
			{
				commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
						(String)itemvalueMap.get("TXT-KKIFM261-INF1.DOJI_BMP_KIBO_UM")});
				return false;
			}
		}
		//2013/01/26 ST1-2013-0000225 MOD END

		// 登録年月日時分秒項目チェック
		strValue = (String)rsMap.get("ADD_DTM");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_DTM")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "17"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_DTM")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"day_hour1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_DTM")});
			return false;
		}

		// 登録オペレータアカウント項目チェック
		strValue = (String)rsMap.get("ADD_OPEACNT");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_OPEACNT")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_OPEACNT")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.ADD_OPEACNT")});
			return false;
		}

		// 更新年月日時分秒項目チェック
		strValue = (String)rsMap.get("UPD_DTM");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_DTM")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "17"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_DTM")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"day_hour1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_DTM")});
			return false;
		}

		// 更新オペレータアカウント項目チェック
		strValue = (String)rsMap.get("UPD_OPEACNT");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_OPEACNT")});
			return false;
		}
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_OPEACNT")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.UPD_OPEACNT")});
			return false;
		}

		// 削除年月日時分秒項目チェック
		strValue = (String)rsMap.get("DEL_DTM");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "17"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.DEL_DTM")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"day_hour1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.DEL_DTM")});
			return false;
		}

		// 削除オペレータアカウント項目チェック
		strValue = (String)rsMap.get("DEL_OPEACNT");
		// 桁数チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.DEL_OPEACNT")});
			return false;
		}
		// 属性チェック
		if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0080TE", new String[]{
					(String)itemvalueMap.get("TXT-KKIFM261-INF1.DEL_OPEACNT")});
			return false;
		}

		return true;
	}

	/**
	 * SQLKEY(KK_SELECT_032)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_032(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_032);
	}

	/**
	 * SQLKEY(KK_INSERT_007)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	サービス契約番号
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_SVC_KEI_KK_INSERT_007(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI.executeBySqlDefine(paramList, KK_T_SVC_KEI_KK_INSERT_007);
	}

	/**
	 * SQLKEY(KK_INSERT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	サービス契約番号
	 *		 	世代登録年月日時分秒（更新前）
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_SVC_KEI_EOH_TEL_KK_INSERT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_EOH_TEL.executeBySqlDefine(paramList, KK_T_SVC_KEI_EOH_TEL_KK_INSERT_002);
	}

	/**
	 * SQLKEY(KK_SELECT_098)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// IT2-2013-0000270 2013/03/12 UPD START
	//private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_067(Object[] param) throws Exception
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_098(Object[] param) throws Exception
	// IT2-2013-0000270 2013/03/12 UPD START
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		// IT2-2013-0000270 2013/03/12 DEL START
//		paramList.setValue(param[1].toString());
		// IT2-2013-0000270 2013/03/12 DEL END

		// DBアクセスを実行します
		// IT2-2013-0000270 2013/03/12 UPD START
		//db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_067);
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_098);
	    // IT2-2013-0000270 2013/03/12 UPD END
	}

	/**
	 * SQLKEY(KK_INSERT_004)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	サービス契約番号
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_SVC_KEI_UCWK_KK_INSERT_004(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// ▼2013-05-04削除
//		paramList.setValue(param[2].toString());
		// ▲2013-05-04削除

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_UCWK.executeBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_INSERT_004);
	}

	/**
	 * SQLKEY(KK_INSERT_003)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	世代登録年月日時分秒
	 *		 	番ポ同時工事希望有無
	 *		 	サービス契約内訳番号
	 *		 	運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private int executeKK_T_SVKEIUW_EOH_TEL_KK_INSERT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		// OM-2013-0002262 2013/09/20 START
		//paramList.setValue(param[3].toString());
		// OM-2013-0002262 2013/09/20 END
		
		// DBアクセスを実行します
		return db_KK_T_SVKEIUW_EOH_TEL.executeBySqlDefine(paramList, KK_T_SVKEIUW_EOH_TEL_KK_INSERT_003);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/


	/**
	 * SQLKEY(KK_SELECT_032)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVC_KEI_KK_SELECT_032
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_032)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getParam_KK_T_SVC_KEI_S032(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO)), // サービス契約番号
				JBSbatStringUtil.Rtrim(super.opeDate)//運用日
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_INSERT_007)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVC_KEI_KK_INSERT_007
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_INSERT_007)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getParam_KK_T_SVC_KEI_I007(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(strGeneAddDtm), // 世代登録年月日時分秒
				JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO)), // サービス契約番号
				JBSbatStringUtil.Rtrim(super.opeDate)//運用日
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_INSERT_002)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVC_KEI_EOH_TEL_KK_INSERT_002
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_INSERT_002)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getParam_KK_T_SVC_KEI_EOH_TEL_I002(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(strGeneAddDtm), // 世代登録年月日時分秒
				JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO)), // サービス契約番号
				JBSbatStringUtil.Rtrim(strGeneAddDtmBf)// 世代登録年月日時分秒（更新前）
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_098)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVC_KEI_UCWK_KK_INSERT_004
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_098)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	// IT2-2013-0000270 2013/03/12 UPD START	
	//private Object[] getParam_KK_T_SVC_KEI_UCWK_S067(JBSbatServiceInterfaceMap inMap) throws Exception
	private Object[] getParam_KK_T_SVC_KEI_UCWK_S098(JBSbatServiceInterfaceMap inMap) throws Exception
	// IT2-2013-0000270 2013/03/12 UPD END
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO)), // サービス契約番号
				JBSbatStringUtil.Rtrim(super.opeDate)//運用日
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_INSERT_004)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVC_KEI_UCWK_KK_INSERT_004
	 * @param String サービス契約内訳番号
	 * @return param SQLKEY(KK_INSERT_004)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getParam_KK_T_SVC_KEI_UCWK_I004( String strSVC_KEI_UCWK_NO ) throws Exception
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(strGeneAddDtm), // 世代登録年月日時分秒
				JBSbatStringUtil.Rtrim(strSVC_KEI_UCWK_NO), // サービス契約内訳番号
				// ▼2013-05-04削除
//				JBSbatStringUtil.Rtrim(super.opeDate)//運用日
				// ▲2013-05-04削除
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_INSERT_003)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>executeKK_T_SVKEIUW_EOH_TEL_KK_INSERT_003
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_INSERT_003)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getParam_KK_T_SVKEIUW_EOH_TEL_I003(JBSbatServiceInterfaceMap inMap,String strSVC_KEI_UCWK_NO) throws Exception
	{
		Object[] ret_Param = {
				JBSbatStringUtil.Rtrim(strGeneAddDtm), // 世代登録年月日時分秒
				JBSbatStringUtil.Rtrim(inMap.getString(JBSbatKKIFM261.DOJI_BMP_KIBO_UM)), // 同時番ポ希望有無
				// OM-2013-0002262 2013/09/20 START
				//JBSbatStringUtil.Rtrim(strSVC_KEI_UCWK_NO),//サービス契約内訳番号
				JBSbatStringUtil.Rtrim(strSVC_KEI_UCWK_NO)//サービス契約内訳番号
				//JBSbatStringUtil.Rtrim(super.opeDate)//運用日
				// OM-2013-0002262 2013/09/20 END
		};
		return ret_Param;
	}

	/**
	 * ファイル出力用のデータを登録
	 * 
	 * @param inMap
	 * @return
	 * @throws Exception
	 */
	private StringBuffer setStringBuffer(JBSbatServiceInterfaceMap inMap) throws Exception
	{

		// サービス契約番号
		writeData.append(inMap.getString(JBSbatKKIFM261.SVC_KEI_NO));
		writeData.append(CAM);
		// サービス契約回線内訳番号
		writeData.append(inMap.getString(JBSbatKKIFM261.SVC_KEI_KAISEN_UCWK_NO));
		writeData.append(CAM);
		// 連携年月日
		writeData.append(inMap.getString(JBSbatKKIFM261.RNKI_YMD));
		writeData.append(CAM);
		// 連携連番
		writeData.append(inMap.getString(JBSbatKKIFM261.RNKI_SEQ));
		writeData.append(CAM);
		// 新規変更コード
		writeData.append(inMap.getString(JBSbatKKIFM261.NEW_CHGE_CD));
		writeData.append(CAM);
		// 工事案件種別コード
		writeData.append(inMap.getString(JBSbatKKIFM261.KOJIAK_SBT_CD));
		writeData.append(CAM);
		// 工事案件番号
		writeData.append(inMap.getString(JBSbatKKIFM261.KOJIAK_NO));
		writeData.append(CAM);
		// 宅内工事完了予定年月日
		writeData.append(inMap.getString(JBSbatKKIFM261.TAKNI_KOJI_FIN_RSV_YMD));
		writeData.append(CAM);
		// 宅内工事作業開始時分
		writeData.append(inMap.getString(JBSbatKKIFM261.TAKNIKJ_WORK_STA_HM));
		writeData.append(CAM);
		// 工事都合同時番ポ可否
		writeData.append(inMap.getString(JBSbatKKIFM261.KOJI_TUGO_DOJI_BMP_KH));
		writeData.append(CAM);
		// 番ポ同時工事実施フラグ
		writeData.append(inMap.getString(JBSbatKKIFM261.BMP_DOJI_KOJI_JSSI_FLG));
		writeData.append(CAM);
		// 工事番ポ希望有無
		writeData.append(inMap.getString(JBSbatKKIFM261.DOJI_BMP_KIBO_UM));
		writeData.append(CAM);
		// 登録年月日時分秒
		writeData.append(inMap.getString(JBSbatKKIFM261.ADD_DTM));
		writeData.append(CAM);
		// 登録オペレータアカウント
		writeData.append(inMap.getString(JBSbatKKIFM261.ADD_OPEACNT));
		writeData.append(CAM);
		// 更新年月日時分秒
		writeData.append(inMap.getString(JBSbatKKIFM261.UPD_DTM));
		writeData.append(CAM);
		// 更新オペレータアカウント
		writeData.append(inMap.getString(JBSbatKKIFM261.UPD_OPEACNT));
		writeData.append(CAM);
		// 削除年月日時分秒
		writeData.append(inMap.getString(JBSbatKKIFM261.DEL_DTM));
		writeData.append(CAM);
		// 削除オペレータアカウント
		writeData.append(inMap.getString(JBSbatKKIFM261.DEL_OPEACNT));

		// 行エンド
		writeData.append(END);

		return writeData;
	}

	private void outputFile() throws Exception
	{
		// Freeパラメータよりとファイル名を取得
		String fileName = super.freeItem;

		JBSbatOutputFileUtil outFile = null;
		try
		{

			// ▼▼▼▼▼ 2012/11/15 IT2-2012-0001686 UPD START ▼▼▼▼▼
			// ファイル出力用データが存在する場合のみ
			if (writeData != null && writeData.length() > 0)
			{
				outFile = new JBSbatOutputFileUtil(fileName);
				outFile.setEncode(JKKBatConst.SJIS);
				outFile.setLine(LF);
				outFile.createWriter();

				String[] writeDataLine = writeData.toString().split(END);

				for (int i = 0; i < writeDataLine.length; i++)
				{
					if (! "".equals(writeDataLine[i]))
					{
						// ファイル出力
						outFile.write( writeDataLine[i] );
					}
				}
			}
			// ▲▲▲▲▲ 2012/11/15 IT2-2012-0001686 UPD E N D ▲▲▲▲▲
		}catch(Exception ex)
		{
			//スローするエラー
			JBSbatBusinessError bError = new JBSbatBusinessError();
			bError.setStackTrace(ex.getStackTrace());

			throw bError;
		}finally
		{
			// ▼▼▼▼▼ 2012/11/15 IT2-2012-0001686 UPD START ▼▼▼▼▼
			if (outFile != null)
			{
				outFile.close();
			}
			// ▲▲▲▲▲ 2012/11/15 IT2-2012-0001686 UPD E N D ▲▲▲▲▲
		}

	}

}
