public void mostrarSessionAsistencia(ActionEvent event) {
    String sFechaInicio;
    String sFechaFin;
    String sFechaRegistro;
    SimpleDateFormat dateFormat;
    AcSesionAsistencia sesAsis;
    BeanReporte asis;
    ClSeccion clSec;
    HSAsistenciaDocenteDAO daoAsistencia;
    HSDocenteDAO daoDocente;
    List<AcSesionAsistencia> lstSesAsist;
    try {

      daoAsistencia = CommonDAO.getAsistenciaDocenteDAO();
      daoDocente = CommonDAO.getAcDocenteDAO();
      lstSesiones = new ArrayList<BeanReporte>();

      lstSesAsist =
          daoAsistencia.listarSessionAsistencia_x_docenteFecha(
              this.docId, this.fechaIni, this.fechaFin, ConstantesWeb.COD_SES_ASIST_CL);
      int iSizeSesAsist = lstSesAsist.size();
      for (int i = 0; i < iSizeSesAsist; i++) {
        asis = new BeanReporte();
        sesAsis = lstSesAsist.get(i);

        clSec = CommonDAO.getClSeccionDAO().seleccionarSeccion(sesAsis.getAcSeccion().getId());

        asis.setExpr1(sesAsis.getSesId() + "");
        asis.setExpr2(daoDocente.seleccionarDocente(sesAsis.getDocId()).getDocNombre());
        dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        sFechaRegistro = dateFormat.format(sesAsis.getSesFechaRegistro());
        asis.setExpr3(sFechaRegistro);
        try {
          asis.setExpr4(clSec.getSecNombre());
        } catch (Exception ex) {
          asis.setExpr4("NO DETERMINADO");
          ex.printStackTrace();
        }
        try {
          asis.setExpr5(clSec.getClArbolAcademico().getArbAcadPadre().getArbDescripcion());
        } catch (Exception ex) {
          asis.setExpr5("NO DETERMINADO");
          ex.printStackTrace();
        }

        dateFormat = new SimpleDateFormat("hh:mm");
        sFechaInicio = dateFormat.format(sesAsis.getSesFechaInicio());
        sFechaFin = dateFormat.format(sesAsis.getSesFechaFin());
        asis.setExpr6(sFechaInicio);
        asis.setExpr7(sFechaFin);
        asis.setExpr8(sesAsis.getDocId() + "");
        lstSesiones.add(asis);
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
  public void seleccionarSesion(ActionEvent event) {
    int iParamSesId;
    AcDocente doc;
    AcSesionAsistencia sesAsis;
    ClArbolAcademico arbAreaAux;
    ClArbolAcademico arbModAux;
    ClArbolAcademico arbCurAux;
    ClSeccion clSec;
    HSAsistenciaDocenteDAO daoAsistencia;
    HSDocenteDAO daoDocente;
    oncomplete = "";

    iParamSesId = CommonWeb.parseObjToInt(CommonWeb.getParamFromUIParameterUI(event, "w_ses_id"));

    daoAsistencia = CommonDAO.getAsistenciaDocenteDAO();
    daoDocente = CommonDAO.getAcDocenteDAO();

    sesAsis = daoAsistencia.listarSessionAsistencia_x_sesid(iParamSesId);

    clSec = CommonDAO.getClSeccionDAO().seleccionarSeccion(sesAsis.getAcSeccion().getId());
    arbCurAux = clSec.getClArbolAcademico().getArbAcadPadre();
    arbModAux = arbCurAux.getArbAcadPadre();
    arbAreaAux = arbModAux.getArbAcadPadre();
    doc = (AcDocente) daoDocente.seleccionarDocente(sesAsis.getDocId());

    iSesId = iParamSesId;
    b_doc_id = doc.getId();
    s_doc_id = doc.getId();
    b_doc_nombre = doc.getDocNombre();
    w_doc_id = sesAsis.getDocIdBk();
    sCurNombre = arbCurAux.getArbDescripcion();
    sSecNombre = clSec.getSecNombre();
    sEspNombre = arbAreaAux.getArbDescripcion() + " / " + arbModAux.getArbDescripcion();
    horaIni2 = sesAsis.getSesFechaInicio();
    horaFin2 = sesAsis.getSesFechaFin();

    oncomplete = "Richfaces.showModalPanel('mpSessionAsis')";
  }
  public SelectItem[] getCboDocente() {
    int iSizeDocs;
    AcDocente acDoc;
    HSDocenteDAO docenteDAO;
    List<AcDocente> lstDocentes;

    if (cboDocente == null) {
      try {
        docenteDAO = CommonDAO.getAcDocenteDAO();
        lstDocentes = docenteDAO.seleccionarDocente();
        iSizeDocs = lstDocentes.size();
        cboDocente = new SelectItem[iSizeDocs];
        for (int i = 0; i < iSizeDocs; i++) {
          acDoc = lstDocentes.get(i);
          cboDocente[i] = new SelectItem(acDoc.getId(), acDoc.getDocNombre());
        }
      } catch (Exception ex) {
        cboDocente = new SelectItem[1];
        cboDocente[0] = new SelectItem("-1", "No se obtuvo listado.");
        ex.printStackTrace();
      }
    }
    return cboDocente;
  }
  /*INGRESAMOS LA OBSERVACION AC_SESION_ASISTENCIA*/
  public void seleccionarMarcaObservacionDocente(ActionEvent event) throws Exception {
    HSAsistenciaDocenteDAO dao =
        (HSAsistenciaDocenteDAO) ServiceFinder.findBean("SpringHibernateDaoAsistenciaDocente");
    HSDocenteDAO daoDoc = (HSDocenteDAO) ServiceFinder.findBean("SpringHibernateDaoDocente");

    int p_ses_id =
        Integer.parseInt(
            ((UIParameter) event.getComponent().findComponent("w_ses_id")).getValue().toString());
    String p_cur_nombre =
        ((UIParameter) event.getComponent().findComponent("p_cur_nombre")).getValue().toString();
    String p_sec_nombre =
        ((UIParameter) event.getComponent().findComponent("p_sec_nombre")).getValue().toString();
    int p_doc_id =
        Integer.parseInt(
            ((UIParameter) event.getComponent().findComponent("w_doc_id")).getValue().toString());
    try {
      AcSesionEfectivaAsisDoc sesefeasisdoc = dao.listaMarcadoDeAsistencia_x_Docente(p_ses_id);
      AsistenciaDocenteCLBean asis = new AsistenciaDocenteCLBean();
      if (sesefeasisdoc instanceof AcSesionEfectivaAsisDoc) {

        asis.setDoc_id(sesefeasisdoc.getAcDocente().getId());
        asis.setDoc_codigo(sesefeasisdoc.getAcDocente().getDocCodigo());
        asis.setDoc_nombre(sesefeasisdoc.getAcDocente().getDocNombre());
        asis.setSes_id(sesefeasisdoc.getAcSesionAsistencia().getSesId());
        asis.setSec_nombre(sesefeasisdoc.getAcSesionAsistencia().getAcSeccion().getSecNombre());
        asis.setCur_nombre(
            sesefeasisdoc
                .getAcSesionAsistencia()
                .getAcSeccion()
                .getCurape()
                .getPlancur()
                .getCur()
                .getCurNombre());
        asis.setSesefeasisdoc_fecha(sesefeasisdoc.getAcSesionAsistencia().getSesFechaRegistro());
        asis.setSesefeasisdoc_id(sesefeasisdoc.getSesefeasisdocId());

        AcSesionAsistencia ses = dao.listarSessionAsistencia_x_sesid(p_ses_id);
        asis.setRegistro(ses.getSesFechaInicio());
        asis.setSesObservacion(ses.getSesObservacion());
        if (asis.getSesObservacion().equals("")) {}

        asis.setSesEstadoDocTipo(ses.getSesEstadoDocTipo());
        asis.setEstasis_code_diario(ses.getSesEstadoDocTipo());
        asis.setCentro(this.getAsisDocenteCL().getCentro());
        System.out.println("XD ->" + this.getAsisDocenteCL().getCentro());
        HSCatalogoDAO catalogoDAO =
            (HSCatalogoDAO) ServiceFinder.findBean("SpringHibernateDaoCatalogo");
        this.setB_sesEstadoDocTipo(catalogoDAO.seleccionarDescripcion(ses.getSesEstadoDocTipo()));
      } else {
        AcDocente doc = daoDoc.seleccionarDocente(p_doc_id);
        AcSesionAsistencia ses = dao.listarSessionAsistencia_x_sesid(p_ses_id);
        asis.setRegistro(ses.getSesFechaInicio());
        asis.setSalida(ses.getSesFechaFin());
        asis.setSesefeasisdoc_fecha(ses.getSesFechaRegistro());
        asis.setDoc_id(doc.getId());
        asis.setDoc_codigo(doc.getDocCodigo());
        asis.setDoc_nombre(doc.getDocNombre());
        asis.setSes_id(p_ses_id);
        asis.setSec_nombre(p_sec_nombre);
        asis.setCur_nombre(p_cur_nombre);
        asis.setSesObservacion(ses.getSesObservacion());
        HSCatalogoDAO catalogoDAO =
            (HSCatalogoDAO) ServiceFinder.findBean("SpringHibernateDaoCatalogo");
        this.setB_sesEstadoDocTipo(catalogoDAO.seleccionarDescripcion(ses.getSesEstadoDocTipo()));
        asis.setSesEstadoDocTipo(ses.getSesEstadoDocTipo());
        asis.setEstasis_code_diario(ses.getSesEstadoDocTipo());
      }
      this.setAsisDocenteCL(asis);
      this.setOncompleteADD("Richfaces.showModalPanel('mpAsisDocenteDiaria')");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  public void seleccionarMarcaDocente(ActionEvent event) {
    int paramDocId;
    int paramSesId;
    String paramCurNombre;
    String paramSecNombre;
    AcDocente acDoc;
    AcSesionAsistencia sesAsis;
    AcSesionEfectivaAsisDoc sesEfecAsisDoc;
    AsistenciaDocenteBean asisDoc;
    ClSeccion clSec;
    HSAsistenciaDocenteDAO asisDocDAO;
    HSDocenteDAO docDAO;
    Timestamp t1;
    Timestamp t2;

    paramDocId = CommonWeb.parseObjToInt(CommonWeb.getParamFromUIParameterUI(event, "w_doc_id"));
    paramSesId = CommonWeb.parseObjToInt(CommonWeb.getParamFromUIParameterUI(event, "w_ses_id"));
    paramCurNombre = CommonWeb.getParamFromUIParameterUI(event, "p_cur_nombre");
    paramSecNombre = CommonWeb.getParamFromUIParameterUI(event, "p_sec_nombre");

    asisDocDAO = CommonDAO.getAsistenciaDocenteDAO();
    docDAO = CommonDAO.getAcDocenteDAO();
    try {
      sesEfecAsisDoc = asisDocDAO.listaMarcadoDeAsistencia_x_Docente(paramSesId);
      asisDoc = new AsistenciaDocenteBean();

      if (sesEfecAsisDoc instanceof AcSesionEfectivaAsisDoc) {
        asisDoc.setDoc_id(sesEfecAsisDoc.getAcDocente().getId());
        asisDoc.setDoc_codigo(sesEfecAsisDoc.getAcDocente().getDocCodigo());
        asisDoc.setDoc_nombre(sesEfecAsisDoc.getAcDocente().getDocNombre());
        asisDoc.setSes_id(sesEfecAsisDoc.getAcSesionAsistencia().getSesId());

        clSec =
            CommonDAO.getClSeccionDAO()
                .seleccionarSeccion(sesEfecAsisDoc.getAcSesionAsistencia().getAcSeccion().getId());
        try {
          asisDoc.setSec_nombre(clSec.getSecNombre());
        } catch (Exception ex) {
          asisDoc.setSec_nombre("NO DETERMINADO");
          ex.printStackTrace();
        }

        try {
          asisDoc.setCur_nombre(clSec.getClArbolAcademico().getArbAcadPadre().getArbDescripcion());
        } catch (Exception ex) {
          asisDoc.setCur_nombre("NO DETERMINADO");
          ex.printStackTrace();
        }

        asisDoc.setEstasis_code(sesEfecAsisDoc.getSesefeasisdocTipo());
        asisDoc.setSesefeasisdoc_fecha(
            sesEfecAsisDoc.getAcSesionAsistencia().getSesFechaRegistro());
        asisDoc.setSesefeasisdoc_id(sesEfecAsisDoc.getSesefeasisdocId());

        t1 = sesEfecAsisDoc.getSesefeasisdocRegistro();
        t2 = sesEfecAsisDoc.getSesefeasisdocSalida();
        if (t1 != null) {
          asisDoc.setReg_hora(t1.getHours());
          asisDoc.setReg_min(t1.getMinutes());
        }
        if (t2 != null) {
          asisDoc.setSal_hora(t2.getHours());
          asisDoc.setSal_min(t2.getMinutes());
        }
        sesAsis = asisDocDAO.listarSessionAsistencia_x_sesid(paramSesId);
        asisDoc.setRegistro(sesAsis.getSesFechaInicio());
        asisDoc.setSalida(sesAsis.getSesFechaFin());
        asisDoc.setSesefeasisdoc_registro(sesEfecAsisDoc.getSesefeasisdocRegistro());
        asisDoc.setSesefeasisdoc_salida(sesEfecAsisDoc.getSesefeasisdocSalida());
        asisDoc.setSesefeasisdoc_obs(sesEfecAsisDoc.getSesefeasisdocObs());
      } else {
        //                System.out.println("nuevo ingreso!");
        acDoc = docDAO.seleccionarDocente(paramDocId);
        sesAsis = asisDocDAO.listarSessionAsistencia_x_sesid(paramSesId);
        asisDoc.setRegistro(sesAsis.getSesFechaInicio());
        asisDoc.setSalida(sesAsis.getSesFechaFin());
        asisDoc.setSesefeasisdoc_fecha(sesAsis.getSesFechaRegistro());
        asisDoc.setDoc_id(acDoc.getId());
        asisDoc.setDoc_codigo(acDoc.getDocCodigo());
        asisDoc.setDoc_nombre(acDoc.getDocNombre());
        asisDoc.setSes_id(paramSesId);
        asisDoc.setSec_nombre(paramSecNombre);
        asisDoc.setCur_nombre(paramCurNombre);
      }
      asisDocente = asisDoc;
      oncomplete = "Richfaces.showModalPanel('mpAsisDocente')";
    } catch (Exception e) {
      e.printStackTrace();
    }
  }