80 lines
2.1 KiB
Java
80 lines
2.1 KiB
Java
package com.mgm.mcrm.common.enums;
|
|
|
|
import lombok.Getter;
|
|
|
|
public enum EnumBookingStatus {
|
|
|
|
DUE_IN("DUE IN", "DUE_IN"),
|
|
DUE_IN_UNDERSCORE("DUE_IN", "DUE_IN"),
|
|
DUEIN("DUEIN", "DUE_IN"),
|
|
RESERVED("RESERVED", "RESERVED"),
|
|
RESERVE("Reserved", "RESERVED"),
|
|
CHECKEDIN("Checked in", "CHECKED_IN"),
|
|
CHECKED_IN("CHECKED IN", "CHECKED_IN"),
|
|
CHECKED_IN_UNDERSCORE("CHECKED_IN", "CHECKED_IN"),
|
|
CHECK_IN("CHECK_IN", "CHECKED_IN"),
|
|
CHECK_IN_IN_HOUSE("CHECK_IN(IN_HOUSE)", "CHECKED_IN"),
|
|
CHECKED_OUT("CHECKED OUT", "CHECKED_OUT"),
|
|
CHECKED_OUT_UNDERSCORE("CHECKED_OUT", "CHECKED_OUT"),
|
|
INHOUSE("INHOUSE", "CHECKED_IN"),
|
|
IN_HOUSE("IN-HOUSE", "CHECKED_IN"),
|
|
IN_HOUSE_UNDERSCORE("IN_HOUSE", "CHECKED_IN"),
|
|
IN("IN", "CHECKED_IN"),
|
|
IH("IH", "CHECKED_IN"),
|
|
DUE_OUT("DUE OUT", "DUE_OUT"),
|
|
DUE_OUT_UNDERSCORE("DUE_OUT", "DUE_OUT"),
|
|
DUEOUT("DUEOUT", "DUE_OUT"),
|
|
CANCELED("CANCELED", "CANCELED"),
|
|
CANCELLED("CANCELLED", "CANCELED"),
|
|
NO_SHOW("No-Show", "NO_SHOW");
|
|
|
|
@Getter
|
|
private final String key;
|
|
@Getter
|
|
private final String value;
|
|
|
|
EnumBookingStatus(String key, String value) {
|
|
this.key = key;
|
|
this.value = value;
|
|
}
|
|
|
|
public static String getStatusByDaylightStatus(String key) {
|
|
if (key == null) {
|
|
return "UNKNOWN";
|
|
}
|
|
String normalizedKey = key.trim();
|
|
EnumBookingStatus[] objs = values();
|
|
for (EnumBookingStatus obj : objs) {
|
|
if (obj.getKey().equalsIgnoreCase(normalizedKey)) {
|
|
return obj.getValue();
|
|
}
|
|
}
|
|
String compactKey = normalizeStatusKey(normalizedKey);
|
|
for (EnumBookingStatus obj : objs) {
|
|
String compactObjKey = normalizeStatusKey(obj.getKey());
|
|
if (compactObjKey.equalsIgnoreCase(compactKey)) {
|
|
return obj.getValue();
|
|
}
|
|
}
|
|
if (compactKey.contains("CHECKIN") || compactKey.contains("INHOUSE")) {
|
|
return "CHECKED_IN";
|
|
}
|
|
return "UNKNOWN";
|
|
}
|
|
|
|
private static String normalizeStatusKey(String key) {
|
|
return key == null ? "" : key.replaceAll("[^A-Za-z0-9]", "");
|
|
}
|
|
|
|
public static boolean isInclude(String value) {
|
|
boolean include = false;
|
|
for (EnumBookingStatus e : EnumBookingStatus.values()) {
|
|
if (e.getValue().equals(value)) {
|
|
include = true;
|
|
break;
|
|
}
|
|
}
|
|
return include;
|
|
}
|
|
}
|