示例#1
0
  public void testePodeFinalizar(AcessoFormBean formulario, HttpServletRequest request)
      throws Exception {
    Long idFluxo = FluxoHelper.create().getPedidoFromSession(request).getIdFluxo();
    SsaDeipHelper interfaceSsaDeip = SsaDeipHelper.create();
    SsaDeipTO interfaceSsaDeipTO = new SsaDeipTO();
    String lista = "";

    if (isTrocaEnderecoOfertaParcialWorkflow(idFluxo)) {
      formulario.setPodeFinalizar(
          AcessoDelegate.getInstance().canFinalize(new Long(formulario.getCdContrato())));
      if (!formulario.isPodeFinalizar())
        formulario.setMsgPodeFinalizar(
            "É necessário preencher o acesso nas designações adicionadas!");
    } else if (isTrocaEnderecoWorkflow(idFluxo)) {
      formulario.setPodeFinalizar(
          AcessoDelegate.getInstance()
              .canFinalizeInAddressChangeWorkflow(new Long(formulario.getCdContrato())));
      if (!formulario.isPodeFinalizar())
        formulario.setMsgPodeFinalizar(
            "É necessário marcar a ocorrência de mudança de acesso nas designações pendentes!");
    } else {
      PedidoTO pedidoTO = FluxoHelper.create().getPedidoFromSession(request);

      if (idFluxo.equals(FluxoEnum.ATIVACAO_DE_SERVICO.id)
          || idFluxo.equals(FluxoEnum.ATIVACAO_DE_SITE.id)) {
        if (!AcessoDelegate.getInstance().canFinalize(new Long(formulario.getCdContrato()))) {
          formulario.setPodeFinalizar(false);
          formulario.setMsgPodeFinalizar("Há dados a serem cadastrados!");
          return;
        }
      }

      if (!PendenciasDelegate.getInstance().canFinalizeTarefa(pedidoTO.getId())) {
        formulario.setPodeFinalizar(false);
        formulario.setMsgPodeFinalizar("Há pendências no pedido!");
        return;
      }

      for (SiteTO site : formulario.getSitesOcorrs()) {
        interfaceSsaDeipTO = interfaceSsaDeip.recuperaDadosInterface(Long.parseLong(site.getSev()));
        if (interfaceSsaDeip.possuiCampoNulo(interfaceSsaDeipTO)) {
          formulario.setPodeFinalizar(false);
          lista = lista + site.getDesignacao() + ",";
          formulario.setMsgPodeFinalizar(
              "Sev Inconsistente. Favor checar se as informações Estac. Entrega, SEV Mestra, Tecnologia e Velocidade estão preenchidas. Site(s): "
                  + lista.substring(0, lista.length() - 1)
                  + ".");
        }
        return;
      }

      formulario.setPodeFinalizar(true);
      /** * */
    }
  }
示例#2
0
  public void testePodeFinalizarAltParcial(AcessoFormBean formulario, HttpServletRequest request)
      throws Exception {
    AcessoDelegate delegate = AcessoDelegate.getInstance();
    SiteHelper siteHelper = new SiteHelper();

    Long idContrato = new Long(formulario.getCdContrato());

    boolean isChildrenOk =
        siteHelper.getNumSitesChildIncByContrato(idContrato)
            == delegate.getNumSitesChildWithAccessByContrato(idContrato);
    boolean isFathersOk =
        siteHelper.getNumSitesFatherByContrato(idContrato)
            == delegate.getNumSitesFatherWithCheckedChangeAccessByContrato(idContrato);

    if (!isChildrenOk || !isFathersOk) {
      formulario.setPodeFinalizar(false);
      formulario.setMsgPodeFinalizar(
          "É necessário preencher o acesso nas designações adicionadas e marcar a ocorrência de mudança de acesso na(s) pendente(s)!");
      return;
    }

    if (!PendenciasDelegate.getInstance()
        .canFinalizeTarefa(FluxoHelper.create().getPedidoFromSession(request).getId())) {
      formulario.setPodeFinalizar(false);
      formulario.setMsgPodeFinalizar("Há pendências no pedido!");
      return;
    }

    formulario.setPodeFinalizar(true);
  }