<%@page import="pe.siso.horario.Beans.PeriodoAcademico"%>
<%-- 
    Document   : exportarHorario
    Created on : 12/12/2014, 03:51:11 PM
    Author     : sistem16user
--%>

<%@page import="java.util.Calendar"%>
<%@page import="pe.siso.horario.Beans.Usuario"%>
<%@page import="pe.siso.horario.Beans.Curso"%>
<%@page import="pe.siso.horario.Beans.Docente"%>
<%@page import="pe.siso.horario.Beans.Horario"%>
<%@page import="java.util.ArrayList"%>
<%@page import="pe.siso.horario.Services.DocenteServices"%>
<%@page import="pe.siso.horario.Services.CursoServices"%>
<%@page import="pe.siso.horario.Beans.Bloque"%>
<%@page import="pe.siso.horario.Services.HorarioServices"%>
<%@page import="pe.siso.horario.Services.BloqueServices"%>
<%@page import="pe.siso.horario.Services.AulaServices"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>VER HORARIOS </title>
    </head>
    <body>
     <%
            HttpSession session_actual = request.getSession(true);
            Usuario usuario=(Usuario)session_actual.getAttribute("usuario");
            
            response.setContentType("application/vnd.ms-excel; ");
            response.setHeader("Content-Disposition","attachment; filename=HorarioAula.xls"); 
        
            
            String border="style='border:solid 0.5pt #000000;vertical-align:middle;'";
            String centrado="style='vertical-align:middle;' ";
            String borderColor="style='border:solid 0.5pt #000000; vertical-align:middle; background-color:#B5E0F5;'";
            String borderColorTitulo="style='border:solid 0.5pt #000000; vertical-align:middle; background-color:#006699; color:#FFFFFF;'";
            String estilo = "style='background-color:#B5E0F5; border:solid 0.5pt;'";
            
     
        
        Calendar cal1 = Calendar.getInstance();
           
        int diaA = cal1.get(Calendar.DATE);
        int mes = cal1.get(Calendar.MONTH);
        int hora = cal1.get(Calendar.HOUR);
        int minuto = cal1.get(Calendar.MINUTE);
        int segundo = cal1.get(Calendar.SECOND);
        String diaAc = "";
        String mesAc = "";
        String hrAc = "";
        String minAc = "";
        String secAc = "";
        String perDia = "";
        int horaAc=0;
        if(diaA<10){ diaAc = "0"+diaA; }else{ diaAc = ""+diaA;}

        if(mes<10){ mesAc = "0"+mes; }else{ mesAc = ""+mes; }

        //if(hora<10){  if(hora==0){ hrAc = "12"; }else{ hrAc = "0"+hora;  } perDia="am."; }else{  hrAc = ""+hora; perDia="pm."; }
        
        
        
        if(hora<12){ 
            perDia="am."; 
            if(hora<10 && hora>0){
                hrAc="0"+hora;
            }else if(hora==0){
                hrAc="12";
            }else{
                hrAc=""+hora; 
            }  
        }else{
            if(hora==12){
                hrAc="12";
            }else{
                horaAc=hora-12;
                if(horaAc<10){
                    hrAc="0"+horaAc;
                }else{
                    hrAc = ""+horaAc;
                }
            }
            perDia="pm.";
        }
        
        
        
        if(minuto<10){ minAc = "0"+minuto; }else{ minAc = ""+minuto; }

        if(segundo<10){ secAc = "0"+segundo; }else{ secAc = ""+segundo; }
        
        
        
        
        
    %>
   
    
    
    <table align='center' border='0' cellpadding= '0' cellspacing= '0'>
        <tr>
            <td  align='center' colspan='12' ><h3>HORARIO DEL AULA</h3></td>
        </tr>
        <tr>
            <td colspan="6">FUENTE: SISTEMA DE HORARIOS</td>
            <td colspan="6" align="right">SACO OLIVEROS - SISTEMAS</td>
        </tr>
        <tr>
            <td colspan="6" >RESPONSABLE: <%=usuario!=null?usuario.getUsuarioUsuario():""%></td>
