/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JEKK0341C233TPMA
*	ソースファイル名：JEKK0341C233TPMA.java
*	作成者			：富士通
*	日付			：2012年09月28日
*＜機能概要＞
*	機器提供サービス契約情報変更（不明機器）時の更新処理を呼び出す部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.base.CAANException;
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.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.ejb.cbs.cbsmsg.EKK0341C233CBSMsg;
import eo.ejb.cbm.entity.KK0341ETMsg;
import eo.ejb.cbm.entity.KK0341LE;
import eo.ejb.common.db.JKKejbDBAUtil;

/**
 * <p>
 * 機器提供サービス契約情報変更（不明機器）顧客独自処理部品クラスです。
 * </p>
 * @author 富士通
 */
public class JEKK0341C233TPMA implements TemplateMainHandler
{

	/**
	 * 機器提供サービス契約情報変更（不明機器）顧客独自処理
	 * 
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @throws CAANFinderException 
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		// 検索条件の設定
		CAANMsg kk0341Msg = new CAANMsg(KK0341ETMsg.class.getName());
		kk0341Msg.set(KK0341ETMsg.KKTK_SVC_KEI_NO, inCBSMsg.getString(EKK0341C233CBSMsg.KKTK_SVC_KEI_NO));
		CAANMsg[] retMsg = null;

		try
		{
			retMsg = new KK0341LE().findByCondition(kk0341Msg);
		}
		catch (CAANException ce)
		{
			throw new CAANRuntimeException(ce);
		}

		// 取得件数分、処理を行う
		for (int i = 0; i < retMsg.length; i++)
		{
			// 更新内容を設定
			retMsg[i].set(KK0341ETMsg.TAKNKIKI_MODEL_CD, inCBSMsg.getString(EKK0341C233CBSMsg.TAKNKIKI_MODEL_CD));
			retMsg[i].set(KK0341ETMsg.KIKI_SEIZO_NO, inCBSMsg.getString(EKK0341C233CBSMsg.KIKI_SEIZO_NO));
			retMsg[i].set(KK0341ETMsg.UPD_DTM, inCBSMsg.getString(EKK0341C233CBSMsg.OPERATEDATETIME));
			retMsg[i].set(KK0341ETMsg.UPD_OPEACNT, inCBSMsg.getString(EKK0341C233CBSMsg.OPERATORID));

			// update
			JKKejbDBAUtil dbu = new JKKejbDBAUtil(inCBSMsg);
			
			dbu.update(retMsg[i]);
		}
	}
}
