# ExpenseCategoryItemDTO.java

    package cloud.wconnect.workperformance.pojo.dto.monthlyreport.expenses;

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import lombok.AllArgsConstructor;
    import lombok.Builder;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.hibernate.validator.constraints.Length;

    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.NotNull;
    import java.math.BigDecimal;

    /**
     * 花销明细数据
     *
     * @author lichen
     * @date 2023/9/4
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public class ExpenseCategoryItemDTO {

        /**
         * 分类id
         */
        private Integer categoryId;

        /**
         * 花销明细项
         */
        @NotBlank(message = "The lineItem cannot be blank")
        @Length(max = 100, message = "The lineItem is limited 100 characters")
        private String lineItem;

        /**
         * 月差别值
         */
        @NotNull(message = "The varBdgtMtd cannot be null")
        @DigitsCustom(integer = 10, message = "The varBdgtMtd is wrong format")
        private BigDecimal varBdgtMtd;

        /**
         * 年差别值
         */
        @NotNull(message = "The varBdgtYtd cannot be null")
        @DigitsCustom(integer = 10, message = "The varBdgtYtd is wrong format")
        private BigDecimal varBdgtYtd;

        /**
         * 备注
         */
        private String comment;

    }