<!--            <td colspan="6" align="right">ACTUALIZACIÓN: <%=diaAc+"/"+mesAc+"/"+cal1.get(Calendar.YEAR)+" "+hrAc+":"+minAc+":"+secAc+" "+perDia%></td>-->
        </tr>
          
        <%
            
        String codAulas = request.getParameter("codAula");
        String codigo = request.getParameter("codigoGrupo");
        int cantidad = Integer.parseInt(request.getParameter("cantidad"));
        String periodo = request.getParameter("periodo");
        
        int codPeriodo = Integer.parseInt(periodo);
            
        AulaServices servicios = new AulaServices();
        BloqueServices serviciosBlo = new BloqueServices();
        HorarioServices serviciosHor = new HorarioServices();
        
        
        Horario horarioCadenaGrupo = new Horario();
				// mnax_grupo(3) y la cadena
        horarioCadenaGrupo = serviciosHor.consultarCadenaGH(codigo);
        
        String cadena = horarioCadenaGrupo.getCadena(); // aqui traemos la cadena 
        int maxGru = horarioCadenaGrupo.getMaxGrupo();
        
        
        
        String datoTD = "";
        String[] aulas = codAulas.split("#");
        
        //REGISTRAR GRUPO AULAS
        String cadenaAulas = codAulas.replace("#", ",");
        
        
        
        // GUARDAR MAXIMOS Y MINIMOS HORARIOS POR DIA
        // GUARDAR CADENA DE HORARIOS INICIALES Y FINALES POR DIA
        String min_ini_1=""; String min_ini_2=""; String min_ini_3=""; String min_ini_4=""; String min_ini_5=""; String min_ini_6="";
        String max_fin_1=""; String max_fin_2=""; String max_fin_3=""; String max_fin_4=""; String max_fin_5=""; String max_fin_6="";
        String horas_ini_1=""; String horas_ini_2=""; String horas_ini_3=""; String horas_ini_4=""; String horas_ini_5=""; String horas_ini_6="";
        String horas_fin_1=""; String horas_fin_2=""; String horas_fin_3=""; String horas_fin_4=""; String horas_fin_5=""; String horas_fin_6=""; 
        int contGenral = 1;
        
        
        // ---- CADENA -------------------------//
        String[] array1 = cadena.split("!");
        int x =0;
        
        for(int i=0; i<array1.length;i++){
            String[] array2 = array1[i].split("#");
            if(x<Integer.parseInt(array2[0])){
                x=Integer.parseInt(array2[0]);
            }
           
        }
        // ---- CADENA ------------------------//
        
        
        
        
        for(int i=0; i<cantidad;i++){
            String nomAula = servicios.consultarAula(aulas[i]);
        %>
        
        <tr>
            <td height='20' colspan='12' align='center'><H3><font color='#006090'><b>AULA:</b> <%=nomAula%></font> </H3></td>
        </tr>
        <tr>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
            <td height='15' width='35' ></td>
            <td height='15' width='130' ></td>
        </tr>
        <tr >
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>LUNES</td>
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>MARTES</td>
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>MIÉRCOLES</td>
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>JUEVES</td>
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>VIERNES</td>
            <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>SÁBADO</td>
        </tr>
        
        <%
        String codPeriodo2 = ""+codPeriodo;
         
       
        String HorIni="";
        String HorFin="";
        int dia1=0; int dia2=0; int dia3=0; int dia4=0; int dia5=0; int dia6=0;
        int cont_dia1=1; int cont_dia2=1; int cont_dia3=1; int cont_dia4=1; int cont_dia5=1; int cont_dia6=1;
        int diaPos = 0;
        int diaGen = 0;
        int contenido = 0;
        for(int t=1; t<=x;t++){
        %>
            <tr>
        <%
          
            String bloqueGrupoDia="";
                for(int f=1; f<=6;f++){
                    for(int j=0; j<array1.length;j++){
                        String[] array2 = array1[j].split("#");
                        
                        if(array2[2].equals(""+f)){
                            if(Integer.parseInt(array2[0])>=t){
                                String[] horas  = array2[3].split("¡");
                                int h = t-1;
                                String[] hora1   = horas[h].split("-");
                                HorIni=hora1[0];
                                HorFin=hora1[1];
                                bloqueGrupoDia = array2[0];
                                if(f==1){ dia1++; diaPos=dia1; diaGen=f;}
                                else if(f==2){ dia2++; diaPos=dia2; diaGen=f;}
                                else if(f==3){ dia3++; diaPos=dia3; diaGen=f;}
                                else if(f==4){ dia4++; diaPos=dia4; diaGen=f;}
                                else if(f==5){ dia5++; diaPos=dia5; diaGen=f;}
                                else if(f==6){ dia6++; diaPos=dia6; diaGen=f;}
                                contenido=1;
                            } 
                        } 
                    }
                    String dia = ""+f;
                    String posicion = ""+diaPos;
                
                if(contenido==1){
                    
                    Horario DatosHorario = new Horario();
                    DatosHorario = serviciosHor.consultarDatosHorarioAulaPorPosicionDiaria(aulas[i],codPeriodo2,dia,posicion);   
                    
                %>    
                    <td <%=border%> align='center' width='35' style='color:white; background-color:#62A8D1; vertical-align:middle; font-size: 10px; '>
                        <%=HorIni%>
                        <br>
                        <%=HorFin%>
                    </td>
                <%    
                    if(i==0){
                        if(dia.equals("1")){
                            if(cont_dia1==1){ min_ini_1=HorIni; cont_dia1++;}
                            max_fin_1=HorFin;
                            if(horas_ini_1.equals("")){ horas_ini_1 = HorIni; horas_fin_1 = HorFin;}
                            else{ horas_ini_1 += "#"+HorIni; horas_fin_1 += "#"+HorFin;}
                        }else if(dia.equals("2")){
                            if(cont_dia2==1){ min_ini_2=HorIni; cont_dia2++;}
                            max_fin_2=HorFin;
                            if(horas_ini_2.equals("")){ horas_ini_2 = HorIni; horas_fin_2 = HorFin;}
                            else{ horas_ini_2 += "#"+HorIni; horas_fin_2 += "#"+HorFin;}
                        }else if(dia.equals("3")){
                            if(cont_dia3==1){ min_ini_3=HorIni; cont_dia3++;}
                            max_fin_3=HorFin;
                            if(horas_ini_3.equals("")){ horas_ini_3 = HorIni; horas_fin_3 = HorFin;}
                            else{ horas_ini_3 += "#"+HorIni; horas_fin_3 += "#"+HorFin;}
                        }else if(dia.equals("4")){
                            if(cont_dia4==1){ min_ini_4=HorIni; cont_dia4++;}
                            max_fin_4=HorFin;
                            if(horas_ini_4.equals("")){ horas_ini_4 = HorIni; horas_fin_4 = HorFin;}
                            else{ horas_ini_4 += "#"+HorIni; horas_fin_4 += "#"+HorFin;}
                        }else if(dia.equals("5")){
                            if(cont_dia5==1){ min_ini_5=HorIni; cont_dia5++;}
                            max_fin_5=HorFin;
                            if(horas_ini_5.equals("")){ horas_ini_5 = HorIni; horas_fin_5 = HorFin;}
                            else{ horas_ini_5 += "#"+HorIni; horas_fin_5 += "#"+HorFin;}
                        }else if(dia.equals("6")){
                            if(cont_dia6==1){ min_ini_6=HorIni; cont_dia6++;}
                            max_fin_6=HorFin;
                            if(horas_ini_6.equals("")){ horas_ini_6 = HorIni; horas_fin_6 = HorFin;}
                            else{ horas_ini_6 += "#"+HorIni; horas_fin_6 += "#"+HorFin;}
                        }
                    }
                        
                    
                    if(DatosHorario.getH_estado()==null){
                    %>
                    
                    
                        <td <%=border%> width='130' align='center'  style=' color: red; vertical-align:middle; font-size: 10px; '  >SIN CURSO</td>
                        
                        
                    <%    
                        
                    }else{
                    %>
                        <td <%=border%> width='130' align='center' style=' font-size: 10px; '>
                            <b><%=DatosHorario.getH_nombreCurso()%></b><br>
                            <%=DatosHorario.getH_apellidosDocente()%>, <%=DatosHorario.getH_nombreDocente()%>
                        </td>
                    <%    
                    
                    }
                        
                    
                    
                    
                }else{
                    %>
                        <td colspan='2' width='140' align='center' ></td>
                        <!--<td <%=border%> colspan='2' width='140' align='center'  style='background-color: #FF7C80; color: white; vertical-align:middle; font-size: 10px; ' >SIN HORARIO</td>-->
                    <%
                }    
                contenido=0;     
            }
            %>
                </tr>
            <%
        }
        
            contGenral++;
        }
        
        
        %>  
        
        
    </table> 
    </body>
</html>