/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEDK0011D020TKCK
*	ソースファイル名：JSYejbEDK0011D020TKCK.java
*	作成者			：EK912305
*	日付			：2012年11月21日
*＜機能概要＞
*	配送受付の単関連チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.ejb.check.itemrelation;

import java.sql.Date;
import java.sql.Timestamp;
import com.fujitsu.futurity.model.base.CAANMsg;
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 com.fujitsu.futurity.model.ejb.common.fw.TankanrenCheckHandler;
import eo.ejb.cbs.cbsmsg.EDK0011D020CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0011D020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EDK0011D020CBSMsg2List;
import eo.ejb.common.JKKModelCommon;

/**
 * <HR>
 * 配送受付CBSMsgの単関連チェック用クラス｡ <p>
 * 
 * 以下の機能をサポートする。
 * <ul>
 * <li>配送受付CBSMsgの単関連をチェックする。
 * </ul>
 * <p>
 * <HR>
 * <p>
 */ 
public class JSYejbEDK0011D020TKCK implements TankanrenCheckHandler {

	/**
	 * JSYejbEDK0011D020TKCK単関連をチェックする。<br>
	 * 
	 * JSYejbEDK0011D020TKCK単関連をチェックする。
	 * <p>
	 * @param	inCBSMsg	CBSMsgメッセージ
	 * @param	inContext	Agent
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext) {

		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"invoke#Call");

		// チェックを行う
		int stRet = 0;

		//配送対象物品明細のnullチェック
		CAANMsg[] l_edk0011d020cbsmsg1list = new CAANMsg[]{};
		if(!inCBSMsg.isNull(EDK0011D020CBSMsg.EDK0011D020CBSMSG1LIST)){
			l_edk0011d020cbsmsg1list = inCBSMsg.getCAANMsgList(EDK0011D020CBSMsg.EDK0011D020CBSMSG1LIST);
		}

		//配送対象同封物明細のnullチェック
		CAANMsg[] l_edk0011d020cbsmsg2list = new CAANMsg[]{};
		if(!inCBSMsg.isNull(EDK0011D020CBSMsg.EDK0011D020CBSMSG2LIST)){
			l_edk0011d020cbsmsg2list = inCBSMsg.getCAANMsgList(EDK0011D020CBSMsg.EDK0011D020CBSMSG2LIST);
		}

		//チェック条件：配送先個別指定フラグが固定値(0)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.HISOS_KSITEI_FLG),"0","20","1") ){
			//(((((((((配送先名がnullでない または 配送先住所コードがnullでない) または 配送先郵便番号がnullでない) または 配送先都道府県名がnullでない) または 配送先市区町村名がnullでない) または 配送先大字通称名がnullでない) または 配送先字丁目名がnullでない) または 配送先番地号がnullでない) または 配送先住所補記・建物名がnullでない) または 配送先住所補記・部屋番号がnullでない) または 配送先電話番号がnullでない ：エラー
			if((((((((((!inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_NM) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_AD_CD)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_PCD)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_STATE_NM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_CITY_NM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_OAZTSU_NM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_AZCHO_NM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_BNCHIGO)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_ADRTTM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_ADRRM)) || !inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_TELNO)){
				inCBSMsg.set(EDK0011D020CBSMsg.HISOS_NM_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"hisos_nm_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：配送先個別指定フラグが固定値(1)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.HISOS_KSITEI_FLG),"1","20","1") ){
			//(((((((((配送先住所コードがnull かつ 配送先郵便番号がnull) かつ 配送先都道府県名がnull) かつ 配送先市区町村名がnull) かつ 配送先大字通称名がnull) かつ 配送先字丁目名がnull) かつ 配送先番地号がnull) かつ 配送先住所補記・建物名がnull) かつ 配送先住所補記・部屋番号がnull) かつ 配送先電話番号がnull) または 配送先名がnull ：エラー
			if((((((((((inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_AD_CD) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_PCD)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_STATE_NM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_CITY_NM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_OAZTSU_NM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_AZCHO_NM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_BNCHIGO)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_ADRTTM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_ADRRM)) && inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_TELNO)) || inCBSMsg.isNull(EDK0011D020CBSMsg.HISOS_NM)){
				inCBSMsg.set(EDK0011D020CBSMsg.HISOS_AD_CD_ERR, "E2");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"hisos_ad_cd_err:E2");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}


		for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
			//宅内機器種別コードがnull かつ 宅内機器型式コードがnullでない ：エラー
			if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.TAKNKIKI_SBT_CD) && !l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.TAKNKIKI_MODEL_CD)){
				l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.TAKNKIKI_SBT_CD_ERR, "E4");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_err:E4");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}


		for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
			//付属品種別コードがnull かつ 付属品型式コードがnullでない ：エラー
			if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.HUZOKUHIN_SBT_CD) && !l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.HUZOKUHIN_MODEL_CD)){
				l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.HUZOKUHIN_SBT_CD_ERR, "E5");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"huzokuhin_sbt_cd_err:E5");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(1)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"1","20","1") ){
			//配送元倉庫コードがnull ：エラー
			if(inCBSMsg.isNull(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_soko_cd_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(1)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"1","20","1") ){
			//移動元工事会社コードがnullでない または 移動元預託先オフィスコードがnullでない ：エラー
			if(!inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_KOCOMP_CD) || !inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_YTKSKOF_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.IDOMOTO_KOCOMP_CD_ERR, "E8");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_kocomp_cd_err:E8");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(2)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"2","20","1") ){
			//移動元工事会社コードがnull ：エラー
			if(inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_KOCOMP_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.IDOMOTO_KOCOMP_CD_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_kocomp_cd_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(2)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"2","20","1") ){
			//配送元倉庫コードがnullでない または 移動元預託先オフィスコードがnullでない ：エラー
			if(!inCBSMsg.isNull(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD) || !inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_YTKSKOF_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD_ERR, "E8");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_soko_cd_err:E8");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(3)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"3","20","1") ){
			//移動元預託先オフィスコードがnull ：エラー
			if(inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_YTKSKOF_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.IDOMOTO_YTKSKOF_CD_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_ytkskof_cd_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(3)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"3","20","1") ){
			//配送元倉庫コードがnullでない または 移動元工事会社コードがnullでない ：エラー
			if(!inCBSMsg.isNull(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD) || !inCBSMsg.isNull(EDK0011D020CBSMsg.IDOMOTO_KOCOMP_CD)){
				inCBSMsg.set(EDK0011D020CBSMsg.HAISO_MOTO_SOKO_CD_ERR, "E9");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_soko_cd_err:E9");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(1)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"1","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//配送元倉庫棚コードがnull ：エラー
				if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD_ERR, "E7");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_skdn_cd_err:E7");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(1)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"1","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//移動元工事会社棚コードがnullでない または 移動元預託先オフィス棚コードがnullでない ：エラー
				if(!l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_KOCOMP_SLF_CD) || !l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_YTKSKOF_SLF_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.IDOMOTO_KOCOMP_SLF_CD_ERR, "E8");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_kocomp_slf_cd_err:E8");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(2)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"2","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//移動元工事会社棚コードがnull ：エラー
				if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_KOCOMP_SLF_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.IDOMOTO_KOCOMP_SLF_CD_ERR, "E7");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_kocomp_slf_cd_err:E7");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(2)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"2","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//配送元倉庫棚コードがnullでない または 移動元預託先オフィス棚コードがnullでない ：エラー
				if(!l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD) || !l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_YTKSKOF_SLF_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD_ERR, "E8");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_skdn_cd_err:E8");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(3)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"3","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//移動元預託先オフィス棚コードがnull ：エラー
				if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_YTKSKOF_SLF_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.IDOMOTO_YTKSKOF_SLF_CD_ERR, "E7");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_ytkskof_slf_cd_err:E7");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：移動元管理場所識別コードが固定値(3)と等しい
		if( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"3","20","1") ){
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//配送元倉庫棚コードがnullでない または 移動元工事会社棚コードがnullでない ：エラー
				if(!l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD) || !l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.IDOMOTO_KOCOMP_SLF_CD)){
					l_edk0011d020cbsmsg1list[i].set(EDK0011D020CBSMsg1List.HAISO_MOTO_SKDN_CD_ERR, "E9");
					JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"haiso_moto_skdn_cd_err:E9");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//チェック条件：機能コード判定処理の戻り値がtrueと等しい
		if(JKKModelCommon.isFuncCd(inCBSMsg, inContext , "1" ) == true){
			int l_kiki_chg_no_cnt = 0;
			for(int i = 0; i < l_edk0011d020cbsmsg1list.length; i++){
				//機器変更番号がnull
				if(l_edk0011d020cbsmsg1list[i].isNull(EDK0011D020CBSMsg1List.KIKI_CHG_NO)){
					l_kiki_chg_no_cnt++;
				}

			}

			//機器変更番号がnullのものが存在数(0)分存在する ：正常
			if(!(l_kiki_chg_no_cnt == 0)){
				inCBSMsg.set(EDK0011D020CBSMsg.EDK0011D020CBSMSG1LIST_ERR, "E6");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"EDK0011D020CBSMsg1List_err:E6");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}


		//(移動元管理場所識別コードが固定値(1)と等しくない かつ 移動元管理場所識別コードが固定値(2)と等しくない) かつ 移動元管理場所識別コードが固定値(3)と等しくない ：エラー
		if(( comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"1","21","1")  &&  comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"2","21","1") ) &&  comparison(inCBSMsg.getObject(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD),"3","21","1") ){
			inCBSMsg.set(EDK0011D020CBSMsg.IDOMOTO_KRIPLACE_SKCD_ERR, "E3");
			JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"idomoto_kriplace_skcd_err:E3");
			stRet = StatusCodes.ITEM_RELATION_ERR;
		}


		JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"invoke#End");

		//チェック結果によりステータスを設定する
		if (stRet > inCBSMsg.getInt(EDK0011D020CBSMsg.STATUS)) {
			inCBSMsg.set(EDK0011D020CBSMsg.STATUS,stRet);
		}
	}

	/**
	 * 比較処理
	 * 
	 * @param left_arg 		比較値（左辺）
	 * @param right_arg 	比較値（右辺）
	 * @param enzan_arg 	比較演算子
	 * @param checkType 	比較形式
	 */
	private boolean comparison(Object left_arg, Object right_arg, String enzan_arg, String checkType)
	{

		boolean booRet = true;

		String leftStr = new String();
		String rightStr = new String();

		if ( left_arg != null ){
			leftStr = left_arg.toString();
		}
		if ( right_arg != null ){
			rightStr = right_arg.toString();
		}

		// 文字比較
		if ( "1".equals(checkType) ) {

			//より小さい
			if ( "10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) < 0)){
					return true;
				}else{
					return false;
				}
			//以下
			} else if ( "11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) <= 0)){
					return true;
				}else{
					return false;
				}
			//等しい
			} else if ( "20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) == 0)){
					return true;
				}else{
					return false;
				}
			//等しくない
			} else if ( "21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) != 0)){
					return true;
				}else{
					return false;
				}
			//以上
			} else if ( "30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) >= 0)){
					return true;
				}else{
					return false;
				}
			//より大きい
			} else if ( "31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg) ) {
				if( (leftStr.compareTo(rightStr) > 0)){
					return true;
				}else{
					return false;
				}
			//該当無し
			} else {
				return false;
			}

		//数値比較
		} else if ( "2".equals(checkType) ) {

			try{
				Long l_left_arg = new Long(leftStr);
				Long l_right_arg = new Long(rightStr);

				//より小さい
				if ( "10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) < 0)){
						return true;
					}else{
						return false;
					}
				//以下
				} else if ( "11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) <= 0)){
						return true;
					}else{
						return false;
					}
				//等しい
				} else if ( "20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) == 0)){
						return true;
					}else{
						return false;
					}
				//等しくない
				} else if ( "21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) != 0)){
						return true;
					}else{
						return false;
					}
				//以上
				} else if ( "30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) >= 0)){
						return true;
					}else{
						return false;
					}
				//より大きい
				} else if ( "31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) > 0)){
						return true;
					}else{
						return false;
					}
				//該当無し
				} else {
					return false;
				}
			}catch(NumberFormatException e){
				return false;
			}

		//精度比較
		} else if ( "3".equals(checkType) ) {

			try{
				Double l_left_arg = new Double(leftStr);
				Double l_right_arg = new Double(rightStr);
				
				//より小さい
				if ( "10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) < 0)){
						return true;
					}else{
						return false;
					}
				//以下
				} else if ( "11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) <= 0)){
						return true;
					}else{
						return false;
					}
				//等しい
				} else if ( "20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) == 0)){
						return true;
					}else{
						return false;
					}
				//等しくない
				} else if ( "21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) != 0)){
						return true;
					}else{
						return false;
					}
				//以上
				} else if ( "30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) >= 0)){
						return true;
					}else{
						return false;
					}
				//より大きい
				} else if ( "31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg) ) {
					if( (l_left_arg.compareTo(l_right_arg) > 0)){
						return true;
					}else{
						return false;
					}
				//該当無し
				} else {
					return false;
				}
			}catch(NumberFormatException e){
				return false;
			}
		}

		return booRet;

	}

}
