/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUejbFU0321NumberParts
*   ソースファイル名：JFUejbFU0321NumberParts.java
*   作成者          ：富士通
*   日付            ：2013年02月18日
*＜機能概要＞
*   フロント配送受付在庫更新採番部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v5.00       2013/02/18   FJ）中谷    新規作成【ANK-1398-00-00】フロントSでの機器受注時の在庫件数処理追加
*   
**********************************************************************/
package eo.ejb.common.edit;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.constant.JFUStrConst;
import eo.ejb.common.JCCModelCommon;

/**
 * <p>
 * フロント配送受付在庫更新採番部品クラスです。
 * </p>
 * @author 富士通
 */
public class JFUejbFU0321NumberParts extends JFUejbNumberPartsBase
{
	public static void main(String[] args)
	{

	}

	/** シーケンス定義名(フロント配送受付在庫更新番号) */
	private static final String SEQ_NAME = "SEQ_FRNT_HISUK_ZKUP_NO";
	/** シーケンス桁数 */
	private static final int SEQ_LENGTH = 5;
	/** 接頭辞(固定文字:IC) */
	private static final String SEQ_PREF_STR = "IC";

	/**
	 * コンストラクタです。
	 */
	public JFUejbFU0321NumberParts()
	{
	}

	/**
	 * <p>
	 * フロント配送受付在庫更新番号の採番を行います。
	 * </p>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @return 採番された簡単ログイン設定番号
	 */
	public static Object getFrntHisukZkupNo(CAANMsg inMsg, AgentDispatchContext inContext)
	{

		// 機能コードのチェック（チェックモードの場合は採番しない）
		if (isFuncMode(inMsg))
		{
			return null;
		}

		String value = "";

		// 採番処理
		value = JCCModelCommon.getFormatedNextSeq(SEQ_NAME, JFUStrConst.EMPTY, SEQ_LENGTH);

		// 運用日付
		String opeDate = JCCModelCommon.getOpeDate(inMsg, null);
		// 運用日付(YY)
		String opeDateYy = opeDate.substring(2, 4);
		// 運用日付(MM)
		String opeDateMM = opeDate.substring(4, 6);
		// 接頭辞
		String prefix = opeDateYy + Integer.toHexString(Integer.parseInt(opeDateMM)).toUpperCase() + SEQ_PREF_STR;

		return prefix + value;

	}
}
