/*********************************************************************
 *  All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名			：eo顧客基幹システム
 *	モジュール名		：JBSbatKKBmpKaihkPrdChokNoCst
 *	ソースファイル名	：JBSbatKKBmpKaihkPrdChokNoCst.java
 *	作成者				：富士通　
 *	作成日				：2012年04月09日
 *＜機能概要＞
 *　番ポ回復期間超過番号抽出部品です。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2012/04/09   富士通		新規作成
 *	v1.01.00	2012/12/27   富士通		中間ファイルの出力ができていない状況を修正
 *********************************************************************/
package eo.business.service;

import java.util.ArrayList;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatKKIFM171;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;


/**
 * (クラスの機能概要) <p>
 * 電話番号・エイジング・サービス契約内訳・サービス契約内訳<eo光電話>の各スキーマから<BR>
 * 回復可能期間を超過した番ポ電話番号・エイジング番号を入力とし、
 * その値を削除番ポ番号情報中間ファイルに出力する。
 *<BR>
 * @author 富士通
 */
public class JBSbatKKBmpKaihkPrdChokNoCst extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	// 2012/12/27 ADD START
	/** 退避キーリスト （エイジング番号を保持）*/
	private ArrayList<String> saveKey = new ArrayList<String>();
	// 2012/12/27 ADD END

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();	// 出力レコード
		JBSbatOutputItem outputBean = new JBSbatOutputItem();				// 出力情報

		String agingNo = inMap.getString("AGING_NO");

		// 出力済データは省く
		if(! this.saveKey.contains(agingNo))
		{
			outmap.set(JBSbatKKIFM171.AGINGNO, inMap.getString("AGING_NO"));
			outmap.set(JBSbatKKIFM171.TELNO,   inMap.getString("TELNO"));
			// 出力済エイジング番号を退避
			this.saveKey.add(agingNo);
		}

		outmap.setOutFlg(true);

		outputBean.addOutMapList(outmap);

		return outputBean;
		/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
