/*********************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JEKK2231E010TPMA
*   ソースファイル名：JEKK2231E010TPMA.java
*   作成者          ：富士通
*   日付            ：2012年03月08日
*＜機能概要＞
*   主処理(共通)<BR>
*  申込保留内容設定コード一時保存削除独自処理部品クラス.
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*   v1.00.00    2012/03/08  富士通      新規作成
*
**********************************************************************/

package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.base.CAANFinderException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.ejb.cbm.entity.KK2231ETMsg;
import eo.ejb.cbs.cbsmsg.EKK2231E010CBSMsg;
import eo.ejb.common.db.JKKejbKK2231SecProc;


/**
 * <p>
 * 申込保留内容設定コード一時保存削除独自処理部品クラスです。
 * </p>
 * @author 富士通
 */
public class JEKK2231E010TPMA implements TemplateMainHandler
{	
	/**
	 * コンストラクタ.
	 */
	public JEKK2231E010TPMA()
	{
		super();
	}
	
	/**
	 * 申込保留内容設定コード一時保存削除処理です。
	 * @param inCBSMsg CAANメッセージ
	 * @param inContext コンテキスト
	 * @throws CAANFinderException 
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext) throws CAANFinderException
	{

		CAANMsg selectMsg = new CAANMsg(KK2231ETMsg.class.getName());
		CAANMsg updateMsg = new CAANMsg(KK2231ETMsg.class.getName());
		JKKejbKK2231SecProc secproc = new JKKejbKK2231SecProc();
		CAANMsg[] selectRslt = null;

		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "JEKK2231E010TPMA#invoke start");

		//申込保留番号一時保存番号
		selectMsg.set(KK2231ETMsg.MSKM_PNY_TPPV_NO, inCBSMsg.getString(EKK2231E010CBSMsg.MSKM_PNY_TPPV_NO));
		selectMsg.set(KK2231ETMsg.MK_FLG, "0");

		try
		{
			selectRslt = secproc.findByCondition(selectMsg);
		}
		catch (Exception e)
		{
			throw new CAANRuntimeException(e);
		}
		
		if(selectRslt == null || selectRslt.length == 0)
		{
			inCBSMsg.set(EKK2231E010CBSMsg.MSKM_PNY_TPPV_NO_ERR, "EA");
			inCBSMsg.set(EKK2231E010CBSMsg.STATUS, StatusCodes.RELATION_ERR);
			return;
		}
		
		if("1".equals(inCBSMsg.getString(EKK2231E010CBSMsg.FUNC_CODE)))
		{
			String mkFlg = "1";
			
			for(int i = 0; i < selectRslt.length; i++)
			{
				updateMsg.set(KK2231ETMsg.MSKM_PNY_TPPV_NO, selectRslt[i].getString(KK2231ETMsg.MSKM_PNY_TPPV_NO));
				updateMsg.set(KK2231ETMsg.MPNY_SETCD_TPPV_NO, selectRslt[i].getString(KK2231ETMsg.MPNY_SETCD_TPPV_NO));
				updateMsg.set(KK2231ETMsg.UPD_DTM, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATEDATETIME));
				updateMsg.set(KK2231ETMsg.UPD_OPEACNT, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATORID));
				updateMsg.set(KK2231ETMsg.DEL_DTM, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATEDATETIME));
				updateMsg.set(KK2231ETMsg.DEL_OPEACNT, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATORID));
				updateMsg.set(KK2231ETMsg.MK_FLG, mkFlg);
				
				try
				{
					secproc.update(updateMsg);
				}
				catch (Exception e)
				{
					throw new CAANRuntimeException(e);
				}
			}
			
			inCBSMsg.set(EKK2231E010CBSMsg.UPD_DTM, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATEDATETIME));
			inCBSMsg.set(EKK2231E010CBSMsg.UPD_OPEACNT, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATORID));
			inCBSMsg.set(EKK2231E010CBSMsg.DEL_DTM, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATEDATETIME));
			inCBSMsg.set(EKK2231E010CBSMsg.DEL_OPEACNT, inCBSMsg.getString(EKK2231E010CBSMsg.OPERATORID));
			inCBSMsg.set(EKK2231E010CBSMsg.MK_FLG, mkFlg);
			
		}
	
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "JEKK2231E010TPMA#invoke end");
	}
}