/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JCKejbCK0041SecProc
*	ソースファイル名：JCKejbCK0041SecProc.java
*	作成者			：富士通
*	日付			：2011年06月24日
*＜機能概要＞
*	法人連絡先に対する副次処理を行う部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/24	富士通		新規作成
*
**********************************************************************/

package eo.ejb.common.db;

import com.fujitsu.futurity.model.base.CAANException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;

import eo.ejb.cbm.entity.CK0041ETMsg;
import eo.ejb.cbm.entity.CK0041LE;
import eo.ejb.cbs.cbsmsg.ECK0011C130CBSMsg;


/**
 * <p>
 * 法人連絡先に対する副次処理を行う部品です。
 * </p>
 * @author 富士通
 */
public class JCKejbCK0041SecProc extends JCKejbCK0041DBABase
{

	/** 無効フラグ(無効) */
	private static final String MK_FLG_INVALID = "1";

	/**
	 * コンストラクタです。
	 */
	public JCKejbCK0041SecProc()
	{
		super();
	}

	/**
	 * <p>
	 * 法人連絡先の登録を行う。
	 * </p>
	 * @param etMsg ETメッセージ
	 */
	protected void insertOfHRrks(CAANMsg etMsg)
	{
		try
		{
			super.create(etMsg);
		}
		catch (CAANException e1)
		{
			throw new CAANRuntimeException(e1);
		}
	}

	/**
	 * <p>
	 * 法人連絡先を無効にする。
	 * </p>
	 * @param cbsMsg CBSメッセージ
	 * @param sysid キーとなるSYSID
	 */
	protected void hojinRrksInvalid(CAANMsg cbsMsg, String sysid)
	{

		// SYSIDをキーに法人連絡先の一覧照会を行う
		CAANMsg inETMsgHRrsk = new CAANMsg(CK0041ETMsg.class.getName());
		inETMsgHRrsk.set(CK0041ETMsg.SYSID, sysid);
		CK0041LE le0041 = new CK0041LE();
		CAANMsg[] outETMsgHRrsk = null;
		try
		{
			outETMsgHRrsk = le0041.findByCondition(inETMsgHRrsk);
		}
		catch (CAANException e)
		{
			throw new CAANRuntimeException();
		}

		if (!(0 == outETMsgHRrsk.length))
		{
			try
			{

				// 法人連絡先の一覧照会取得レコードを全件無効にする
				for (int i = 0; i < outETMsgHRrsk.length; i++)
				{
					CAANMsg inETMsgHRrskMk = new CAANMsg(CK0041ETMsg.class.getName());
					inETMsgHRrskMk.set(CK0041ETMsg.SYSID, sysid);
					inETMsgHRrskMk.set(CK0041ETMsg.RRKS_CD, outETMsgHRrsk[i].getString(CK0041ETMsg.RRKS_CD));
					inETMsgHRrskMk.set(CK0041ETMsg.GENE_ADD_DTM, outETMsgHRrsk[i].getString(CK0041ETMsg.GENE_ADD_DTM));
					inETMsgHRrskMk.set(CK0041ETMsg.UPD_DTM, cbsMsg.getString(ECK0011C130CBSMsg.OPERATEDATETIME));
					inETMsgHRrskMk.set(CK0041ETMsg.UPD_OPEACNT, cbsMsg.getString(ECK0011C130CBSMsg.UPD_OPEACNT));
					inETMsgHRrskMk.set(CK0041ETMsg.DEL_DTM, cbsMsg.getString(ECK0011C130CBSMsg.OPERATEDATETIME));
					inETMsgHRrskMk.set(CK0041ETMsg.DEL_OPEACNT, cbsMsg.getString(ECK0011C130CBSMsg.OPERATORID));
					inETMsgHRrskMk.set(CK0041ETMsg.MK_FLG, MK_FLG_INVALID);

					super.update(inETMsgHRrskMk);
				}
			}
			catch (CAANException e)
			{
				throw new CAANRuntimeException();
			}
		}
	}
}
