Rev 34406 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.enumuration.catalog;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public enum SchemeType {BASE(StockTransactionType.IN, AmountType.PERCENTAGE, "Base Payout"),CASH_DISCOUNT(StockTransactionType.IN, AmountType.PERCENTAGE, "Cash Discount"),CASH_DISCOUNT1(StockTransactionType.IN, AmountType.PERCENTAGE, "Cash Discount1"),UPFRONT(StockTransactionType.IN, AmountType.PERCENTAGE, "Upfront Payout"),SELLIN(StockTransactionType.IN, AmountType.FIXED, "Sellin Support"),INVESTMENT(StockTransactionType.OUT, AmountType.PERCENTAGE, "Investment Payout"),CATEGORY(StockTransactionType.OUT, AmountType.PERCENTAGE, "Category Payout"),HYGIENE(StockTransactionType.OUT, AmountType.PERCENTAGE, "Hygiene Payout"),TERTIARY(StockTransactionType.OUT, AmountType.PERCENTAGE, "Tertiary Payout"),SPECIAL_SUPPORT(StockTransactionType.OUT, AmountType.FIXED, "Special Support"),SELLOUT(StockTransactionType.OUT, AmountType.FIXED, "Sellout Support"),//No longer being usedSELLOUT_PERCENTAGE(StockTransactionType.OUT, AmountType.PERCENTAGE, "Sellout Support %"),;public static List<SchemeType> FIXED_TYPES = Arrays.stream(SchemeType.values()).filter(x -> x.getAmountType().equals(AmountType.FIXED)).collect(Collectors.toList());public static List<SchemeType> PERCENTAGE_TYPES = Arrays.stream(SchemeType.values()).filter(x -> x.getAmountType().equals(AmountType.PERCENTAGE)).collect(Collectors.toList());public static List<SchemeType> OUT_TYPES = Arrays.stream(SchemeType.values()).filter(x -> x.getTransactionType().equals(StockTransactionType.OUT)).collect(Collectors.toList());public static final List<SchemeType> IN_TYPES = Arrays.stream(SchemeType.values()).filter(x -> x.getTransactionType().equals(StockTransactionType.IN)).collect(Collectors.toList());public static List<SchemeType> RESTRICTED_SCHEMES_TYPES = Arrays.asList(SELLIN, SELLOUT, SPECIAL_SUPPORT);public static List<SchemeType> OUT_TYPE_PERCENTAGE = OUT_TYPES.stream().filter(x -> x.getAmountType().equals(AmountType.PERCENTAGE)).collect(Collectors.toList());public static List<SchemeType> OUT_TYPE_FIXED = OUT_TYPES.stream().filter(x -> x.getAmountType().equals(AmountType.FIXED)).collect(Collectors.toList());public static List<SchemeType> OUT_SCHEME_TYPES = Arrays.asList(SchemeType.CATEGORY, SchemeType.HYGIENE, SchemeType.TERTIARY, SchemeType.SELLOUT, SchemeType.SELLOUT_PERCENTAGE);private StockTransactionType stockTransactionType;public static final List<SchemeType> CDS = Arrays.asList(CASH_DISCOUNT, CASH_DISCOUNT1);private AmountType amountType;private String value;SchemeType(StockTransactionType stockTransactionType, AmountType amountType, String value) {this.amountType = amountType;this.stockTransactionType = stockTransactionType;this.value = value;}public static List<SchemeType> getFixedTypes() {return Arrays.stream(SchemeType.values()).filter(x -> x.getAmountType().equals(AmountType.FIXED)).collect(Collectors.toList());}public String getValue() {return value;}public StockTransactionType getTransactionType() {return stockTransactionType;}public AmountType getAmountType() {return amountType;}}