Class CadastroTolerancia

java.lang.Object
br.com.intersys.systextil.function.cadastrotolerancia.CadastroTolerancia

public class CadastroTolerancia extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    alocacaoRolo(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido, String nivelPedido, String grupoPedido, String subgrupoPedido, String itemPedido, int codigoRolo, double qtde_quilos)
    Executa a regra de aloca��o de rolo para um pedido, validando se a quantidade pedida e o resultado calculado est�o dentro dos limites de toler�ncia.
    buscarDadosTolerancia(br.com.intersys.systextil.connection.AppConnection conn, int codEmpresa, int pedidoVenda, int seqItemPedido)
    Busca os dados de toler�ncia a partir do contexto de um pedido (joins com pedi_678, pedi_679, pcpt_020 e basi_400).
    calcularAlocacao(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido, String nivelPedido, String grupoPedido, String subgrupoPedido, String itemPedido, int codigoRolo, double qtde_quilos)
    Realiza o c�lculo preliminar de aloca��o de um rolo em um pedido.
    calculaSaldoPedido(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido)
    Calcula o saldo de um pedido (quantidade pedida e quantidade faturada) a partir da tabela pedi_110, retornando os valores dentro de um ToleranciaDTO.
    static double
    calculoToleranciaValorFinal(br.com.intersys.systextil.connection.AppConnection conn, int codEmpresa, int pedidoVenda, int seqItemPedido, double qtdePedida)
    Calcula o valor final com toler�ncia (pelo fluxo via pedido/seq item), usando buscarDadosTolerancia(...pedido_venda...).
    static String
    getAparenciaDescricao(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia)
    Obt�m a descri��o de uma apar�ncia.
    static String
    getEmpresaDescricao(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2)
    Obt�m a descri��o de uma empresa.
    static String
    getProcessoDescricao(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso)
    Obt�m a descri��o de um processo.
    static double
    getSaldo(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido)
    Calcula o saldo dispon�vel para aloca����o de um rolo em um pedido, considerando a quantidade pedida, faturada e a toler�ncia superior.
    validarAparencia(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia, int codProduto)
    Valida se uma apar�ncia pode ser cadastrada para determinado produto.
    static String
    validarCnpj(br.com.intersys.systextil.connection.AppConnection conn, String cgc_r, String cgc_o, int cgc2)
    Valida o c�digo da empresa retornando nome fantasia e CNPJ fatiado (cgc_9, cgc_4, cgc_2).
    validarEmpresa(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2, int codEmpresa, int codigoEmpresa)
    Valida se uma empresa pode ser cadastrada.
    validarProcesso(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso, int codProduto)
    Valida se um processo pode ser cadastrado para determinado produto.
    static boolean
    validarProduto(br.com.intersys.systextil.connection.AppConnection conn, int cod_produto)
    Verifica se o produto existe na tabela de refer�ncia (basi_030).
    static boolean
    validarRangeValores(br.com.intersys.systextil.connection.AppConnection conn, int codProduto, int codigoTolerancia, String unidade_medida, String codProcesso, String codAparencia, int valorInicial, int valorFinal, int ID)
    Valida se o range informado (valorInicial..valorFinal) conflita com algum range j� existente em pedi_678 para o mesmo produto, respeitando as dimens�es de processo e apar�ncia.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CadastroTolerancia

      public CadastroTolerancia()
  • Method Details

    • validarProduto

      public static boolean validarProduto(br.com.intersys.systextil.connection.AppConnection conn, int cod_produto)
      Verifica se o produto existe na tabela de refer�ncia (basi_030).

      Executa a query ToleranciaQueries.validarProdutoQuery passando o cod_produto como par�metro e retorna true se houver ao menos um registro correspondente.

      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      cod_produto - c�digo do produto/tipo de produto a validar
      Returns:
      true se o produto existir; false caso contr�rio
    • validarProcesso

      public static ValidadeCadastro validarProcesso(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso, int codProduto)
      Valida se um processo pode ser cadastrado para determinado produto.
      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      codProcesso - c�digo do processo a validar (String, pode ser "999")
      codProduto - c�digo do produto ao qual o processo est� associado
      Returns:
      um valor da enumera��o ValidadeCadastro representando o resultado da valida��o
    • validarAparencia

      public static ValidadeCadastro validarAparencia(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia, int codProduto)
      Valida se uma apar�ncia pode ser cadastrada para determinado produto.
      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      codAparencia - c�digo da apar�ncia a validar (int, pode ser 999)
      codProduto - c�digo do produto ao qual a apar�ncia est� associada
      Returns:
      um valor da enumera��o ValidadeCadastro representando o resultado da valida��o
    • validarEmpresa

      public static ValidadeCadastro validarEmpresa(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2, int codEmpresa, int codigoEmpresa)
      Valida se uma empresa pode ser cadastrada.
      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      cnpjR - parte R do CNPJ da empresa a validar (String, pode ser "999999999")
      cnpjO - parte O do CNPJ da empresa a validar (String, pode ser "9999")
      cnpj2 - parte 2 do CNPJ da empresa a validar (int, pode ser 99)
      codEmpresa - c�digo da empresa
      Returns:
      um valor da enumera��o ValidadeCadastro representando o resultado da valida��o
    • getProcessoDescricao

      public static String getProcessoDescricao(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso)
      Obt�m a descri��o de um processo. Caso o c�digo seja "999", retorna "TODOS OS PROCESSOS".
      Parameters:
      conn - conex�o ativa (wrapper AppConnection)
      codProcesso - c�digo do processo (String), ex.: "001", "A10" ou "999"
      Returns:
      descri��o do processo; "TODOS OS PROCESSOS" para 999; string vazia se n�o encontrado
    • getAparenciaDescricao

      public static String getAparenciaDescricao(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia)
      Obt�m a descri��o de uma apar�ncia. Caso o c�digo seja 999, retorna "TODAS AS APAR�NCIAS".
      Parameters:
      conn - conex�o ativa
      codAparencia - c�digo da apar�ncia (int)
      Returns:
      descri��o da apar�ncia; "TODAS AS APAR�NCIAS" para 999; string vazia se n�o encontrado
    • getEmpresaDescricao

      public static String getEmpresaDescricao(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2)
      Obt�m a descri��o de uma empresa. Caso o CNPJ seja "999999999/9999/99", retorna "TODAS AS EMPRESAS".
      Parameters:
      conn - conex�o ativa
      cnpjR - parte R do CNPJ
      cnpjO - parte O do CNPJ
      cnpj2 - parte 2 do CNPJ
      Returns:
      descri��o da empresa; "TODAS AS EMPRESAS" para "999999999/9999/99"; string vazia se n�o encontrado
    • validarRangeValores

      public static boolean validarRangeValores(br.com.intersys.systextil.connection.AppConnection conn, int codProduto, int codigoTolerancia, String unidade_medida, String codProcesso, String codAparencia, int valorInicial, int valorFinal, int ID)
      Valida se o range informado (valorInicial..valorFinal) conflita com algum range j� existente em pedi_678 para o mesmo produto, respeitando as dimens�es de processo e apar�ncia.

      Regras de conflito:

      • Se estiver cadastrando para um processo espec�fico, detecta conflitos tanto com o mesmo processo quanto com registros 999 (TODOS OS PROCESSOS).
      • Se estiver cadastrando com processo 999, detecta conflitos com quaisquer espec�ficos existentes.
      • A mesma l�gica vale para apar�ncia (espec�fico vs 999).
      • Conflito de range: interse��o n�o-vazia entre [valorInicial, valorFinal] e [valor_inicial, valor_final].
      Parameters:
      conn - conex�o ativa
      codProduto - produto
      codProcesso - processo (String) podendo ser "999"
      codAparencia - apar�ncia (int) podendo ser 999
      valorInicial - limite inferior do novo range
      valorFinal - limite superior do novo range
      Returns:
      true se N�O houver conflito (pode cadastrar); false se houver conflito
    • validarCnpj

      public static String validarCnpj(br.com.intersys.systextil.connection.AppConnection conn, String cgc_r, String cgc_o, int cgc2)
      Valida o c�digo da empresa retornando nome fantasia e CNPJ fatiado (cgc_9, cgc_4, cgc_2).
      Parameters:
      conn - conex�o ativa
      codEmpresa - empresa
      Returns:
      True caso exista a empresa ou False se n�o existir
    • calculaSaldoPedido

      public static ToleranciaDTO calculaSaldoPedido(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido)
      Calcula o saldo de um pedido (quantidade pedida e quantidade faturada) a partir da tabela pedi_110, retornando os valores dentro de um ToleranciaDTO.

      Regras:

      • Executa a query ToleranciaQueries.calculaSaldoPedidoQuery com os par�metros do item.
      • Se houver registros, retorna um DTO com qtdePedida e qtdeFaturada preenchidos e os demais campos zerados.
      • Se n�o houver registros, retorna um DTO com todos os valores zerados e flags em false.
      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      codigoEmpresa - c�digo da empresa (n�o utilizado no SQL, mantido por compatibilidade)
      pedidoVenda - n�mero do pedido de venda
      seqPedido - sequ�ncia do item do pedido
      nivelPedido - n�vel do item
      grupoPedido - grupo do item
      subgrupoPedido - subgrupo do item
      itemPedido - c�digo do item
      Returns:
      um ToleranciaDTO com os valores de qtdePedida e qtdeFaturada
    • calculoToleranciaValorFinal

      public static double calculoToleranciaValorFinal(br.com.intersys.systextil.connection.AppConnection conn, int codEmpresa, int pedidoVenda, int seqItemPedido, double qtdePedida) throws Exception
      Calcula o valor final com toler�ncia (pelo fluxo via pedido/seq item), usando buscarDadosTolerancia(...pedido_venda...).
      Parameters:
      conn - conex�o
      codEmpresa - empresa (para o join em pedi_679)
      pedidoVenda - pedido de venda
      seqItemPedido - sequ�ncia do item
      Returns:
      valor final com toler�ncia superior aplicada; 0 se n�o encontrado
      Throws:
      Exception
    • buscarDadosTolerancia

      public static ToleranciaDTO buscarDadosTolerancia(br.com.intersys.systextil.connection.AppConnection conn, int codEmpresa, int pedidoVenda, int seqItemPedido) throws Exception
      Busca os dados de toler�ncia a partir do contexto de um pedido (joins com pedi_678, pedi_679, pcpt_020 e basi_400).

      Observa��o: o join com pcpt_020 foi mantido. Caso a regra de neg�cio vincule processo/apar�ncia de outra forma, � necess�rio ajustar a query em ToleranciaQueries.buscarDadosToleranciaQuery.

      Parameters:
      conn - conex�o ativa ao banco (wrapper AppConnection)
      codEmpresa - c�digo da empresa (join em pedi_679)
      pedidoVenda - n�mero do pedido de venda
      seqItemPedido - sequ�ncia do item do pedido
      Returns:
      ToleranciaDTO preenchido com valores de toler�ncia; se n�o encontrar, retorna DTO com valores -1.0 e flags false
      Throws:
      Exception
    • calcularAlocacao

      public static ToleranciaDTO calcularAlocacao(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido, String nivelPedido, String grupoPedido, String subgrupoPedido, String itemPedido, int codigoRolo, double qtde_quilos) throws Exception
      Realiza o c�lculo preliminar de aloca��o de um rolo em um pedido.

      Fluxo:

      1. Obt�m o saldo do pedido (quantidade pedida e faturada) via calculaSaldoPedido(br.com.intersys.systextil.connection.AppConnection, int, int, int).
      2. Calcula o valor final permitido aplicando a toler�ncia superior sobre a quantidade pedida.
      3. Obt�m o peso do rolo via pesoRolo(br.com.intersys.systextil.connection.AppConnection, int).
      4. Calcula o saldo dispon�vel (valorFinal - qtdeFaturada).
      5. Deduz o peso do rolo, resultando em resultado.

      Os valores calculados s�o retornados em um ToleranciaDTO, com os campos valorFinal, qtdeFaturada, qtdePedida e resultado preenchidos. Demais campos s�o inicializados com zero.

      Parameters:
      conn - conex�o ativa com o banco de dados
      codigoEmpresa - c�digo da empresa
      pedidoVenda - n�mero do pedido de venda
      seqPedido - sequ�ncia do item do pedido
      nivelPedido - n�vel do item
      grupoPedido - grupo do item
      subgrupoPedido - subgrupo do item
      itemPedido - c�digo do item
      codigoRolo - identificador do rolo a ser avaliado
      Returns:
      ToleranciaDTO com dados de saldo, quantidade e resultado da aloca��o
      Throws:
      Exception
    • getSaldo

      public static double getSaldo(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido) throws Exception
      Calcula o saldo dispon�vel para aloca����o de um rolo em um pedido, considerando a quantidade pedida, faturada e a toler�ncia superior. O saldo �� calculado como: (valorFinal - qtdeFaturada) - qtdeAFaturar onde: - valorFinal: quantidade pedida + toler�ncia superior - qtdeFaturada: quantidade j� faturada - qtdeAFaturar: quantidade a faturar (reservada)
      Parameters:
      conn -
      codigoEmpresa -
      pedidoVenda -
      seqPedido -
      Returns:
      Throws:
      Exception
    • alocacaoRolo

      public static ToleranciaDTO alocacaoRolo(br.com.intersys.systextil.connection.AppConnection conn, int codigoEmpresa, int pedidoVenda, int seqPedido, String nivelPedido, String grupoPedido, String subgrupoPedido, String itemPedido, int codigoRolo, double qtde_quilos) throws Exception
      Executa a regra de aloca��o de rolo para um pedido, validando se a quantidade pedida e o resultado calculado est�o dentro dos limites de toler�ncia.

      Fluxo:

      1. Chama calcularAlocacao(br.com.intersys.systextil.connection.AppConnection, int, int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, double) para obter um ToleranciaDTO base com saldo, limites e resultado.
      2. Verifica se qtdePedida est� dentro do intervalo [valorInicial, valorFinal].
      3. Se estiver dentro:
        • Se resultado > valorFinal ? retorna DTO marcando viola��o superior.
        • Se resultado < valorInicial ? retorna DTO marcando viola��o inferior.
        • Se resultado estiver dentro do range ? retorna DTO v�lido, sem erro.
      4. Se qtdePedida estiver fora do intervalo ? retorna DTO �zerado�.
      Parameters:
      conn - conex�o ativa com o banco de dados
      codigoEmpresa - c�digo da empresa
      pedidoVenda - n�mero do pedido de venda
      seqPedido - sequ�ncia do item do pedido
      nivelPedido - n�vel do item
      grupoPedido - grupo do item
      subgrupoPedido - subgrupo do item
      itemPedido - c�digo do item
      codigoRolo - identificador do rolo a ser avaliado
      Returns:
      ToleranciaDTO contendo os valores calculados, limites e flags de valida��o
      Throws:
      Exception