Class CadastroTolerancia
java.lang.Object
br.com.intersys.systextil.function.cadastrotolerancia.CadastroTolerancia
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ToleranciaDTOalocacaoRolo(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.static ToleranciaDTObuscarDadosTolerancia(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 compedi_678,pedi_679,pcpt_020ebasi_400).static ToleranciaDTOcalcularAlocacao(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.static ToleranciaDTOcalculaSaldoPedido(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 tabelapedi_110, retornando os valores dentro de umToleranciaDTO.static doublecalculoToleranciaValorFinal(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 StringgetAparenciaDescricao(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia) Obt�m a descri��o de uma apar�ncia.static StringgetEmpresaDescricao(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2) Obt�m a descri��o de uma empresa.static StringgetProcessoDescricao(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso) Obt�m a descri��o de um processo.static doublegetSaldo(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.static ValidadeCadastrovalidarAparencia(br.com.intersys.systextil.connection.AppConnection conn, int codAparencia, int codProduto) Valida se uma apar�ncia pode ser cadastrada para determinado produto.static StringvalidarCnpj(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).static ValidadeCadastrovalidarEmpresa(br.com.intersys.systextil.connection.AppConnection conn, String cnpjR, String cnpjO, int cnpj2, int codEmpresa, int codigoEmpresa) Valida se uma empresa pode ser cadastrada.static ValidadeCadastrovalidarProcesso(br.com.intersys.systextil.connection.AppConnection conn, String codProcesso, int codProduto) Valida se um processo pode ser cadastrado para determinado produto.static booleanvalidarProduto(br.com.intersys.systextil.connection.AppConnection conn, int cod_produto) Verifica se o produto existe na tabela de refer�ncia (basi_030).static booleanvalidarRangeValores(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.
-
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.validarProdutoQuerypassando ocod_produtocomo par�metro e retornatruese houver ao menos um registro correspondente.- Parameters:
conn- conex�o ativa ao banco (wrapperAppConnection)cod_produto- c�digo do produto/tipo de produto a validar- Returns:
truese o produto existir;falsecaso 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
ValidadeCadastrorepresentando 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
ValidadeCadastrorepresentando 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
ValidadeCadastrorepresentando 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 ativacodAparencia- 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 ativacnpjR- parte R do CNPJcnpjO- parte O do CNPJcnpj2- 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 ativacodProduto- produtocodProcesso- processo (String) podendo ser "999"codAparencia- apar�ncia (int) podendo ser 999valorInicial- limite inferior do novo rangevalorFinal- limite superior do novo range- Returns:
truese N�O houver conflito (pode cadastrar);falsese 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 ativacodEmpresa- 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 tabelapedi_110, retornando os valores dentro de umToleranciaDTO.Regras:
- Executa a query
ToleranciaQueries.calculaSaldoPedidoQuerycom os par�metros do item. - Se houver registros, retorna um DTO com
qtdePedidaeqtdeFaturadapreenchidos 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 (wrapperAppConnection)codigoEmpresa- c�digo da empresa (n�o utilizado no SQL, mantido por compatibilidade)pedidoVenda- n�mero do pedido de vendaseqPedido- sequ�ncia do item do pedidonivelPedido- n�vel do itemgrupoPedido- grupo do itemsubgrupoPedido- subgrupo do itemitemPedido- c�digo do item- Returns:
- um
ToleranciaDTOcom os valores deqtdePedidaeqtdeFaturada
- Executa a query
-
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�ocodEmpresa- empresa (para o join em pedi_679)pedidoVenda- pedido de vendaseqItemPedido- 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 compedi_678,pedi_679,pcpt_020ebasi_400).Observa��o: o join com
pcpt_020foi mantido. Caso a regra de neg�cio vincule processo/apar�ncia de outra forma, � necess�rio ajustar a query emToleranciaQueries.buscarDadosToleranciaQuery.- Parameters:
conn- conex�o ativa ao banco (wrapperAppConnection)codEmpresa- c�digo da empresa (join empedi_679)pedidoVenda- n�mero do pedido de vendaseqItemPedido- sequ�ncia do item do pedido- Returns:
ToleranciaDTOpreenchido com valores de toler�ncia; se n�o encontrar, retorna DTO com valores -1.0 e flagsfalse- 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:
- Obt�m o saldo do pedido (quantidade pedida e faturada) via
calculaSaldoPedido(br.com.intersys.systextil.connection.AppConnection, int, int, int). - Calcula o valor final permitido aplicando a toler�ncia superior sobre a quantidade pedida.
- Obt�m o peso do rolo via
pesoRolo(br.com.intersys.systextil.connection.AppConnection, int). - Calcula o saldo dispon�vel (
valorFinal - qtdeFaturada). - Deduz o peso do rolo, resultando em
resultado.
Os valores calculados s�o retornados em um
ToleranciaDTO, com os camposvalorFinal,qtdeFaturada,qtdePedidaeresultadopreenchidos. Demais campos s�o inicializados com zero.- Parameters:
conn- conex�o ativa com o banco de dadoscodigoEmpresa- c�digo da empresapedidoVenda- n�mero do pedido de vendaseqPedido- sequ�ncia do item do pedidonivelPedido- n�vel do itemgrupoPedido- grupo do itemsubgrupoPedido- subgrupo do itemitemPedido- c�digo do itemcodigoRolo- identificador do rolo a ser avaliado- Returns:
ToleranciaDTOcom dados de saldo, quantidade e resultado da aloca��o- Throws:
Exception
- Obt�m o saldo do pedido (quantidade pedida e faturada) via
-
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:
- 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 umToleranciaDTObase com saldo, limites e resultado. - Verifica se
qtdePedidaest� dentro do intervalo [valorInicial,valorFinal]. - Se estiver dentro:
- Se
resultado > valorFinal? retorna DTO marcando viola��o superior. - Se
resultado < valorInicial? retorna DTO marcando viola��o inferior. - Se
resultadoestiver dentro do range ? retorna DTO v�lido, sem erro.
- Se
- Se
qtdePedidaestiver fora do intervalo ? retorna DTO �zerado�.
- Parameters:
conn- conex�o ativa com o banco de dadoscodigoEmpresa- c�digo da empresapedidoVenda- n�mero do pedido de vendaseqPedido- sequ�ncia do item do pedidonivelPedido- n�vel do itemgrupoPedido- grupo do itemsubgrupoPedido- subgrupo do itemitemPedido- c�digo do itemcodigoRolo- identificador do rolo a ser avaliado- Returns:
ToleranciaDTOcontendo os valores calculados, limites e flags de valida��o- Throws:
Exception
- Chama
-