/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSBatCKHryCstAraigaeJdg
*	ソースファイル名	：JBSBatCKHryCstAraigaeJdg.java
*	作成者				：富士通　
*	作成日				：2012年01月27日
*＜機能概要＞
*　不良顧客洗い替え判定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/01/27   FJ)藤本	新規作成
*	v4.00.00	2013/03/30   FJ)強矢	【IKK-2013-0000650】性能改善対応 (ST3-2012-0000490)
*	v7.00.00	2014/03/11   FJ)橋本	【OM-2014-0000843】障害対応
*	v7.00.01	2014/03/11   FJ)徳永	【OM-2014-0000863】障害対応
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.util.file.JBSbatCKIFM004;
import eo.business.util.table.JBSbatCK_T_HURYO_CUST;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatCKHryCstAraigaeJdg 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
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		super.logPrint.printDebugLog("execute_START");
		
		// 出力ファイル用クラスの生成
		JBSbatServiceInterfaceMap out_map = new JBSbatServiceInterfaceMap();
		JBSbatOutputItem out_item = new JBSbatOutputItem();
		
		// 不良顧客初期検索結果より出力ファイルの項目の設定を行う。
		// 不良顧客番号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_NO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_NO)));
		// 不良顧客登録コード
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_ADD_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_ADD_CD)));
		// 加入者交換出力開始年月
		out_map.setString(JBSbatCKIFM004.KNYSHA_KOKAN_OUTPUT_STA_YM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.KNYSHA_KOKAN_OUTPUT_STA_YM)));
		// SYSID
		out_map.setString(JBSbatCKIFM004.SYSID, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.SYSID)));
		// 請求契約番号
		out_map.setString(JBSbatCKIFM004.SEIKY_KEI_NO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.SEIKY_KEI_NO)));
		// サービス契約番号
		out_map.setString(JBSbatCKIFM004.SVC_KEI_NO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.SVC_KEI_NO)));
		// 顧客番号
		out_map.setString(JBSbatCKIFM004.CUST_NO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.CUST_NO)));
		// 督促番号
		out_map.setString(JBSbatCKIFM004.TOKUSOKU_NO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.TOKUSOKU_NO)));
		// 多重申込グループコード
		out_map.setString(JBSbatCKIFM004.TAJU_MSKM_GRP_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.TAJU_MSKM_GRP_CD)));
		// 契約者タイプコード
		out_map.setString(JBSbatCKIFM004.KEISHA_TYPE_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.KEISHA_TYPE_CD)));
		// 不良顧客名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_NM)));
		// 不良顧客カナ名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_KANA, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_KANA)));
		// 不良顧客性別コード
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_SEX_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_SEX_CD)));
		// 不良顧客生年月日
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_BIRTHD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_BIRTHD)));
		// 不良顧客電話番号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_TELNO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_TELNO)));
		// 不良顧客移動電話番号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_MOVE_TELNO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_MOVE_TELNO)));
		// 不良顧客住所コード
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_AD_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_AD_CD)));
		// 不良顧客郵便番号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_PCD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_PCD)));
		// 不良顧客都道府県名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_STATE_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_STATE_NM)));
		// 不良顧客市区町村名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_CITY_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_CITY_NM)));
		// 不良顧客大字通称名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_OAZTSU_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_OAZTSU_NM)));
		// 不良顧客字丁目名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_AZCHO_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_AZCHO_NM)));
		// 不良顧客住所名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_AD_NM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_AD_NM)));
		// 不良顧客番地号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_BNCHIGO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_BNCHIGO)));
		// 不良顧客住所補記・建物名
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_ADRTTM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_ADRTTM)));
		// 不良顧客住所補記・部屋番号
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_ADRRM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_ADRRM)));
		// 不良顧客住所手動入力フラグ
		out_map.setString(JBSbatCKIFM004.HRYCST_AD_MAN_INPUT_FLG, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HRYCST_AD_MAN_INPUT_FLG)));
		// 職業コード
		out_map.setString(JBSbatCKIFM004.SHOKUGYO_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.SHOKUGYO_CD)));
		// 業種コード
		out_map.setString(JBSbatCKIFM004.GSHU_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.GSHU_CD)));
		// 親権者続柄コード
		out_map.setString(JBSbatCKIFM004.SKSHA_ZOKUGARA_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.SKSHA_ZOKUGARA_CD)));
		// 滞納額
		out_map.setString(JBSbatCKIFM004.NONPAY_AMNT, inMap.getBigDecimal(JBSbatCK_T_HURYO_CUST.NONPAY_AMNT));
		// 不良顧客事業者コード
		out_map.setString(JBSbatCKIFM004.HURYO_CUST_JIGYOSHA_CD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_JIGYOSHA_CD)));
		// 不良顧客補足備考
		/* ++++++++++ v7.00.01 修正開始 ++++++++++ */
		//out_map.setString(JBSbatCKIFM004.HURYO_CUST_HSK_BIKO, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_HSK_BIKO)));
		String huryo_cust_hsk_biko = JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.HURYO_CUST_HSK_BIKO));
		if (huryo_cust_hsk_biko != null && huryo_cust_hsk_biko != "")
		{
			out_map.setString(JBSbatCKIFM004.HURYO_CUST_HSK_BIKO, huryo_cust_hsk_biko.replaceAll("\r\n", "RETURN-CODE"));
		}
		else
		{
			out_map.setString(JBSbatCKIFM004.HURYO_CUST_HSK_BIKO, huryo_cust_hsk_biko);
		}
		/* ++++++++++ v7.00.01 修正終了 ++++++++++ */
		// OM-2014-0000843 2014/03/11 ADD START
		// 登録年月日時分秒
		out_map.setString(JBSbatCKIFM004.ADD_DTM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.ADD_DTM)));
		// 登録オペレータアカウント
		out_map.setString(JBSbatCKIFM004.ADD_OPEACNT, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.ADD_OPEACNT)));
		// 更新年月日時分秒
		out_map.setString(JBSbatCKIFM004.UPD_DTM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.UPD_DTM)));
		// 更新オペレータアカウント
		out_map.setString(JBSbatCKIFM004.UPD_OPEACNT, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.UPD_OPEACNT)));
		// 削除年月日時分秒
		out_map.setString(JBSbatCKIFM004.DEL_DTM, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.DEL_DTM)));
		// 削除オペレータアカウント
		out_map.setString(JBSbatCKIFM004.DEL_OPEACNT, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.DEL_OPEACNT)));
		// 登録運用年月日
		out_map.setString(JBSbatCKIFM004.ADD_UNYO_YMD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.ADD_UNYO_YMD)));
		// 登録処理ID
		out_map.setString(JBSbatCKIFM004.ADD_TRN_ID, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.ADD_TRN_ID)));
		// 更新運用年月日
		out_map.setString(JBSbatCKIFM004.UPD_UNYO_YMD, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.UPD_UNYO_YMD)));
		// 更新処理ID
		out_map.setString(JBSbatCKIFM004.UPD_TRN_ID, JBSbatStringUtil.Rtrim(inMap.getString(JBSbatCK_T_HURYO_CUST.UPD_TRN_ID)));
		// OM-2014-0000843 2014/03/11 ADD END
		out_map.setOutFlg(true);
		out_item.addOutMapList(out_map);
		
		super.logPrint.printDebugLog("execute_END");
		
		return out_item;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
}
