/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatZEReconstEndJob
*	ソースファイル名	：JBSbatZEReconstEndJob.java
*	作成者				：富士通　
*	作成日				：2012年09月10日
*＜機能概要＞
*　ＲＤＳ再配置事後処理部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00.00	2012/09/10   FJ)伊藤	【ANK-0509-00-00】新規作成
*	v6.00.00	2014/01/14   FJ)斉藤諭	【ANK-1805-00-00】OMSフラグ連携削除
*********************************************************************/
package eo.business.service;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JZEBatCommon;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JCCFrameworkException;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;

/**
* RDS再配置事後処理 <p>
*<BR>
* @author 富士通
*/
public class JBSbatZEReconstEndJob extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/* ++++++++++ v4.0.0 追加開始 ++++++++++ */
	/** 外部IFID */
	private static final String ZEIFE174_ID = "ZEIFE174";
	/** 外部IFフォルダ */
	private static final String ZEIFE174_DIR = "ZE_ZEIFE174_DIR";
	/** 処理完了フラグ */
	private static final String ALL_END_FLG = "ALL_END.flg";
	/** エラー区分 */
	private static final String ERR_KBN = "ERR_KBN";
	/* ++++++++++ v4.0.0 追加終了 ++++++++++ */

	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		/* ++++++++++ v4.0.0 追加開始 ++++++++++ */
		// 他システムへ送信するファイルの配置先を取得
		String inPath = JZEBatCommon.getGaibuSendDir(ZEIFE174_DIR);
		String filePath = inPath + ALL_END_FLG;

		if(filePath == null || !new File(filePath).exists())
		{
			// ファイルが存在しない場合はエラー
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EZEB0020KW, new String[]{filePath});
		}

		// ファイルパス格納用リスト
		ArrayList<String> filePathList = new ArrayList<String>();
		
		filePathList.add(filePath);
		
		HashMap<String, Object> ansMap = new HashMap<String, Object>();
		try
		{
			// 他システムに対するFTP転送
			JZEBatCommon.putFTP(commonItem, filePathList, ZEIFE174_ID, ansMap);
		}
		catch (JCCFrameworkException ex)
		{
			//FTP送信に失敗した場合
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EZEB0220AW);
		}

		String errKbn = ansMap.get(ERR_KBN).toString();
		if (!JZEBatCommon.ZERO.equals(errKbn))
		{
			// ファイルが存在しない場合はエラー
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EZEB0220AW);
		}
		/* ++++++++++ v4.0.0 追加開終了 ++++++++++ */
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
