/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKDelayedChk
*	ソースファイル名	：JBSbatKKDelayedChk.java
*	作成者				：富士通　
*	作成日				：2013年10月08日
*＜機能概要＞
*　ディレイド処理依頼有無フラグ部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00		2013/10/08	FJ)管谷		【OM-2013-0003104】新規作成
*
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.HashMap;
import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCbatShoriIraiUtil;
import eo.business.common.JKKBatConst;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.file.JBSbatOutputFileUtil;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKDelayedChk extends JBSbatBusinessService
{
	/** 有無（無） .*/
	private static final String UM_MU = "0";
	/** 有無（有） .*/
	private static final String UM_U = "1";
	/** ディレイド処理依頼有無フラグ */
	private String dlyd_um_flg = UM_MU;
	/** ディレイドフラグファイル .*/
	private String createCntFile = null;
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		
		if(super.freeItem != null && !"".equals(super.freeItem))
		{
			// フリーパラメータからジョブＩＤとフラグファイルパスを取得
			String[] str = super.freeItem.split(JKKBatConst.S_PARAM_DELIM);
			// ディレイドジョブＩＤ
			String job_id = str[0];
			// ディレイドフラグファイルパス
			this.createCntFile = str[1];
			// ディレイド処理依頼取得
			ArrayList<HashMap<String, Object>> arrayList = JCCbatShoriIraiUtil.getShoriIraiInfo(super.commonItem, job_id);
			if(arrayList != null)
			{
				// ディレイド依頼があるのでフラグを立てる
				this.dlyd_um_flg = UM_U;
			}
			else
			{
				// ディレイド依頼がないのでフラグを折る
				this.dlyd_um_flg = UM_MU;
			}
		}
		else
		{
			// 親シェルのジョブIDが渡されてきていない
			throw new JBSbatBusinessException("EKKB0740CE", new String[]{"フリーパラメータ異常"});
		}
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		return null;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		// ディレイド処理依頼結果のフラグファイルを作成する
		JBSbatOutputFileUtil cntFile = new JBSbatOutputFileUtil(this.createCntFile);
		cntFile.setEncode(JKKBatConst.SJIS);
		cntFile.setLine(JKKBatConst.S_LINE_SEPARAOR_LF);
		cntFile.createWriter();
		StringBuffer sb = new StringBuffer();
		if(UM_U.equals(this.dlyd_um_flg))
		{
			// ディレイド処理依頼がある
			sb.append(String.valueOf(UM_U));
		}
		else
		{
			// ディレイド処理依頼がない
			sb.append(String.valueOf(UM_MU));
		}
		cntFile.write(sb.toString());
		cntFile.close();
		
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}
}
