package gcom.gui.faturamento;
import gcom.arrecadacao.pagamento.FiltroGuiaPagamento;
import gcom.arrecadacao.pagamento.GuiaPagamento;
import gcom.cadastro.cliente.Cliente;
import gcom.cadastro.imovel.FiltroImovel;
import gcom.cadastro.imovel.Imovel;
import gcom.cobranca.CobrancaDocumento;
import gcom.cobranca.DocumentoTipo;
import gcom.cobranca.FiltroCobrancaDocumento;
import gcom.cobranca.FiltroDocumentoTipo;
import gcom.fachada.Fachada;
import gcom.faturamento.DocumentoNaoEntregue;
import gcom.faturamento.GuiaPagamentoGeral;
import gcom.faturamento.conta.Conta;
import gcom.faturamento.conta.ContaGeral;
import gcom.faturamento.conta.Fatura;
import gcom.faturamento.conta.FiltroFatura;
import gcom.faturamento.conta.MotivoNaoEntregaDocumento;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.seguranca.acesso.usuario.Usuario;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* Action utilizado para Informar a N�o Entrega de Documentos no banco
*
* [UC0559] Informar N�o Entrega de Documentos Permite informar uma N�o Entrega
* de Documentos
*
* @author Thiago Ten�rio
* @since 03/04/2007
*/
public class InformarNaoEntregaDocumentosAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
Usuario usuarioLogado = (Usuario) sessao.getAttribute(Usuario.USUARIO_LOGADO);
InformarNaoEntregaDocumentosActionForm informarNaoEntregaDocumentosActionForm = (InformarNaoEntregaDocumentosActionForm) actionForm;
String idResponsavelEntrega = informarNaoEntregaDocumentosActionForm.getIdResponsavelEntrega();
String tipoDocumento = informarNaoEntregaDocumentosActionForm
.getTipoDocumento();
String mesAnoConta = informarNaoEntregaDocumentosActionForm
.getMesAnoConta();
String idCodigo1 = informarNaoEntregaDocumentosActionForm
.getIdCodigo1();
String idCodigo2 = informarNaoEntregaDocumentosActionForm
.getIdCodigo2();
String idCodigo3 = informarNaoEntregaDocumentosActionForm
.getIdCodigo3();
String idCodigo4 = informarNaoEntregaDocumentosActionForm
.getIdCodigo4();
String idCodigo5 = informarNaoEntregaDocumentosActionForm
.getIdCodigo5();
String idCodigo6 = informarNaoEntregaDocumentosActionForm
.getIdCodigo6();
String idCodigo7 = informarNaoEntregaDocumentosActionForm
.getIdCodigo7();
String idCodigo8 = informarNaoEntregaDocumentosActionForm
.getIdCodigo8();
String idCodigo9 = informarNaoEntregaDocumentosActionForm
.getIdCodigo9();
String idCodigo10 = informarNaoEntregaDocumentosActionForm
.getIdCodigo10();
String idCodigo11 = informarNaoEntregaDocumentosActionForm
.getIdCodigo11();
String idCodigo12 = informarNaoEntregaDocumentosActionForm
.getIdCodigo12();
String idCodigo13 = informarNaoEntregaDocumentosActionForm
.getIdCodigo13();
String idCodigo14 = informarNaoEntregaDocumentosActionForm
.getIdCodigo14();
String idCodigo15 = informarNaoEntregaDocumentosActionForm
.getIdCodigo15();
String idCodigo16 = informarNaoEntregaDocumentosActionForm
.getIdCodigo16();
String idCodigo17 = informarNaoEntregaDocumentosActionForm
.getIdCodigo17();
String idCodigo18 = informarNaoEntregaDocumentosActionForm
.getIdCodigo18();
String idCodigo19 = informarNaoEntregaDocumentosActionForm
.getIdCodigo19();
String idCodigo20 = informarNaoEntregaDocumentosActionForm
.getIdCodigo20();
DocumentoTipo documentoTipo = new DocumentoTipo();
if (Util.isCampoComboboxInformado(tipoDocumento)) {
documentoTipo = consultarTipoDocumento(informarNaoEntregaDocumentosActionForm);
}
Date dataDevolucaoFormatada = Util.converteStringParaDate(
informarNaoEntregaDocumentosActionForm.getDataDevolucao());
// Cria um Cliente que ser� setado no Respons�vel pela Entrega os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
Cliente cliente = null;
if ( Util.verificarNaoVazio(idResponsavelEntrega)) {
cliente = new Cliente();
cliente.setId(new Integer(
informarNaoEntregaDocumentosActionForm.getIdResponsavelEntrega()));
}
Collection<DocumentoNaoEntregue> colecaoDocumentosNaoEntregues = new ArrayList<DocumentoNaoEntregue>();
Integer contador = 0;
if (idCodigo1 != null && !idCodigo1.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo1,informarNaoEntregaDocumentosActionForm.getQtTentativas1(),
documentoTipo,informarNaoEntregaDocumentosActionForm.getMatriculaOuNumeroDocumento1(),
mesAnoConta,dataDevolucaoFormatada, cliente,colecaoDocumentosNaoEntregues);
contador = contador +1;
}
if (idCodigo2 != null && !idCodigo2.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo2,
informarNaoEntregaDocumentosActionForm.getQtTentativas2(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento2(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 3
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo3 != null && !idCodigo3.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo3,
informarNaoEntregaDocumentosActionForm.getQtTentativas3(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento3(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 4
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo4 != null && !idCodigo4.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo4,
informarNaoEntregaDocumentosActionForm.getQtTentativas4(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento4(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 5
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo5 != null && !idCodigo5.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo5,
informarNaoEntregaDocumentosActionForm.getQtTentativas5(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento5(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 6
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo6 != null && !idCodigo6.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo6,
informarNaoEntregaDocumentosActionForm.getQtTentativas6(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento6(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 7
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo7 != null && !idCodigo7.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo7,
informarNaoEntregaDocumentosActionForm.getQtTentativas7(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento7(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 8
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo8 != null && !idCodigo8.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo8,
informarNaoEntregaDocumentosActionForm.getQtTentativas8(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento8(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 9
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo9 != null && !idCodigo9.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo9,
informarNaoEntregaDocumentosActionForm.getQtTentativas9(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento9(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 10
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo10 != null && !idCodigo10.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo10,
informarNaoEntregaDocumentosActionForm.getQtTentativas10(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento10(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 11
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo11 != null && !idCodigo11.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo11,
informarNaoEntregaDocumentosActionForm.getQtTentativas11(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento11(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 12
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo12 != null && !idCodigo12.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo12,
informarNaoEntregaDocumentosActionForm.getQtTentativas12(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento12(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 13
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo13 != null && !idCodigo13.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo13,
informarNaoEntregaDocumentosActionForm.getQtTentativas13(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento13(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 14
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo14 != null && !idCodigo14.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo14,
informarNaoEntregaDocumentosActionForm.getQtTentativas14(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento14(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 15
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo15 != null && !idCodigo15.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo15,
informarNaoEntregaDocumentosActionForm.getQtTentativas15(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento15(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 16
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo16 != null && !idCodigo16.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo16,
informarNaoEntregaDocumentosActionForm.getQtTentativas16(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento16(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 17
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo17 != null && !idCodigo17.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo17,
informarNaoEntregaDocumentosActionForm.getQtTentativas17(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento17(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 18
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo18 != null && !idCodigo18.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo18,
informarNaoEntregaDocumentosActionForm.getQtTentativas18(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento18(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 19
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo19 != null && !idCodigo19.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo19,
informarNaoEntregaDocumentosActionForm.getQtTentativas19(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento19(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
// Tabela 20
// Cria todos os campos a serem setados no banco e que ser�o setados na classe N�o entrega de Documentos
// os
// valores informados pelo
// usu�rio na pagina para ser inserido no banco
if (idCodigo20 != null && !idCodigo20.equals("-1")) {
montarDocumentoNaoEntregue(idCodigo20,
informarNaoEntregaDocumentosActionForm.getQtTentativas20(),
documentoTipo,
informarNaoEntregaDocumentosActionForm
.getMatriculaOuNumeroDocumento20(), mesAnoConta,
dataDevolucaoFormatada, cliente,
colecaoDocumentosNaoEntregues);
contador = contador +1;
}
if( !Util.isVazioOrNulo(colecaoDocumentosNaoEntregues)){
verificarDocumentoRepetido(documentoTipo,colecaoDocumentosNaoEntregues);
}
// Informar um Documento N�o Entregue na base, mas fazendo, antes,
// algumas verifica��es no ControladorFaturamento.
fachada.informarNaoEntregaDocumentos(colecaoDocumentosNaoEntregues,usuarioLogado);
// Exibe a p�gina de sucesso
montarPaginaSucesso(httpServletRequest,
+ contador
+ " Documento(s) N�o Entregue(s) Informado(s) com Sucesso.",
"Informar outro Documentos N�o Entregues",
"exibirInformarNaoEntregaDocumentosAction.do?menu=sim");
return actionMapping.findForward("telaSucesso");
}
/**
* O m�todo itera sob a cole��o de documentos n�o entegues
* verificando se o usu�rio informou o mesmo documento mais de uma vez,
* seja ele com o mesmo motivo ou n�o, e caso seja verdade lan�ar� uma exce��o.
*
* OBS: Para identificar que n�o se est� comprando o mesmo objeto
* compara-se pela data de ultima altera��o, pois ela � obtida com um (new Date()),
* sendo assim, o �nico campo que possibilita essa distin��o via c�digo.
*
*@since 13/10/2009
*@author Marlon Patrick
*/
private void verificarDocumentoRepetido(DocumentoTipo documentoTipo,
Collection<DocumentoNaoEntregue> colecaoDocumentosNaoEntregues) {
boolean isDocumentoRepetido = false;
for(DocumentoNaoEntregue documento : colecaoDocumentosNaoEntregues){
for(DocumentoNaoEntregue documentoTemp : colecaoDocumentosNaoEntregues){
if (documentoTipo.getId().equals(DocumentoTipo.CONTA)) {
if(!documento.getUltimaAlteracao().equals(documentoTemp.getUltimaAlteracao())){
if(documento.getContaGeral().getConta().getId().equals(
documentoTemp.getContaGeral().getConta().getId())){
isDocumentoRepetido = true;
}
}
} else if (documentoTipo.getId().equals(DocumentoTipo.GUIA_PAGAMENTO)) {
if(!documento.getUltimaAlteracao().equals(documentoTemp.getUltimaAlteracao())){
if(documento.getGuiaPagamentoGeral().getGuiaPagamento().getId().equals(
documentoTemp.getGuiaPagamentoGeral().getGuiaPagamento().getId())){
isDocumentoRepetido = true;
}
}
} else if (documentoTipo.getId().equals(DocumentoTipo.FATURA_CLIENTE)) {
if(!documento.getUltimaAlteracao().equals(documentoTemp.getUltimaAlteracao())){
if(documento.getFatura().getId().equals(
documentoTemp.getFatura().getId())){
isDocumentoRepetido = true;
}
}
} else {
if(!documento.getUltimaAlteracao().equals(documentoTemp.getUltimaAlteracao())){
if(documento.getCobrancaDocumento().getId().equals(
documentoTemp.getCobrancaDocumento().getId())){
isDocumentoRepetido = true;
}
}
}
}
if(isDocumentoRepetido){
throw new ActionServletException("atencao.informar_documentos_nao_entregues.documento_repetido");
}
}
}
/**
* M�todo respons�vel por consultar o Tipo de Documento info0rmado pelo usu�rio.
*
*@since 13/10/2009
*@author Marlon Patrick
*/
private DocumentoTipo consultarTipoDocumento(InformarNaoEntregaDocumentosActionForm form) {
String tipoDocumento = form.getTipoDocumento();
FiltroDocumentoTipo filtroDocumentoTipo = new FiltroDocumentoTipo();
filtroDocumentoTipo.adicionarParametro(new ParametroSimples(
FiltroDocumentoTipo.ID, tipoDocumento));
filtroDocumentoTipo.adicionarParametro(new ParametroSimples(
FiltroDocumentoTipo.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO));
Collection<DocumentoTipo> colecaoDocumentoTipo = Fachada.getInstancia().pesquisar(
filtroDocumentoTipo, DocumentoTipo.class.getName());
if ( Util.isVazioOrNulo(colecaoDocumentoTipo)) {
throw new ActionServletException("atencao.pesquisa_tipo_documento_nao_inexistente");
}
return colecaoDocumentoTipo.iterator().next();
}
private void montarDocumentoNaoEntregue(String idCodigo,
String qtTentativas, DocumentoTipo documentoTipo,
String matriculaOuNumeroDocumento, String mesAno,
Date dataDevolucaoFormatada, Cliente cliente,
Collection<DocumentoNaoEntregue> colecaoDocumentosNaoEntregues) {
if (matriculaOuNumeroDocumento != null && !matriculaOuNumeroDocumento.trim().equals("")) {
Fachada fachada = Fachada.getInstancia();
DocumentoNaoEntregue documentoNaoEntregue = new DocumentoNaoEntregue();
documentoNaoEntregue.setCliente(cliente);
documentoNaoEntregue
.setDataTentativaEntrega(dataDevolucaoFormatada);
documentoNaoEntregue.setDocumentoTipo(documentoTipo);
documentoNaoEntregue.setNumeroTentativa(new Short(qtTentativas));
documentoNaoEntregue.setUltimaAlteracao(new Date());
MotivoNaoEntregaDocumento motivoNaoEntregaDocumento = new MotivoNaoEntregaDocumento();
motivoNaoEntregaDocumento.setId(new Integer(idCodigo.trim()));
documentoNaoEntregue
.setMotivoNaoEntregaDocumento(motivoNaoEntregaDocumento);
if (documentoTipo.getId().equals(DocumentoTipo.CONTA)) {
FiltroImovel filtroImovel = new FiltroImovel();
filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, Integer.parseInt(matriculaOuNumeroDocumento)));
filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.INDICADOR_IMOVEL_EXCLUIDO, 2));
Collection<Imovel> colecaoImovel = fachada.pesquisar(filtroImovel, Imovel.class.getName());
if (colecaoImovel == null || colecaoImovel.isEmpty()) {
throw new ActionServletException("atencao.pesquisa.imovel.inexistente", null, matriculaOuNumeroDocumento);
}
Conta conta = fachada.pesquisarContaDigitada(matriculaOuNumeroDocumento, mesAno);
if (conta != null) {
ContaGeral contaGeral = new ContaGeral();
contaGeral.setId(conta.getId());
contaGeral.setConta(conta);
documentoNaoEntregue.setContaGeral(contaGeral);
} else {
throw new ActionServletException("atencao.referencia.naocadastrada", new Exception(), mesAno, matriculaOuNumeroDocumento);
}
} else if (documentoTipo.getId().equals(DocumentoTipo.GUIA_PAGAMENTO)) {
FiltroGuiaPagamento filtroGuiaPagamento = new FiltroGuiaPagamento();
filtroGuiaPagamento.adicionarParametro(new ParametroSimples(FiltroGuiaPagamento.ID, Integer.parseInt(matriculaOuNumeroDocumento)));
Collection<GuiaPagamento> colecaoGuiaPagamento = fachada.pesquisar(filtroGuiaPagamento, GuiaPagamento.class.getName());
if (colecaoGuiaPagamento != null && !colecaoGuiaPagamento.isEmpty()) {
GuiaPagamento guiaPagamento = (GuiaPagamento) Util.retonarObjetoDeColecao(colecaoGuiaPagamento);
GuiaPagamentoGeral guiaPagamentoGeral = new GuiaPagamentoGeral();
guiaPagamentoGeral.setId(guiaPagamento.getId());
guiaPagamentoGeral.setGuiaPagamento(guiaPagamento);
documentoNaoEntregue.setGuiaPagamentoGeral(guiaPagamentoGeral);
} else {
String mensagem = "Guia de Pagamento " + matriculaOuNumeroDocumento;
throw new ActionServletException("atencao.pesquisa_inexistente", null, mensagem);
}
} else if (documentoTipo.getId().equals(DocumentoTipo.FATURA_CLIENTE)) {
FiltroFatura filtroFatura = new FiltroFatura();
filtroFatura.adicionarParametro(new ParametroSimples(FiltroFatura.ID, Integer.parseInt(matriculaOuNumeroDocumento)));
Collection<Fatura> colecaoFatura = fachada.pesquisar(filtroFatura, Fatura.class.getName());
if (colecaoFatura != null && !colecaoFatura.isEmpty()) {
Fatura fatura = (Fatura) Util.retonarObjetoDeColecao(colecaoFatura);
documentoNaoEntregue.setFatura(fatura);
} else {
String mensagem = "Fatura " + matriculaOuNumeroDocumento;
throw new ActionServletException("atencao.pesquisa_inexistente", null, mensagem);
}
} else {
FiltroCobrancaDocumento filtroCobrancaDocumento = new FiltroCobrancaDocumento();
filtroCobrancaDocumento.adicionarParametro(new ParametroSimples(FiltroCobrancaDocumento.ID, Integer.parseInt(matriculaOuNumeroDocumento)));
Collection<CobrancaDocumento> colecaoCobrancaDocumento = fachada.pesquisar(filtroCobrancaDocumento, CobrancaDocumento.class.getName());
if (colecaoCobrancaDocumento != null && !colecaoCobrancaDocumento.isEmpty()) {
CobrancaDocumento cobrancaDocumento = (CobrancaDocumento) Util.retonarObjetoDeColecao(colecaoCobrancaDocumento);
documentoNaoEntregue.setCobrancaDocumento(cobrancaDocumento);
} else {
String mensagem = "Documento de Cobran�a " + matriculaOuNumeroDocumento;
throw new ActionServletException("atencao.pesquisa_inexistente", null, mensagem);
}
}
colecaoDocumentosNaoEntregues.add(documentoNaoEntregue);
}
}
}