/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKejbIdoRsvAccess
*	ソースファイル名：JKKejbIdoRsvAccess.java
*	作成者			：富士通
*	日付			：2011年12月05日
*＜機能概要＞
*	異動予約のアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/12/05	富士通		新規作成
*   v5.00.00    2013/10/23  FJ）寺園    OM-2013-0003345
*   v7.00.00    2013/11/18  FJ）沖田    ANK-1578-00-00
*
********************************************************************************/

package eo.ejb.common.entity;

import java.util.List;

import com.fujitsu.futurity.model.base.CAANMsg;

/**
 * <p>
 * 異動予約に対するアクセスクラスです。
 * </p>
 * @author 富士通
 *
 */
public class JKKejbIdoRsvAccess extends JKKejbIdoRestrictDao
{

	/**
	 * 指定されたSYSIDに紐付く異動予約を取得します。
	 * @param sysid 対象のSYSID
	 * @param sysidNew 対象のSYSID(併合/分割先)（お客様併合／分割の場合のみ設定）
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvSisid(String sysid, String sysidNew, String opeDate)
	{
		// SYSID併合/分割フラグ（お客様併合／分割の場合true）
		boolean sysidJoinFlg = false;
		
		if (!(sysidNew == null || "".equals(sysidNew)))
		{
			sysidJoinFlg = true;
		}
		
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_CK0011);
		setSysid(sysid);
		setSysid_new(sysidNew);
		setSysidJoinFlg(sysidJoinFlg);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定されたサービス契約番号に紐付く異動予約を取得します。
	 * @param svcKeiNo 対象のサービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvSvcKeiNo(String svcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0081);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(svcKeiNo);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定されたサービス契約番号に紐付く異動予約を取得します。
	 * 住所変更・登録をチェック対象として含むデータを返却します。
	 * @param svcKeiNo 対象のサービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvAdChgSvcKeiNo(String svcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0081);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(svcKeiNo);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataAdChgKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定されたサービス契約内訳番号に紐付く異動予約を取得します。
	 * @param svcKeiUcwkNo 対象のサービス契約内訳番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvSvcKeiUcwkNo(String svcKeiUcwkNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0161);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(svcKeiUcwkNo);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定された機器提供サービス契約番号に紐付く異動予約を取得します。
	 * @param kktkSvcKeiNo 対象の機器提供サービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvKktkSvcKeiNo(String kktkSvcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0341);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(kktkSvcKeiNo);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定されたオプションサービス契約番号に紐付く異動予約を取得します。
	 * @param opSvcKeiNo 対象のオプションサービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvOpSvcKeiNo(String opSvcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0351);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(opSvcKeiNo);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定されたサブオプションサービス契約番号に紐付く異動予約を取得します。
	 * @param sbopSvcKeiNo 対象のサブオプションサービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvSbopSvcKeiNo(String sbopSvcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0401);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(sbopSvcKeiNo);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定された割引サービス契約番号に紐付く異動予約を取得します。
	 * @param wribSvcKeiNo 割引サービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvWribSvcKeiNo(String wribSvcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0451);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(wribSvcKeiNo);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}

	/**
	 * 指定された請求契約番号に紐付く異動予約を取得します。
	 * @param seikyKeiNo 対象の請求契約番号
	 * @param seikyKeiNoNew 対象の請求契約番号(併合/分割先)（請求先情報併合／分割の場合のみ設定）
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvSeikyKeiNo(String seikyKeiNo, String seikyKeiNoNew, String opeDate)
	{
		// 請求契約番号併合/分割フラグ（請求先情報併合／分割の場合true）
		boolean seikyJoinFlg = false;
		
		if (!(seikyKeiNoNew == null || "".equals(seikyKeiNoNew)))
		{
			seikyJoinFlg = true;
		}
		
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK0491);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(seikyKeiNo);
		setSeiky_kei_no_new(seikyKeiNoNew);
		setSeikyJoinFlg(seikyJoinFlg);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return allIdoRsvList;
	}

	/**
	 * 指定された機器オプションサービス契約番号に紐付く異動予約を取得します。
	 * @param kktkSvcKeiNo 対象の機器オプションサービス契約番号
	 * @param opeDate 運用日付
	 * @return 取得した異動予約のリスト
	 */
	public List<CAANMsg> getIdoRsvKkopSvcKeiNo(String kkopSvcKeiNo, String opeDate)
	{
		// パラメータの設定
		setOpeDate(opeDate);
		setTg_skbt_cd(TG_SKBT_CD_KK2811);
		setSysid(null);
		setSysid_new(null);
		setSysidJoinFlg(false);
		setSeiky_kei_no(null);
		setSeiky_kei_no_new(null);
		setSeikyJoinFlg(false);
		setSvc_kei_no(null);
		setSvc_kei_ucwk_no(null);
		setKktk_svc_kei_no(null);
		setOp_svc_kei_no(null);
		setSbop_svc_kei_no(null);
		setWrib_svc_kei_no(null);
		setKkop_svc_kei_no(kkopSvcKeiNo);

		// 異動予約取得処理の実行
		setReserveDataKK1681(getTg_skbt_cd());
		return idoRsvList;
	}
}
