/*******************************************************************************
 *	 All Rights reserved,Copyright (c) K-Opticom 
 ********************************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム構築
 *	モジュール名	：JCRejbCR0101SecProc
 *	ソースファイル名：JCRejbCR0101SecProc.java
 *	作成者			：富士通
 *	日付			：2011年06月04日
 *＜機能概要＞
 *	MYBOX副次処理部品
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	ｖ1.00.00
 *
 ********************************************************************************/

package eo.ejb.common.db;

import com.fujitsu.futurity.model.base.CAANException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateSQLEntity;

import eo.common.constant.JCRStrConst;
import eo.ejb.cbm.entity.CR0021ETMsg;
import eo.ejb.cbm.entity.CR0021LE;
import eo.ejb.common.JCRModelCommon;

/**
 * 対応記録明細副次処理部品<p>
 * <BR>
 * @author 富士通
 */
public class JCRejbCR0021SecProc extends TemplateSQLEntity
{
	/**
	 * コンストラクタです。
	 */
	public JCRejbCR0021SecProc()
	{
		super();
	}

	/**
	 * 送信状態コード更新処理。<br>
	 * <br>
	 * @param inCBSMsg CBSメッセージ
	 * @param inContext ディスパッチコンテキスト
	 * @param inETMsg ETメッセージ
	 * @throws CAANException 
	 */
	public void updateSendStat(CAANMsg inCBSMsg, AgentDispatchContext inContext, CAANMsg inETMsg) throws CAANException
	{
		// (1) 対応記録明細を取得する
		CAANMsg cr0021ETMsg = getTaiokrkDtl(inETMsg.getString(CR0021ETMsg.TAIO_KIROK_NO), inETMsg.getString(CR0021ETMsg.TAIO_KIROK_DTL_NO));

		// (2) 送信状態コードを設定する
		cr0021ETMsg.set(CR0021ETMsg.SEND_STAT_CD, inETMsg.getString(CR0021ETMsg.SEND_STAT_CD));
		cr0021ETMsg.set(CR0021ETMsg.UPD_OPEACNT, inETMsg.getString(CR0021ETMsg.UPD_OPEACNT));
		cr0021ETMsg.set(CR0021ETMsg.UPD_DTM, JCRModelCommon.getSysDateTimeStamp());

		// (3) 対応記録の更新を行う。
		update(cr0021ETMsg);

	}

	/**
	 * 対応記録明細取得処理.<br>
	 * 
	 * @param taioKirokNo 対応記録番号
	 * @param taioKirokDtlNo 対応記録明細番号
	 * @return 対応記録明細
	 * @throws CAANException CAANException
	 */
	private CAANMsg getTaiokrkDtl(String taioKirokNo, String taioKirokDtlNo) throws CAANException
	{

		// (1) 対応記録明細を取得する。
		// 対応記録明細のETメッセージ
		CAANMsg cr0021ETMsg = new CAANMsg(CR0021ETMsg.class.getName());
		
		// 対応記録番号
		cr0021ETMsg.set(CR0021ETMsg.TAIO_KIROK_NO, taioKirokNo);
		// 対応記録明細番号
		cr0021ETMsg.set(CR0021ETMsg.TAIO_KIROK_DTL_NO, taioKirokDtlNo);
		// 無効フラグ
		cr0021ETMsg.set(CR0021ETMsg.MK_FLG, JCRStrConst.CD_DIV_MK_FLG_YUKO);

		// 対応記録を検索する
		return new CR0021LE().findByPrimaryKeyE(cr0021ETMsg);

	}

    /**
     * このエンティティのスキーマの内容を取得します。<br>
     * 業務レベルで実装します。
     * @return スキーマのContents
     */
	@Override
	protected Object[][] getSchemaContents()
	{
		return CR0021ETMsg.getSchemaContents();
	}

    /**
     * このエンティティのスキーマの名を取得します。<br>
     * 業務レベルで実装します。
     * @return スキーマ名
     */
	@Override
	protected String getSchemaName()
	{
		return CR0021ETMsg.class.getName();
	}

    /**
     * このエンティティの参照するテーブル名を取得します。<br>
     * 業務レベルで実装します。
     * @return テーブル名
     */
	@Override
	protected String getTableName()
	{
		return CR0021ETMsg.getTableName();
	}

}
