package com.its.op.dto.its.facility;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

/**
 * 시설물 장애 처리 실적 정보 DTO Class
 */
@Data
@Builder
@ApiModel("TbFcltFailDto(시설물 장애 처리 실적 정보)")
public class FcltFailActDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("장애발생번호(YYYYMMNNNN)")  // N VARCHAR2(10)
    @JsonProperty("fail_no")
    private String failNo;

    @ApiModelProperty("등록일시")  // N VARCHAR2(14)
    @JsonProperty("reg_dt")
    private String regDt;

    @ApiModelProperty("시설물 관리 번호")  // N NUMBER(10)
    @JsonProperty("fclt_nmbr")
    private Long fcltNmbr;

    @ApiModelProperty("시설물 유형")  // N VARCHAR2(7)
    @JsonProperty("fclt_type")
    private String fcltType;

    @ApiModelProperty("시설물 ID")  // N VARCHAR2(30)
    @JsonProperty("fclt_id")
    private String fcltId;

    @ApiModelProperty("시설물 위치")  // Y VARCHAR2(100)
    @JsonProperty("fclt_lctn")
    private String fcltLctn;

    @ApiModelProperty("장애 발생 구분코드")  // Y VARCHAR2(7)
    @JsonProperty("fail_ocrr_cd")
    private String failOcrrCd;

    @ApiModelProperty("장애품목 관리번호")  // Y NUMBER(10)
    @JsonProperty("subj_nmbr")
    private Long subjNmbr;

    @ApiModelProperty("장애발견자명")  // Y VARCHAR2(30)
    @JsonProperty("find_man")
    private String findMan;

    @ApiModelProperty("장애발생시각")  // Y VARCHAR2(14)
    @JsonProperty("str_dt")
    private String strDt;

    @ApiModelProperty("장애종료시각")  // Y VARCHAR2(14)
    @JsonProperty("end_dt")
    private String endDt;

    @ApiModelProperty("진행상태-장애조치('FSTEP')")  // Y VARCHAR2(7)
    @JsonProperty("step_cd")
    private String stepCd;

    @ApiModelProperty("진행상태-장애조치('FSTEP') 설명")
    @JsonProperty("step_desc")    // STEP_CD
    private String stepDesc;

    @ApiModelProperty("장애명")  // Y VARCHAR2(100)
    @JsonProperty("fail_nm")
    private String failNm;

    @ApiModelProperty("장애등록구분('FREG')")  // Y VARCHAR2(7)
    @JsonProperty("fail_reg_cd")
    private String failRegCd;

    @ApiModelProperty("장애등록구분('FREG') 설명")
    @JsonProperty("fail_reg_desc")    // FAIL_REG_CD
    private String failRegDesc;

    @ApiModelProperty("장애등급구분('FLVL')")  // Y VARCHAR2(7)
    @JsonProperty("fail_levl_cd")
    private String failLevlCd;

    @ApiModelProperty("장애등급구분('FLVL') 설명")
    @JsonProperty("fail_levl_desc")    // FAIL_LEVL_CD
    private String failLevlDesc;

    @ApiModelProperty("날씨('FWTHR')")  // Y VARCHAR2(7)
    @JsonProperty("wthr_cd")
    private String wthrCd;

    @ApiModelProperty("장애내용")  // Y VARCHAR2(256)
    @JsonProperty("fail_desc")
    private String failDesc;

    @ApiModelProperty("선조치내용")  // Y VARCHAR2(256)
    @JsonProperty("bef_act_desc")
    private String befActDesc;

    @ApiModelProperty("기타비고")  // Y VARCHAR2(256)
    @JsonProperty("etc_rmk")
    private String etcRmk;

    @ApiModelProperty("사용여부")  // Y CHAR(1)
    @JsonProperty("use_yn")
    private String useYn;

    @ApiModelProperty("조치건수")  // Y CHAR(1)
    @JsonProperty("act_cnt")
    private String actCnt;


}
