package com.interplug.qcast.biz.master.dto.trestle.detail;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(description = "Api 가대 상세 조회 응답 객체")
public class ApiTrestleDetailResponse {

  @Schema(description = "지붕index")
  private String roofIndex;

  @Schema(description = "랙여부")
  private String rackYn;

  @Schema(description = "치조가능여부")
  private String plvrYn;

  @Schema(description = "모듈최대단수")
  private Integer moduleMaxRows;

  @Schema(description = "모듈최대열수")
  private Integer moduleMaxCols;

  @Schema(description = "지붕기준모듈설치간격-처마")
  private Double eaveIntvl;

  @Schema(description = "지붕기준모듈설치간격-용마루")
  private Double ridgeIntvl;

  @Schema(description = "지붕기준모듈설치간격-케라바")
  private Double kerabaIntvl;

  @Schema(description = "모듈간간격-좌우")
  private Double moduleIntvlHor;

  @Schema(description = "모듈간간격-상하")
  private Double moduleIntvlVer;

  @Schema(description = "치조배치 중단처마커버 설치가능여부")
  private String cvrPlvrYn;

  @Schema(description = "랙리스지지금구수")
  private Double lessSupFitQty;

  @Schema(description = "랙리스지지금구간격(모듈모서리기준)")
  private Double lessSupFitIntvlPct;

  @Schema(description = "랙구성수량(모듈1개당)")
  private Double rackQty;

  @Schema(description = "랙구성간격(모듈좌우면기준)")
  private Double rackIntvlPct;

  @Schema(description = "모듈낙설방지금구수")
  private Double moduleSnowGdCnt;

  @Schema(description = "Api 가대 상세 모듈 조회 응답 객체")
  private List<ApiTrestleDetailModuleResponse> module;

  @Schema(description = "Api 가대 상세 랙 조회 응답 객체")
  private Map<String, ApiTrestleDetailRackResponse> rack; // = new HashMap<>();
}
