/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKAdChgFmtcelSodUpdCC
*   ソースファイル名：JKKAdChgFmtcelSodUpdCC.java
*   作成者          ：富士通
*   日付            ：2012年09月18日
*＜機能概要＞
*   住所変更フェムトセルＳＯＤ更新部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v4.00.00    2012/09/18   FJ）        新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.model.base.CAANMsg;

/**
 * 住所変更フェムトセルＳＯＤ更新部品
 * <p>
 * <br>
 * フェムトセル異動情報登録部品を実行し、サービスオーダーを発行する。<br>
 * <br>
 * 【使用するサービスIF】<br>
 *   ・
 * <br>
 * @author FJ
 */
public class JKKAdChgFmtcelSodUpdCC extends AbstractCommonComponent {

	/**
	 * 住所変更フェムトセルＳＯＤ更新処理
	 * <br>
	 * パラメータの件数分、住所変更フェムトセルＳＯＤ更新します。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return パラメータマップ
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite addFmtcelIdoInf(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable {

		// ----- 引数チェック -----
		// パラメータ
		if (param == null) {
			return null;
		}
		// ユーザ任意文字列
		if (fixedText == null) {
			return null;
		}

		// ----- 主処理 -----
		// 対象データListを取得
		ArrayList<HashMap<String, Object>> trgtDataList = (ArrayList<HashMap<String, Object>>)param.getData(fixedText);

		// 対象データListの存在チェック
		if (trgtDataList == null) {
			return param;
		}

		// 対象データListの件数分、以下の処理を繰り返す
		for (HashMap<String, Object> trgtData : trgtDataList) {

			// フェムトセル異動情報登録
			param.setData(fixedText, trgtData);
			JKKBpCommon.addFmtcelIdoInf(handle, param, trgtData, fixedText);

		}

		return param;
	}

	/**
	 * ＢＰチェック入力パラメータ作成
	 * <br>
	 * ＢＰチェック用の入力パラメータを作成する。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return HashMap パラメータマップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public HashMap getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws RequestParameterException {
		return new HashMap();
	}

	/**
	 * ＢＰチェック結果編集
	 * <br>
	 * ＢＰチェック結果を編集する。
	 * <br>
	 * @param param リクエストパラメータ
	 * @param caanMsgs サービスインターフェイス用のパラメータ配列
	 * @param returnCode リターンコード
	 * @return リクエストパラメータ
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] caanMsgs, Integer returnCode) {
		return param;
	}
}
