package com.ga.core.vo.settle;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 마감 등록/재오픈 요청 VO.
 * closeMonth 필수, 나머지는 재오픈 시에만 사용.
 */
@Data
public class PeriodCloseSaveReq {

    @NotBlank(message = "정산월은 필수입니다")
    @Pattern(regexp = "\\d{6}", message = "정산월은 6자리 숫자(YYYYMM)여야 합니다")
    private String closeMonth;

    @Size(max = 500, message = "비고는 500자 이하여야 합니다")
    private String note;

    // 재오픈 시에만 사용
    @Size(max = 500, message = "재오픈 사유는 500자 이하여야 합니다")
    private String reopenReason;
}
