/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEKU0031C010TKCK
*	ソースファイル名：JSYejbEKU0031C010TKCK.java
*	作成者			：EK912227
*	日付			：2013年08月07日
*＜機能概要＞
*	工事案件<eo光テレビ>諸変更の単関連チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ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.EKU0031C010CBSMsg;

/**
 * <HR>
 * 工事案件<eo光テレビ>諸変更CBSMsgの単関連チェック用クラス｡ <p>
 * 
 * 以下の機能をサポートする。
 * <ul>
 * <li>工事案件<eo光テレビ>諸変更CBSMsgの単関連をチェックする。
 * </ul>
 * <p>
 * <HR>
 * <p>
 */ 
public class JSYejbEKU0031C010TKCK implements TankanrenCheckHandler {

	/**
	 * JSYejbEKU0031C010TKCK単関連をチェックする。<br>
	 * 
	 * JSYejbEKU0031C010TKCK単関連をチェックする。
	 * <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;


		//工事受付コードが固定値(070)と等しい ：正常
		if(!( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_CD),"070","20","1") )){
			inCBSMsg.set(EKU0031C010CBSMsg.KOJI_UK_CD_ERR, "E1");
			JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"koji_uk_cd_err:E1");
			stRet = StatusCodes.ITEM_RELATION_ERR;
		}

		//チェック条件：工事受付コードが固定値(070)と等しい
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_CD),"070","20","1") ){
			//(((((工事受付詳細コードが固定値(A1)と等しい または 工事受付詳細コードが固定値(A2)と等しい) または 工事受付詳細コードが固定値(A3)と等しい) または 工事受付詳細コードが固定値(A4)と等しい) または 工事受付詳細コードが固定値(A5)と等しい) または 工事受付詳細コードが固定値(A6)と等しい) または 工事受付詳細コードが固定値(A8)と等しい ：正常
			if(!(((((( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A1","20","1")  ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A2","20","1") ) ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A3","20","1") ) ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A4","20","1") ) ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A5","20","1") ) ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A6","20","1") ) ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A8","20","1") )){
				inCBSMsg.set(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD_ERR, "E3");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"koji_uk_dtail_cd_err:E3");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：工事受付詳細コードが固定値(A3)と等しい
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A3","20","1") ){
			//工事案件番号がnull ：エラー
			if(inCBSMsg.isNull(EKU0031C010CBSMsg.KOJIAK_NO)){
				inCBSMsg.set(EKU0031C010CBSMsg.KOJIAK_NO_ERR, "E4");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"kojiak_no_err:E4");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：工事受付詳細コードが固定値(A8)と等しい
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A8","20","1") ){
			//請求契約番号がnull ：エラー
			if(inCBSMsg.isNull(EKU0031C010CBSMsg.SEIKY_KEI_NO)){
				inCBSMsg.set(EKU0031C010CBSMsg.SEIKY_KEI_NO_ERR, "E4");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"seiky_kei_no_err:E4");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：工事受付詳細コードが固定値(A6)と等しい
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A6","20","1") ){
			//料金グループコードがnull ：エラー
			if(inCBSMsg.isNull(EKU0031C010CBSMsg.PRC_GRP_CD)){
				inCBSMsg.set(EKU0031C010CBSMsg.PRC_GRP_CD_ERR, "E4");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"prc_grp_cd_err:E4");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：工事受付詳細コードが固定値(A3)と等しい
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.KOJI_UK_DTAIL_CD),"A3","20","1") ){
			//住所変更完了年月日時分秒がnull ：エラー
			if(inCBSMsg.isNull(EKU0031C010CBSMsg.AD_CHG_FIX_DTM)){
				inCBSMsg.set(EKU0031C010CBSMsg.AD_CHG_FIX_DTM_ERR, "E4");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"ad_chg_fix_dtm_err:E4");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}


		//サービスコードが固定値(03)と等しい ：正常
		if(!( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.SVC_CD),"03","20","1") )){
			inCBSMsg.set(EKU0031C010CBSMsg.SVC_CD_ERR, "E5");
			JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"svc_cd_err:E5");
			stRet = StatusCodes.ITEM_RELATION_ERR;
		}

		//チェック条件：サービスコードが固定値(03)と等しい かつ 料金グループコードがnullでない
		if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.SVC_CD),"03","20","1")  && !inCBSMsg.isNull(EKU0031C010CBSMsg.PRC_GRP_CD)){
			//料金グループコードが固定値(11)と等しい または 料金グループコードが固定値(13)と等しい ：正常
			if(!( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.PRC_GRP_CD),"11","20","1")  ||  comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.PRC_GRP_CD),"13","20","1") )){
				inCBSMsg.set(EKU0031C010CBSMsg.PRC_GRP_CD_ERR, "E6");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"prc_grp_cd_err:E6");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード1がnull かつ HDD容量コード1がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_1) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_1)){
			//宅内機器種別コード1が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_1),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_1_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_1_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード2がnull かつ HDD容量コード2がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_2) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_2)){
			//宅内機器種別コード2が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_2),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_2_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_2_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード3がnull かつ HDD容量コード3がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_3) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_3)){
			//宅内機器種別コード3が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_3),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_3_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_3_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード4がnull かつ HDD容量コード4がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_4) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_4)){
			//宅内機器種別コード4が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_4),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_4_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_4_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード5がnull かつ HDD容量コード5がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_5) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_5)){
			//宅内機器種別コード5が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_5),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_5_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_5_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード6がnull かつ HDD容量コード6がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_6) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_6)){
			//宅内機器種別コード6が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_6),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_6_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_6_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード7がnull かつ HDD容量コード7がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_7) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_7)){
			//宅内機器種別コード7が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_7),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_7_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_7_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード8がnull かつ HDD容量コード8がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_8) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_8)){
			//宅内機器種別コード8が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_8),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_8_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_8_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード9がnull かつ HDD容量コード9がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_9) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_9)){
			//宅内機器種別コード9が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_9),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_9_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_9_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード10がnull かつ HDD容量コード10がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_10) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_10)){
			//宅内機器種別コード10が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_10),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_10_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_10_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード11がnull かつ HDD容量コード11がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_11) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_11)){
			//宅内機器種別コード11が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_11),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_11_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_11_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード12がnull かつ HDD容量コード12がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_12) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_12)){
			//宅内機器種別コード12が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_12),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_12_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_12_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード13がnull かつ HDD容量コード13がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_13) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_13)){
			//宅内機器種別コード13が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_13),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_13_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_13_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード14がnull かつ HDD容量コード14がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_14) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_14)){
			//宅内機器種別コード14が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_14),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_14_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_14_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード15がnull かつ HDD容量コード15がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_15) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_15)){
			//宅内機器種別コード15が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_15),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_15_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_15_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード16がnull かつ HDD容量コード16がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_16) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_16)){
			//宅内機器種別コード16が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_16),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_16_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_16_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード17がnull かつ HDD容量コード17がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_17) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_17)){
			//宅内機器種別コード17が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_17),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_17_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_17_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード18がnull かつ HDD容量コード18がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_18) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_18)){
			//宅内機器種別コード18が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_18),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_18_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_18_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード19がnull かつ HDD容量コード19がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_19) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_19)){
			//宅内機器種別コード19が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_19),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_19_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_19_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：宅内機器型式コード20がnull かつ HDD容量コード20がnull
		if(inCBSMsg.isNull(EKU0031C010CBSMsg.TAKNKIKI_MODEL_CD_20) && inCBSMsg.isNull(EKU0031C010CBSMsg.HDD_CAPA_CD_20)){
			//宅内機器種別コード20が固定値(A0)と等しい ：エラー
			if( comparison(inCBSMsg.getObject(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_20),"A0","20","1") ){
				inCBSMsg.set(EKU0031C010CBSMsg.TAKNKIKI_SBT_CD_20_ERR, "E7");
				JSYejbLog.println(JSYejbLog.DEBUG,this.getClass(),"taknkiki_sbt_cd_20_err:E7");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}


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

		//チェック結果によりステータスを設定する
		if (stRet > inCBSMsg.getInt(EKU0031C010CBSMsg.STATUS)) {
			inCBSMsg.set(EKU0031C010CBSMsg.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;

	}

}
