/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム構築
*	モジュール名	：JKUBatNumberParts
*	ソースファイル名：JKUBatNumberParts.java
*	作成者			：富士通
*	日付			：2011年10月25日
*＜機能概要＞
*	工事案件番号を採番します
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/10/25	FJ)中西		新規作成
*	v5.00.00	2013/09/14	FJ)高橋		【OM-2013-0002082】
*
**********************************************************************/
package eo.business.common;

import eo.business.util.table.JBSbatKU_T_KOJIAK;
import eo.common.util.JKUKojiakNoNP;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.item.JBSbatCommonDBInterface;

/**
 * 工事案件採番部品です。<p>
 * 工事受付共通アクセッサー部品で実装します。
 * <BR>
 * @author 富士通
 */
public class JKUBatNumberParts extends JCCBatCommon
{
	/** SQL定義キー(KU_SELECT_001)*/
	private static final String KK_T_MAJOR_KMK_DLJSK_KU_SELECT_001 = "KU_SELECT_001";
	
	/**
	 * 工事案件番号を取得します。
	 * 
	 * @param db_KU_T_KOJIAK DBアクセスクラス 工事案件
	 * @param db_KK_T_MAJOR_KMK_DLJSK DBアクセスクラス 主要項目削除実績
	 * @param kojiakNo 元となる工事案件番号
	 * @return 採番された工事案件番号
	 * @throws Exception
	 */
	public static String getKojiakNo(JBSbatSQLAccess db_KU_T_KOJIAK, JBSbatSQLAccess db_KK_T_MAJOR_KMK_DLJSK, String kojiakNo) throws Exception 
	{

		String mskmshoNo = kojiakNo;
		String newKojiakNo = kojiakNo;

		JBSbatCommonDBInterface inDbMap = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface inDbMapKK2601 = null;
		JKUKojiakNoNP kojiakNoNP = new JKUKojiakNoNP();
		JBSbatCommonDBInterface outDbMap = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface outDbMapKK2601 = new JBSbatCommonDBInterface();
		// カウントは1で初期化しておく
		outDbMapKK2601.setValue("CNT", "1");

		//存在しない番号になるまで繰り返す
		while (outDbMap != null || !"0".equals(outDbMapKK2601.getString("CNT")))
		{
			//元となる工事案件番号から新しい工事案件番号を取得する
			newKojiakNo = kojiakNoNP.getKojiakNo(mskmshoNo, newKojiakNo);
			//パラメタ設定
			inDbMap.setValue(JBSbatKU_T_KOJIAK.KOJIAK_NO, newKojiakNo);
			//SELECT文発行
			outDbMap = db_KU_T_KOJIAK.selectByPrimaryKeys(inDbMap);
			
			//パラメタ設定
			inDbMapKK2601 = new JBSbatCommonDBInterface(); 
			inDbMapKK2601.setValue(newKojiakNo);
			//SELECT文発行
			db_KK_T_MAJOR_KMK_DLJSK.selectBySqlDefine(inDbMapKK2601, KK_T_MAJOR_KMK_DLJSK_KU_SELECT_001);
			//結果取得
			outDbMapKK2601 = db_KK_T_MAJOR_KMK_DLJSK.selectNext();
		}

		return newKojiakNo;
	}
}
