# MonthlyRevenueCons.java

    package cloud.wconnect.rateshop.cons.weeklymonthlyrevenue;

    import org.apache.poi.ss.usermodel.IndexedColors;

    import java.util.List;

    /**
     * Cons: Monthly Revenue
     *
     * @author zc
     * @date 2025/05/24
     */
    public class MonthlyRevenueCons {
        /**
         * 解析事件体 - 分类
         */
        public static final String EVENT_CATEGORY = "category";
        /**
         * 解析事件体 - 版本日期
         */
        public static final String EVENT_VERSION_DATE = "versionDate";

        public static final Integer GROUP_CONTRACTED = 1;
        public static final Integer GROUP_CANCELLED = 2;

        /**
         * Opera 平台包含的报告类型集合
         */
        public static final List<Integer> OPERA_PMS_REPORT_TYPE_LIST = List.of(
                MonthlyRevenueReportCategoryEnum.HISTORY_AND_FORECAST.getCategory(),
                MonthlyRevenueReportCategoryEnum.GROUP_PICKUP.getCategory(),
                MonthlyRevenueReportCategoryEnum.RESERVATION_STATISTICS.getCategory(),
                MonthlyRevenueReportCategoryEnum.RESERVATION_FORECAST.getCategory(),
                MonthlyRevenueReportCategoryEnum.CANCELLATION_SUMMARY.getCategory(),
                MonthlyRevenueReportCategoryEnum.MANAGER_FLASH.getCategory());
        /**
         * Shiji 平台包含的报告类型集合
         */
        public static final List<Integer> SHIJI_PMS_REPORT_TYPE_LIST = List.of(
                MonthlyRevenueReportCategoryEnum.HISTORY_AND_FORECAST.getCategory(),
                MonthlyRevenueReportCategoryEnum.GROUP_PICKUP.getCategory(),
                MonthlyRevenueReportCategoryEnum.RESERVATION_FORECAST.getCategory(),
                MonthlyRevenueReportCategoryEnum.CANCELLATION_SUMMARY.getCategory(),
                MonthlyRevenueReportCategoryEnum.MANAGER_FLASH.getCategory());

        /**
         * PEP 平台包含的报告类型集合
         */
        public static final List<Integer> PEP_PMS_REPORT_TYPE_LIST = List.of(
                MonthlyRevenueReportCategoryEnum.HISTORY_AND_FORECAST.getCategory(),
                MonthlyRevenueReportCategoryEnum.MANAGER_FLASH.getCategory());

        /**
         * 预测
         */
        public static final int FORECAST = 0;
        public static final short FORECAST_COLOR = IndexedColors.LIGHT_TURQUOISE.getIndex();

        /**
         * 历史
         */
        public static final int HISTORY = 1;
        public static final short HISTORY_COLOR = IndexedColors.GREY_25_PERCENT.getIndex();

        /**
         * 历史和预测报告中数据类型： 历史、预测
         */
        public static final String HISTORY_AND_FORECAST_REPORT_DATA_HISTORY = "History";
        public static final String HISTORY_AND_FORECAST_REPORT_DATA_FORECAST = "Forecast";

        /**
         * Opera 平台包含的通知类型集合
         */
        public static final List<Integer> OPERA_PMS_NOTIFY_TYPE_LIST = List.of(
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_HISTORY_AND_FORECAST.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_GROUP_PICKUP.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_STATISTICS.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_FORECAST.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_CANCELLATION_SUMMARY.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_ONE_DAY_AGO.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_TWO_DAY_AGO.getType());
        /**
         * Shiji 平台包含的通知类型集合
         */
        public static final List<Integer> SHIJI_PMS_NOTIFY_TYPE_LIST = List.of(
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_HISTORY_AND_FORECAST.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_GROUP_PICKUP.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_RESERVATION_FORECAST.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_CANCELLATION_SUMMARY.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_ONE_DAY_AGO.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_TWO_DAY_AGO.getType());

        /**
         * PEP 平台包含的通知类型集合
         */
        public static final List<Integer> PEP_PMS_NOTIFY_TYPE_LIST = List.of(
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_HISTORY_AND_FORECAST.getType(),
                MonthlyRevenueNotifyTypeEnum.MISSING_REPORT_MANAGER_FLASH_ONE_DAY_AGO.getType());

    }