<%@page import="pe.siso.horario.Beans.Aula"%>
<%@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 import="java.time.format.DateTimeFormatter"%>
<%@page import="java.time.LocalDateTime"%>
<%@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;'";
            
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy"); 
			   LocalDateTime now = LocalDateTime.now();
        
        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: <%=dtf.format(now)%></td>
        </tr>
          
        <%
            
        
        //String codSede = request.getParameter("codSede");
        String periodo = request.getParameter("periodo");
				String parte=request.getParameter("parte");
        int codPeriodo = Integer.parseInt(periodo);
        
        AulaServices serviciosAula = new AulaServices();
        ArrayList<Aula> listaDatos = null;
        listaDatos = serviciosAula.listarDatosHorairo2do(periodo,parte);
        
        for(int z=0;z<listaDatos.size();z++){
        
        
            
            
            String codAulas = ""+listaDatos.get(z).getCodigoAula();
            String codigo = listaDatos.get(z).getCodigoGrupo();
            int cantidad = 1;
            
            


            AulaServices servicios = new AulaServices();
            BloqueServices serviciosBlo = new BloqueServices();
            HorarioServices serviciosHor = new HorarioServices();
            
            String cadena = listaDatos.get(z).getCadena();
            int maxGru = listaDatos.get(z).getMaxGrupo();
            
/*
            Horario horarioCadenaGrupo = new Horario();
            horarioCadenaGrupo = serviciosHor.consultarCadenaGH(codigo);

            String cadena = horarioCadenaGrupo.getCadena();
            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>SEDE:</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>