public String adicionarSocio() {
   for (Object listaSoc1 : listaSoc) {
     if (((Socios) ((DataObject) listaSoc1).getArgumento1()).getServicoPessoa().getId()
         == socioCarteirinha.getPessoa().getId()) {
       renderAdc = false;
       return "emissaoCarteirinha";
     }
   }
   FilialCidadeDao dbC = new FilialCidadeDao();
   PessoaEnderecoDao dbE = new PessoaEnderecoDao();
   PessoaEndereco pesEnde = dbE.pesquisaEndPorPessoaTipo(socioCarteirinha.getPessoa().getId(), 1);
   FilialCidade filCidade;
   if (pesEnde != null) {
     filCidade = dbC.findPrincipal(pesEnde.getEndereco().getCidade().getId());
   } else {
     filCidade = new FilialCidade();
   }
   listaSoc.add(new DataObject(true, socioCarteirinha.getPessoa(), filCidade, null, null, null));
   renderAdc = false;
   socioCarteirinha = new SocioCarteirinha();
   return "emissaoCarteirinha";
 }
 public SocioCarteirinha getSocioCarteirinha() {
   if (FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("socioPesquisa")
       != null) {
     socioCarteirinha.setPessoa(
         ((Socios)
                 FacesContext.getCurrentInstance()
                     .getExternalContext()
                     .getSessionMap()
                     .get("socioPesquisa"))
             .getServicoPessoa()
             .getPessoa());
     FacesContext.getCurrentInstance()
         .getExternalContext()
         .getSessionMap()
         .remove("socioPesquisa");
     renderAdc = true;
   }
   return socioCarteirinha;
 }
  // MÉTODO EM DESUSO APAGAR DEPOIS DE 30/04/2016
  public void reImprimirCarteirinha() {
    Dao dao = new Dao();

    if (!listaSelecionado.isEmpty()) {
      CategoriaDao dbCat = new CategoriaDao();
      DataHoje dh = new DataHoje();
      SociosDao dbs = new SociosDao();

      dao.openTransaction();

      for (int i = 0; i < listaSelecionado.size(); i++) {
        Pessoa pessoa =
            (Pessoa) dao.find(new Pessoa(), (Integer) ((List) listaSelecionado.get(i)).get(0));
        Socios socios = dbs.pesquisaSocioPorPessoa(pessoa.getId());
        SocioCarteirinha carteirinha =
            (SocioCarteirinha)
                dao.find(
                    new SocioCarteirinha(), (Integer) ((List) listaSelecionado.get(i)).get(19));
        ValidadeCartao validadeCartao =
            new ValidadeCartaoDao()
                .findByCategoriaParentesco(
                    socios.getMatriculaSocios().getCategoria().getId(),
                    socios.getParentesco().getId());
        if (validadeCartao == null) {
          GenericaMensagem.warn("Validação", "Nenhuma validade de cartão encontrada!");
          dao.rollback();
          return;
        }
        if (socios.getId() != -1 && socios.getMatriculaSocios().getId() != -1) {
          GrupoCategoria gpCat =
              dbCat.pesquisaGrupoPorCategoria(
                  Integer.valueOf(socios.getMatriculaSocios().getCategoria().getId()));
          Date validadeCarteirinha;
          if (validadeCartao.getDtValidadeFixa() == null) {
            validadeCarteirinha =
                DataHoje.converte(
                    dh.incrementarMeses(validadeCartao.getNrValidadeMeses(), DataHoje.data()));
          } else {
            validadeCarteirinha = validadeCartao.getDtValidadeFixa();
          }
          carteirinha.setDtValidadeCarteirinha(validadeCarteirinha);
        } else {
          carteirinha.setDtValidadeCarteirinha(null);
        }

        carteirinha.setVia(carteirinha.getVia() + 1);
        listaSelecionado.get(i).set(6, carteirinha.getValidadeCarteirinha());

        if (carteirinha.getDtEmissao() == null) {
          carteirinha.setEmissao(DataHoje.data());

          if (!dao.update(carteirinha)) {
            dao.rollback();
            GenericaMensagem.warn("Erro", "AO ATUALIZAR CARTEIRINHA!");
            return;
          }

          HistoricoCarteirinha hc = new HistoricoCarteirinha();

          hc.setCarteirinha(carteirinha);
          hc.setDescricao("Primeira ReImpressão de Carteirinha 2º Via");

          if (listaSelecionado.get(i).get(17) != null) {
            Movimento m =
                (Movimento)
                    dao.find(
                        new Movimento(),
                        Integer.valueOf(listaSelecionado.get(i).get(17).toString()));
            if (m != null) {
              hc.setMovimento(m);
            }
          }

          if (!dao.save(hc)) {
            dao.rollback();
            return;
          }
        } else {
          HistoricoCarteirinha hc = new HistoricoCarteirinha();

          carteirinha.setVia(carteirinha.getVia() + 1);

          if (!dao.update(carteirinha)) {
            dao.rollback();
            GenericaMensagem.warn("Erro", "AO ATUALIZAR CARTEIRINHA!");
            return;
          }

          hc.setCarteirinha(carteirinha);
          hc.setDescricao("ReImpressão de Carteirinha 2º Via");

          if (listaSelecionado.get(i).get(17) != null) {
            Movimento m =
                (Movimento)
                    dao.find(
                        new Movimento(),
                        Integer.valueOf(listaSelecionado.get(i).get(17).toString()));
            if (m != null) {
              hc.setMovimento(m);
            }
          }

          if (!dao.save(hc)) {
            dao.rollback();
            GenericaMensagem.warn("Erro", "AO ATUALIZAR HISTÓRICO DA CARTEIRINHA!");
            return;
          }
        }
      }

      if (ImpressaoParaSocios.imprimirCarteirinha(listaSelecionado)) {
        dao.commit();
      } else {
        dao.rollback();
        GenericaMensagem.warn("Erro", "AO ATUALIZAR CARTEIRINHA!");
      }
    }
  }
  public void print(List vector) {
    printed = false;
    Dao dao = new Dao();
    List<List> list = new ArrayList();
    if (!listaSelecionado.isEmpty() && vector == null) {
      list = listaSelecionado;
    } else if (vector != null) {
      list.add(vector);
    }
    String printLog = "";
    NovoLog novoLog = new NovoLog();
    novoLog.startList();
    if (!list.isEmpty()) {
      dao.openTransaction();
      SocioCarteirinhaDao dbc = new SocioCarteirinhaDao();
      DataHoje dh = new DataHoje();
      SociosDao dbs = new SociosDao();
      for (int i = 0; i < list.size(); i++) {
        Integer nrValidadeMeses = 0;
        Integer titular_id = (Integer) ((List) list.get(i)).get(40);
        Pessoa pessoa = (Pessoa) dao.find(new Pessoa(), (Integer) ((List) list.get(i)).get(0));
        Socios socios = dbs.pesquisaSocioPorPessoa(pessoa.getId());
        ValidadeCartao validadeCartao = new ValidadeCartao();
        SocioCarteirinha carteirinha =
            (SocioCarteirinha)
                dao.find(new SocioCarteirinha(), (Integer) ((List) list.get(i)).get(19));
        if (socios.getId() != -1) {
          validadeCartao =
              new ValidadeCartaoDao()
                  .findByCategoriaParentesco(
                      socios.getMatriculaSocios().getCategoria().getId(),
                      socios.getParentesco().getId());
          if (validadeCartao == null) {
            GenericaMensagem.warn("Validação", "Nenhuma validade de cartão encontrada!");
            dao.rollback();
            return;
          }
          nrValidadeMeses = validadeCartao.getNrValidadeMeses();
        } else {
          nrValidadeMeses = configuracaoSocial.getValidadeMesesCartaoAcademia();
        }
        if (socios.getId() != -1 && socios.getMatriculaSocios().getId() != -1) {
          Date validadeCarteirinha;
          if (validadeCartao.getDtValidadeFixa() == null) {
            validadeCarteirinha =
                DataHoje.converte(dh.incrementarMeses(nrValidadeMeses, DataHoje.data()));
          } else {
            validadeCarteirinha = validadeCartao.getDtValidadeFixa();
          }
          carteirinha.setDtValidadeCarteirinha(validadeCarteirinha);
        } else {
          carteirinha.setDtValidadeCarteirinha(
              DataHoje.converte(dh.incrementarMeses(nrValidadeMeses, DataHoje.data())));
        }
        boolean validacao = false;
        if (pessoa.getSocios().getId() != -1) {
          Fisica f = new FisicaDao().pesquisaFisicaPorPessoa(pessoa.getId());
          if (pessoa.getSocios().getMatriculaSocios().getCategoria().isEmpresaObrigatoria()
              && f.getDtAposentadoria() == null
              && titular_id == pessoa.getId()) {
            PessoaEmpresaDao db = new PessoaEmpresaDao();
            PessoaEmpresa pe = db.pesquisaPessoaEmpresaPorPessoa(pessoa.getId());
            // PessoaEmpresa pe = db.pesquisaPessoaEmpresaPorPessoa(titular_id);
            if (pe.getId() == -1) {
              GenericaMensagem.error(
                  "Atenção", "Empresa Não Vinculada a pessoa " + pessoa.getNome());
              validacao = true;
              listaSelecionado = new ArrayList();
            }
          }
          listaSelecionado.remove(vector);
        }

        if (validacao) {
          dao.rollback();
          return;
        }

        String descricao_historico = "Impressão de Carteirinha";
        if (configuracaoSocial.getAtualizaViaCarteirinha()) {
          carteirinha.setVia(carteirinha.getVia() + 1);
          descricao_historico = "Impressão de " + carteirinha.getVia() + "° via do cartão";
          list.get(i).set(11, carteirinha.getVia());
        }

        carteirinha.setEmissao(DataHoje.data());
        if (!dao.update(carteirinha)) {
          dao.rollback();
          return;
        }

        list.get(i).set(6, carteirinha.getValidadeCarteirinha());
        HistoricoCarteirinha hc = new HistoricoCarteirinha();

        hc.setCarteirinha(carteirinha);
        hc.setDescricao(descricao_historico);

        if (list.get(i).get(17) != null) {
          Movimento m =
              (Movimento)
                  dao.find(new Movimento(), Integer.valueOf(list.get(i).get(17).toString()));
          if (m != null) {
            hc.setMovimento(m);
          }
        }

        if (!dao.save(hc)) {
          dao.rollback();
          return;
        }

        // AutorizaImpressaoCartao ai = dbc.pesquisaAutorizaSemHistorico(pessoa.getId(),
        // modeloc.getId());
        AutorizaImpressaoCartao ai =
            dbc.pesquisaAutorizaSemHistorico(
                pessoa.getId(), carteirinha.getModeloCarteirinha().getId());

        if (ai != null) {
          ai.setHistoricoCarteirinha(hc);
          if (!dao.update(ai)) {
            dao.rollback();
            return;
          }
        }
        printLog =
            "ID"
                + hc.getId()
                + " - Pessoa {ID: "
                + pessoa.getId()
                + " - Nome: "
                + pessoa.getNome()
                + " }"
                + " - Impresso por {ID: "
                + hc.getCarteirinha().getModeloCarteirinha().getId()
                + " - Nome: "
                + hc.getCarteirinha().getModeloCarteirinha().getDescricao()
                + " }";
        novoLog.setTabela("soc_historico_carteirinha");
        novoLog.setCodigo(hc.getId());
      }

      if (ImpressaoParaSocios.imprimirCarteirinha(list)) {
        dao.commit();
        if (status.equals("nao_impressos")) {
          printed = false;
        }
        if (disabledImpressaoExterna) {
          disabledImpressaoExterna = false;
          GenericaSessao.put("status", "hoje");
        }
        listaCarteirinha = new ArrayList();
        listaSelecionado = new ArrayList();
        listaSelecionadoMemoria = new ArrayList();
        novoLog.print(printLog);
        novoLog.saveList();
      } else {
        novoLog.cancelList();
        dao.rollback();
      }
    }
  }