<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ include file="validar.jsp" %> <!DOCTYPE html> <html lang="es"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta charset="utf-8" /> <title>:::SISTEMA DE HORARIOS:::</title> <meta name="description" content="overview & stats" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <link rel="stylesheet" href="../assets/css/bootstrap.css" /> <link rel="stylesheet" href="../assets/css/font-awesome.css" /> <link rel="stylesheet" href="../assets/css/jquery-ui.css" /> <link rel="stylesheet" href="../assets/css/ace-fonts.css" /> <link rel="stylesheet" href="../assets/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" /> <script src="../assets/js/ace-extra.js"></script> <!-- inline scripts related to this page --> <script type="text/javascript" language="javascript"> /*$(document).ready( function() { jQuery("#registroEncuesta").validationEngine(); });*/ </script> </head> <body class="no-skin" onLoad="cargar();"> <!-- #section:basics/navbar.layout --> <div id="navbar" class="navbar navbar-default"> <script type="text/javascript"> try { ace.settings.check('navbar', 'fixed') } catch (e) { } </script> <div class="navbar-container" id="navbar-container"> <%@ include file="banner.jsp" %> </div><!-- /.navbar-container --> </div> <!-- /section:basics/navbar.layout --> <div class="main-container" id="main-container"> <script type="text/javascript"> try { ace.settings.check('main-container', 'fixed') } catch (e) { } </script> <!-- #section:basics/sidebar --> <div id="sidebar" class="sidebar responsive"> <script type="text/javascript"> try { ace.settings.check('sidebar', 'fixed') } catch (e) { } </script> <input id="codModulo" type="hidden" value="<%=menu!=null?menu.getCodModulo():""%>"> <input id="codCategoria" type="hidden" value="<%=menu!=null?menu.getCodCategoria():""%>"> <%@ include file="menu.jsp" %> <!-- #section:basics/sidebar.layout.minimize --> <div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse"> <i class="ace-icon fa fa-angle-double-left" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i> </div> <!-- /section:basics/sidebar.layout.minimize --> <script type="text/javascript"> try { ace.settings.check('sidebar', 'collapsed') } catch (e) { } </script> </div> <!-- /section:basics/sidebar --> <div class="main-content"> <div class="main-content-inner"> <!-- #section:basics/content.breadcrumbs --> <div class="breadcrumbs" id="breadcrumbs"> <script type="text/javascript"> try { ace.settings.check('breadcrumbs', 'fixed') } catch (e) { } </script> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="principal.jsp">INICIO</a> </li> <li class="active">HORARIOS</li> </ul><!-- /.breadcrumb --> </div> <!-- /section:basics/content.breadcrumbs --> <div class="page-content"> <div class="page-header"> <h1> Horarios <small> <i class="ace-icon fa fa-angle-double-right"></i> Generar Horario </small> </h1> </div><!-- /.page-header --> <div class="row"> <!-- ----------- CONTENEDOR DE FORMULARIOS--------INI----- --> <!-- ----------------------------------------------------- --> <div class="col-sm-12" style="width:100%; height: 40px;"> <center><a class="btn btn-sm btn-primary" href="vistaDobleDisponibilidad.jsp" target="_blank">Vista doble</a></center> </div> <!-- ----------------------------------------------------- --> <div class="col-sm-12" style="width:100%;"> <div class="col-sm-12"> <!-- -------------TABLA---INI------------ --> <form id="formListado" name="formListado"> <div id='aula'> <!--style="display: none;"--> </div> </form> <!-- -------------TABLA---FIN------------ --> </div> <br><br> <center> <button class="btn btn-sm btn-primary" onclick="regresar();" type="button"> <i class="ace-icon fa fa-reply icon-on-right bigger-110"></i> Regresar </button> <!-- <button class="btn btn-sm btn-danger" onclick="validar_registro();" type="button"> <i class="ace-icon fa fa-trash icon-on-right bigger-110"></i> Eliminar Todos los horarios </button> --> </center> </div> <!-- ----------- CONTENEDOR DE FORMULARIOS--------FIN----- --> <input type="hidden" id="codAulas"> <input type="hidden" id="nomAulas"> <input type="hidden" id="cantSelec"> <input type="hidden" id="Hini"> <input type="hidden" id="Hfin"> <!-- ::::::::::-ALERTAS-::::::::::::::: --> <div id="dialog-noti1" class="hide"> <br> -------------------------------- <br><br> </div> <div id="dialog-noti2" class="hide"> <br> Se registró con éxito. <br><br> </div> <div id="dialog-confor1" class="hide"> <br> ¿Desea realizar la asignacion secuencial? <br><br> </div> <div id="dialog-confor2" class="hide"> <br> ¿Está seguro de asignar el curso y el docente? <br><br> </div> <div id="dialog-advertencia1" class="hide"> <br> Este curso ya está registrado en el horario. <br><br> </div> <div id="dialog-advertencia2" class="hide"> <br> No se pueden asignar los horarios del docente de esta secuencia, por que existe un curso que hace cruce con la secuancia. <br><br> </div> <div id="dialog-advertencia3" class="hide"> <br> <p>No se puede seleccionar esta casilla porque ya existe un docente seleccionado:</p> <div class="profile-activity clearfix" style='border:1px dotted #D0D8E0;'> <div> <i class="pull-left thumbicon fa fa-user btn-success no-hover"></i> <!--<a class="user" href="#"> Alex Doe </a>--> <span id='nom'></span> <div class="time"> <i class="ace-icon fa fa-list bigger-110"></i> Posición <span id='pos'></span> </div> </div> </div> <br><br> </div> <div id="dialog-advertencia4" class="hide"> <br> Debe seleccionar un docente para continuar con la asignación. <br><br> </div> <div id="dialog-eliminar" class="hide"> <br> ¿Está seguro de eliminar este horario? <br><br> </div> <div id="dialog-eliminarM" class="hide"> <br> ¿Está seguro de eliminar los horarios masivamente? <br><br> </div> <div id="dialog-eliminarTodo" class="hide"> <br> ¿Está seguro de eliminar todo el horario del aula? <br><br> </div> <div id="dialog-armar1" class="hide"> <br> <form id="RegistroArmado" method="post"> <div class="sttxt2" id="divRegistro"></div> </form> <br><div class="col-sm-12"></div> <div class="sttxt2" id="divVistaPrevia" style="display:none;"></div> <br><br> </div> <div id="dialog-armar2" class="hide" style='overflow: hidden !important;'> <br> <form id="RegistroAsigCurDoc" name="RegistroAsigCurDoc" class="formular" method="post" > <div class="sttxt2" id="divRegistroCursoDocente"></div> <br> <div id="listadoCruce" style="display: none;"> </div> <br> <div class="col-sm-12" id="divFormularioCambio"> </div> </form> <br><br> </div> <div id="dialog-cargando" class="hide" style="z-index: 2001 !important;"> <table cellpadding="0" cellspacing="0" width="100%"> <tr><td align="center"><img src="imagenes/cargando.gif" border=0></td></tr> </table> </div> <!-- ::::::::::-ALERTAS-::::::::::::::: --> </div><!-- /.row --> </div><!-- /.page-content --> </div> </div><!-- /.main-content --> <div class="footer"> <%@ include file="footer.jsp" %> </div> <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse"> <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i> </a> </div><!-- /.main-container --> <!-- basic scripts --> <!--[if !IE]> --> <script type="text/javascript"> window.jQuery || document.write("<script src='../assets/js/jquery.js'>" + "<" + "/script>"); </script> <!-- <![endif]--> <!--[if IE]> <script type="text/javascript"> window.jQuery || document.write("<script src='../assets/js/jquery1x.js'>"+"<"+"/script>"); </script> <![endif]--> <script type="text/javascript"> if ('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.js'>" + "<" + "/script>"); </script> <script src="../assets/js/bootstrap.js"></script> <!-- page specific plugin scripts --> <script src="../assets/js/jquery-ui.js"></script> <script src="../assets/js/jquery.ui.touch-punch.js"></script> <!--[if lte IE 8]> <script src="../assets/js/excanvas.js"></script> <![endif]--> <script src="../assets/js/jquery-ui.custom.js"></script> <script src="../assets/js/jquery.ui.touch-punch.js"></script> <script src="../assets/js/jquery.easypiechart.js"></script> <script src="../assets/js/jquery.sparkline.js"></script> <script src="../assets/js/flot/jquery.flot.js"></script> <script src="../assets/js/flot/jquery.flot.pie.js"></script> <script src="../assets/js/flot/jquery.flot.resize.js"></script> <script src="../assets/js/jquery.maskedinput.js"></script> <!-- ace scripts --> <script src="../assets/js/ace/elements.scroller.js"></script> <script src="../assets/js/ace/elements.colorpicker.js"></script> <script src="../assets/js/ace/elements.fileinput.js"></script> <script src="../assets/js/ace/elements.typeahead.js"></script> <script src="../assets/js/ace/elements.wysiwyg.js"></script> <script src="../assets/js/ace/elements.spinner.js"></script> <script src="../assets/js/ace/elements.treeview.js"></script> <script src="../assets/js/ace/elements.wizard.js"></script> <script src="../assets/js/ace/elements.aside.js"></script> <script src="../assets/js/ace/ace.js"></script> <script src="../assets/js/ace/ace.ajax-content.js"></script> <script src="../assets/js/ace/ace.touch-drag.js"></script> <script src="../assets/js/ace/ace.sidebar.js"></script> <script src="../assets/js/ace/ace.sidebar-scroll-1.js"></script> <script src="../assets/js/ace/ace.submenu-hover.js"></script> <script src="../assets/js/ace/ace.widget-box.js"></script> <script src="../assets/js/ace/ace.settings.js"></script> <script src="../assets/js/ace/ace.settings-rtl.js"></script> <script src="../assets/js/ace/ace.settings-skin.js"></script> <script src="../assets/js/ace/ace.widget-on-reload.js"></script> <script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script> <script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script> <link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/> <!--<link rel="stylesheet" href="css/template.css" type="text/css"/>--> <!-- inline scripts related to this page --> <script type="text/javascript"> jQuery(function ($) { //override dialog's title function to allow for HTML titles $.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, { _title: function (title) { var $title = this.options.title || ' ' if (("title_html" in this.options) && this.options.title_html == true) title.html($title); else title.text($title); } })); $("#id-btn-dialog2").on('click', function (e) {//-- e.preventDefault(); $("#dialog-confirm").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-header'><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle red'></i> Empty the recycle bin?</h4></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-trash-o bigger-110'></i> Delete all items", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } , { html: "<i class='ace-icon fa fa-times bigger-110'></i> Cancel", "class": "btn btn-xs", click: function () { $(this).dialog("close"); } } ] }); }); $('.easy-pie-chart.percentage').each(function () { var $box = $(this).closest('.infobox'); var barColor = $(this).data('color') || (!$box.hasClass('infobox-dark') ? $box.css('color') : 'rgba(255,255,255,0.95)'); var trackColor = barColor == 'rgba(255,255,255,0.95)' ? 'rgba(255,255,255,0.25)' : '#E2E2E2'; var size = parseInt($(this).data('size')) || 50; $(this).easyPieChart({ barColor: barColor, trackColor: trackColor, scaleColor: false, lineCap: 'butt', lineWidth: parseInt(size / 10), animate: /msie\s*(8|7|6)/.test(navigator.userAgent.toLowerCase()) ? false : 1000, size: size }); }) $('.sparkline').each(function () { var $box = $(this).closest('.infobox'); var barColor = !$box.hasClass('infobox-dark') ? $box.css('color') : '#FFF'; $(this).sparkline('html', { tagValuesAttribute: 'data-values', type: 'bar', barColor: barColor, chartRangeMin: $(this).data('min') || 0 }); }); //flot chart resize plugin, somehow manipulates default browser resize event to optimize it! //but sometimes it brings up errors with normal resize event handlers $.resize.throttleWindow = false; var placeholder = $('#piechart-placeholder').css({'width': '90%', 'min-height': '150px'}); var data = [ {label: "social networks", data: 38.7, color: "#68BC31"}, {label: "search engines", data: 24.5, color: "#2091CF"}, {label: "ad campaigns", data: 8.2, color: "#AF4E96"}, {label: "direct traffic", data: 18.6, color: "#DA5430"}, {label: "other", data: 10, color: "#FEE074"} ] function drawPieChart(placeholder, data, position) { $.plot(placeholder, data, { series: { pie: { show: true, tilt: 0.8, highlight: { opacity: 0.25 }, stroke: { color: '#fff', width: 2 }, startAngle: 2 } }, legend: { show: true, position: position || "ne", labelBoxBorderColor: null, margin: [-30, 15] } , grid: { hoverable: true, clickable: true } }) } drawPieChart(placeholder, data); /** we saved the drawing function and the data to redraw with different position later when switching to RTL mode dynamically so that's not needed actually. */ placeholder.data('chart', data); placeholder.data('draw', drawPieChart); //pie chart tooltip example var $tooltip = $("<div class='tooltip top in'><div class='tooltip-inner'></div></div>").hide().appendTo('body'); var previousPoint = null; placeholder.on('plothover', function (event, pos, item) { if (item) { if (previousPoint != item.seriesIndex) { previousPoint = item.seriesIndex; var tip = item.series['label'] + " : " + item.series['percent'] + '%'; $tooltip.show().children(0).text(tip); } $tooltip.css({top: pos.pageY + 10, left: pos.pageX + 10}); } else { $tooltip.hide(); previousPoint = null; } }); ///////////////////////////////////// $(document).one('ajaxloadstart.page', function (e) { $tooltip.remove(); }); var d1 = []; for (var i = 0; i < Math.PI * 2; i += 0.5) { d1.push([i, Math.sin(i)]); } var d2 = []; for (var i = 0; i < Math.PI * 2; i += 0.5) { d2.push([i, Math.cos(i)]); } var d3 = []; for (var i = 0; i < Math.PI * 2; i += 0.2) { d3.push([i, Math.tan(i)]); } var sales_charts = $('#sales-charts').css({'width': '100%', 'height': '220px'}); $.plot("#sales-charts", [ {label: "Domains", data: d1}, {label: "Hosting", data: d2}, {label: "Services", data: d3} ], { hoverable: true, shadowSize: 0, series: { lines: {show: true}, points: {show: true} }, xaxis: { tickLength: 0 }, yaxis: { ticks: 10, min: -2, max: 2, tickDecimals: 3 }, grid: { backgroundColor: {colors: ["#fff", "#fff"]}, borderWidth: 1, borderColor: '#555' } }); $('#recent-box [data-rel="tooltip"]').tooltip({placement: tooltip_placement}); function tooltip_placement(context, source) { var $source = $(source); var $parent = $source.closest('.tab-content') var off1 = $parent.offset(); var w1 = $parent.width(); var off2 = $source.offset(); //var w2 = $source.width(); if (parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2)) return 'right'; return 'left'; } $('.dialogs,.comments').ace_scroll({ size: 300 }); //Android's default browser somehow is confused when tapping on label which will lead to dragging the task //so disable dragging when clicking on label var agent = navigator.userAgent.toLowerCase(); if ("ontouchstart" in document && /applewebkit/.test(agent) && /android/.test(agent)) $('#tasks').on('touchstart', function (e) { var li = $(e.target).closest('#tasks li'); if (li.length == 0) return; var label = li.find('label.inline').get(0); if (label == e.target || $.contains(label, e.target)) e.stopImmediatePropagation(); }); $('#tasks').sortable({ opacity: 0.8, revert: true, forceHelperSize: true, placeholder: 'draggable-placeholder', forcePlaceholderSize: true, tolerance: 'pointer', stop: function (event, ui) { //just for Chrome!!!! so that dropdowns on items don't appear below other items after being moved $(ui.item).css('z-index', 'auto'); } } ); $('#tasks').disableSelection(); $('#tasks input:checkbox').removeAttr('checked').on('click', function () { if (this.checked) $(this).closest('li').addClass('selected'); else $(this).closest('li').removeClass('selected'); }); //show the dropdowns on top or bottom depending on window height and menu position $('#task-tab .dropdown-hover').on('mouseenter', function (e) { var offset = $(this).offset(); var $w = $(window) if (offset.top > $w.scrollTop() + $w.innerHeight() - 100) $(this).addClass('dropup'); else $(this).removeClass('dropup'); }); }); //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: $(document).ready(function () { jQuery("#registroEncuesta").validationEngine(); }); //------------------------------- // webSocket let host = window.location.host; let socket = new WebSocket('ws://' + host + '/horario/SocketHorario') function enviarAccionWebSocket(accion) { socket.send(accion) } // webSocket function cargando() { $("#dialog-cargando").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-header' ><h4 class='smaller'><i class='fa fa-spinner'></i> Cargando...</h4></div>", title_html: true }); } function close_carga() { $("#dialog-cargando").dialog("close"); } function conMayusculas(field) { field.value = field.value.toUpperCase() } function segundaCarga() { armarHorarioGeneral(); } function armarHorarioGeneral() { enviarAccionWebSocket('listarVistaDobleWS') var cantidad = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_cantidad():""%>"; var codAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codAulas():""%>"; var cadena = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_cadena():""%>"; var codigo = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codigo():""%>"; var cadenaAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_cadenaAulas():""%>"; //alert("cantidad= "+cantidad+"\n codAulas= "+codAulas+"\n cadena= "+cadena+"\n codigo= "+codigo+"\n cadenaAulas= "+cadenaAulas); //alert(codigo); //alert(cantidad+"\n"+codAulas+"\n"+codBlo+"\n"+codGru); $.ajax({ type: 'POST', url: '../ServletHorario?Accion=armadoHorarioGeneral2', data: 'cantidad=' + cantidad + '&codAulas=' + codAulas + '&cadena=' + cadena + '&codigo=' + codigo + '&cadenaAulas=' + cadenaAulas, beforeSend: function () { cargando(); }, success: function (resultado) { close_carga(); //alert(resultado); $("#aula").html(resultado); }, complete: function () { } }); } //function alerta1(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral){ function alerta1(cantAulas, bloquesDia, codaula, posDia, dia, Hor_ini, Hor_fin, codigaGrupoHorario, contGeneral) { // if(cantAulas!=bloquesDia){ // //alert(Hor_ini+" - "+Hor_fin); // armarAsignacionCurso(0,cantAulas,bloquesDia,codaula,posDia,dia,Hor_ini,Hor_fin,codigaGrupoHorario,contGeneral); // }else if(cantAulas==1){ // //alert(Hor_ini+" - "+Hor_fin); // armarAsignacionCurso(0,cantAulas,bloquesDia,codaula,posDia,dia,Hor_ini,Hor_fin,codigaGrupoHorario,contGeneral); // }else{ $("#dialog-confor1").removeClass('hide').dialog({ resizable: false, width: 400, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-cogs bigger-110'></i> SI", "class": "btn btn-primary btn-xs", click: function () { //asignarHorarioCurso(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral); armarAsignacionCurso(1, cantAulas, bloquesDia, codaula, posDia, dia, Hor_ini, Hor_fin, codigaGrupoHorario, contGeneral); $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-cog bigger-110'></i> NO", "class": "btn btn-warning btn-xs", click: function () { //asignarHorarioCursoIndividual(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral) armarAsignacionCurso(0, cantAulas, bloquesDia, codaula, posDia, dia, Hor_ini, Hor_fin, codigaGrupoHorario, contGeneral); $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> CANCELAR", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); // } } function armarAsignacionCurso(opcion, cantAulas, bloquesDia, codaula, posDia, dia, Hor_ini, Hor_fin, codigaGrupoHorario, contGeneral) { //alert(codigo); var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; $.ajax({ type: 'POST', // url:'../ServletHorario?Accion=armarAsignacionCursoDocGeneral2', url: '../ServletHorario?Accion=armarAsignacionCursoDocGeneral3', data: 'dia=' + dia + '&Hini=' + Hor_ini + '&Hfin=' + Hor_fin + '&opcion=' + opcion + '&periodo=' + periodo, success: function (resultado) { $('#divRegistroCursoDocente').html(resultado); $('#divFormularioCambio').html('') }, complete: function () { $("#listadoCruce").fadeOut(); cargarCursoArea(opcion, posDia, dia, Hor_ini, Hor_fin, codigaGrupoHorario, codaula, contGeneral); //alerta2(bloquesDia,dia,Hor_ini,Hor_fin,codigaGrupoHorario,codaula,contGeneral,opcion,0); } }); } function cargarCursoArea(opcion, bloq, dia, Hor_ini, Hor_fin, codigaGrupoHorario, codaula, contGeneral) { $("#Hini").val(Hor_ini); $("#Hfin").val(Hor_fin); var dato = verificarTurno(Hor_ini, Hor_fin); var codTurno = dato; //alert(opcion+" - "+bloq+" - "+dia); var nombre = "cmbCurso"; var accion = "cargarDocentesDisponibles(" + opcion + "," + bloq + "," + dia + "," + codaula + "); recargar();"; //var codArea=$("#cmbArea").val(); $.ajax({ type: 'POST', url: '../ServletCurso?Accion=cargarCurso2', data: 'nombre=' + nombre + '&accion=' + accion, success: function (resultado) { $('#divCursoCombo').html(resultado); }, complete: function () { alerta2(bloq, dia, Hor_ini, Hor_fin, codTurno, codigaGrupoHorario, codaula, contGeneral, opcion, 0); } }); } function cargarDocentesDisponibles(opcion, bloq, dia, codaula) { var Hini = $("#Hini").val(); var Hfin = $("#Hfin").val(); var dato = verificarTurno(Hini, Hfin); var codTurno = dato; var codCurso = $("#cmbCurso").val(); var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; $.ajax({ type: 'POST', // url:'../ServletDocente?Accion=cargarDocentesDisponiblesGeneral2', url: '../ServletDocente?Accion=cargarDocentesDisponiblesGeneral3', data: 'codTurno=' + codTurno + '&dia=' + dia + '&codCurso=' + codCurso + '&periodo=' + periodo + '&opcion=' + opcion + '&codaula=' + codaula, success: function (resultado) { //listarDocentes(Hini,Hfin,dato,codTurno,codCurso,periodo,opcion,bloq,dia,codaula); listarDocentes(periodo); // $('#divDocenteCombo').html(resultado); }, complete: function () { // $("#formulario1").dialog( "close" ); } }); } function listarDocentes(periodo) { var apellidoDocente = $("#txtApeDocente").val(); var cadenaAulas = $("#cadenaAulasHorario").val(); $.ajax({ type: 'POST', url: '../ServletDocente?Accion=tablaDocentesDisponiblesGeneral5', data: 'periodo=' + periodo + '&apellidoDocente=' + apellidoDocente + '&cadenaAulas=' + cadenaAulas, beforeSend: function () { cargando(); }, success: function (resultado) { close_carga(); $('#divDocenteCombo').html(resultado); }, complete: function () { $("#formulario1").dialog("close"); } }); } function doSearch() { var tableReg = document.getElementById('tablaDocentes'); var searchText = document.getElementById('txtApeDocente').value.toLowerCase(); var cellsOfRow = ""; var found = false; var compareWith = ""; // Recorremos todas las filas con contenido de la tabla for (var i = 1; i < tableReg.rows.length; i++) { cellsOfRow = tableReg.rows[i].getElementsByTagName('td'); found = false; // Recorremos todas las celdas for (var j = 0; j < cellsOfRow.length && !found; j++) { compareWith = cellsOfRow[j].innerHTML.toLowerCase(); // Buscamos el texto en el contenido de la celda if (searchText.length == 0 || (compareWith.indexOf(searchText) > -1)) { found = true; } } if (found) { tableReg.rows[i].style.display = ''; } else { // si no ha encontrado ninguna coincidencia, esconde la // fila de la tabla tableReg.rows[i].style.display = 'none'; } } } // Velasquez function verificar_uno(check) { var limite = 1; var contador = 0; var ele = ""; if (check.checked) { //está marcada, entonces aumento en uno el contador del grupo for (var i = 0; ele = check.form.elements[i]; i++) { if (ele.checked) { contador++; } //compruebo si el contador ha llegado al máximo permitido if (contador > limite) { //desmarco la casilla, porque no se puede permitir marcar check.checked = false; //resto una unidad al contador de grupo, porque he desmarcado una casilla contador--; //si ha llegado al máximo, muestro mensaje de error popupAlertaCheck(); } } } else { //si la casilla no estaba marcada, resto uno al contador de grupo contador--; } } function popupAlertaCheck() { var cantidad = $("#cantidad").val(); var posicion = ""; var cadena = ""; var cont = 1; for (var i = 0; i <= cantidad; i++) { posicion = $("input[name='checkbox" + cont + "']:checked").val(); var dato = $("#datos2_" + posicion + "").val(); if (posicion != "" && posicion != undefined) { if (cadena == "") { cadena = dato; } } cont++; } var array1 = cadena.split("#"); for (var a = 0; a < array1.length; a++) { var num = array1[0]; var nombre = array1[1]; } $("#nom").html(nombre); $("#pos").html(num); $("#dialog-advertencia3").removeClass('hide').dialog({ resizable: false, width: 450, modal: true, title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-times bigger-110'></i> ACEPTAR", "class": "btn btn-warning btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function verificarTurno(HorIni, HorFin) { var mini = "07:50"; var mfin = "14:30"; var tini = "15:00"; var tfin = "19:00"; var nini = "19:00"; var nfin = "22:00"; var ARmini = mini.split(":"); var ARmfin = mfin.split(":"); var ARtini = tini.split(":"); var ARtfin = tfin.split(":"); var ARnini = nini.split(":"); var ARnfin = nfin.split(":"); // Obtener horas y minutos (MAÑANA) var hhMini = parseInt(ARmini[0], 10); var mmMini = parseInt(ARmini[1], 10); var hhMfin = parseInt(ARmfin[0], 10); var mmMfin = parseInt(ARmfin[1], 10); // Obtener horas y minutos (TARDE) var hhTini = parseInt(ARtini[0], 10); var mmTini = parseInt(ARtini[1], 10); var hhTfin = parseInt(ARtfin[0], 10); var mmTfin = parseInt(ARtfin[1], 10); // Obtener horas y minutos (NOCHE) var hhNini = parseInt(ARnini[0], 10); var mmNini = parseInt(ARnini[1], 10); var hhNfin = parseInt(ARnfin[0], 10); var mmNfin = parseInt(ARnfin[1], 10); var ARHorIni = HorIni.split(":"); var ARHorFin = HorFin.split(":"); // Obtener horas y minutos (DATO) var hhHorIni = parseInt(ARHorIni[0], 10); var mmHorIni = parseInt(ARHorIni[1], 10); var hhHorFin = parseInt(ARHorFin[0], 10); var mmHorFin = parseInt(ARHorFin[1], 10); if ((hhMini <= hhHorIni && hhTfin >= hhHorIni) && (hhMini <= hhHorFin && hhTfin >= hhHorFin)) { if ((hhMini <= hhHorIni && hhMfin >= hhHorIni) && (hhMini <= hhHorFin && hhMfin >= hhHorFin)) { if (hhHorFin == 14) { if (mmHorFin <= 30) { return "1";//"mañana"; } else { return "4";//"mañana-tarde"; } } else { return "1";//"mañana"; } } else if ((hhTini <= hhHorIni && hhTfin >= hhHorIni) && (hhTini <= hhHorFin && hhTfin >= hhHorFin)) { if (hhHorFin == 19) { if (mmHorFin == 0) { return "2";//"tarde"; } else { return "5";//"tarde-noche"; } } else { return "2";//"tarde"; } } else { if (hhHorFin == 19) { if (mmHorFin == 0) { return "4";//"mañana-tarde"; } else { return "6";//"mañana-tarde-noche"; } } else { return "4";//"mañana-tarde"; } } } else if ((hhTini <= hhHorIni && hhNfin >= hhHorIni) && (hhTini <= hhHorFin && hhNfin >= hhHorFin)) { if ((hhTini <= hhHorIni && hhTfin >= hhHorIni) && (hhTini <= hhHorFin && hhTfin >= hhHorFin)) { if (hhHorFin == 19) { if (mmHorFin == 0) { return "2";//"tarde"; } else { return "5";//"tarde-noche"; } } else { return "2";//"tarde"; } } else if ((hhNini <= hhHorIni && hhNfin >= hhHorIni) && (hhNini <= hhHorFin && hhNfin >= hhHorFin)) { return "3";//"noche"; } else { return "5";//"tarde-noche"; } } else { return "6";//"mañana-tarde-noche"; } } /* function CompararHoras(sHora1, sHora2) { var arHora1 = sHora1.split(":"); var arHora2 = sHora2.split(":"); // Obtener horas y minutos (hora 1) var hh1 = parseInt(arHora1[0],10); var mm1 = parseInt(arHora1[1],10); // Obtener horas y minutos (hora 2) var hh2 = parseInt(arHora2[0],10); var mm2 = parseInt(arHora2[1],10); // Comparar if (hh1<hh2 || (hh1==hh2 && mm1<mm2)) return "sHora1 MENOR sHora2"; else if (hh1>hh2 || (hh1==hh2 && mm1>mm2)) return "sHora1 MAYOR sHora2"; else return "sHora1 IGUAL sHora2"; } */ function recargar() { $("#listadoCruce").fadeOut(); $("#listadoCruce").html(""); } function alerta2(bloq, dia, Hini, Hfin, Turno, codigaGrupoHorario, codaula, contGeneral, opcion, editar, historial) { $("#dialog-armar2").removeClass('hide').dialog({ resizable: false, width: 800, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Asignación</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> ASIGNAR", "class": "btn btn-primary btn-xs", click: function () { verCursosIguales(codigaGrupoHorario, Turno, bloq, dia, Hini, Hfin, codaula, contGeneral, opcion, editar, historial); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> CANCELAR", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function verCursosIguales(codigaGrupoHorario, Turno, bloq, dia, Hini, Hfin, codaula, contGeneral, opcion, editar, historial) { //alert("verificar "+editar); var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; var codAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codAulas():""%>"; var codCurso = $("#cmbCurso").val(); $.ajax({ type: 'POST', url: '../ServletHorario?Accion=consultarCursosGeneral', data: "codAula=" + codaula + "&codCurso=" + codCurso + "&Turno=" + Turno + '&periodo=' + periodo + '&editar=' + editar + '&bloq=' + bloq + '&dia=' + dia + '&codAulas=' + codAulas + '&opcion=' + opcion, //'&codAulas='+codAulas+'&contGeneral='+contGeneral+'&opcion='+opcion+'&hora_inicio='+hora_inicio+'$hora_termino='+hora_termino, success: function (resultado) { //alert("rsultado "+resultado); if (resultado == 0) { validar_RegistroAsigCurDoc(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, historial); } else { advertencia1(); } }, complete: function () { } }); } function advertencia1() { //alert("advertencia 1"); $("#dialog-advertencia1").removeClass('hide').dialog({ resizable: false, width: 400, modal: true, title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-times bigger-110'></i> ACEPTAR", "class": "btn btn-warning btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function advertencia2() { $("#dialog-advertencia2").removeClass('hide').dialog({ resizable: false, width: 400, modal: true, title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-times bigger-110'></i> ACEPTAR", "class": "btn btn-warning btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function validar_RegistroAsigCurDoc(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, historial) { var estado = jQuery('#RegistroAsigCurDoc').validationEngine('validate'); if (estado) { var cantidad = $("#cantidad").val(); var posicion = ""; var codigoDocente = ""; for (var i = 1; i <= cantidad; i++) { posicion = $("input[name='checkbox" + i + "']:checked").val(); var dato = $("#datos_" + posicion + "").val(); if (posicion != "" && posicion != undefined) { if (codigoDocente == "") { codigoDocente = dato; } } } if (codigoDocente != "") { var json = {} if (historial == 'cambioFijo') { json.motivoCambio = $('#txtMotivoCambio').val() || '' json.observacion = $('#txtObservacion').val() || '' json.condicionTrabajador = $('#cbCondicionTrabajador').val() || '' } else if (historial == 'cambioDia') { json.motivoCambio = $('#txtMotivoCambio').val() || '' json.observacion = $('#txtObservacion').val() || '' json.horaAviso = $('#txtHoraAviso').val() || '' json.recuperacion = $('input[name="recuperacion"]').val() || '' } popup_confimacion(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente, historial, json); } else { alertaVacios(); } } } function alertaVacios() { $("#dialog-advertencia4").removeClass('hide').dialog({ resizable: false, width: 300, modal: true, title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-times bigger-110'></i> ACEPTAR", "class": "btn btn-warning btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function popup_confimacion(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente, historial, json) { $("#dialog-confor2").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> SI", "class": "btn btn-primary btn-xs", click: function () { // alert(codigoDocente); if (opcion == "1") { registrarAsigCurDoceHorarioMasivo(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente, historial); } else { registrarAsigCurDoceHorario(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente, historial, json); } $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> NO", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function registrarAsigCurDoceHorarioMasivo(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente) { //alert("registrarAsigCurDoceHorarioMasivo"); // debugger; var codAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codAulas():""%>"; var hora_inicio = $("#hora_inicio_" + dia + "").val(); var hora_termino = $("#hora_termino_" + dia + "").val(); var dato = verificarTurno(hora_inicio, hora_termino); var codTurno = dato; var codCurso = $("#cmbCurso").val(); // var codDocente = $("#cmbDocDisp").val(); var codClase = $("#idClase").val(); var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; var codGru = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codGru():""%>"; var cantidad = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_cantidad():""%>"; var cadenaHorasIni = $("#cadenaHorasIni_" + dia + "").val(); var cadenaHorasFin = $("#cadenaHorasFin_" + dia + "").val(); //alert(hora_inicio+"\n"+hora_termino); //alert(cadenaHorasIni+"\n"+cadenaHorasFin); //alert("codaula: "+codaula+"\n posBlo: "+bloq+"\n dia: "+dia+"\n Hor_ini: "+Hini+"\n Hor_fin: "+Hfin+"\n turno: "+Turno+"\n contGeneral: "+contGeneral); // debugger; var cant = 0; cant = parseInt(cantidad); var PosGeneral = 0; PosGeneral = parseInt(contGeneral); var cadenaPosGeneral = ""; //----------- POSICION GENERAL -------INI------ for (i = 1; i <= cant; i++) { if (PosGeneral == cant) { if (cadenaPosGeneral == "") { cadenaPosGeneral = PosGeneral; } else { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; } PosGeneral = parseInt(PosGeneral) - (parseInt(PosGeneral) - 1); } else { if (i == cant) { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; PosGeneral = parseInt(PosGeneral) - (parseInt(PosGeneral) - 1); } else { if (cadenaPosGeneral == "") { cadenaPosGeneral = PosGeneral; } else { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; } PosGeneral = parseInt(PosGeneral) + 1; } } } //----------- POSICION GENERAL -----FIN-------- //alert(cadenaPosGeneral); //----------- POSICION DE BLOQUE -------INI------ var cadenaPosBloques = ""; var PosBloques = 0; PosBloques = parseInt(bloq); var numeroBloque = cadenaHorasIni.split('#').length var indice = 0 cadenaPosBloques = PosBloques if (numeroBloque == PosBloques) { PosBloques = 1 } else { PosBloques++ } indice++ while (indice < cant) { cadenaPosBloques = cadenaPosBloques + "#" + PosBloques; if (numeroBloque == PosBloques) { PosBloques = 1 } else { PosBloques++ } indice++ } // for (i = 1; i <= cant; i++) { //// if(PosBloques==cant){ // if (cadenaPosBloques == "") { // cadenaPosBloques = PosBloques; // } else { // cadenaPosBloques = cadenaPosBloques + "#" + PosBloques; // } // if (numeroBloque == parseInt(bloq)) { // PosBloques = parseInt(PosBloques) - (parseInt(PosBloques) - 1); // } else { // PosBloques = parseInt(PosBloques) + 1; // } //// }else{ //// if(i==cant){ //// cadenaPosBloques=cadenaPosBloques+"#"+PosBloques; //// PosBloques = parseInt(PosBloques)-(parseInt(PosBloques)-1); //// //// }else{ //// //// if(cadenaPosBloques==""){ //// cadenaPosBloques=PosBloques; //// }else{ //// cadenaPosBloques=cadenaPosBloques+"#"+PosBloques; //// } //// PosBloques = parseInt(PosBloques) + 1; //// } //// } // } // console.log(cadenaPosBloques) // console.log(cadenaPosGeneral) // console.log(cant) // console.log(PosBloques) //----------- POSICION DE BLOQUE -----FIN-------- var arrayGeneral = cadenaPosGeneral.split("#"); var arrayBloques = cadenaPosBloques.split("#"); var arrayAulas = codAulas.split("#"); var arrayHorasIni = cadenaHorasIni.split("#"); var arrayHorasFin = cadenaHorasFin.split("#"); var posicionGlobal = 0; var posicionBloGlobal = 0; var cadenaTotal = ""; for (i = 0; i < cant; i++) { posicionGlobal = arrayGeneral[i] - 1; posicionBloGlobal = arrayBloques[i] - 1; //$("#curso_"+arrayGeneral[i]+"_"+arrayBloques[i]+"_"+dia).html("<span style='color:black;'>"+arrayAulas[posicionGlobal]+"X<br>"+arrayHorasIni[posicionBloGlobal]+" a "+arrayHorasFin[posicionBloGlobal]+"</span>"); if (cadenaTotal == "") { cadenaTotal = arrayAulas[posicionGlobal] + "#" + arrayBloques[i] + "#" + arrayHorasIni[posicionBloGlobal] + "#" + arrayHorasFin[posicionBloGlobal]; } else { cadenaTotal = cadenaTotal + "-" + arrayAulas[posicionGlobal] + "#" + arrayBloques[i] + "#" + arrayHorasIni[posicionBloGlobal] + "#" + arrayHorasFin[posicionBloGlobal]; } } //alert(cadenaTotal); // REGISTRO var grupoAulas = $("#grupoAulas").val(); $.ajax({ type: 'POST', url: '../ServletHorario?Accion=registrarAsigCurDoceHorarioGeneralMasivo2', data: "cadenaTotal=" + cadenaTotal + "&hora_inicio=" + hora_inicio + "&hora_termino=" + hora_termino + "&dia=" + dia + "&codTurno=" + codTurno + "&codCurso=" + codCurso + "&codDocente=" + codigoDocente + '&periodo=' + periodo + '&codGru=' + codigaGrupoHorario + '&codClase=' + codClase + '&grupoAulas=' + grupoAulas, success: function (resultado) { //alert("res "+resultado); if (resultado == 1) { popup_exito_masivo(codigaGrupoHorario, codaula, bloq, dia, Hini, Hfin, Turno, contGeneral); } else if (resultado == 3) { verCruce(codigaGrupoHorario, codigoDocente, dia, Hini, Hfin, periodo); } else if (resultado == 4) { verCruceMasivo(codigaGrupoHorario, codigoDocente, dia, hora_inicio, hora_termino, periodo); } else if (resultado == 5) { advertencia2(); } else { alert("ocurrió un error"); } }, complete: function () { } }); } function registrarAsigCurDoceHorario(codigaGrupoHorario, bloq, dia, Hini, Hfin, codaula, opcion, Turno, contGeneral, codigoDocente, historial, json) { //alert("registrarAsigCurDoceHorario"); var codTurno = Turno; var codCurso = $("#cmbCurso").val(); var codClase = $("#idClase").val(); var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; var grupoAulas = $("#grupoAulas").val(); historial = historial || 0 //alert("codAula="+codaula+"&bloq="+bloq+"&dia="+dia+"&Hini="+Hini+"&Hfin="+Hfin+"&codTurno="+codTurno+"&codCurso="+codCurso+"&codDocente="+codDocente+'&periodo='+periodo+'&codGru='+codigaGrupoHorario+'&codClase='+codClase); $.ajax({ type: 'POST', url: '../ServletHorario?Accion=registrarAsigCurDoceHorarioGeneral2', data: "codAula=" + codaula + "&bloq=" + bloq + "&dia=" + dia + "&Hini=" + Hini + "&Hfin=" + Hfin + "&codTurno=" + codTurno + "&codCurso=" + codCurso + "&codDocente=" + codigoDocente + '&periodo=' + periodo + '&codGru=' + codigaGrupoHorario + '&codClase=' + codClase + '&grupoAulas=' + grupoAulas + '&historial=' + historial + '&motivoCambio=' + (json.motivoCambio || '') + '&observacion=' + (json.observacion || '') + '&condicionTrabajador=' + (json.condicionTrabajador || '') + '&horaAviso=' + (json.horaAviso || '') + '&recuperacion=' + (json.recuperacion || ''), success: function (resultado) { if (resultado == 1) { popup_exito(codigaGrupoHorario, codaula, bloq, dia, Hini, Hfin, Turno, contGeneral); } else if (resultado == 3) { verCruce(codigaGrupoHorario, codigoDocente, dia, Hini, Hfin, periodo); } else { alert("ocurrió un error"); } }, complete: function () { } }); } function verCruce(codigaGrupoHorario, codDocente, dia, Hini, Hfin, periodo) { $.ajax({ type: 'POST', url: '../ServletHorario?Accion=verCruceIndividual', data: 'codDocente=' + codDocente + '&dia=' + dia + '&Hini=' + Hini + '&Hfin=' + Hfin + '&periodo=' + periodo, success: function (resultado) { $('#listadoCruce').html(resultado); }, complete: function () { $("#listadoCruce").fadeIn(); //$(document).tooltip(); } }); } function verCruceMasivo(codigaGrupoHorario, codDocente, dia, Hini, Hfin, periodo) { $.ajax({ type: 'POST', url: '../ServletHorario?Accion=verCruceMasivo', data: 'codDocente=' + codDocente + '&dia=' + dia + '&Hini=' + Hini + '&Hfin=' + Hfin + '&periodo=' + periodo, success: function (resultado) { $('#listadoCruce').html(resultado); }, complete: function () { $("#listadoCruce").fadeIn(); //$(document).tooltip(); } }); } function popup_exito(codigaGrupoHorario, codaula, posBlo, dia, Hor_ini, Hor_fin, turno, contGeneral) { asignarHorarioCursoIndividual(codigaGrupoHorario, codaula, posBlo, dia, Hor_ini, Hor_fin, turno, contGeneral); $("#dialog-armar2").dialog("close"); $("#dialog-noti2").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> ACEPTAR", "class": "btn btn-success btn-xs", click: function () { //asignarHorarioCursoIndividual(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral); armarHorarioGeneral(); $(this).dialog("close"); } } ] }); } function popup_exito_masivo(codigaGrupoHorario, codaula, bloq, dia, Hini, Hfin, Turno, contGeneral) { //asignarHorarioCurso(codaula,bloq,dia,Hini,Hfin,Turno,contGeneral); $("#dialog-armar2").dialog("close"); $("#dialog-noti2").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> ACEPTAR", "class": "btn btn-success btn-xs", click: function () { //asignarHorarioCurso(codaula,bloq,dia,Hini,Hfin,Turno,contGeneral); armarHorarioGeneral(); $(this).dialog("close"); } } ] }); } function asignarHorarioCurso(codaula, posBlo, dia, Hor_ini, Hor_fin, turno, contGeneral) { var cantidad = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_cantidad():""%>"; var codAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codAulas():""%>"; var cadenaHorasIni = $("#cadenaHorasIni").val(); var cadenaHorasFin = $("#cadenaHorasFin").val(); //alert("codaula: "+codaula+"\n posBlo: "+posBlo+"\n dia: "+dia+"\n Hor_ini: "+Hor_ini+"\n Hor_fin: "+Hor_fin+"\n turno: "+turno+"\n contGeneral: "+contGeneral); var cant = 0; cant = parseInt(cantidad); var PosGeneral = 0; PosGeneral = parseInt(contGeneral); var cadenaPosGeneral = ""; //----------- POSICION GENERAL -------INI------ for (i = 1; i <= cant; i++) { if (PosGeneral == cant) { if (cadenaPosGeneral == "") { cadenaPosGeneral = PosGeneral; } else { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; } PosGeneral = parseInt(PosGeneral) - (parseInt(PosGeneral) - 1); } else { if (i == cant) { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; PosGeneral = parseInt(PosGeneral) - (parseInt(PosGeneral) - 1); } else { if (cadenaPosGeneral == "") { cadenaPosGeneral = PosGeneral; } else { cadenaPosGeneral = cadenaPosGeneral + "#" + PosGeneral; } PosGeneral = parseInt(PosGeneral) + 1; } } } //----------- POSICION GENERAL -----FIN-------- //alert(cadenaPosGeneral); //----------- POSICION DE BLOQUE -------INI------ var cadenaPosBloques = ""; var PosBloques = 0; PosBloques = parseInt(posBlo); for (i = 1; i <= cant; i++) { if (PosBloques == cant) { if (cadenaPosBloques == "") { cadenaPosBloques = PosBloques; } else { cadenaPosBloques = cadenaPosBloques + "#" + PosBloques; } PosBloques = parseInt(PosBloques) - (parseInt(PosBloques) - 1); } else { if (i == cant) { cadenaPosBloques = cadenaPosBloques + "#" + PosBloques; PosBloques = parseInt(PosBloques) - (parseInt(PosBloques) - 1); } else { if (cadenaPosBloques == "") { cadenaPosBloques = PosBloques; } else { cadenaPosBloques = cadenaPosBloques + "#" + PosBloques; } PosBloques = parseInt(PosBloques) + 1; } } } //----------- POSICION DE BLOQUE -----FIN-------- var arrayGeneral = cadenaPosGeneral.split("#"); var arrayBloques = cadenaPosBloques.split("#"); var arrayAulas = codAulas.split("#"); var arrayHorasIni = cadenaHorasIni.split("#"); var arrayHorasFin = cadenaHorasFin.split("#"); var curso = $("#cmbCurso option:selected").text(); var docente = $("#cmbDocDisp option:selected").text(); var posicionGlobal = 0; var posicionBloGlobal = 0; for (i = 0; i < cant; i++) { posicionGlobal = arrayGeneral[i] - 1; posicionBloGlobal = arrayBloques[i] - 1; $("#curso_" + arrayGeneral[i] + "_" + arrayBloques[i] + "_" + dia).html("<span style='color:black;'><b>" + curso + "</b><br>" + docente + "</span>"); } } function asignarHorarioCursoIndividual(codigaGrupoHorario, codaula, posBlo, dia, Hor_ini, Hor_fin, turno, contGeneral) { //alert("codaula: "+codaula+"\n posBlo: "+posBlo+"\n dia: "+dia+"\n Hor_ini: "+Hor_ini+"\n Hor_fin: "+Hor_fin+"\n turno: "+turno+"\n contGeneral: "+contGeneral); var curso = $("#cmbCurso option:selected").text(); var docente = $("#cmbDocDisp option:selected").text(); $("#curso_" + contGeneral + "_" + posBlo + "_" + dia).html("<span style='color:black;'><b>" + curso + "</b><br>" + docente + "</span>"); } function eliminarMasivo(codAula, codDoc, codCur) { var codAulas = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codAulas():""%>"; $("#dialog-eliminarM").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> SI", "class": "btn btn-primary btn-xs", click: function () { eliminarHCD_Masivo(codAulas, codDoc, codCur); $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> NO", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function eliminarHCD_Masivo(codAulas, codDoc, codCur) { var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; //alert(codAulas+"\n"+codDoc+"\n"+codCur); $.ajax({ type: 'POST', url: '../ServletHorario?Accion=EliminarHorarioCursoMasivo', data: 'codAulas=' + codAulas + '&codCur=' + codCur + '&periodo=' + periodo, success: function (resultado) { //alert(resultado); }, complete: function () { armarHorarioGeneral(); } }); } function eliminar(codHorarioCursoDocente) { $("#dialog-eliminar").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> SI", "class": "btn btn-primary btn-xs", click: function () { eliminarHCD(codHorarioCursoDocente); $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> NO", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function eliminarHCD(codHorarioCursoDocente) { $.ajax({ type: 'POST', url: '../ServletHorario?Accion=EliminarHorarioCurso', data: 'codHorarioCursoDocente=' + codHorarioCursoDocente, success: function (resultado) { }, complete: function () { armarHorarioGeneral(); } }); } function editar(codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial) { // function editar(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral,codigoDocente,codigoCurso,clase){ // armarAsignacionCursoEdit(0,posBlo,dia,Hor_ini,Hor_fin,codigo,codaula,contGeneral,codigoDocente,codigoCurso,clase); cargarDocentesDisponiblesGeneral3TablaTemporal(0, codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial); } function cambioDia(codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial) { // function editar(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral,codigoDocente,codigoCurso,clase){ // armarAsignacionCursoEdit(0,posBlo,dia,Hor_ini,Hor_fin,codigo,codaula,contGeneral,codigoDocente,codigoCurso,clase); cargarDocentesDisponiblesGeneral3TablaTemporal(0, codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial); } function cambioFijo(codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial) { // function editar(codaula,posBlo,dia,Hor_ini,Hor_fin,turno,contGeneral,codigoDocente,codigoCurso,clase){ // armarAsignacionCursoEdit(0,posBlo,dia,Hor_ini,Hor_fin,codigo,codaula,contGeneral,codigoDocente,codigoCurso,clase); cargarDocentesDisponiblesGeneral3TablaTemporal(0, codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial); } function cargarDocentesDisponiblesGeneral3TablaTemporal(opcion, codaula, posBlo, dia, Hor_ini, Hor_fin, codigo, contGeneral, codigoDocente, codigoCurso, clase, historial) { $("#Hini").val(Hor_ini); $("#Hfin").val(Hor_fin); var dato = verificarTurno(Hor_ini, Hor_fin); var Turno = dato; var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; $.ajax({ type: 'POST', // url:'../ServletDocente?Accion=cargarDocentesDisponiblesGeneral2', url: '../ServletDocente?Accion=cargarDocentesDisponiblesGeneral3', data: 'codTurno=' + Turno + '&dia=' + dia + '&codCurso=' + codigoCurso + '&periodo=' + periodo + '&opcion=' + opcion + '&codaula=' + codaula, success: function (resultado) { armarAsignacionCursoEdit(0, posBlo, dia, Hor_ini, Hor_fin, codigo, codaula, contGeneral, codigoDocente, codigoCurso, clase, historial); }, complete: function () { // $("#formulario1").dialog( "close" ); } }); } function armarAsignacionCursoEdit(opcion, bloq, dia, Hini, Hfin, codigo, codaula, contGeneral, codigoDocente, codigoCurso, clase, historial) { var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>"; var codigo = "<%=armandoHorario!=null?armandoHorario.getArmarHoraio_codigo():""%>"; var dato = verificarTurno(Hini, Hfin); var Turno = dato; var editar = "1"; var cadenaAulas = $("#cadenaAulasHorario").val(); $.ajax({ type: 'POST', // url:'../ServletHorario?Accion=armarAsignacionCursoDocGeneralEdit2', // url:'../ServletHorario?Accion=armarAsignacionCursoDocGeneralEdit3', url: '../ServletHorario?Accion=armarAsignacionCursoDocGeneralEdit4', data: 'bloq=' + bloq + '&dia=' + dia + '&Turno=' + Turno + '&Hini=' + Hini + '&Hfin=' + Hfin + '&opcion=' + opcion + '&codigoDocente=' + codigoDocente + '&codigoCurso=' + codigoCurso + '&periodo=' + periodo + '&clase=' + clase + '&cadenaAulas=' + cadenaAulas, success: function (resultado) { $('#divRegistroCursoDocente').html(resultado); let formCambio = '' if (historial == 'cambioFijo') { formCambio = `<div class="col-sm-4"> <div class="form-group"> <b>Motivo del cambio:</b> <textarea class="form-control" id="txtMotivoCambio"></textarea> </div> </div> <div class="col-sm-4"> <div class="form-group"> <b>Observacion:</b> <textarea class="form-control" id="txtObservacion"></textarea> </div> </div> <div class="col-sm-4"> <div class="form-group"> <b>Condicion del trabajador:</b> <select class="form-control" id="cbCondicionTrabajador"> <option>Por horas</option> <option>Por contrato</option> </select> </div> </div> ` } else if (historial == 'cambioDia') { formCambio = `<div class="col-sm-3"> <div class="form-group"> <b>Motivo del cambio:</b> <textarea class="form-control" id="txtMotivoCambio"></textarea> </div> </div> <div class="col-sm-3"> <div class="form-group"> <b>Observacion:</b> <textarea class="form-control" id="txtObservacion"></textarea> </div> </div> <div class="col-sm-3"> <div class="form-group"> <b>Hora y fecha del aviso:</b> <input class="form-control input-mask-time center" id="txtHoraAviso"> </div> </div> <div class="col-sm-3"> <div class="form-group center"> <b>¿Se programa recuperacion?</b> <br><br> <div class='col-sm-6'> <label> <input type="radio" name="recuperacion" value="SI">‍ Si </label> </div> <div class='col-sm-6'> <label> <input type="radio" name="recuperacion" value="NO">‍ No </label> </div> </div> </div> ` } $('#divFormularioCambio').html(formCambio) $.mask.definitions['~'] = '[+-]'; $('.input-mask-time').mask('99:99 99/99/9999'); }, complete: function () { $("#listadoCruce").fadeOut(); //cargarCursoArea(opcion,bloq,dia); alerta2(bloq, dia, Hini, Hfin, Turno, codigo, codaula, contGeneral, opcion, editar, historial); } }); } function regresar() { window.location = "gen_hor_gen.jsp"; } function EliminarTodoAula(codAula, periodo) { $("#dialog-eliminarTodo").removeClass('hide').dialog({ resizable: false, modal: true, title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>", title_html: true, buttons: [ { html: "<i class='ace-icon fa fa-check bigger-110'></i> SI", "class": "btn btn-primary btn-xs", click: function () { EliminarTAula(codAula, periodo); $(this).dialog("close"); } }, { html: "<i class='ace-icon fa fa-times bigger-110'></i> NO", "class": "btn btn-danger btn-xs", click: function () { $(this).dialog("close"); } } ] }); } function EliminarTAula(codAula, periodo) { $.ajax({ type: 'POST', url: '../ServletHorario?Accion=eliminarHorarioTodoAula', data: 'codAula=' + codAula + '&periodo=' + periodo, success: function (resultado) { }, complete: function () { armarHorarioGeneral(); } }); } </script> <!-- the following scripts are used in demo only for onpage help and you don't need them --> <link rel="stylesheet" href="../assets/css/ace.onpage-help.css" /> <link rel="stylesheet" href="../docs/assets/js/themes/sunburst.css" /> <script type="text/javascript"> ace.vars['base'] = '..';</script> <script src="../assets/js/ace/elements.onpage-help.js"></script> <script src="../assets/js/ace/ace.onpage-help.js"></script> <script src="../docs/assets/js/rainbow.js"></script> <script src="../docs/assets/js/language/generic.js"></script> <script src="../docs/assets/js/language/html.js"></script> <script src="../docs/assets/js/language/css.js"></script> <script src="../docs/assets/js/language/javascript.js"></script> <script src="js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script> <script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script> <!--<script src="style/jquery.kolorpicker.js" type="text/javascript"></script> <link rel="stylesheet" href="style/kolorpicker.css" type="text/css" media="screen, tv, projection, print" /> --> <script type="text/javascript" language="javascript" src="js/colorPicker.js"></script> <link rel="stylesheet" href="css/colorPicker.css" type="text/css"/> </html>