# SalesConfigMonthlyTargetDTO.java

    package cloud.wconnect.workperformance.pojo.dto.saleskpi.config;

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import cloud.wconnect.commonlib.pojo.dto.jsonview.Views;
    import com.fasterxml.jackson.annotation.JsonView;
    import jakarta.validation.constraints.DecimalMin;
    import jakarta.validation.constraints.Digits;
    import jakarta.validation.constraints.NotNull;
    import lombok.AllArgsConstructor;
    import lombok.Builder;
    import lombok.Data;
    import lombok.NoArgsConstructor;

    import java.math.BigDecimal;

    /**
     * DTO: Sales Config Monthly Target
     *
     * @author zc
     * @date 2023/09/19
     */
    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public class SalesConfigMonthlyTargetDTO {

        /**
         * Monthly Item id
         */
        @JsonView(Views.ListView.class)
        @NotNull(message = "The itemId cannot be null")
        private Integer itemId;

        /**
         * Monthly Item title
         */
        @JsonView(Views.ListView.class)
        private String title;

        /**
         * Monthly Target Value
         */
        @JsonView(Views.ListView.class)
        @NotNull(message = "The targetValue cannot be null")
        @DigitsCustom(integer = 8, message = "The targetValue is wrong format")
        @DecimalMin(value = "0", message = "The targetValue min is 0")
        private BigDecimal targetValue;
    }