package com.eactive.eai.rms.onl.manage.serviceinfo.eaimsg.ui;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

@Data
public class ServiceMessageUI {

	/** EAI service code */
	@JsonProperty("EAISVCNAME")
	private String eaiSvcName; // eaisvcname -> eaiSvcName

	/** 서비스 처리 순서 */
	@JsonProperty("SVCPRCSSNO")
	private Integer svcPrcssNo; // svcprcssno -> svcPrcssNo

	/** 추가 또는 삭제 여부 */
	@JsonProperty("BASCRSPNSCHNGEONOT")
	private String bascRspnsChngEonot;

	/** 기본 응답 변환 메시지 ID */
	@JsonProperty("BASCRSPNSCHNGMSGIDNAME")
	private String bascRspnsChngMsgIdName;

	/** 기본 응답 메시지 비교 값 */
	@JsonProperty("BASCRSPNSMSGCMPRCTNT")
	private String bascRspnsMsgCmprCtnt;

	/** 변환 유무 */
	@JsonProperty("CHNGEONOT")
	private String chngEonot;

	/** 변환 메시지 ID */
	@JsonProperty("CHNGMSGIDNAME")
	private String chngMsgIdName;

	/** 보상 서비스 처리 코드 */
	@JsonProperty("CMPENSVCPRCSSDSTICNAME")
	private String cmpenSvcPrcssDsticName;

	/** 오류 응답 변환 유무 */
	@JsonProperty("ERRRSPNSCHNGEONOT")
	private String errRspnsChngEonot;

	/** 오류 응답 변환 메시지 ID */
	@JsonProperty("ERRRSPNSCHNGMSGIDNAME")
	private String errRspnsChngMsgIdName;

	/** 오류 응답 메시지 비교 값 */
	@JsonProperty("ERRRSPNSMSGCMPRCTNT")
	private String errRspnsMsgCmprCtnt;

	/** FailOver */
	@JsonProperty("FLOVRYN")
	private String flovrYn;

	/** 헤더 제어 분류 코드 */
	@JsonProperty("HDRCTRLDSTCD")
	private String hdrCtrlDstcd;

	/** 참조 클래스 이름 */
	@JsonProperty("HDRREFCLSNAME")
	private String hdrRefClsName;

	/** Daum 서비스 처리 번호 */
	@JsonProperty("NEXTSVCPRCSSNO")
	private Integer nextSvcPrcssNo;

	/** 아웃바운드 라우팅 이름 */
	@JsonProperty("OUTBNDROUTNAME")
	private String outbndRoutName;

	/** 수동 인터페이스 유형 */
	@JsonProperty("PSVINTFACDSTICNAME")
	private String psvIntfacDsticName;

	/** 수동 시스템 어댑터 작업 그룹 이름 */
	@JsonProperty("PSVSYSADPTRBZWKGROUPNAME")
	private String psvSysAdptrBzwkGroupName;

	/** 수동 작업 시스템 이름 */
	@JsonProperty("PSVSYSBZWKDSTCD")
	private String psvSysBzwkDstcd;

	/** 수동 시스템 ID */
	@JsonProperty("PSVSYSIDNAME")
	private String psvsysidname;

	/** 수동 시스템 서비스 식별 이름 */
	@JsonProperty("PSVSYSSVCDSTICNAME")
	private String psvSysSvcDsticName;

	/** REST 옵션 */
	@JsonProperty("RESTOPTION")
	private String restOption;

	/** 제공 삭제 여부 */
	@JsonProperty("SUPPLYDELYN")
	private String supplDelYn;

	/** 타임아웃 코드 */
	@JsonProperty("TIMEOUTCODE")
	private String timeoutcode;

	/** 타임아웃 값 */
	@JsonProperty("TOUTVAL")
	private Long toutVal;

	private List<EAIReferenceMessageUI> eaiReferenceMessages;

	private List<CondPerRtgInfoUI> condPerRtgInfos;

	public void setGridRef(List<EAIReferenceMessageUI> eaiReferenceMessages) {
		this.eaiReferenceMessages = eaiReferenceMessages;
	}

	public void setGridConRule(List<CondPerRtgInfoUI> condPerRtgInfos) {
		this.condPerRtgInfos = condPerRtgInfos;
	}

	@JsonProperty("refRows")
	public List<EAIReferenceMessageUI> getRefRows() {
		return eaiReferenceMessages;
	}

	@JsonProperty("conRuleRows")
	public List<CondPerRtgInfoUI> getConRuleRows() {
		return condPerRtgInfos;
	}

}
