diff --git a/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java index b0a7e0951..1ba6f148f 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java @@ -1,9 +1,14 @@ package com.rjconsultores.ventaboletos.utilerias; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import com.rjconsultores.ventaboletos.entidad.OCD; public class OcdUtil { + private static final String REGEX = "([0-9]+)([A-Za-z]{3})([0-9]+)"; + public static String generaLocalizadorOCD(OCD ocd) { return generaLocalizadorOCD(ocd.getNumoperacion(), ocd.getOcdId()); } @@ -15,5 +20,25 @@ public class OcdUtil { String localizador = String.format("%s%s%s%s%d", numoperacion, letraPosicao1, letraPosicao2, letraPosicao3, ocdId).toLowerCase(); return localizador; } + + public static boolean validarLocalizadorOcd(String localizador) { + Pattern localizadorPattern = Pattern.compile(REGEX); + Matcher localizadorMatcher = localizadorPattern.matcher(localizador); + return localizadorMatcher.matches(); + } + + public static Long getOcdIdByLocalizadorOcd(String localizador) { + Pattern localizadorPattern = Pattern.compile(REGEX); + Matcher localizadorMatcher = localizadorPattern.matcher(localizador); + localizadorMatcher.matches(); + return Long.valueOf(localizadorMatcher.group(3)); + } + + public static String getNumOcdByLocalizadorOcd(String localizador) { + Pattern localizadorPattern = Pattern.compile(REGEX); + Matcher localizadorMatcher = localizadorPattern.matcher(localizador); + localizadorMatcher.matches(); + return localizadorMatcher.group(1); + } }