/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JKKSIFEKK0021Mapper
 *   ソースファイル名：JKKSIFEKK0021Mapper.java
 *   作成者          ：富士通
 *   日付            ：2014年01月06日
 *＜機能概要＞
 *   
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v8.00.00    2014/01/06   FJ）立和名  新規作成
 *   v8.01.00    2014/02/21   FJ）藤田    【IT2-2014-0000129】対応
 *   v16.00.00   2015/09/09   FJ）野々下  【ANK-2480-00-00】新電力対応STEP1-2
 *
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021C110CBSMsg;

public class JKKSIFEKK0021Mapper extends JKKSIFMapperBase
{
	// IT2-2014-0000129 対応 藤田 2014/2/21 START
	/**
	 * EKK0021A010 申込明細一意照会S-IF入力マッピング
	 * 
	 * @param mskmDtlNo 異動区分
	 * @param geneAddDtm 世代登録年月日時分秒 null 指定でカレント検索（機能コード:1）
	 * @return テンプレート
	 */
	public CAANMsg getMappedTemplateEKK0021A010(String mskmDtlNo, String geneAddDtm) 
	{
		CAANMsg template = new CAANMsg(EKK0021A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0021A010CBSMsg().getContents());

		// 共通初期処理
		init(template);

		// テンプレートID
		template.set(EKK0021A010CBSMsg.TEMPLATEID, "EKK0021A010");

		// ＫＥＹ＿申込明細番号
		template.set(EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, mskmDtlNo);
		
		if (geneAddDtm != null) {
			// 機能コード
			template.set(EKK0021A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
			// ＫＥＹ＿世代登録年月日時分秒
			template.set(EKK0021A010CBSMsg.KEY_GENE_ADD_DTM, geneAddDtm);
		} else {
			// 機能コード
			template.set(EKK0021A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		}

		return template;
	}
	// IT2-2014-0000129 対応 藤田 2014/2/21 END

	/**
	 * EKK0021C060 申込明細照査・後続業務依頼S-IF入力マッピング
	 * 
	 * @param idoDiv 異動区分
	 * @param rrkBiko 連絡備考
	 * @param msgEKK0021A010 申込明細一意照会結果
	 * @return テンプレート
	 */
	public CAANMsg getMappedTemplateEKK0021C060(String idoDiv, String mskmDtlNo, String rrkBiko, 
			String updDtmBf) 
	{
		CAANMsg template = new CAANMsg(EKK0021C060CBSMsg.class.getName());


		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0021C060CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0021C060CBSMsg.TEMPLATEID, "EKK0021C060");

		// 機能コード
		template.set(EKK0021C060CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リクエストパラメータ.運用日付 → 後続業務依頼年月日
		template.set(EKK0021C060CBSMsg.KZKWRK_REQYMD, (String) JKKBpCommon.getOpeDate(null));

		// リクエストパラメータ.業務連絡備考 → 連絡事項
		if (null == rrkBiko || "".equals(rrkBiko))
		{
			template.setNull(EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM);
			template.setNull(EKK0021C060CBSMsg.RRK_JIKO);
		} 
		else
		{
			if (rrkBiko.length() > 0)
			{
				rrkBiko = rrkBiko.replace("\r\n", " ");
			}

			template.set(EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM, (String) JKKBpCommon.getOpeDateTimeStamp(null));
			template.set(EKK0021C060CBSMsg.RRK_JIKO, rrkBiko);
		}

		// リクエストパラメータ.異動区分 → 異動区分
		if (null == idoDiv || "".equals(idoDiv))
		{
			template.setNull(EKK0021C060CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0021C060CBSMsg.IDO_DIV, idoDiv);
		}

		// 申込明細一意照会結果.申込明細番号 → 申込明細番号
		template.set(EKK0021C060CBSMsg.MSKM_DTL_NO, mskmDtlNo);

		// 申込明細一意照会結果.最終更新日時 → 更新年月日時分秒（更新前）
		template.set(EKK0021C060CBSMsg.UPD_DTM_BF, updDtmBf);

		return template;
	}

// ANK-2480-00-00 ADD START
	/**
	 * EKK0021C110 申込明細照査取消S-IF入力マッピング
	 * 
	 * @param mskm_dtl_no	申込明細番号
	 * @return テンプレート
	 */
	public CAANMsg getMappedTemplateEKK0021C110(
			String	mskm_dtl_no
		,	String	upd_dtm
	) 
	{
		CAANMsg template = new CAANMsg(EKK0021C110CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0021C110CBSMsg().getContents());

		// 共通初期処理
		init(template);

		// テンプレートID
		template.set(EKK0021C110CBSMsg.TEMPLATEID, "EKK0021C110");
		// 機能コード
		template.set(EKK0021C110CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		// 申込明細番号
		template.set(EKK0021C110CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
		// 更新年月日時分秒(更新前)
		template.set(EKK0021C110CBSMsg.UPD_DTM_BF, upd_dtm);

		return template;
	}
// ANK-2480-00-00 ADD END

}
