diff --git a/src/com/rjconsultores/ventaboletos/utilerias/UtileriasFiscal.java b/src/com/rjconsultores/ventaboletos/utilerias/UtileriasFiscal.java index b0b448e05..873d656ad 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/UtileriasFiscal.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/UtileriasFiscal.java @@ -10,6 +10,8 @@ public class UtileriasFiscal { private static int ROUNDING_MODE = BigDecimal.ROUND_HALF_EVEN; public static String defineCodigoProduto(Integer idOrigemCorrida, Integer idDestinoCorrida, Integer idLinha) { + int tamanhoMaximo = 12; + String codOrigem = Integer.toHexString(idOrigemCorrida); String codDestino = Integer.toHexString(idDestinoCorrida); String codLinha = Integer.toHexString(idLinha); @@ -19,12 +21,16 @@ public class UtileriasFiscal { codLinha = codLinha.toUpperCase() + StringUtils.repeat("X", 3 - codLinha.length()); String codProduto = codOrigem + codDestino + codLinha + "-"; + + if (codProduto.length() > tamanhoMaximo){ + codProduto = codProduto.substring(1,tamanhoMaximo+1); + } return codProduto; } public static void main(String args[]) { - System.out.println(defineCodigoProduto(5410, 3603, 1)); + System.out.println(defineCodigoProduto(5611, 14199, 4212)); } public static String formataNumerico(final String valor, final int tamanho) {