# BudgetDatabaseRoom.java

    package cloud.wconnect.rateshop.entity.budgetdatabase;

    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    import lombok.Getter;
    import lombok.Setter;
    import lombok.ToString;
    import lombok.experimental.Accessors;

    import java.io.Serializable;
    import java.math.BigDecimal;

    /**
     * <p>
     *
     * </p>
     *
     * @author yyt
     * @since 2025-11-10
     */
    @Getter
    @Setter
    @ToString
    @Accessors(chain = true)
    @TableName("budget_database_room")
    public class BudgetDatabaseRoom implements Serializable {

        private static final long serialVersionUID = 1L;

        @TableId(value = "id", type = IdType.AUTO)
        private Integer id;

        /**
         * 资产
         */
        private Integer propertyId;

        /**
         * room tab id
         */
        private Integer tabId;

        /**
         * 指标id
         */
        private Integer roomId;

        /**
         * yyyyMM
         */
        @TableField("`year_month`")
        private Integer yearMonth;

        /**
         * 预测房间数
         */
        private Long budgetRooms;

        /**
         * 预测 adr
         */
        private BigDecimal budgetAdr;

        /**
         * 预测 revenue
         */
        private BigDecimal budgetRevenue;

        /**
         * 实际房间数
         */
        private Integer actualRooms;

        /**
         * 实际 adr
         */
        private BigDecimal actualAdr;

        /**
         * 实际 revenue
         */
        private BigDecimal actualRevenue;

        public boolean hasData() {
            return !(budgetRooms == null && budgetAdr == null && budgetRevenue == null && actualRooms == null && actualAdr == null && actualRevenue == null);
        }

    }