package incheon.ags.ias.linkData.vo;

import incheon.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Getter
@Setter
public class LinkDataVO extends ComDefaultVO {
    private String linkId;
    private String linkGroupNm;
    private String linkNm;
    private String linkTypeCd;
    private String pvsnInstNm;
    private String pvsnSysNm;
    private String cycleCd;
    private String lastLinkStcd;
    private String utztnSysNm;
    private String useYn;
    private String linkDrcCd;
    private String lnkgMthCd;
    private String lnkgAddr;
    private String certNm;
    private String lnkgTrgtNm;
    private String rmrkCn;
    private String hoprPsbltyYn;
    private String hoprTypeCd;

    // ----------------------------- link_metdata
    private Long metdataSn;
    private Long sortSeq;
    private String metdataNm;
    private String metdataPhysNm;
    private String metdataExpln;
    private String metdataTyNm;
    private Long metdataLenCnt;
    private String metdataEsntlYn;
    private String metdataDfltNm;

    // ----------------------------- link_metdata_dmnd
    private Long linkMetdataDmndSn;
    private String dmndTypeCd;
    private String dmndKeyNm;
    private String dmndVlNm;
    private String dmndTyNm;
    private String dmndEsntlYn;

    // ----------------------------- link_data_hopr_hstry
    private Long hstrySn;
    private LocalDateTime prcsDt;
    private String atchFileId;
    private Long prcsNocs;
    private Long procCnt;  // 처리 건수
    private String prcsStcd;
    private String orgnlFileNm;

    // ----------------------------- clct_daly_smry
    private LocalDate totYmd;
    private String jobId;
    private String excnId;
    private String excnGroupNm;
    private String jobNm;
    private String excnNmtm;
    private Long tprcsNocs;
    private Long totScsNocs;
    private Long scsNocs;
    private Long totFailNocs;
    private Long failNocs;
    private Long scsRpblty;
    private Long avgPrcsHr;
    private Long p95PrcsHr;
    private Long maxPrcsHr;
    private Long avgMmry;
    private Long maxMmry;
    private Long avgCpuLoad;
    private Long maxCpuLoad;
    private String excnStcd;
    private LocalDateTime excnDt;
    private LocalDateTime cmptnDt;

    // -----------------------------
    private String utztnSysSummary;
    private String utztnSysKr;
    private String sysId;
    private String sysNm;

    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}