/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCHCHSV0007MappingParts
*   ソースファイル名：JCHCHSV0007MappingParts.java
*   作成者          ：富士通
*   日付            ：2011年08月10日
*＜機能概要＞
*   請求内訳照会サービスのBPマッピング呼出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/08/10	富士通		新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.HashMap;

import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;

import eo.common.constant.JACStrConst;

/**
 * 請求内訳照会サービスにおけるBP-サービスIFマッピング処理で呼び出される部品です。<p>
 * <BR>
 * @author 富士通
 */
public class JCHCHSV0007MappingParts {

	/**
	 * 請求一意照会サービスインターフェイスの上りに
	 * マッピングする請求番号を請求一覧照会サービスインターフェース
	 * の下り明細の先頭行から取得します。
	 * <br>
	 * @param param リクエストパラメータ操作クラス
	 * @return seiky_no
	 * @throws RequestParameterException 
	 */
	public static String getSeikyNo_CHSV000702SC_UP(IRequestParameterReadOnly param) throws RequestParameterException {

		// 請求一意照会マップ取得
		HashMap dataMap = null;
		String strSeikNo = null;

		// ＫＥＹ＿請求番号取得
		try
		{
			dataMap = (HashMap)param.getData("CHSV000702SC");

			// 判定
			if(dataMap.get("key_seiky_no") != null && !"".equals(dataMap.get("key_seiky_no")))
			{
				return dataMap.get("key_seiky_no").toString();
			}
		}
		catch (RequestParameterException ex)
		{
			throw ex;
		}

		// 請求番号（請求一覧照会より取得）
		strSeikNo = JPCBPCommon.getBPListValueString(param,"CHSV000701SC","ECH0051B010CBSMsg1List",0,"seiky_no");

		return strSeikNo;
	}

	/**
	 * 債権一覧照会サービスインターフェイスの上りに
	 * マッピングする請求年月を請求一覧照会サービスインターフェース
	 * の下り明細の先頭行から取得します。
	 * <br>
	 * @param param リクエストパラメータ操作クラス
	 * @return seiky_ym
	 * @throws RequestParameterException 
	 */
	public static String getSeikyYm_CHSV000703SC_UP(IRequestParameterReadOnly param) throws RequestParameterException {

		// 債権一意照会マップ取得
		HashMap dataMap = null;
		String strSeikYm = null;

		// ＫＥＹ＿請求年月取得
		try
		{
			dataMap = (HashMap)param.getData("CHSV000703SC");

			// 判定
			if(dataMap.get("key_seiky_ym") != null && !"".equals(dataMap.get("key_seiky_ym")))
			{
				return dataMap.get("key_seiky_ym").toString();
			}
		}
		catch (RequestParameterException ex)
		{
			throw ex;
		}

		// 請求年月（請求一覧照会より取得）
		strSeikYm = JPCBPCommon.getBPListValueString(param, "CHSV000701SC","ECH0051B010CBSMsg1List",0,"seiky_ym");

		return strSeikYm;
	}

	/**
	 * 請求内訳一覧照会サービスインターフェイスの上りに
	 * マッピングする請求番号を請求一覧照会サービスインターフェース
	 * の下り明細の先頭行から取得します。
	 * <br>
	 * @param param リクエストパラメータ操作クラス
	 * @return seiky_no
	 * @throws RequestParameterException 
	 */
	public static String getSeikyNo_CHSV000704SC_UP(IRequestParameterReadOnly param) throws RequestParameterException {

		// 請求一意照会マップ取得
		HashMap dataMap = null;
		String strSeikNo = null;

		// ＫＥＹ＿請求番号取得
		try
		{
			dataMap = (HashMap)param.getData("CHSV000704SC");

			// 判定
			if(dataMap.get("key_seiky_no") != null && !"".equals(dataMap.get("key_seiky_no")))
			{
				return dataMap.get("key_seiky_no").toString();
			}
		}
		catch (RequestParameterException ex)
		{
			throw ex;
		}

		// 請求番号（請求一覧照会より取得）
		strSeikNo = JPCBPCommon.getBPListValueString(param,"CHSV000701SC","ECH0051B010CBSMsg1List",0,"seiky_no");

		return strSeikNo;
	}

	/**
	 * 請求内訳一覧照会サービスインターフェイスの上りに
	 * マッピングする請求年月を請求一覧照会サービスインターフェース
	 * の下り明細の先頭行から取得します。
	 * <br>
	 * @param param リクエストパラメータ操作クラス
	 * @return seiky_ym
	 * @throws RequestParameterException 
	 */
	public static String getSeikyYm_CHSV000704SC_UP(IRequestParameterReadOnly param) throws RequestParameterException {

		HashMap dataMap = null;
		String strSeikYm = null;

		// ＫＥＹ＿請求年月取得
		try
		{
			dataMap = (HashMap)param.getData("CHSV000704SC");

			// 判定
			if(dataMap.get("key_seiky_ym") != null && !"".equals(dataMap.get("key_seiky_ym")))
			{
				return dataMap.get("key_seiky_ym").toString();
			}
		}
		catch (RequestParameterException ex)
		{
			throw ex;
		}

		// 請求年月（請求一覧照会より取得）
		strSeikYm = JPCBPCommon.getBPListValueString(param, "CHSV000701SC","ECH0051B010CBSMsg1List",0,"seiky_ym");

		return strSeikYm;
	}
	
	/**
	 * 請求内訳一覧照会サービスインターフェイスの上りに
	 * マッピングする請求種別コードを取得します。
	 * 請求一意照会マップの下り明細がある場合は、同明細から同値を取得し、
	 * 設定されていない場合は、"定例請求"(固定値)を取得します。
	 * <br>
	 * @param param リクエストパラメータ操作クラス
	 * @return 請求種別コード
	 * @throws RequestParameterException 
	 */
	public static String getSeikySbtCd_CHSV000704SC_UP(IRequestParameterReadOnly param) throws RequestParameterException {

		String seikySbtCd = JCHBPCommon.getBPListValueString(param, "CHSV000702SC", "ECH0051A010CBSMsg1List", 0, "seiky_sbt_cd");
		if (seikySbtCd == null || JACStrConst.KARA_MOJI.equals(seikySbtCd))
		{
			seikySbtCd = JACStrConst.SIKYSHBTS_TEIGK_SEIKY;
		}

		return seikySbtCd;
	}

}
