private void calcularMonto() throws Exception {
   BigDecimal bdMontoTotal = new BigDecimal(0);
   for (SolicitudPersonalDetalle solicitudPersonalDetalle :
       solicitudPersonalNuevo.getListaSolicitudPersonalDetalle())
     bdMontoTotal = bdMontoTotal.add(solicitudPersonalDetalle.getBdMonto());
   solicitudPersonalNuevo.setBdMontoTotalSolicitud(bdMontoTotal);
   solicitudPersonalNuevo.setBdMontoSaldoSolicitud(bdMontoTotal);
 }
  private PlanCuenta obtenerPlanCuenta(SolicitudPersonalDetalle solicitudPersonalDetalle)
      throws Exception {
    PlanCuentaId planCuentaId = new PlanCuentaId();
    planCuentaId.setIntEmpresaCuentaPk(solicitudPersonalDetalle.getIntPersEmpresaCuenta());
    planCuentaId.setIntPeriodoCuenta(solicitudPersonalDetalle.getIntContPeriodoCuenta());
    planCuentaId.setStrNumeroCuenta(solicitudPersonalDetalle.getStrContNumeroCuenta());

    return planCuentaFacade.getPlanCuentaPorPk(planCuentaId);
  }
 public void seleccionarSucursalDetalle() {
   try {
     solicitudPersonalDetalleNuevo.setSucursal(
         MyUtil.obtenerSucursalDeLista(
             solicitudPersonalDetalleNuevo.getIntSucuIdSucursal(), listaSucursal));
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }
  public void seleccionarPlanCuenta(ActionEvent event) {
    try {
      PlanCuenta planCuenta = (PlanCuenta) event.getComponent().getAttributes().get("item");
      solicitudPersonalDetalleNuevo.setIntPersEmpresaCuenta(
          planCuenta.getId().getIntEmpresaCuentaPk());
      solicitudPersonalDetalleNuevo.setIntContPeriodoCuenta(
          planCuenta.getId().getIntPeriodoCuenta());
      solicitudPersonalDetalleNuevo.setStrContNumeroCuenta(planCuenta.getId().getStrNumeroCuenta());

      solicitudPersonalDetalleNuevo.setPlanCuenta(planCuenta);
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }
 public void abrirPopUpAgregarDetalle() {
   try {
     strMensajeDetalle = "";
     mostrarMensajeDetalle = Boolean.FALSE;
     solicitudPersonalDetalleNuevo = new SolicitudPersonalDetalle();
     solicitudPersonalDetalleNuevo.setIntSucuIdSucursal(
         usuario.getSucursal().getId().getIntIdSucursal());
     seleccionarSucursalDetalle();
     solicitudPersonalDetalleNuevo.setIntSudeIdSubsucursal(
         usuario.getSubSucursal().getId().getIntIdSubSucursal());
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }
 public void seleccionarPersona(ActionEvent event) {
   try {
     Persona personaSeleccionada = (Persona) event.getComponent().getAttributes().get("item");
     // habilitarComboTipoPersona es True cuando se llama desde el formulario principal
     if (habilitarComboTipoPersona) {
       solicitudPersonalNuevo.setIntPersEmpresaPersona(EMPRESA_USUARIO);
       solicitudPersonalNuevo.setIntPersPersonaGiro(personaSeleccionada.getIntIdPersona());
       solicitudPersonalNuevo.setPersona(personaSeleccionada);
     } else {
       solicitudPersonalDetalleNuevo.setIntPersEmpresaAbonado(EMPRESA_USUARIO);
       solicitudPersonalDetalleNuevo.setIntPersPersonaAbonado(
           personaSeleccionada.getIntIdPersona());
       solicitudPersonalDetalleNuevo.setPersona(personaSeleccionada);
     }
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }
  public void agregarSolicitudPersonalDetalle() {
    try {
      strMensajeDetalle = "";
      mostrarMensajeDetalle = Boolean.TRUE;
      if (solicitudPersonalDetalleNuevo.getPersona() == null) {
        strMensajeDetalle = "Debe de agregar una persona.";
        return;
      }
      if (solicitudPersonalDetalleNuevo.getIntSudeIdSubsucursal() == null
          || Integer.signum(solicitudPersonalDetalleNuevo.getIntSudeIdSubsucursal()) == 0) {
        strMensajeDetalle = "Debe de seleccionar una subsucursal valida.";
        return;
      }
      if (solicitudPersonalDetalleNuevo.getIntIdArea() == null
          || Integer.signum(solicitudPersonalDetalleNuevo.getIntIdArea()) == 0) {
        strMensajeDetalle = "Debe de seleccionar un área valida.";
        return;
      }
      if (solicitudPersonalDetalleNuevo.getBdMonto() == null
          || solicitudPersonalDetalleNuevo.getBdMonto().signum() <= 0) {
        strMensajeDetalle = "Debe de ingresar un monto válido.";
        return;
      }
      if (solicitudPersonalDetalleNuevo.getPlanCuenta() == null) {
        strMensajeDetalle = "Debe de agregar un plan de cuenta.";
        return;
      }

      solicitudPersonalDetalleNuevo.setSubsucursal(
          MyUtil.obtenerSubsucursalDeLista(
              solicitudPersonalDetalleNuevo.getIntSudeIdSubsucursal(),
              solicitudPersonalDetalleNuevo.getSucursal().getListaSubSucursal()));
      solicitudPersonalDetalleNuevo.setArea(
          MyUtil.obtenerAreaDeLista(
              solicitudPersonalDetalleNuevo.getIntIdArea(),
              solicitudPersonalDetalleNuevo.getSucursal().getListaArea()));

      solicitudPersonalNuevo.getListaSolicitudPersonalDetalle().add(solicitudPersonalDetalleNuevo);
      calcularMonto();
      mostrarMensajeDetalle = Boolean.FALSE;
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }
  public void mostrarListaSolicitudPersonalCarga() {
    try {
      listaSolicitudPersonalCarga =
          ((FileUploadController) getSessionBean("fileUploadController"))
              .getListaSolicitudPersonal();
      listaSolicitudPersonalDetalleCarga = new ArrayList<SolicitudPersonalDetalle>();

      for (SolicitudPersonal solicitudPersonal : listaSolicitudPersonalCarga) {
        solicitudPersonal.setPersona(
            personaFacade.devolverPersonaCargada(solicitudPersonal.getIntPersPersonaGiro()));
        for (SolicitudPersonalDetalle solicitudPersonalDetalle :
            solicitudPersonal.getListaSolicitudPersonalDetalle()) {
          solicitudPersonalDetalle.setPersona(
              personaFacade.devolverPersonaCargada(
                  solicitudPersonalDetalle.getIntPersPersonaAbonado()));
          solicitudPersonalDetalle.setSucursal(
              MyUtil.obtenerSucursalDeLista(
                  solicitudPersonalDetalle.getIntSucuIdSucursal(), listaSucursal));
          solicitudPersonalDetalle.setSubsucursal(
              MyUtil.obtenerSubsucursalDeLista(
                  solicitudPersonalDetalle.getIntSudeIdSubsucursal(),
                  solicitudPersonalDetalle.getSucursal().getListaSubSucursal()));
          solicitudPersonalDetalle.setArea(
              MyUtil.obtenerAreaDeLista(
                  solicitudPersonalDetalle.getIntIdArea(),
                  solicitudPersonalDetalle.getSucursal().getListaArea()));
          listaSolicitudPersonalDetalleCarga.add(solicitudPersonalDetalle);
        }
      }

    } catch (Exception e) {
      mostrarMensaje(
          Boolean.FALSE, "Hubo un error durante la muestra de carga de Solicitud Personal.");
      log.error(e.getMessage(), e);
    }
  }
  public void verRegistro() {
    try {
      if (registroSeleccionado
          .getIntParaEstado()
          .equals(Constante.PARAM_T_ESTADOUNIVERSAL_ACTIVO)) {
        deshabilitarNuevo = Boolean.FALSE;
        habilitarGrabar = Boolean.TRUE;
      } else {
        deshabilitarNuevo = Boolean.TRUE;
        habilitarGrabar = Boolean.FALSE;
      }
      mostrarPanelInferior = Boolean.TRUE;

      solicitudPersonalNuevo = registroSeleccionado;

      if (solicitudPersonalNuevo.getIntItemArchivoSustento() != null)
        solicitudPersonalNuevo.setArchivo(obtenerArchivo(solicitudPersonalNuevo));

      for (SolicitudPersonalDetalle solicitudPersonalDetalle :
          solicitudPersonalNuevo.getListaSolicitudPersonalDetalle()) {
        solicitudPersonalDetalle.setPersona(
            personaFacade.devolverPersonaCargada(
                solicitudPersonalDetalle.getIntPersPersonaAbonado()));
        solicitudPersonalDetalle.setPlanCuenta(obtenerPlanCuenta(solicitudPersonalDetalle));
        if (solicitudPersonalDetalle.getIntSucuIdSucursal() != null)
          solicitudPersonalDetalle.setSucursal(
              MyUtil.obtenerSucursalDeLista(
                  solicitudPersonalDetalle.getIntSucuIdSucursal(), listaSucursal));
        if (solicitudPersonalDetalle.getIntSudeIdSubsucursal() != null)
          solicitudPersonalDetalle.setSubsucursal(
              MyUtil.obtenerSubsucursalDeLista(
                  solicitudPersonalDetalle.getIntSudeIdSubsucursal(),
                  solicitudPersonalDetalle.getSucursal().getListaSubSucursal()));
        if (solicitudPersonalDetalle.getIntIdArea() != null)
          solicitudPersonalDetalle.setArea(
              MyUtil.obtenerAreaDeLista(
                  solicitudPersonalDetalle.getIntIdArea(),
                  solicitudPersonalDetalle.getSucursal().getListaArea()));
      }
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }