/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JZMCtrlCisInfo
*   ソースファイル名：JZMCtrlCisInfo.java
*   作成者          ：富士通
*   日付            ：2015年05月25日
*＜機能概要＞
*   eo電気サービス契約お客様変更 SOAP連携（抽象）コマンド発行部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v16.00.00   2015/05/25	FJ)酒井		【ANK-2480-00-00】対応 新電力
*
**********************************************************************/
package eo.ejb.common;

import java.sql.Connection;
import java.util.Map;

/**
 * eo電気サービス契約お客様変更処理部品クラスです。
 * @author 富士通
 */
public abstract class JZMCtrlCisInfo
{
	/**
	 * 1:CISシステム
	 */
	private static final String CIS_SYSTEM = "1";

	/**
	 * 2:スタブ
	 */
	private static final String CIS_STUB = "2";
	
	/**
	 * リクエストＩＤ
	 */
	public static final String REQUESTID = "requestID";
	

	/**
	 * サービスＩＤ
	 */
	public static final String SERVICEID = "serviceID";
	
	/**
	 * 依頼元システム区分
	 */
	public static final String CHANNEL = "channel";
	
	/**
	 * 画面ＩＤ
	 */
	public static final String VIEWID = "viewID";
	
	/**
	 * オペレーターID
	 */
	public static final String OPERATORID = "operatorID";
	
	/**
	 * 依頼元IPアドレス
	 */
	public static final String IPADDRESS = "ipAddress";
	
	/**
	 * 操作日時
	 */
	public static final String OPERATEDATETIME = "operateDatetime";
	
    /**
     * エラーレベル
     */
    public static final String ERROR_LEVEL = "errorLevel";

    /**
     * リターンコード
     */
    public static final String RETURN_CD = "returnCode";

    /**
     * リターンメッセージ
     */
    public static final String RETURN_MESSAGE = "returnMessage";
	
	/**
	 * 外部インターフェイスID
	 */
	public static final String OUT_IF_ID = "outIfID";
	
	/**
	 * サービスIF
	 */
	public static final String SERVICEIF = "service_if";
	
	/**
	 * サービスIF_ID
	 */
	public static final String SERVICEIFID = "serviceIfID";

	/**
	 * 機能コード
	 */
	public static final String FUNC_CODE = "func_code";

	/**
	 * レコード
	 */
    public static final String RECORD = "record";

	/**
	 * コマンド実行結果
	 */
    public static final String CMD_RESULT_CD = "CMD_RESULT_CD";

	/**
	 * コマンド実行結果（エラー）
	 */
    public static final String CMD_ERROR_MESSAGE = "CMD_ERROR_MESSAGE";
	

	/**
	 * CIS連携の本番／スタブ切り替え処理
	 * 
	 * @return インスタンス
	 */
	public static JZMCtrlCisInfo getInstance()
	{
		/**
		 * CISシステム接続モードフラグ
		 */
		String str_flag = JCCModelCommon.getApplicationConst("CIS_CONNECTION_MODE");
		
		if(str_flag.equals(CIS_SYSTEM))
		{
			return JZMCtrlCisInfoImpl.getInstance();
		}
		else if(str_flag.equals(CIS_STUB))
		{
			return JKKCtrlCisStubImpl.getInstance();
		}
		else
		{
			return null;
		}
	}
	
	/**
	 * CIS連携用
	 * 
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return サービスマップ戻り値
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public abstract Map<String, Object> ctrlCisInfo_ZMA0001(Map serviceMap) throws Exception;
	
	public abstract void setConnection(Connection con);
}
