package com.eactive.eai.rms.onl.manage.adapter.messagekey;

import java.math.BigDecimal;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

@Data

public class MessageKeyUI {

	/** 어댑터명 */
	@JsonProperty("ADPTRBZWKGROUPNAME")
	private String adptrBzwkGroupName;

	/** 메시지유형 */
	@JsonProperty("MSGDSTCD")
	private String msgDstcd;

	/** 기능구분 */
	@JsonProperty("IODSTCD")
	private String ioDstcd;

	/** 메시지키 그룹 */
	@JsonProperty("GROUPINORNO")
	private Integer groupInorNo;

	/** 필드처리 순번 */
	@JsonProperty("FLDPRCSSNO")
	private Integer fldPrcssNo;

	/** 업무필드명 */
	@JsonProperty("BZWKFLDNAME")
	private String bzwkfldname;

	/** 클래스명 */
	@JsonProperty("CLSNAME")
	private String clsname;

	/** 필드길이 */
	@JsonProperty("MSGFLDLEN")
	private Integer msgfldlen;

	/** 필드시작위치 */
	@JsonProperty("MSGFLDSTARTSITUVAL")
	private BigDecimal msgfldstartsituval;

	/** 정상값 */
	@JsonProperty("NOMALPRCSSCTNT")
	private String nomalprcssctnt;

	@JsonProperty("BZWKFLDNAMETEXT")
	public String getBzwkfldnameText() {
		return new StringBuilder()
				.append(getBzwkfldname())
				.append('[')
				.append(getMsgfldstartsituval())
				.append(',')
				.append(getMsgfldlen())
				.append(']')
				.toString();
	}

	@JsonProperty("IODSTCDTEXT")
	public String getIodstcdtext() {
		StringBuilder sb = new StringBuilder().append('[').append(this.ioDstcd).append("] ");

		if ("I".equals(this.ioDstcd)) {
			sb.append("전문종별거래구분코드 추출");
		} else {
			sb.append("응답메시지구분값 추출");
		}
		return sb.toString();
	}

	private List<MessageKeyUIField> gridData;
}
