# GmwrMonthEndSaveBudgetDTO.java

    package cloud.wconnect.workperformance.pojo.dto.gmwr.monthend;

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import jakarta.validation.constraints.NotNull;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;

    import java.math.BigDecimal;

    /**
     * DTO: Month End Budget
     *
     * @author zc
     * @date 2024/10/15
     */
    @Data
    public class GmwrMonthEndSaveBudgetDTO {
        /**
         * Category
         */
        @NotNull(message = "The category cannot be null")
        @Range(min = 1, max = 6, message = "The category must be in [1 - 6]")
        private Integer category;

        /**
         * Current Forecast
         */
        @DigitsCustom(integer = 10, message = "The currentForecast is wrong format")
        private BigDecimal currentForecast;

        /**
         * First Forecast
         */
        @DigitsCustom(integer = 10, message = "The firstForecast is wrong format")
        private BigDecimal firstForecast;

        /**
         * Budget
         */
        @DigitsCustom(integer = 10, message = "The budget is wrong format")
        private BigDecimal budget;

        /**
         * LY (lastYear)
         */
        @DigitsCustom(integer = 10, message = "The lastYear is wrong format")
        private BigDecimal lastYear;
    }