/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKejbKK0311NumberParts
*	ソースファイル名：JKKejbKK0311NumberParts.java
*   作成者          ：FJ
*	日付			：2022年11月22日
*＜機能概要＞
*	課金先採番部品クラス
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v63.00.00   2022/11/22  FJ）北村    【ANK-4294-00-00】紹介CPの仕組み変更対応
*
**********************************************************************/

package eo.ejb.common.edit;

import eo.ejb.common.JCCModelCommon;
import eo.ejb.common.JPCModelCommon;
import eo.ejb.common.db.JKKejbZM0321DBAccess;

/**
 * <p>
 * 課金先採番部品クラスです。
 * </p>
 * @author 富士通
 */
public class JKKejbKK0311NumberParts extends JKKejbNumberPartsBase 
{

	/** シーケンス定義名 */
	private static final String SEQ_EO_INTRCD = "SEQ_EO_INTRCD";
	
	/** 業務パラメータ（紹介コード開始文字） */
	private static final String WORK_PARAM_EO_INTRCD_STA_CHR = "KK_EO_INTRCD_STA_CHR";

	/**
	 * 新しいJKKejbKK0311NumberPartsを作成します。
	 */
	public JKKejbKK0311NumberParts() 
	{
	}

	/**
	 * <p>
	 * 紹介コードの採番を行います。
	 * </p>
	 * @return 採番された紹介コード
	 */
	public String getIntrCd() 
	{

		// 業務パラメータより値を主
		String intrCdStrChar = getIntrCdStaChr();

		// 採番処理
		String intrCd = JCCModelCommon.getFormatedNextSeq(SEQ_EO_INTRCD, "", 5);

		// ランダム文字列1文字を取得する。
		String randamChar = JPCModelCommon.getRandomChar(1);

		// 取得した値を結合し、返却する
		return intrCdStrChar + intrCd + randamChar;
	}
	
	/**
	 * 紹介コード開始文字取得処理
	 * @return 紹介コード開始文字
	 */
	private String getIntrCdStaChr()
	{
		// 業務パラメータより取得
		JKKejbZM0321DBAccess wkParamDba = new JKKejbZM0321DBAccess();
		return wkParamDba.getParamE(WORK_PARAM_EO_INTRCD_STA_CHR);
	}
	
}
