package com.utic.center.utic.traf.server.dto;

import lombok.Data;

import java.io.Serializable;

@Data
public class LinkTrafFusionInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    private String regDate;
    private int prcsType;           /* 정보가공 유형(0:우선순위,1:가중치) */
    private int linkCnt;            /* 레벨1 링크 전체 갯수 */

    private int colPtnCnt;          /* 패턴 갯수 */

    private int colOprCnt;          /* 운영자 입력 갯수 */
    private int colMoctCnt;         /* 민간정보 수집 갯수 */
    private int colGpsCnt;          /* GPS 수집 갯수 */
    private int colUtisCnt;         /* UTIS 수집 갯수 */
    private int colPriCnt;          /* 우선순위 수집 갯수 */
    private int colPriEtcCnt;       /* 우선순위 기타 수집 갯수 */
    private int colDongbuCnt;       /* 동부NTS 수집 갯수 */

    private int fsnOprCnt;          /* 운영자 입력 퓨전 갯수 */
    private int fsnPriCnt;          /* 우선순위 퓨전 갯수 */
    private int fsnWgtCnt;          /* 가중치 퓨전 갯수 */

    private int fltSpdCnt;          /* 속도상한값 보정 갯수 */

    private int psdUpCnt;           /* PSD 상류부 결측 */
    private int psdDnCnt;           /* PSD 하류부 결측 */
    private int psdUpDnCnt;         /* PSD 상하류부 결측 */
    private int psdLv4Cnt;          /* PSD 상위4레벨 이용한 결측 */

    private int knnCnt;             /* KNN 결측 갯수 */

    private int realFsnCnt;         /* 수집/운영자 퓨전 - fsnOprCnt+fsnPriCnt+fsnWgtCnt */
    private int missPsdCnt;         /* PSD 결측 퓨전 */
    private int missKnnCnt;         /* KNN 결측 퓨전 */
    private int missPtnCnt;         /* 패턴 결측 퓨전 */
    private int missGgCnt;          /* 경기도 구간 결측 퓨전 */
    private int missMoctCnt;        /* 국토부 민간정보 결측 퓨전 */
    private int zeroSpdCnt;         /* 최종 속도정보가 0인 갯수 */

    public LinkTrafFusionInfo() {
        init();
    }

    public void init(String regDate) {
        this.regDate = regDate;
        init();
    }

    public void init() {
        this.prcsType = 0;
        this.linkCnt = 0;

        this.colPtnCnt = 0;

        this.colOprCnt = 0;
        this.colMoctCnt = 0;
        this.colGpsCnt = 0;
        this.colUtisCnt = 0;
        this.colPriCnt = 0;
        this.colPriEtcCnt = 0;
        this.colDongbuCnt = 0;

        this.fsnOprCnt = 0;
        this.fsnPriCnt = 0;
        this.fsnWgtCnt = 0;

        this.fltSpdCnt = 0;

        this.psdUpCnt = 0;
        this.psdDnCnt = 0;
        this.psdUpDnCnt = 0;
        this.psdLv4Cnt = 0;

        this.knnCnt = 0;

        this.realFsnCnt = 0;
        this.missPsdCnt = 0;
        this.missKnnCnt = 0;
        this.missPtnCnt = 0;
        this.missGgCnt = 0;
        this.missMoctCnt = 0;
        this.zeroSpdCnt = 0;
    }
}
