private void cargarOactualizarAsistencia(int op) {
        String dia = "";

        // almaceno que cual es la operacion  qu va hacer el usuario
        this.opc = op;


        switch (op) {

            case ALTA:
                asistencia = new Asistencia();
                asistencia.setEmpleado(empleado);
                asistencia.setFecha(fechaHoy);

                asistencia.setNturno((byte) 1); // cantidad de marcaciones en el dia
                asistencia.setMcontador((byte) 1); // 1 si es entrada .0 salida
                opcMarcacion=ALTA;
                cargarOactualizarMarcacion(ALTA);

                break;
            case MODIFICAR:
                // marcar salida
                System.err.println("asistenica contador " + asistencia.getMcontador() + MARCACION_SALIDA);
                if (isMarcacionEntrda(asistencia)) {
                    // marca una nueva maracion en la asistencia
                    System.err.println("nueva marcacion en el dia de dd");
                    byte nturno = (byte) (asistencia.getNturno() + 1);
                    asistencia.setNturno(nturno);
                    asistencia.setMcontador(MARCACION_ENTRADA);

                    //MARCACION
                    opcMarcacion=ALTA;
                    cargarOactualizarMarcacion(ALTA);
                    System.err.println("nueva marcacion en el dia");
                } else {
                    //marca salida de una marcacion existente 

                    System.err.println("marcacion de salida ");
                    asistencia.setMcontador(MARCACION_SALIDA);
                    //MARCACION
                    opcMarcacion=MODIFICAR;
                    cargarOactualizarMarcacion(MODIFICAR);
                }
                break;

            case EXTRA_MARCACION_ADICIONAL_EN_EL_DIA:
                
                // marcar 
                System.err.println("Y A TIENE LAS MARCACIONES DIARIAS INGRESAR UNA NUEVA EN EL MISMO DIA");
                // mostrar la venana de opciones 
                if (asistencia.getMcontador() == MARCACION_SALIDA) {

                    if (isIngresoOpcionEnVenanaMotivos(MOTIVO_HS_EXTRA, empleado.getSector().getSid())) {
                        // marca una nueva maracion en la asistencia
                        System.err.println("nueva marcacion en el dia de dd");
                        byte nturno = (byte) (asistencia.getNturno() + 1);
                        asistencia.setNturno(nturno);
                        asistencia.setMcontador(MARCACION_ENTRADA);

                        //MARCACION
                        cargarOactualizarMarcacionExtra(ALTA);

                        System.err.println("nueva marcacion en el dia");
                    }
                } else {
                    //marca salida de una marcacion existente 
                    System.err.println("marcacion de salida ");
                    asistencia.setMcontador(MARCACION_SALIDA);
                    //MARCACION
                    cargarOactualizarMarcacionExtra(MODIFICAR);

                }
                break;

            case EXTRA_MARCACION_DIA_NO_REGISTRADA:
                // marcar salida
                System.err.println("INGRESA UNA MARCACION EN EL DIA QUE NO LE CORRESPONDE TRABJAR");


                if (!isExistAsistenciaHoy()) {
                    System.err.println("alta extra dia");
                     extraM=false;
                    cargaOActualizarAsistenciaExtra(ALTA);
                    
                } else {
                    System.err.println("modificar extra dia");
                     extraM=true;
                    cargaOActualizarAsistenciaExtra(MODIFICAR);
                    
                }

                break;



        }





    }