package com.interplug.qcast.biz.master.dto.quotation;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Schema(description = "Api 견적서 아이템 조회 모듈 단 정보 요청 객체")
public class ApiQuotationItemModuleRowRequest {
  @Schema(description = "순번")
  @NotNull
  public Integer seq;

  @Schema(description = "모듈제품ID", maxLength = 20)
  @NotNull
  public String moduleItemId;

  @Schema(description = "모듈타입코드")
  @NotNull
  public String moduleTpCd;

  @Schema(description = "모듈 수")
  @NotNull
  public Integer moduleCnt;

  @Schema(description = "노출 하면 수")
  @NotNull
  public Integer exposedBottomCnt;

  @Schema(description = "노출 반 하면 수")
  @NotNull
  public Integer exposedHalfBottomCnt;

  @Schema(description = "노출 상면 수")
  @NotNull
  public Integer exposedTopCnt;

  @Schema(description = "노출 반 상면 수")
  @NotNull
  public Integer exposedHalfTopCnt;

  @Schema(description = "접면 수")
  @NotNull
  public Integer touchedSurfaceCnt;

  @Schema(description = "반 접면 수")
  @NotNull
  public Integer touchedHalfSurfaceCnt;

  @Schema(description = "노출 하면 브라켓(지지금구) 수")
  @NotNull
  public Integer exposedBottomBracketCnt;

  @Schema(description = "노출 반 하면 브라켓(지지금구) 수")
  @NotNull
  public Integer exposedHalfBottomBracketCnt;

  @Schema(description = "노출 상면 브라켓(지지금구) 수")
  @NotNull
  public Integer exposedTopBracketCnt;

  @Schema(description = "노출 반 상면 브라켓(지지금구) 수")
  @NotNull
  public Integer exposedHalfTopBracketCnt;

  @Schema(description = "접면 브라켓(지지금구) 수")
  @NotNull
  public Integer touchedSurfaceBracketCnt;

  @Schema(description = "반 접면 브라켓(지지금구) 수")
  @NotNull
  public Integer touchedHalfSurfaceBracketCnt;

  @Schema(description = "처마커버 수")
  @NotNull
  public Integer eavesCnt;

  @Schema(description = "반 처마커버 수")
  @NotNull
  public Integer eavesHalfCnt;

  @Schema(description = "처마커버 측면 노출 수")
  @NotNull
  public Integer exposedSideEavesCnt;
}
