/*********************************************************************
*	All Rights reserved,Copyright c Fujitsu, 2011
**********************************************************************
*＜プログラム内容＞
*	システム名		：プロジェクト共通
*	モジュール名	：JCHejbCH0231TokusokuStateEdit
*	ソースファイル名：JCHejbCH0231TokusokuStateEdit.java
*	作成者			：富士通
*	日付			：2011年02月27日
*＜機能概要＞
*	金庫移動登録時の金庫移動コードを編集する部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/02/27	富士通		新規作成
*	v9.00.00	2014/08/14	FJ)早崎		【OM-2014-0002711】督促情報更新・不良顧客削除条件の修正。
**********************************************************************/
package eo.ejb.common.edit;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.fujitsu.futurity.model.base.CAANConnectionMgr;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.constant.JACStrConst;
import eo.ejb.cbm.entity.CH0021ETMsg;
import eo.ejb.cbm.entity.CH0401ETMsg;
import eo.ejb.cbs.cbsmsg.ECH0011C013CBSMsg;
import eo.ejb.cbs.cbsmsg.ECH0231C010CBSMsg;
import eo.ejb.cbs.mainproc.JECH0011C013TPMA;
import eo.ejb.common.JPCModelCommon;


/**
 * 債権ステータスを編集する部品<p>
 * <br>
 * @author 富士通
 */
public class JCHejbCH0231TokusokuStateEdit
{
	/**
	 * 督促金額編集処理<br>
	 * 督促金額を算出し返却する。
	 * <br>
	 * @param inMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @return 編集結果
	 */
	public static String getTokusokuStateEdit(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		// 返却する金額
		String sRetTokusokuState = null;
		
		// 督促異動イベントコードを取得する。
		String sTokusokuIdoEvntCd = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_IDO_EVNT_CD);
		
		// 督促異動イベントコードに応じて督促ステータスの返却を行う。
		if(JACStrConst.TKSKIDO_EVCD_TKSK_DISP_ARI.equals(sTokusokuIdoEvntCd)
				|| JACStrConst.TKSKIDO_EVCD_TKSK_DISP_NSI.equals(sTokusokuIdoEvntCd)){
			
			// 督促異動イベントコードが'20'(ステータス変更あり)、'21'(ステータス変更なし)の場合
			// 画面で指定された督促ステータスを返却する。
			sRetTokusokuState = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_STAT);
		}
		else if(JACStrConst.TKSKIDO_EVCD_NYKIN_ADD_DISP.equals(sTokusokuIdoEvntCd))
		{
			
			// 督促異動イベントコードが'40'(入金登録画面)の場合
			
			// OM-2014-0002711 DEL START
//			// 更新前督促金額と異動金額を比較する。
//			String sTokusokuAmntBf = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_AMNT_BF);
//			String sIdoAmnt = inCBSMsg.getString(ECH0231C010CBSMsg.IDO_AMNT);
//			
//			BigDecimal bdTokusokuAmntBf = new BigDecimal(sTokusokuAmntBf);
//			BigDecimal bdIdoAmnt = new BigDecimal(sIdoAmnt);
//			
//			bdTokusokuAmntBf = bdTokusokuAmntBf.subtract(bdIdoAmnt);
//			
//			BigDecimal Zero = new BigDecimal("0");
//			
//			// 0以下の場合、'00'(督促なし)を返却する
//			if(bdTokusokuAmntBf.compareTo(Zero) <= 0){
//				sRetTokusokuState = JACStrConst.TOKUSOKU_STAT_NASHI;
//			}
//			else{
//				// 0より大きい場合、画面で指定された督促ステータスを返却する。
//				sRetTokusokuState = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_STAT);
//			}
			// OM-2014-0002711 DEL END
			
			// OM-2014-000271 ADD START
			// 
			sRetTokusokuState = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_STAT);
			// OM-2014-0002711 ADD END
			
		}
		else if(JACStrConst.TKSKIDO_EVCD_NYKIN_CLR_DISP.equals(sTokusokuIdoEvntCd)){
			
			// 督促異動イベントコードが'60'(入金取消画面)の場合
			// '99'(督促保留)を返却する。
			sRetTokusokuState = JACStrConst.TOKUSOKU_STAT_BOGO;
		}
		else{
			// 督促ステータスが上記以外の場合
			sRetTokusokuState = inCBSMsg.getString(ECH0231C010CBSMsg.TOKUSOKU_STAT);
		}
		
		return sRetTokusokuState;
	}
}
