/*********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
							*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKKeiIdoKns
*	ソースファイル名	：JBSbatKKKeiIdoKns.java
*	作成者				：富士通　
*	作成日				：2012年08月07日
*＜機能概要＞
*　契約異動検証部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/08/07   富士通		新規作成
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JKVBatIdoKns;
import eo.business.util.file.JBSbatKVIFM001;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.db.JBSbatSQLAccess;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKVKeiIdoKns extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(進捗)*/
	private static final String D_TBL_NAME_KK_T_PRG = "KK_T_PRG";

	/** テーブル(サービス契約)*/
	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_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(サブオプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_SBOP_SVC_KEI = "KK_T_SBOP_SVC_KEI";

	/** SQL定義キー(KV_SELECT_003)*/
	private static final String KK_T_SVC_KEI_KV_SELECT_003 = "KV_SELECT_003";

	/** SQL定義キー(KV_SELECT_003)*/
	private static final String KK_T_KKTK_SVC_KEI_KV_SELECT_003 = "KV_SELECT_003";

	/** SQL定義キー(KV_SELECT_002)*/
	private static final String KK_T_OP_SVC_KEI_KV_SELECT_002 = "KV_SELECT_002";

	/** SQL定義キー(KV_SELECT_002)*/
	private static final String KK_T_SBOP_SVC_KEI_KV_SELECT_002 = "KV_SELECT_002";

	/** SQL定義キー(KV_SELECT_001)*/
	private static final String KK_T_SVC_KEI_UCWK_KV_SELECT_003 = "KV_SELECT_003";
	
	/** テーブルアクセスクラス(進捗)*/
	private JBSbatSQLAccess db_KK_T_PRG = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(サブオプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SBOP_SVC_KEI = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** ターゲットスキーマ：サービス契約*/
	public static final int TGSCM_SVC_KEI = 1;

	/** ターゲットスキーマ：サービス契約内訳*/
	public static final int TGSCM_SVC_KEI_UCWK = 2;

	/** ターゲットスキーマ：オプションサービス契約*/
	public static final int TGSCM_OP_SVC_KEI = 3;

	/** ターゲットスキーマ：機器提供サービス契約*/
	public static final int TGSCM_KKTK_SVC_KEI = 4;

	/** ターゲットスキーマ：サブオプションサービス契約*/
	public static final int TGSCM_SBOP_SVC_KEI = 5;

	/** ターゲットスキーマ：請求オプションサービス契約*/
	public static final int TGSCM_SEIOP_SVC_KEI = 6;

	/** スキーマ名称：サービス契約*/
	public static final String SCM_NM_SVC_KEI = "サービス契約";
	
	/** キー項目名：サービス契約*/
	public static final String KEY_NM_SVC_KEI = "サービス契約番号";

	/** スキーマ名称：サービス契約内訳*/
	public static final String SCM_NM_SVC_KEI_UCWK = "サービス契約内訳";
	
	/** キー項目名：サービス契約内訳*/
	public static final String KEY_NM_SVC_KEI_UCWK = "サービス契約内訳番号";

	/** スキーマ名称：オプションサービス契約*/
	public static final String SCM_NM_OP_SVC_KEI = "オプションサービス契約";
	
	/** キー項目名：オプションサービス契約*/
	public static final String KEY_NM_OP_SVC_KEI = "オプションサービス契約番号";

	/** スキーマ名称：機器提供サービス契約*/
	public static final String SCM_NM_KKTK_SVC_KEI = "機器提供サービス契約";
	
	/** キー項目名：機器提供サービス契約*/
	public static final String KEY_NM_KKTK_SVC_KEI = "機器提供サービス契約番号";

	/** スキーマ名称：サブオプションサービス契約*/
	public static final String SCM_NM_SBOP_SVC_KEI = "サブオプションサービス契約";
	
	/** キー項目名：サブオプションサービス契約*/
	public static final String KEY_NM_SBOP_SVC_KEI = "サブオプションサービス契約番号";

	/** スキーマ名称：請求オプションサービス契約*/
	public static final String SCM_NM_SEIOP_SVC_KEI = "請求オプションサービス契約";
	
	/** キー項目名：請求オプションサービス契約*/
	public static final String KEY_NM_SEIOP_SVC_KEI = "請求オプションサービス契約番号";

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_PRG = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_PRG);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_SBOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SBOP_SVC_KEI);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @param outputInItem 入力情報
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/

		Boolean OutputFlg = true;
		
		JBSbatOutputItem outputItem = new JBSbatOutputItem();
		
		// サービス契約番号を取得
		String svc_kei_no = inMap.getString("SVC_KEI_NO");
		// 検証対象項目を取得
		String knsho_tg_kmk = inMap.getString("KNSHO_TG_KMK_NM_EINM").trim();
		// 異動区分を取得
		String ido_div_nm = inMap.getString("IDO_DIV_NM");
		// 進捗ステータスを取得
		String prg_stat_nm = inMap.getString("PRG_STAT_NM");

		Integer knsho_tgscm_skcd = Integer.valueOf(inMap.getString("KNSHO_TGSCM_SKCD"));
		String Ymd = "";
		
		printIndaatDebugLog(inMap);

		Object[] paramSvc = null;
		JBSbatCommonDBInterface getDataMap = null;

		String knsho_tgscm_skcd_nm = "";
		String knsho_tgscm_key_nm = "";
		String knsho_tgscm_key = "";
		switch(knsho_tgscm_skcd)
		{
			case TGSCM_SVC_KEI:
				knsho_tgscm_skcd_nm = SCM_NM_SVC_KEI;
				knsho_tgscm_key_nm = KEY_NM_SVC_KEI;
				knsho_tgscm_key = inMap.getString("SVC_KEI_NO");
				String apl_ymd = inMap.getString("PRG_DTM").substring(0, 8);

				// データ抽出条件を設定
				paramSvc = new Object[]{
						apl_ymd,
						inMap.getString("SVC_KEI_NO")	// サービス契約番号
				};
				
				executeKK_T_SVC_KEI_KV_SELECT_003(paramSvc);
				getDataMap = db_KK_T_SVC_KEI.selectNext();
				if(getDataMap != null)
				{
					String chkYmd = getDataMap.getString(knsho_tg_kmk);
					if(chkYmd != null)
					{
						Ymd = getDataMap.getString(knsho_tg_kmk);
					}
				}
				else
				{
					OutputFlg = false;
				}
				break;
			case TGSCM_SVC_KEI_UCWK:
				knsho_tgscm_skcd_nm = SCM_NM_SVC_KEI_UCWK;
				knsho_tgscm_key_nm = KEY_NM_SVC_KEI_UCWK;
				knsho_tgscm_key = inMap.getString("SVC_KEI_UCWK_NO");
				String apl_ymd2 = inMap.getString("PRG_DTM").substring(0, 8);

				// データ抽出条件を設定
				paramSvc = new Object[]{
						knsho_tgscm_key,	// サービス契約内訳番号
						apl_ymd2
				};
				
				executeKK_T_SVC_KEI_UCWK_KV_SELECT_001(paramSvc);
				getDataMap = db_KK_T_SVC_KEI_UCWK.selectNext();
				if(getDataMap != null)
				{
					String chkYmd = getDataMap.getString(knsho_tg_kmk);
					if(chkYmd != null)
					{
						Ymd = getDataMap.getString(knsho_tg_kmk);
					}
				}
				else
				{
					OutputFlg = false;
				}
				break;
			case TGSCM_OP_SVC_KEI:
				knsho_tgscm_skcd_nm = SCM_NM_OP_SVC_KEI;
				knsho_tgscm_key_nm = KEY_NM_OP_SVC_KEI;
				if(inMap.get("OP_SVC_KEI_NO") != null)
				{
					knsho_tgscm_key = inMap.getString("OP_SVC_KEI_NO");
					// データ抽出条件を設定
					paramSvc = new Object[]{
							inMap.getString("OP_SVC_KEI_NO")	// サービス契約番号
					};
					
					executeKK_T_OP_SVC_KEI_KV_SELECT_002(paramSvc);
					getDataMap = db_KK_T_OP_SVC_KEI.selectNext();
					if(getDataMap != null)
					{
						String chkYmd = getDataMap.getString(knsho_tg_kmk);
						if(chkYmd != null)
						{
							Ymd = getDataMap.getString(knsho_tg_kmk);
						}
					}
					else
					{
						OutputFlg = false;
					}
				}
				else
				{
					OutputFlg = false;
				}
				break;
			case TGSCM_KKTK_SVC_KEI:
				knsho_tgscm_skcd_nm = SCM_NM_KKTK_SVC_KEI;
				knsho_tgscm_key_nm = KEY_NM_KKTK_SVC_KEI;
				if(inMap.get("KKTK_SVC_KEI_NO") != null)
				{
					knsho_tgscm_key = inMap.getString("KKTK_SVC_KEI_NO");
					// データ抽出条件を設定
					paramSvc = new Object[]{
							inMap.getString("KKTK_SVC_KEI_NO")	// サービス契約番号
					};
					
					executeKK_T_KKTK_SVC_KEI_KV_SELECT_003(paramSvc);
					getDataMap = db_KK_T_KKTK_SVC_KEI.selectNext();
					if(getDataMap != null)
					{
						String chkYmd = getDataMap.getString(knsho_tg_kmk);
						if(chkYmd != null)
						{
							Ymd = getDataMap.getString(knsho_tg_kmk);
						}
					}
					else
					{
						OutputFlg = false;
					}
				}
				else
				{
					OutputFlg = false;
				}
				break;
			case TGSCM_SBOP_SVC_KEI:
				knsho_tgscm_skcd_nm = SCM_NM_SBOP_SVC_KEI;
				knsho_tgscm_key_nm = KEY_NM_SBOP_SVC_KEI;
				if(inMap.get("SBOP_SVC_KEI_NO") != null)
				{
					knsho_tgscm_key = inMap.getString("SBOP_SVC_KEI_NO");
					// データ抽出条件を設定
					paramSvc = new Object[]{
							inMap.getString("SBOP_SVC_KEI_NO")	// サービス契約番号
					};
					
					executeKK_T_SBOP_SVC_KEI_KV_SELECT_002(paramSvc);
					getDataMap = db_KK_T_SBOP_SVC_KEI.selectNext();
					if(getDataMap != null)
					{
						String chkYmd = getDataMap.getString(knsho_tg_kmk);
						if(chkYmd != null)
						{
							Ymd = getDataMap.getString(knsho_tg_kmk);
						}
					}
					else
					{
						OutputFlg = false;
					}
				}
				else
				{
					OutputFlg = false;
				}
				break;
		}

		if(OutputFlg)
		{
			JKVBatIdoKns.getIdoKns(inMap, commonItem);
		}
		
		// 検証年月日を取得
		String chk_ymd = "";
		if(inMap.get("CHK_YMD") != null)
		{
			chk_ymd = inMap.get("CHK_YMD").toString();
		}


		commonItem.getLogPrint().printDebugLog("検証日付：" + inMap.get("CHK_YMD") + "検証対象日付：" + Ymd);

		// 入出力インターフェースオブジェクトを生成sz
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		outmap.setString(JBSbatKVIFM001.SVC_KEI_NO, svc_kei_no.trim());
		outmap.setString(JBSbatKVIFM001.KNSHO_TGSCM, knsho_tgscm_skcd_nm.trim());
		outmap.setString(JBSbatKVIFM001.KEY_KMK_NM, knsho_tgscm_key_nm.trim());
		outmap.setString(JBSbatKVIFM001.KEY_KMK, knsho_tgscm_key.trim());
		outmap.setString(JBSbatKVIFM001.IDO_DIV, ido_div_nm.trim());
		outmap.setString(JBSbatKVIFM001.PRG_STAT, prg_stat_nm.trim());
		outmap.setString(JBSbatKVIFM001.KNSHO_TG_KMK, knsho_tg_kmk.trim());
		outmap.setString(JBSbatKVIFM001.KNSHO_YMD, Ymd);
		outmap.setString(JBSbatKVIFM001.CHK_YMD, chk_ymd);
		String CHK_RSULT = "";
		
		if("99999999".equals(chk_ymd) && !"".equals(Ymd))
		{
			CHK_RSULT = "○";
			outmap.setString(JBSbatKVIFM001.CHK_YMD, Ymd);
		}
		else if (Ymd.equals(chk_ymd))
		{
			CHK_RSULT = "○";
		}
		else
		{
			CHK_RSULT = "×";
		}
		
		outmap.setString(JBSbatKVIFM001.NG_COMMENT, CHK_RSULT);

		if(OutputFlg)
		{
			outmap.setOutFlg(true);
		}
		else
		{
			outmap.setOutFlg(false);
		}
		outputItem.addOutMapList(outmap);
		return outputItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		// DBアクセスクラスをクローズします
		db_KK_T_PRG.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_SBOP_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです終了▲▲▲▲▲▲*/
		
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/


	/**
	 * SQLKEY(KV_SELECT_003)で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_KV_SELECT_003(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_KV_SELECT_003);
	}

	/**
	 * SQLKEY(KV_SELECT_003)で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_UCWK_KV_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KV_SELECT_003);
	}
	
	/**
	 * SQLKEY(KV_SELECT_002)で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_KKTK_SVC_KEI_KV_SELECT_003(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KV_SELECT_003);
	}

	/**
	 * SQLKEY(KV_SELECT_002)で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_OP_SVC_KEI_KV_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KV_SELECT_002);
	}

	/**
	 * SQLKEY(KV_SELECT_002)で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_SBOP_SVC_KEI_KV_SELECT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_SBOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_SBOP_SVC_KEI_KV_SELECT_002);
	}
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	
	/**
	 * インデータのデバックログを出力する。
	 */
	private void printIndaatDebugLog(JBSbatServiceInterfaceMap inMap)
	throws Exception
	{
		// サービス契約番号を取得
		String svc_kei_no = inMap.getString("SVC_KEI_NO");
	    // 検証対象スキーマ識別コードを取得
		Integer knsho_tgscm_skcd = Integer.valueOf(inMap.getString("KNSHO_TGSCM_SKCD"));
		// 検証対象項目を取得
		String knsho_tg_kmk = inMap.getString("KNSHO_TG_KMK_NM_EINM");
		// 異動区分を取得
		String ido_div = inMap.getString("IDO_DIV");
		// 進捗ステータスを取得
		String prg_stat = inMap.getString("PRG_STAT");

		// 異動区分を取得
		String ido_div_nm = inMap.getString("IDO_DIV_NM");
		// 進捗ステータスを取得
		String prg_stat_nm = inMap.getString("PRG_STAT_NM");
		// クラス名を取得
		String class_name = inMap.getString("KEI_IDO_KNSHO_CLASS_NM");
		
		String knsho_tgscm_nm = "";

		switch(knsho_tgscm_skcd)
		{
			case TGSCM_SVC_KEI:
				knsho_tgscm_nm  = "サービス契約";
				break;
			case TGSCM_SVC_KEI_UCWK:
				knsho_tgscm_nm  = "サービス契約内訳";
				break;
			case TGSCM_OP_SVC_KEI:
				knsho_tgscm_nm  = "オプションサービス契約";
				break;
			case TGSCM_KKTK_SVC_KEI:
				knsho_tgscm_nm  = "機器提供サービス契約";
				break;
			case TGSCM_SBOP_SVC_KEI:
				knsho_tgscm_nm  = "サブオプションサービス契約";
				break;
			
		}

		String logclass = "";
		
		if("CLASS1".equals(class_name))
		{
			logclass = "サービス開始日";
		}
		else if("CLASS2".equals(class_name))
		{
			logclass = "サービス課金開始日";
		}
		else if("CLASS3".equals(class_name))
		{
			logclass = "プラン開始日";
		}
		else if("CLASS4".equals(class_name))
		{
			logclass = "プラン課金開始日";
		}
		else if("CLASS5".equals(class_name))
		{
			logclass = "サービス終了日";
		}
		else if("CLASS6".equals(class_name))
		{
			logclass = "サービス課金終了日";
		}
		else if("CLASS7".equals(class_name))
		{
			logclass = "解約起算年月日";
		}
		else if("CLASS8".equals(class_name))
		{
			logclass = "サービス休止日";
		}
		else if("CLASS9".equals(class_name))
		{
			logclass = "割引サービス対象契約適用開始日";
		}
		else if("CLASS10".equals(class_name))
		{
			logclass = "割引サービス対象契約適用終了日";
		}
		else if("CLASS11".equals(class_name))
		{
			logclass = "キャンセル日";
			
		}
		else if("CLASS12".equals(class_name))
		{
			logclass = "プラン終了日";
		}
		else if("CLASS13".equals(class_name))
		{
			logclass = "プラン課金終了日";
		}
		else if("CLASS14".equals(class_name))
		{
			logclass = "サービス終了日";
		}
		
		commonItem.getLogPrint().printDebugLog(knsho_tgscm_nm + ":" + logclass + ":" + svc_kei_no + ":"+ ido_div + ":" +  ido_div_nm + ":" + prg_stat + ";" + prg_stat_nm);
	}
}
