/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKUCommonUtil
*   ソースファイル名：JKUCommonUtil.java
*   作成者          ：富士通
*   日付            ：2011年06月03日
*＜機能概要＞
*   工事受付システムの共通処理クラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/03   FJ          新規作成
*
**********************************************************************/
package eo.common.util;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedHashMap;

/**
 * 工事受付システム共通処理<p>
 * <BR>
 * @author 富士通
 */
public class JKUCommonUtil extends JPCUtilCommon
{

	/**
	 * オブジェクトに値が設定されているか判定します。
	 * <br>
	 * @param test 判定するオブジェクト
	 * @return オブジェクトに値が設定されていない場合はtrue
	 */
	public static boolean isNull(Object test)
	{
		return JPCCommonUtil.isNull(test);
	}
	

	/**
	 * 有効なパラメータか判定します。
	 * 文字列に値が設定されていない場合はエラーとします。
	 * <br>
	 * @param test 判定するオブジェクト
	 * @return パラメータが不正な場合はfalse
	 */
	public static boolean isValidParameter(Object test) 
	{
		return JPCCommonUtil.isValidParameter(test);
	}

	
	/**
	 * 有効なパラメータか判定します。
	 * 文字列に値が設定されていない場合、及び指定された桁数と
	 * 一致しない場合はエラーとします。
	 * <br>
	 * @param test 判定する文字列
	 * @param level 文字列として有効な桁数
	 * @return パラメータが不正な場合はfalse
	 */
	public static boolean isValidParameter(String test, int level) 
	{
		return JPCCommonUtil.isValidParameter(test, level);
	}
	
	/**
	 * 設備コードマップを変換、取得します。
	 * @param eoKokyakuMap eo顧客システムコードマップ
	 * @return 連携システムコードマップ
	 */
	public static HashMap<String, String> getSetsubiCodeMap(HashMap<String, String> eoKokyakuMap)
	{
		return JKUSetsubiCodeCnvUtil.getSetsubiCodeMap(eoKokyakuMap);
	}
	
	/**
	 * 工事契約サービスコード取得
	 * @param eoKokyakuMap eo顧客システムコードマップ
	 * @return	工事契約サービスコード
	 */
	public static String getKjKeiSvcCd(HashMap<String, String> eoKokyakuMap)
	{
		return JKUSetsubiCodeCnvUtil.getKjKeiSvcCd(eoKokyakuMap);
	}
	
	/**
	 * 入居階数コード変換
	 * @param nyukyoFlrCntCd 変換前入居階数コード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後入居階数コード
	 */
	public static String convNyukyoFlrCntCd(String nyukyoFlrCntCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convNyukyoFlrCntCd(nyukyoFlrCntCd, rnkiSystem);
	}
	
	/**
	 * 建築階数コード変換
	 * @param kckuFlrCntCd 変換前建築階数コード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後建築階数コード
	 */
	public static String convKckuFlrCntCd(String kckuFlrCntCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convKckuFlrCntCd(kckuFlrCntCd, rnkiSystem);
	}
	
	/**
	 * 関西電力お客様情報授受同意有無変換
	 * @param kepcCustInfoJujuDoiUm 変換前関西電力お客様情報授受同意有無
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後関西電力お客様情報授受同意有無
	 */
	public static String convKepcCustInfoJujuDoiUm(String kepcCustInfoJujuDoiUm, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convKepcCustInfoJujuDoiUm(kepcCustInfoJujuDoiUm, rnkiSystem);
	}
	
	/**
	 * HDD容量コード変換
	 * @param hddCapaCd 変換前HDD容量コード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後HDD容量コード
	 */
	public static String convHddCapaCd(String hddCapaCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convHddCapaCd(hddCapaCd, rnkiSystem);
	}
	
	/**
	 * 引越フラグ変換
	 * @param hksFlg 変換前引越フラグ
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後引越フラグ
	 */
	public static String convHksFlg(String hksFlg, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convHksFlg(hksFlg, rnkiSystem);
	}
	
	/**
	 * 電話連絡希望時間帯コード変換
	 * @param telRrkKiboTimeCd 変換前電話連絡希望時間帯コード
	 * @param rnkiTimeKiboKbn 電話連絡希望時間帯コードは「自」と「至」が存在するため、どちらを取得するかを指定する
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後電話連絡希望時間帯コード
	 */
	public static String convTelRrkKiboTimeCd(String telRrkKiboTimeCd, String rnkiTimeKiboKbn, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convTelRrkKiboTimeCd(telRrkKiboTimeCd, rnkiTimeKiboKbn, rnkiSystem);
	}
	
	/**
	 *  <dd>メソッド名：経緯度の5系と6系の公共座標への変換
	 *  <dd>メソッド説明：経緯度を5系と6系の公共座標に変換する。
	 *  <dd>備考：
	 * @param colKdo 経度
	 * @param colIdo 緯度
	 * @return zahyo 公共座標(5系、6系)
	 */
	public static LinkedHashMap<String, BigDecimal> allZahyoBX(String colKdo, String colIdo)
	{
		return JKUZahyo.allZahyoBX(colKdo, colIdo);
	}

	/**
	 * 宅内機器異動コード変換
	 * @param idoCd 変換前宅内機器異動コード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後宅内機器異動コード
	 */
	public static String convTaknkikiIdoCd(String idoCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convTaknkikiIdoCd(idoCd, rnkiSystem);
	}
	
	/**
	 * STB契約TVコースコード変換
	 * @param stbKeiTvCrsCd 変換前STB契約TVコースコード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後STB契約TVコースコード
	 */
	public static String convStbKeiTvCourseCd(String stbKeiTvCrsCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convStbKeiTvCourseCd(stbKeiTvCrsCd, rnkiSystem);
	}
	
	/**
	 * 住所形態コード変換
	 * @param adFormCd 変換前住所形態コード
	 * @param rnkiSystem 連携システム :ここで指定されたシステムに合わせたコードに変換される
	 * @return 変換後住所形態コード
	 */
	public static String convAdFormCd(String adFormCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convAdFormCd(adFormCd, rnkiSystem);
	}
	
	/**
	 * マンション物件コード変換
	 * @param mansionBukkenCd	変換前マンション物件コード
	 * @param rnkiSystem	連携システム：ここで指定されたシステムに合わせたコードに変換される
	 * @return	変換後マンション物件コード
	 */
	public static String convMansionBukkenCd(String mansionBukkenCd, String rnkiSystem)
	{
		return JKUSetsubiCodeCnvUtil.convMansionBukkenCd(mansionBukkenCd, rnkiSystem);
	}
}
