/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatTUBmpkjareaChsht
*	ソースファイル名	：JBSbatTUBmpkjareaChsht.java
*	作成者				：富士通　
*	作成日				：2011年05月19日
*＜機能概要＞
*　番ポ工事エリア抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00.00	2011/05/19  FJ) 北村	新規作成
*	v3.01.00	2012/06/29  FJ) 北村	【ST2-2012-0001324】バッチレスポンス改善
*	v4.00.00	2012/08/27	FJ) 北村	単体製造品質チェック対応
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JTUBatCommon;
import eo.business.util.file.JBSbatTUIFE031;
import eo.business.util.table.JBSbatTU_M_BMPKJAREA_TGKB;
import eo.business.util.table.JBSbatTU_M_MSKM_JIGSHO;
import eo.common.constant.JTUStrConst;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatTUBmpkjareaChsht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/**
	 * 初期処理
	 * @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
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		// 出力共通電文を生成する。
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		// 入出力インターフェースオブジェクトを生成
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		
		// 番ポ工事箇所設定
		String bmpKojiPlaceNm = JTUBatCommon.cutStrValue(inMap.getString(JBSbatTU_M_MSKM_JIGSHO.MSKM_JIGSHONM), 60, "Shift-JIS");
		
		// 申込事業所担当者連絡先電話番号ハイフン編集処理
		String tntshaTelNo = inMap.getString("HYHUN_TLN");
		
		if(tntshaTelNo == null || "".equals(tntshaTelNo))
		{
			tntshaTelNo = inMap.getString(JBSbatTU_M_MSKM_JIGSHO.MKM_JIGSHO_TNTSHA_RRKS_TLN);
			if (tntshaTelNo != null && !"".equals(tntshaTelNo))
			{
				if (tntshaTelNo.length() == 11) 
				{
					// 電話番号が11桁の場合
					// ハイフン編集する
					tntshaTelNo = JTUBatCommon.formatTelNoAdd2(tntshaTelNo);
				}
				else
				{
					// エラー
					throw new JBSbatBusinessException("ETUB0070KE", new String[]{
														String.valueOf(super.commonItem.getInputCount()),
														"局番", 
														"データ"});
				}
			}
			
		}
		
		// 申込事業所担当者連絡先FAX番号ハイフン編集処理
		String tntshaFaxNo = inMap.getString("HYHUN_FAX");
		
		if(tntshaFaxNo == null || "".equals(tntshaFaxNo))
		{
			tntshaFaxNo = inMap.getString(JBSbatTU_M_MSKM_JIGSHO.MKM_JIGSHO_TNTSHA_FAX_NO);
			if (tntshaFaxNo != null && !"".equals(tntshaFaxNo))
			{
				if (tntshaFaxNo.length() == 11) 
				{
					// FAX番号が11桁の場合
					// ハイフン編集する。
					tntshaFaxNo = JTUBatCommon.formatTelNoAdd2(tntshaFaxNo);
				}
				else
				{
					// エラー
					throw new JBSbatBusinessException("ETUB0070KE", new String[]{
														String.valueOf(super.commonItem.getInputCount()),
														"局番", 
														"データ"});
				}
			}
			
		}
		
		// ＮＴＴ電話番号（市外内局番）設定
		String shinaigaiKyokuNo = inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.AREACD) + inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.SHINAI_KYOKU_NO);
		
		// レコード更新者設定
		String updOpeacnt = JTUBatCommon.cutStrValue(inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.UPD_OPEACNT), 7, "Shift-JIS");
		updOpeacnt = JTUBatCommon.fillHalfSpace(updOpeacnt, 7, true);
		
		// レコード作成者設定
		String addOpeacnt = JTUBatCommon.cutStrValue(inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.ADD_OPEACNT), 7, "Shift-JIS");
		addOpeacnt = JTUBatCommon.fillHalfSpace(addOpeacnt, 7, true);
		
		// 項目を設定
		// ＮＴＴ電話番号（市外内局番）
		outmap.setString(JBSbatTUIFE031.AREACD_SHINAI_KYOKU_NO, shinaigaiKyokuNo);
		// 番ポ工事箇所
		outmap.setString(JBSbatTUIFE031.BMP_KOJI_PLACE_NM, bmpKojiPlaceNm);
		// 番ポ工事ＮＴＴ電話番号
		outmap.setString(JBSbatTUIFE031.BMP_KOJI_TEL_NO, tntshaTelNo);
		// 番ポ工事ＮＴＴＦＡＸ番号
		outmap.setString(JBSbatTUIFE031.BMP_KOJI_FAX_NO, tntshaFaxNo);
		// 適用開始日
		outmap.setString(JBSbatTUIFE031.BMPKJAREA_TGKB_TSTAYMD, inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.BMPKJAREA_TGKB_TSTAYMD));
		// 適用終了日
		outmap.setString(JBSbatTUIFE031.BMPKJAREA_TGKB_TENDYMD, JTUStrConst.CRNT_END_YMD);
		// 更新プログラムＩＤ
		outmap.setString(JBSbatTUIFE031.UPD_PG_ID, JTUStrConst.BMPKJAREA_CHSHT);
		// レコード更新日時
		outmap.setString(JBSbatTUIFE031.UPD_DTM, inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.UPD_DTM).substring(0, 14));
		// レコード更新年月日
		outmap.setString(JBSbatTUIFE031.UPD_YMD, inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.UPD_DTM).substring(0, 8));
		// レコード更新者
		outmap.setString(JBSbatTUIFE031.UPD_OPEACNT, updOpeacnt);
		// 作成プログラムＩＤ
		outmap.setString(JBSbatTUIFE031.ADD_PG_ID, JTUStrConst.BMPKJAREA_CHSHT);
		// レコード作成日時
		outmap.setString(JBSbatTUIFE031.ADD_DTM, inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.ADD_DTM).substring(0, 14));
		// レコード作成年月日
		outmap.setString(JBSbatTUIFE031.ADD_YMD, inMap.getString(JBSbatTU_M_BMPKJAREA_TGKB.ADD_DTM).substring(0, 8));
		// レコード作成者
		outmap.setString(JBSbatTUIFE031.ADD_OPEACNT, addOpeacnt);
		// 出力フラグを設定
		outmap.setOutFlg(true);
		
		// 出力共通電文に入出力インターフェースを設定する。
		outputBean.addOutMapList(outmap);
		
		// 出力共通電文を返却
		return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
