/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKMapInfAdd
*	ソースファイル名	：JBSbatKKMapInfAdd.java
*	作成者				：富士通　
*	作成日				：2012年10月25日
*＜機能概要＞
*　地図情報登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00		2012/10/25	FJ)藤原		【ST4-2012-0000012】新規作成
*	v4.00		2013/01/23	FJ)砂川		【IT2-2013-0000003】現在工程コードがNULLの場合NULLで更新していた処理を、
*															未審査を意味するダミー文字列の場合にのみNULLで更新するように修正
*	v23.00		2016/03/18	FJ)松岡		【OM-2016-0000597】空白値が更新できない
*
*********************************************************************/
package eo.business.service;

import java.math.BigDecimal;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.common.JKKBatCommon;
import eo.business.util.file.JBSbatKKIFM278;
import eo.business.util.table.JBSbatKK_T_MAP_CUST_PST_WK;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKMapInfAdd extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(地図顧客位置ワーク)*/
	private static final String D_TBL_NAME_KK_T_MAP_CUST_PST_WK = "KK_T_MAP_CUST_PST_WK";

	/** テーブルアクセスクラス(地図顧客位置ワーク)*/
	private JBSbatSQLAccess db_KK_T_MAP_CUST_PST_WK = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** 現在工程コード 審査終了(OK) */
	private static final String NOW_STEP_CD_JDG_OK = JBSbatKKConst.NOW_STEP_CD_JDG_OK;
	/** 現在工程コード 審査終了(NG) */
	private static final String NOW_STEP_CD_JDG_NG = JBSbatKKConst.NOW_STEP_CD_JDG_NG;
	// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
	/** 現在工程コード 審査終了(NG) */
	private static final String NOW_STEP_CD_MI_JDG = JBSbatKKConst.NOW_STEP_CD_MI_JDG;
	// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲
	/** 地図顧客位置ワークPKUPDATEの設定項目数 */
	private static final int KK2691_PKUPDATE_SET_KMK_CNT = 35;
	/** 地図顧客位置ワークPKINSERTの設定項目数 */
	private static final int KK2691_PKINSERT_SET_KMK_CNT = 50;
	
	/** 初回起動識別フラグ */
	private boolean mSYOKAI_FLG = false;
	/** JOB TRN ID */
	private String mTRN_ID = null;
	/** タイムスタンプ */
	private String mTIME_DTM = null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_MAP_CUST_PST_WK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MAP_CUST_PST_WK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	
		// 地図情報の初回作成かチェックする
		if(super.freeItem != null && super.freeItem.equals("1"))
		{
			// 初回起動フラグを立てる
			this.mSYOKAI_FLG = true;
		}
		
		// TRN IDを取得
		this.mTRN_ID = JKKBatCommon.getTrnId();
		// タイムスタンプを取得
		this.mTIME_DTM = JKKBatCommon.getSysDateTimeStamp();
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// 出力オブジェクト作成
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		// 入出力インターフェースオブジェクト作成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();

		// 単項目チェック
		if(!isSingleCheckKKIFM278_INF1(inMap.getMap(), getItemValueMap()))
		{
			super.commonItem.setErrFlg(true);
			return null;
		}
		
		// 地図情報ファイル.SYSID
		String sysid = inMap.getString(JBSbatKKIFM278.SYSID);
		// 地図情報ファイル.お客さまID
		String svc_kei_no = inMap.getString(JBSbatKKIFM278.SVC_KEI_NO);
		
		// 地図情報マップ
		JBSbatCommonDBInterface pk_select_rslt = null;
		// 初回起動かチェックする
		if(!this.mSYOKAI_FLG)
		{
			// 初回起動ではないので該当レコードが地図顧客位置ワークにあるかどうかPK検索を行う
			pk_select_rslt = executeKK_T_MAP_CUST_PST_WK_PKSELECT(new Object[]{sysid, svc_kei_no});
		}
		// 該当レコードが地図顧客位置ワークに存在する
		if(null != pk_select_rslt)
		{
			// 地図顧客位置ワーク更新要否(地図情報ファイルと地図顧客位置ワークで変更がなければUPDATEの必要がない)
			boolean update_yh = false;
			
			// PKUPDATE用PK項目引数
			Object[] whereParam = {
					sysid,			// 地図情報ファイル.SYSID(地図顧客位置ワーク.地図顧客位置識別値)
					svc_kei_no,		// 地図情報ファイル.お客さまID(地図顧客位置ワーク.地図顧客位置詳細識別値)
			};
			
			// PKUPDATE用設定項目引数
			Object[] setParam = new Object[KK2691_PKUPDATE_SET_KMK_CNT];
			
			// PKUPDATE用設定項目引数の設定(現在工程コード、現在工程名)
			// 地図情報ファイル.現在工程コード
			String kkifm278_now_step_cd = "";
			if(null != inMap.getString(JBSbatKKIFM278.PRC_CD))
			{
				kkifm278_now_step_cd = inMap.getString(JBSbatKKIFM278.PRC_CD);
			}
			// 地図情報ファイル.現在工程名
			String kkifm278_now_stem_nm = "";
			if(null != inMap.getString(JBSbatKKIFM278.PRC_NM))
			{
				kkifm278_now_stem_nm = inMap.getString(JBSbatKKIFM278.PRC_NM);
			}
			// 地図顧客位置ワーク.現在工程コード
			String kk2691_now_step_cd = "";
			if(null != pk_select_rslt.getString(JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_CD))
			{
				kk2691_now_step_cd = pk_select_rslt.getString(JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_CD);
			}
			// 地図顧客位置ワーク.現在工程名
			String kk2691_now_step_nm = "";
			if(null != pk_select_rslt.getString(JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_NM))
			{
				kk2691_now_step_nm = pk_select_rslt.getString(JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_NM);
			}
			
			// 地図情報ファイルの現在工程コードが「審査終了(OK)」「審査終了(NG)」「未審査」である場合
			if(NOW_STEP_CD_JDG_OK.equals(kkifm278_now_step_cd) ||
					NOW_STEP_CD_JDG_NG.equals(kkifm278_now_step_cd) ||
					// ▼▼▼ IT2-2013-0000003 Delete Start ▼▼▼
//					"".equals(kkifm278_now_step_cd))
					// ▲▲▲ IT2-2013-0000003 Delete End   ▲▲▲
					// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
					NOW_STEP_CD_MI_JDG.equals(kkifm278_now_step_cd))
					// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲
			{
				// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
				if(NOW_STEP_CD_MI_JDG.equals(kkifm278_now_step_cd))
				{
					kkifm278_now_step_cd = "";
				}
				// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲
				
				// 地図顧客位置ワークの現在工程コードが「審査終了(OK)」「審査終了(NG)」「（未設定）」のいずれか、かつ地図情報ファイルの値と異なる場合
				if((NOW_STEP_CD_JDG_OK.equals(kk2691_now_step_cd) ||
						NOW_STEP_CD_JDG_NG.equals(kk2691_now_step_cd) ||
						"".equals(kk2691_now_step_cd)) &&
						!kkifm278_now_step_cd.equals(kk2691_now_step_cd))
				{
					// 更新要否を設定
					update_yh = true;
					// 地図情報ファイルの現在工程コードを設定
					setParam[0] = kkifm278_now_step_cd;
					// 地図情報ファイルの現在工程名を設定
					setParam[1] = kkifm278_now_stem_nm;
					
					// デバッグログ出力
					String deb_upd_bf_val = "null";
					String deb_upd_af_val = "null";
					if(null != kk2691_now_step_cd)
					{
						deb_upd_bf_val = kk2691_now_step_cd;
					}
					if(null != kkifm278_now_step_cd)
					{
						deb_upd_af_val = kkifm278_now_step_cd;
					}
					super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
							JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_CD + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
					deb_upd_bf_val = "null";
					deb_upd_af_val = "null";
					if(null != kk2691_now_step_nm)
					{
						deb_upd_bf_val = kk2691_now_step_nm;
					}
					if(null != kkifm278_now_stem_nm)
					{
						deb_upd_af_val = kkifm278_now_stem_nm;
					}
					super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
							JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_NM + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
				}
				// 地図顧客位置ワークの現在工程コードが「審査終了(OK)」「審査終了(NG)」「（未設定）」以外、または地図情報ファイルの値と同じ場合
				else
				{
					// 地図顧客位置ワークの現在工程コードを設定
					setParam[0] = kk2691_now_step_cd;
					// 地図顧客位置ワークの現在工程名を設定
					setParam[1] = kk2691_now_step_nm;
				}
			}
			// 地図情報ファイルの現在工程コードが「審査終了(OK)」「審査終了(NG)」「未審査」「（未設定）」以外である場合
			// ▼▼▼ IT2-2013-0000003 Delete Start ▼▼▼
//			else
			// ▲▲▲ IT2-2013-0000003 Delete End   ▲▲▲
			// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
			else if(!("".equals(kkifm278_now_step_cd)))
			// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲
			{
				// 地図情報ファイルの現在工程コードと地図顧客位置ワークの現在工程コードが異なる場合
				if(!kkifm278_now_step_cd.equals(kk2691_now_step_cd))
				{
					// 更新要否を設定
					update_yh = true;
					// 地図情報ファイルの現在工程コードを設定
					setParam[0] = kkifm278_now_step_cd;
					// 地図情報ファイルの現在工程名を設定
					setParam[1] = kkifm278_now_stem_nm;
					
					// デバッグログ出力
					String deb_upd_bf_val = "null";
					String deb_upd_af_val = "null";
					if(null != kk2691_now_step_cd)
					{
						deb_upd_bf_val = kk2691_now_step_cd;
					}
					if(null != kkifm278_now_step_cd)
					{
						deb_upd_af_val = kkifm278_now_step_cd;
					}
					super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
							JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_CD + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
					deb_upd_bf_val = "null";
					deb_upd_af_val = "null";
					if(null != kk2691_now_step_nm)
					{
						deb_upd_bf_val = kk2691_now_step_nm;
					}
					if(null != kkifm278_now_stem_nm)
					{
						deb_upd_af_val = kkifm278_now_stem_nm;
					}
					super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
							JBSbatKK_T_MAP_CUST_PST_WK.NOW_STEP_NM + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
				}
				// 地図情報ファイルの現在工程コードと地図顧客位置ワークの現在工程コードが同じ場合
				else
				{
					// 地図顧客位置ワークの現在工程コードを設定
					setParam[0] = kk2691_now_step_cd;
					// 地図顧客位置ワークの現在工程名を設定
					setParam[1] = kk2691_now_step_nm;
				}
			}
			// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
			else
			{
				// 地図顧客位置ワークの現在工程コードを設定
				setParam[0] = kk2691_now_step_cd;
				// 地図顧客位置ワークの現在工程名を設定
				setParam[1] = kk2691_now_step_nm;
			}
			// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲

			// 地図顧客位置ワーク(KK_T_MAP_CUST_PST_WK)のキー配列  ※配列数は地図情報ファイルの配列数と同じにしてPKUPDATEのsetParamの項目順と同じにすること
			String[] kk2691_key = {
					JBSbatKK_T_MAP_CUST_PST_WK.PRC_GRP_CD,				// No.03 料金グループコード
					JBSbatKK_T_MAP_CUST_PST_WK.PRC_GRP_NM,				// No.04 料金グループ名
					JBSbatKK_T_MAP_CUST_PST_WK.XZAHYO,					// No.05 X座標
					JBSbatKK_T_MAP_CUST_PST_WK.YZAHYO,					// No.06 Y座標
					JBSbatKK_T_MAP_CUST_PST_WK.LGTD,					// No.07 経度
					JBSbatKK_T_MAP_CUST_PST_WK.LTTD,					// No.08 緯度
					JBSbatKK_T_MAP_CUST_PST_WK.CUST_NM,					// No.09 お客様名
					JBSbatKK_T_MAP_CUST_PST_WK.CUST_KANA,				// No.10 お客様カナ名
					JBSbatKK_T_MAP_CUST_PST_WK.KEISHA_TYPE_NM,			// No.11 契約者タイプ名
					JBSbatKK_T_MAP_CUST_PST_WK.RRKS_HOME_TELNO,			// No.12 連絡先自宅電話番号
					JBSbatKK_T_MAP_CUST_PST_WK.RRKS_KTAI_TELNO,			// No.13 連絡先携帯電話番号
					JBSbatKK_T_MAP_CUST_PST_WK.RRKS_COMP_TELNO,			// No.14 連絡先会社電話番号
					JBSbatKK_T_MAP_CUST_PST_WK.RRKS_MLAD,				// No.15 連絡先メールアドレス
					JBSbatKK_T_MAP_CUST_PST_WK.CUST_BIRTHD,				// No.16 お客様生年月日
					JBSbatKK_T_MAP_CUST_PST_WK.CUST_SEX,				// No.17 お客様性別
					JBSbatKK_T_MAP_CUST_PST_WK.GSHU_NM,					// No.18 業種名
					JBSbatKK_T_MAP_CUST_PST_WK.COMP_NM,					// No.19 会社名
					JBSbatKK_T_MAP_CUST_PST_WK.DIHYSHA_POST_NM,			// No.20 代表者役職名
					JBSbatKK_T_MAP_CUST_PST_WK.DIHYSHA_NM,				// No.21 代表者名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_AD_CD,		// No.22 地図顧客位置住所コード
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_PCD,		// No.23 地図顧客位置郵便番号
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_STATE_NM,	// No.24 地図顧客位置都道府県名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_CITY_NM,	// No.25 地図顧客位置市区町村名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_OAZTSU_NM,	// No.26 地図顧客位置大字通称名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_AZCHO_NM,	// No.27 地図顧客位置字丁目名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_BNCHIGO,	// No.28 地図顧客位置番地号
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_ADRTTM,		// No.29 地図顧客位置住所補記・建物名
					JBSbatKK_T_MAP_CUST_PST_WK.MAP_CUST_PST_ADRRM,		// No.30 地図顧客位置住所補記・部屋番号
					JBSbatKK_T_MAP_CUST_PST_WK.MSKM_YMD,				// No.31 申込年月日
					JBSbatKK_T_MAP_CUST_PST_WK.MSKMSHO_NO,				// No.32 申込書番号
					JBSbatKK_T_MAP_CUST_PST_WK.MSKM_UK_YMD,				// No.33 申込受付年月日
					JBSbatKK_T_MAP_CUST_PST_WK.SVC_STA_YMD,				// No.34 サービス開始年月日
					JBSbatKK_T_MAP_CUST_PST_WK.SVC_END_YMD,				// No.35 サービス終了年月日
			};
			
			// 地図情報ファイル(KKIFM278)のキー配列  ※配列数は地図顧客位置ワークの配列数と同じにしてPKUPDATEのsetParamの項目順と同じにすること
			String[] kkifm278_key = {
					JBSbatKKIFM278.SVC_CD,								// No.03 サービスコード
					JBSbatKKIFM278.SVC_NM,								// No.04 サービス名称
					JBSbatKKIFM278.XZAHYO,								// No.05 X座標
					JBSbatKKIFM278.YZAHYO,								// No.06 Y座標
					JBSbatKKIFM278.LGTD,								// No.07 経度
					JBSbatKKIFM278.LTTD,								// No.08 緯度
					JBSbatKKIFM278.CUST_NM,								// No.09 お客様名
					JBSbatKKIFM278.CUST_KANA,							// No.10 お客様名カナ
					JBSbatKKIFM278.CUST_TYPE_NM,						// No.11 契約者タイプ名
					JBSbatKKIFM278.HM_TELNO,							// No.12 連絡先自宅電話番号
					JBSbatKKIFM278.HP_TELNO,							// No.13 連絡先携帯電話番号
					JBSbatKKIFM278.COMP_TELNO,							// No.14 連絡先会社電話番号
					JBSbatKKIFM278.MLAD,								// No.15 メールアドレス
					JBSbatKKIFM278.CUST_BIRTHD,							// No.16 お客様生年月日
					JBSbatKKIFM278.CUST_SEX_NM,							// No.17 お客様性別名
					JBSbatKKIFM278.GSHU_NM,								// No.18 業種名
					JBSbatKKIFM278.COMP_NM,								// No.19 会社名
					JBSbatKKIFM278.DIHYSHA_POST_NM,						// No.20 代表者役職名
					JBSbatKKIFM278.DIHYSHA_NM,							// No.21 代表者名
					JBSbatKKIFM278.KEISHA_AD_CD,						// No.22 契約者住所コード
					JBSbatKKIFM278.KEISHA_PCD,							// No.23 契約者郵便番号
					JBSbatKKIFM278.KEISHA_STATE_NM,						// No.24 契約者都道府県名
					JBSbatKKIFM278.KEISHA_CITY_NM,						// No.25 契約者市区町村名
					JBSbatKKIFM278.KEISHA_OAZTSU_NM,					// No.26 契約者大字通称名
					JBSbatKKIFM278.KEISHA_AZCHO_NM,						// No.27 契約者字丁目名
					JBSbatKKIFM278.KEISHA_BNCHIGO,						// No.28 契約者番地号
					JBSbatKKIFM278.KEISHA_ADRTTM,						// No.29 契約者住所補記・建物名
					JBSbatKKIFM278.KEISHA_ADRRM,						// No.30 契約者住所補記・部屋番号
					JBSbatKKIFM278.MSKM_YMD,							// No.31 申込年月日
					JBSbatKKIFM278.MSKMSHO_NO,							// No.32 申込書番号
					JBSbatKKIFM278.MSKM_UK_YMD,							// No.33 申込受付年月日
					JBSbatKKIFM278.SVC_STA_YMD,							// No.34 サービス開始年月日
					JBSbatKKIFM278.SVC_END_YMD,							// No.35 サービス終了年月日
			};
			
			// PKUPDATE用設定項目引数の設定(現在工程コード、現在工程名以外の項目)
			// [0]:現在工程コード [1]:現在工程名 [2]〜:料金グループコード〜 となっている為、設定時にsetParam[i + 2]とする
			for(int i = 0; i < kk2691_key.length; i++)
			{
				// 経度・緯度の場合
				if(JBSbatKK_T_MAP_CUST_PST_WK.LGTD.equals(kk2691_key[i]) ||
						JBSbatKK_T_MAP_CUST_PST_WK.LTTD.equals(kk2691_key[i]))
				{
					// 地図顧客位置ワークの値を取得  ※経度・緯度はNUMBER型
					BigDecimal kk2691_kmk_bd = pk_select_rslt.getBigDecimal(kk2691_key[i]);
					// 地図情報ファイルの値を取得  ※地図情報ファイルはStringで定義
					String kkifm278_kmk_str = inMap.getString(kkifm278_key[i]);
					
					// 地図情報ファイルの値に設定あり
					if(null != kkifm278_kmk_str && !"".equals(kkifm278_kmk_str))
					{
						// 地図情報ファイルの値    String → double
						double kkifm278_kmk_double = Double.valueOf(kkifm278_kmk_str);
						// 地図顧客位置ワークの値  BigDecimal → double
						double kk2691_kmk_double = 0;
						if(null != kk2691_kmk_bd)
						{
							kk2691_kmk_double = kk2691_kmk_bd.doubleValue();
						}
						
						// 地図顧客位置ワークの値がnull、または地図情報ファイルの値と地図顧客位置ワークの値が異なる場合
						if(null == kk2691_kmk_bd || kkifm278_kmk_double != kk2691_kmk_double)
						{
							// 更新要否を設定
							update_yh = true;
							// 地図情報ファイルの値を設定 double → BigDecimal  ※値の更新
							setParam[i + 2] = BigDecimal.valueOf(kkifm278_kmk_double);
							
							// デバッグログ出力
							String deb_upd_bf_val = "null";
							String deb_upd_af_val = "null";
							if(null != kk2691_kmk_bd)
							{
								deb_upd_bf_val = kk2691_kmk_bd.toString();
							}
							if(null != kkifm278_kmk_str)
							{
								deb_upd_af_val = kkifm278_kmk_str;
							}
							super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
									kk2691_key[i] + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
						}
						// 地図情報ファイルの値と、地図顧客位置ワークの値が同じ場合
						else
						{
							// 地図顧客位置ワークの値を設定
							setParam[i + 2] = kk2691_kmk_bd;
						}
					}
					// 地図情報ファイルの値に設定なし
					else
					{
						// 地図顧客位置ワークの値を設定
						setParam[i + 2] = kk2691_kmk_bd;
					}
				}
//OM-2016-00000597 2016/03/18 松岡 ADD START
				else if ( 
						   JBSbatKK_T_MAP_CUST_PST_WK.MSKM_YMD.equals(kk2691_key[i])   ||
						   JBSbatKK_T_MAP_CUST_PST_WK.MSKMSHO_NO.equals(kk2691_key[i]) ||
						   JBSbatKK_T_MAP_CUST_PST_WK.MSKM_UK_YMD.equals(kk2691_key[i])
						   )
				{
					// 地図顧客位置ワークの値を取得
					String kk2691_kmk = pk_select_rslt.getString(kk2691_key[i]);
					// 地図情報ファイルの値を取得
					String kkifm278_kmk = inMap.getString(kkifm278_key[i]);
					if(
							null != kkifm278_kmk && !("".equals(kkifm278_kmk)) &&
					       (null == kk2691_kmk || !(kkifm278_kmk.equals(kk2691_kmk)))
					)
					{
						// 更新要否を設定
						update_yh = true;
						// 地図情報ファイルの値を設定  ※値の更新
						setParam[i + 2] = kkifm278_kmk;
						
						// デバッグログ出力
						String deb_upd_bf_val = "null";
						String deb_upd_af_val = "null";
						if(null != kk2691_kmk)
						{
							deb_upd_bf_val = kk2691_kmk;
						}
						if(null != kkifm278_kmk)
						{
							deb_upd_af_val = kkifm278_kmk;
						}
						super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
								kk2691_key[i] + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
					}
					// 地図情報ファイルに設定なし、または地図顧客位置ワークの値がnullでなく地図情報ファイルの値と同じ場合
					else
					{
						// 地図顧客位置ワークの値を設定
						setParam[i + 2] = kk2691_kmk;
					}
				}
//OM-2016-00000597 2016/03/18 松岡 ADD END
				// 経度・緯度以外の場合
				else
				{
					// 地図顧客位置ワークの値を取得
					String kk2691_kmk = pk_select_rslt.getString(kk2691_key[i]);
					// 地図情報ファイルの値を取得
					String kkifm278_kmk = inMap.getString(kkifm278_key[i]);
					
					// 地図情報ファイルの値に設定があり、かつ地図顧客位置ワークの値がnullまたは地図顧客位置ワークの値と異なる場合
//OM-2016-00000597 2016/03/18 松岡 MOD START
//					if(null != kkifm278_kmk && !("".equals(kkifm278_kmk)) &&
//							(null == kk2691_kmk || !(kkifm278_kmk.equals(kk2691_kmk))))
//					{
					if(null != kkifm278_kmk && 	(null == kk2691_kmk || !(kkifm278_kmk.equals(kk2691_kmk))))
					{
//OM-2016-00000597 2016/03/18 松岡 MOD END
						// 更新要否を設定
						update_yh = true;
						// 地図情報ファイルの値を設定  ※値の更新
						setParam[i + 2] = kkifm278_kmk;
						
						// デバッグログ出力
						String deb_upd_bf_val = "null";
						String deb_upd_af_val = "null";
						if(null != kk2691_kmk)
						{
							deb_upd_bf_val = kk2691_kmk;
						}
						if(null != kkifm278_kmk)
						{
							deb_upd_af_val = kkifm278_kmk;
						}
						super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + ",更新項目=" +
								kk2691_key[i] + ",更新前値=" + deb_upd_bf_val + ",更新後値=" + deb_upd_af_val);
					}
					// 地図情報ファイルに設定なし、または地図顧客位置ワークの値がnullでなく地図情報ファイルの値と同じ場合
					else
					{
						// 地図顧客位置ワークの値を設定
						setParam[i + 2] = kk2691_kmk;
					}
				}
			}
			
			// 地図顧客位置ワークの更新の必要がある場合
			if(true == update_yh)
			{
				// 地図顧客位置ワークPK_UPDATE
				executeKK_T_MAP_CUST_PST_WK_PKUPDATE(setParam, whereParam);
			}
			else
			{
				// デバッグログ出力
				super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + " -> 更新項目なし");
			}
		}
		// 該当レコードが地図顧客位置ワークに存在しない
		else
		{
			// 地図情報ファイル(KKIFM278)のキー配列  ※PKINSERTのsetParamの項目順と同じにすること
			String[] kkifm278_key = {
					JBSbatKKIFM278.SYSID,				// No.01 SYSID(地図顧客位置識別値)
					JBSbatKKIFM278.SVC_KEI_NO,			// No.02 お客さまID(地図顧客位置詳細識別値)
					JBSbatKKIFM278.PRC_CD,				// No.03 現在工程コード(現在工程コード)
					JBSbatKKIFM278.PRC_NM,				// No.04 現在工程名(現在工程名)
					JBSbatKKIFM278.SVC_CD,				// No.05 サービスコード(料金グループコード)
					JBSbatKKIFM278.SVC_NM,				// No.06 サービス名称(料金グループ名)
					JBSbatKKIFM278.XZAHYO,				// No.07 X座標(X座標)
					JBSbatKKIFM278.YZAHYO,				// No.08 Y座標(Y座標)
					JBSbatKKIFM278.LGTD,				// No.09 経度(経度)
					JBSbatKKIFM278.LTTD,				// No.10 緯度(緯度)
					JBSbatKKIFM278.CUST_NM,				// No.11 お客様名(お客様名)
					JBSbatKKIFM278.CUST_KANA,			// No.12 お客様名カナ(お客様カナ名)
					JBSbatKKIFM278.CUST_TYPE_NM,		// No.13 契約者タイプ名(契約者タイプ名)
					JBSbatKKIFM278.HM_TELNO,			// No.14 連絡先自宅電話番号(連絡先自宅電話番号)
					JBSbatKKIFM278.HP_TELNO,			// No.15 連絡先携帯電話番号(連絡先携帯電話番号)
					JBSbatKKIFM278.COMP_TELNO,			// No.16 連絡先会社電話番号(連絡先会社電話番号)
					JBSbatKKIFM278.MLAD,				// No.17 メールアドレス(連絡先メールアドレス)
					JBSbatKKIFM278.CUST_BIRTHD,			// No.18 お客様生年月日(お客様生年月日)
					JBSbatKKIFM278.CUST_SEX_NM,			// No.19 お客様性別名(お客様性別)
					JBSbatKKIFM278.GSHU_NM,				// No.20 業種名(業種名)
					JBSbatKKIFM278.COMP_NM,				// No.21 会社名(会社名)
					JBSbatKKIFM278.DIHYSHA_POST_NM,		// No.22 代表者役職名(代表者役職名)
					JBSbatKKIFM278.DIHYSHA_NM,			// No.23 代表者名(代表者名)
					JBSbatKKIFM278.KEISHA_AD_CD,		// No.24 契約者住所コード(地図顧客位置住所コード)
					JBSbatKKIFM278.KEISHA_PCD,			// No.25 契約者郵便番号(地図顧客位置郵便番号)
					JBSbatKKIFM278.KEISHA_STATE_NM,		// No.26 契約者都道府県名(地図顧客位置都道府県名)
					JBSbatKKIFM278.KEISHA_CITY_NM,		// No.27 契約者市区町村名(地図顧客位置市区町村名)
					JBSbatKKIFM278.KEISHA_OAZTSU_NM,	// No.28 契約者大字通称名(地図顧客位置大字通称名)
					JBSbatKKIFM278.KEISHA_AZCHO_NM,		// No.29 契約者字丁目名(地図顧客位置字丁目名)
					JBSbatKKIFM278.KEISHA_BNCHIGO,		// No.30 契約者番地号(地図顧客位置番地号)
					JBSbatKKIFM278.KEISHA_ADRTTM,		// No.31 契約者住所補記・建物名(地図顧客位置住所補記・建物名)
					JBSbatKKIFM278.KEISHA_ADRRM,		// No.32 契約者住所補記・部屋番号(地図顧客位置住所補記・部屋番号)
					JBSbatKKIFM278.MSKM_YMD,			// No.33 申込年月日(申込年月日)
					JBSbatKKIFM278.MSKMSHO_NO,			// No.34 申込書番号(申込書番号)
					JBSbatKKIFM278.MSKM_UK_YMD,			// No.35 申込受付年月日(申込受付年月日)
					JBSbatKKIFM278.SVC_STA_YMD,			// No.36 サービス開始年月日(サービス開始年月日)
					JBSbatKKIFM278.SVC_END_YMD,			// No.37 サービス終了年月日(サービス終了年月日)
			};
			
			// PKINSERT用設定項目引数
			Object[] setParam = new Object[KK2691_PKINSERT_SET_KMK_CNT];
			
			// PKINSERT用設定項目引数の設定(テーブル共通項目以外)
			for(int i = 0; i < kkifm278_key.length; i++)
			{
				// 経度・緯度の場合
				if(JBSbatKKIFM278.LGTD.equals(kkifm278_key[i]) ||
						JBSbatKKIFM278.LTTD.equals(kkifm278_key[i]))
				{
					// 地図情報ファイルの値を取得  ※経度・緯度はNUMBER型
					String kkifm278_kmk = inMap.getString(kkifm278_key[i]);
					if(null != kkifm278_kmk && !"".equals(kkifm278_kmk))
					{
						// String → double → BigDecimal
						setParam[i] = BigDecimal.valueOf(Double.valueOf(kkifm278_kmk));
					}
					else
					{
						setParam[i] = null;
					}
				}
				// ▼▼▼ IT2-2013-0000003 Add Start ▼▼▼
				// 現在工程コードの場合
				else if(JBSbatKKIFM278.PRC_CD.equals(kkifm278_key[i]))
				{
					String kkifm278_kmk = inMap.getString(kkifm278_key[i]);
					if(null != kkifm278_kmk)
					{
						if(NOW_STEP_CD_MI_JDG.equals(kkifm278_kmk))
						{
							setParam[i] = null;
						}
						else
						{
							setParam[i] = inMap.getString(kkifm278_key[i]);
						}
					}
					else
					{
						setParam[i] = null;
					}
				}
				// ▲▲▲ IT2-2013-0000003 Add End   ▲▲▲
				// 経度・緯度以外の場合
				else
				{
					// 地図情報ファイルの値を取得
					setParam[i] = inMap.getString(kkifm278_key[i]);
				}
			}
			
			// PKINSERT用設定項目引数の設定(テーブル共通項目)  ※フレームワークで設定する
			for(int i = kkifm278_key.length; i < KK2691_PKINSERT_SET_KMK_CNT; i++)
			{
				setParam[i] = null;
			}
			
			// 初回起動かチェック
			if(this.mSYOKAI_FLG)
			{
				// 初回起動なのでファイル出力してSQLローダを使用する
				this.setFileOutMap(outMap, setParam);
				outMap.setOutFlg(true);
				outputBean.addOutMapList(outMap);
			}
			else
			{
				// 初回起動ではないので地図顧客位置ワークPK_INSERTを実行する
				executeKK_T_MAP_CUST_PST_WK_PKINSERT(setParam);
			}
			// デバッグログ出力
			super.logPrint.printDebugLog("地図顧客位置識別値=" + sysid + ",地図顧客位置詳細識別値=" + svc_kei_no + " -> 全項目登録実行");
		}
		
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_MAP_CUST_PST_WK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 *入力情報（地図情報ファイル）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM278-INF1.SYSID			地図情報ファイル.ＳＹＳＩＤ
	 *			 TXT-KKIFM278-INF1.SVC_KEI_NO			地図情報ファイル.お客さまＩＤ
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @param itemvalueMap エラーメッセージに関する項目値を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	@SuppressWarnings("unchecked")
	private boolean isSingleCheckKKIFM278_INF1(HashMap rsMap, HashMap itemvalueMap)
	{
		// 単項目チェックを行います
		String strValue = null;

		// ＳＹＳＩＤ項目チェック
		strValue = (String)rsMap.get("SYSID");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM278-INF1.SYSID")});
			return false;
		}

		// お客さまＩＤ項目チェック
		strValue = (String)rsMap.get("SVC_KEI_NO");
		// 必須チェック
		if(strValue == null || "".equals(strValue))
		{
			commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", new String[]{
															(String)itemvalueMap.get("TXT-KKIFM278-INF1.SVC_KEI_NO")});
			return false;
		}

		return true;
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	MAP_CUST_PST_SKVAL
	 *		 	MAP_CUST_PST_DTL_SKVAL
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_MAP_CUST_PST_WK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("MAP_CUST_PST_SKVAL", whereParam[0]);
		whereMap.setValue("MAP_CUST_PST_DTL_SKVAL", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_MAP_CUST_PST_WK.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	地図顧客位置識別値				MAP_CUST_PST_SKVAL
	 *		 	地図顧客位置詳細識別値				MAP_CUST_PST_DTL_SKVAL
	 *		 	現在工程コード				NOW_STEP_CD
	 *		 	現在工程名				NOW_STEP_NM
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金グループ名				PRC_GRP_NM
	 *		 	Ｘ座標				XZAHYO
	 *		 	Ｙ座標				YZAHYO
	 *		 	経度				LGTD
	 *		 	緯度				LTTD
	 *		 	お客様名				CUST_NM
	 *		 	お客様カナ名				CUST_KANA
	 *		 	契約者タイプ名				KEISHA_TYPE_NM
	 *		 	連絡先自宅電話番号				RRKS_HOME_TELNO
	 *		 	連絡先携帯電話番号				RRKS_KTAI_TELNO
	 *		 	連絡先会社電話番号				RRKS_COMP_TELNO
	 *		 	連絡先メールアドレス				RRKS_MLAD
	 *		 	お客様生年月日				CUST_BIRTHD
	 *		 	お客様性別				CUST_SEX
	 *		 	業種名				GSHU_NM
	 *		 	会社名				COMP_NM
	 *		 	代表者役職名				DIHYSHA_POST_NM
	 *		 	代表者名				DIHYSHA_NM
	 *		 	地図顧客位置住所コード				MAP_CUST_PST_AD_CD
	 *		 	地図顧客位置郵便番号				MAP_CUST_PST_PCD
	 *		 	地図顧客位置都道府県名				MAP_CUST_PST_STATE_NM
	 *		 	地図顧客位置市区町村名				MAP_CUST_PST_CITY_NM
	 *		 	地図顧客位置大字通称名				MAP_CUST_PST_OAZTSU_NM
	 *		 	地図顧客位置字丁目名				MAP_CUST_PST_AZCHO_NM
	 *		 	地図顧客位置番地号				MAP_CUST_PST_BNCHIGO
	 *		 	地図顧客位置住所補記・建物名				MAP_CUST_PST_ADRTTM
	 *		 	地図顧客位置住所補記・部屋番号				MAP_CUST_PST_ADRRM
	 *		 	申込年月日				MSKM_YMD
	 *		 	申込書番号				MSKMSHO_NO
	 *		 	申込受付年月日				MSKM_UK_YMD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス終了年月日				SVC_END_YMD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MAP_CUST_PST_WK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("MAP_CUST_PST_SKVAL", setParam[0]);
		setMap.setValue("MAP_CUST_PST_DTL_SKVAL", setParam[1]);
		setMap.setValue("NOW_STEP_CD", setParam[2]);
		setMap.setValue("NOW_STEP_NM", setParam[3]);
		setMap.setValue("PRC_GRP_CD", setParam[4]);
		setMap.setValue("PRC_GRP_NM", setParam[5]);
		setMap.setValue("XZAHYO", setParam[6]);
		setMap.setValue("YZAHYO", setParam[7]);
		setMap.setValue("LGTD", setParam[8]);
		setMap.setValue("LTTD", setParam[9]);
		setMap.setValue("CUST_NM", setParam[10]);
		setMap.setValue("CUST_KANA", setParam[11]);
		setMap.setValue("KEISHA_TYPE_NM", setParam[12]);
		setMap.setValue("RRKS_HOME_TELNO", setParam[13]);
		setMap.setValue("RRKS_KTAI_TELNO", setParam[14]);
		setMap.setValue("RRKS_COMP_TELNO", setParam[15]);
		setMap.setValue("RRKS_MLAD", setParam[16]);
		setMap.setValue("CUST_BIRTHD", setParam[17]);
		setMap.setValue("CUST_SEX", setParam[18]);
		setMap.setValue("GSHU_NM", setParam[19]);
		setMap.setValue("COMP_NM", setParam[20]);
		setMap.setValue("DIHYSHA_POST_NM", setParam[21]);
		setMap.setValue("DIHYSHA_NM", setParam[22]);
		setMap.setValue("MAP_CUST_PST_AD_CD", setParam[23]);
		setMap.setValue("MAP_CUST_PST_PCD", setParam[24]);
		setMap.setValue("MAP_CUST_PST_STATE_NM", setParam[25]);
		setMap.setValue("MAP_CUST_PST_CITY_NM", setParam[26]);
		setMap.setValue("MAP_CUST_PST_OAZTSU_NM", setParam[27]);
		setMap.setValue("MAP_CUST_PST_AZCHO_NM", setParam[28]);
		setMap.setValue("MAP_CUST_PST_BNCHIGO", setParam[29]);
		setMap.setValue("MAP_CUST_PST_ADRTTM", setParam[30]);
		setMap.setValue("MAP_CUST_PST_ADRRM", setParam[31]);
		setMap.setValue("MSKM_YMD", setParam[32]);
		setMap.setValue("MSKMSHO_NO", setParam[33]);
		setMap.setValue("MSKM_UK_YMD", setParam[34]);
		setMap.setValue("SVC_STA_YMD", setParam[35]);
		setMap.setValue("SVC_END_YMD", setParam[36]);
		setMap.setValue("ADD_DTM", setParam[37]);
		setMap.setValue("ADD_OPEACNT", setParam[38]);
		setMap.setValue("UPD_DTM", setParam[39]);
		setMap.setValue("UPD_OPEACNT", setParam[40]);
		setMap.setValue("DEL_DTM", setParam[41]);
		setMap.setValue("DEL_OPEACNT", setParam[42]);
		setMap.setValue("MK_FLG", setParam[43]);
		setMap.setValue("ADD_UNYO_YMD", setParam[44]);
		setMap.setValue("ADD_TRN_ID", setParam[45]);
		setMap.setValue("UPD_UNYO_YMD", setParam[46]);
		setMap.setValue("UPD_TRN_ID", setParam[47]);
		setMap.setValue("DEL_UNYO_YMD", setParam[48]);
		setMap.setValue("DEL_TRN_ID", setParam[49]);
	
		// DBアクセスを実行します
		db_KK_T_MAP_CUST_PST_WK.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	現在工程コード				NOW_STEP_CD
	 *		 	現在工程名				NOW_STEP_NM
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金グループ名				PRC_GRP_NM
	 *		 	Ｘ座標				XZAHYO
	 *		 	Ｙ座標				YZAHYO
	 *		 	経度				LGTD
	 *		 	緯度				LTTD
	 *		 	お客様名				CUST_NM
	 *		 	お客様カナ名				CUST_KANA
	 *		 	契約者タイプ名				KEISHA_TYPE_NM
	 *		 	連絡先自宅電話番号				RRKS_HOME_TELNO
	 *		 	連絡先携帯電話番号				RRKS_KTAI_TELNO
	 *		 	連絡先会社電話番号				RRKS_COMP_TELNO
	 *		 	連絡先メールアドレス				RRKS_MLAD
	 *		 	お客様生年月日				CUST_BIRTHD
	 *		 	お客様性別				CUST_SEX
	 *		 	業種名				GSHU_NM
	 *		 	会社名				COMP_NM
	 *		 	代表者役職名				DIHYSHA_POST_NM
	 *		 	代表者名				DIHYSHA_NM
	 *		 	地図顧客位置住所コード				MAP_CUST_PST_AD_CD
	 *		 	地図顧客位置郵便番号				MAP_CUST_PST_PCD
	 *		 	地図顧客位置都道府県名				MAP_CUST_PST_STATE_NM
	 *		 	地図顧客位置市区町村名				MAP_CUST_PST_CITY_NM
	 *		 	地図顧客位置大字通称名				MAP_CUST_PST_OAZTSU_NM
	 *		 	地図顧客位置字丁目名				MAP_CUST_PST_AZCHO_NM
	 *		 	地図顧客位置番地号				MAP_CUST_PST_BNCHIGO
	 *		 	地図顧客位置住所補記・建物名				MAP_CUST_PST_ADRTTM
	 *		 	地図顧客位置住所補記・部屋番号				MAP_CUST_PST_ADRRM
	 *		 	申込年月日				MSKM_YMD
	 *		 	申込書番号				MSKMSHO_NO
	 *		 	申込受付年月日				MSKM_UK_YMD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス終了年月日				SVC_END_YMD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	MAP_CUST_PST_SKVAL
	 *		 	MAP_CUST_PST_DTL_SKVAL
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MAP_CUST_PST_WK_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("NOW_STEP_CD", setParam[0]);
		setMap.setValue("NOW_STEP_NM", setParam[1]);
		setMap.setValue("PRC_GRP_CD", setParam[2]);
		setMap.setValue("PRC_GRP_NM", setParam[3]);
		setMap.setValue("XZAHYO", setParam[4]);
		setMap.setValue("YZAHYO", setParam[5]);
		setMap.setValue("LGTD", setParam[6]);
		setMap.setValue("LTTD", setParam[7]);
		setMap.setValue("CUST_NM", setParam[8]);
		setMap.setValue("CUST_KANA", setParam[9]);
		setMap.setValue("KEISHA_TYPE_NM", setParam[10]);
		setMap.setValue("RRKS_HOME_TELNO", setParam[11]);
		setMap.setValue("RRKS_KTAI_TELNO", setParam[12]);
		setMap.setValue("RRKS_COMP_TELNO", setParam[13]);
		setMap.setValue("RRKS_MLAD", setParam[14]);
		setMap.setValue("CUST_BIRTHD", setParam[15]);
		setMap.setValue("CUST_SEX", setParam[16]);
		setMap.setValue("GSHU_NM", setParam[17]);
		setMap.setValue("COMP_NM", setParam[18]);
		setMap.setValue("DIHYSHA_POST_NM", setParam[19]);
		setMap.setValue("DIHYSHA_NM", setParam[20]);
		setMap.setValue("MAP_CUST_PST_AD_CD", setParam[21]);
		setMap.setValue("MAP_CUST_PST_PCD", setParam[22]);
		setMap.setValue("MAP_CUST_PST_STATE_NM", setParam[23]);
		setMap.setValue("MAP_CUST_PST_CITY_NM", setParam[24]);
		setMap.setValue("MAP_CUST_PST_OAZTSU_NM", setParam[25]);
		setMap.setValue("MAP_CUST_PST_AZCHO_NM", setParam[26]);
		setMap.setValue("MAP_CUST_PST_BNCHIGO", setParam[27]);
		setMap.setValue("MAP_CUST_PST_ADRTTM", setParam[28]);
		setMap.setValue("MAP_CUST_PST_ADRRM", setParam[29]);
		setMap.setValue("MSKM_YMD", setParam[30]);
		setMap.setValue("MSKMSHO_NO", setParam[31]);
		setMap.setValue("MSKM_UK_YMD", setParam[32]);
		setMap.setValue("SVC_STA_YMD", setParam[33]);
		setMap.setValue("SVC_END_YMD", setParam[34]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("MAP_CUST_PST_SKVAL", whereParam[0]);
		whereMap.setValue("MAP_CUST_PST_DTL_SKVAL", whereParam[1]);

		// DBアクセスを実行します
		db_KK_T_MAP_CUST_PST_WK.updateByPrimaryKeys(whereMap, setMap);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * エラーメッセージに関する項目値を格納された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-KKIFM278-INF1.SYSID", "SYSID");
		itemvalueMap.put("TXT-KKIFM278-INF1.SVC_KEI_NO", "お客さまID");
		
		return itemvalueMap;
	}

	/**
	 * SQLローダ用出力ファイルマップ
	 * 
	 * @param outMap 返却用マップ
	 * @param setParam 返却用データ配列
	 */
	private void setFileOutMap(JBSbatServiceInterfaceMap setMap, Object[] setParam)
	{
		// 返却用マップに値をセットする
		setMap.set("MAP_CUST_PST_SKVAL", setParam[0]);
		setMap.set("MAP_CUST_PST_DTL_SKVAL", setParam[1]);
		setMap.set("NOW_STEP_CD", setParam[2]);
		setMap.set("NOW_STEP_NM", setParam[3]);
		setMap.set("PRC_GRP_CD", setParam[4]);
		setMap.set("PRC_GRP_NM", setParam[5]);
		setMap.set("XZAHYO", setParam[6]);
		setMap.set("YZAHYO", setParam[7]);
		setMap.set("LGTD", setParam[8]);
		setMap.set("LTTD", setParam[9]);
		setMap.set("CUST_NM", setParam[10]);
		setMap.set("CUST_KANA", setParam[11]);
		setMap.set("KEISHA_TYPE_NM", setParam[12]);
		setMap.set("RRKS_HOME_TELNO", setParam[13]);
		setMap.set("RRKS_KTAI_TELNO", setParam[14]);
		setMap.set("RRKS_COMP_TELNO", setParam[15]);
		setMap.set("RRKS_MLAD", setParam[16]);
		setMap.set("CUST_BIRTHD", setParam[17]);
		setMap.set("CUST_SEX", setParam[18]);
		setMap.set("GSHU_NM", setParam[19]);
		setMap.set("COMP_NM", setParam[20]);
		setMap.set("DIHYSHA_POST_NM", setParam[21]);
		setMap.set("DIHYSHA_NM", setParam[22]);
		setMap.set("MAP_CUST_PST_AD_CD", setParam[23]);
		setMap.set("MAP_CUST_PST_PCD", setParam[24]);
		setMap.set("MAP_CUST_PST_STATE_NM", setParam[25]);
		setMap.set("MAP_CUST_PST_CITY_NM", setParam[26]);
		setMap.set("MAP_CUST_PST_OAZTSU_NM", setParam[27]);
		setMap.set("MAP_CUST_PST_AZCHO_NM", setParam[28]);
		setMap.set("MAP_CUST_PST_BNCHIGO", setParam[29]);
		setMap.set("MAP_CUST_PST_ADRTTM", setParam[30]);
		setMap.set("MAP_CUST_PST_ADRRM", setParam[31]);
		setMap.set("MSKM_YMD", setParam[32]);
		setMap.set("MSKMSHO_NO", setParam[33]);
		setMap.set("MSKM_UK_YMD", setParam[34]);
		setMap.set("SVC_STA_YMD", setParam[35]);
		setMap.set("SVC_END_YMD", setParam[36]);
		setMap.set("ADD_DTM", this.mTIME_DTM);
		setMap.set("ADD_OPEACNT", "BATLOADER");
		setMap.set("UPD_DTM", this.mTIME_DTM);
		setMap.set("UPD_OPEACNT", "BATLOADER");
		setMap.set("DEL_DTM", setParam[41]);
		setMap.set("DEL_OPEACNT", setParam[42]);
		setMap.set("MK_FLG", "0");
		setMap.set("ADD_UNYO_YMD", super.opeDate);
		setMap.set("ADD_TRN_ID", this.mTRN_ID);
		setMap.set("UPD_UNYO_YMD", super.opeDate);
		setMap.set("UPD_TRN_ID", this.mTRN_ID);
		setMap.set("DEL_UNYO_YMD", setParam[48]);
		setMap.set("DEL_TRN_ID", setParam[49]);
	}
}
