Subversion Repositories bacoAlunos

Rev

Rev 1746 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.Course" %>
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.courses.CoursesService" %>
<%@ page import="pt.estgp.estgweb.services.courses.xsd.Curso" %>
<%@ page import="pt.estgp.estgweb.services.courses.xsd.UnidadeType" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.httpclient.HttpConnection" %>
<%@ page import="pt.estgp.estgweb.web.utils.*" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>

<table class="tablesorterfiltered">
    <thead>
        <tr>
            <th>SIGES</th>
            <th>Escola</th>
            <th>Curso</th>
            <th>Tipo</th>
            <th>Perfil</th>
            <th>SIGES</th>
            <th>Unidade</th>
            <th>Ficha</th>
        </tr>
    </thead>
    <tbody>

    </tbody>

<%
    CoursesService courseService = new CoursesService();
    String importYear = UserSession.getNowConfiguration().getInterfaceImportYear();
    AbstractDao.getCurrentSession().beginTransaction();
    List<Course> courses = DaoFactory.getCourseDaoImpl().findActiveCourses(importYear);

    for(Course c : courses)
    {
        try{
        request.setAttribute("course",c);
        boolean studiesPlan = c.getStudiesPlans() != null;
        CourseStudiesPlanImpl plan = null;
        Curso curso = null;
        if(c.getStudiesPlans() != null)
        {
            plan = (CourseStudiesPlanImpl) c.getStudiesPlans().iterator().next();

            curso = courseService.loadCursoPlanoFromXml(plan.getXml());
        }
        %>



            <%
            if(curso == null)
            {
                %>
                <td colspan="5">Sem Plano Criado</td>
                <%
            }
            else
            {
                for(Curso.Semestre semestre : curso.getSemestre())
                {
                    request.setAttribute("semestre",semestre.getId());
                    if(semestre.getUnidade() != null)
                    {
                        for(UnidadeType unidade : semestre.getUnidade())
                        {
                            request.setAttribute("unidade",unidade);
                            boolean unidadeSiges = unidade.getSiges() != null && unidade.getSiges().trim().length() > 0;
                            boolean autoGeneratedSiges = false;
                            boolean escolaDepartamentoNull = false;
                            boolean autoGeneratedUrl = false;
                            boolean urlFail = false;

                            if(c.getDepartment() == null || c.getDepartment().getCourseSchool() == null || c.getDepartment().getCourseSchool().getInitials() == null)
                            {
                                escolaDepartamentoNull = true;
                            }

                            if(!unidadeSiges)
                            {
                                CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().findUnitByCourseNameYear(c.getId(),unidade.getNome(),importYear);
                                if(cu != null)
                                {
                                    unidadeSiges = true;
                                    autoGeneratedSiges = true;

                                    unidade.setSiges(cu.getCode());
                                    if(escolaDepartamentoNull)
                                    {
                                       //ja foi colocado em cima
                                    }
                                    else if(c.getDepartment().getCourseSchool().getInitials().equals("ESTG"))
                                    {
                                        unidade.setUrlFichaCurricular("http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode=" + unidade.getSiges() + "&courseCode=" + c.getCode() + "&semestre=" + semestre.getId());
                                        autoGeneratedUrl = true;
                                    }
                                }
                            }
                            else if(!escolaDepartamentoNull &&
                                    c.getDepartment().getCourseSchool().getInitials().equals("ESTG") &&
                                    (unidade.getUrlFichaCurricular() == null || unidade.getUrlFichaCurricular().length() ==0 ))
                            {
                                autoGeneratedUrl = true;
                                unidade.setUrlFichaCurricular("http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode=" + unidade.getSiges() + "&courseCode=" + c.getCode() + "&semestre=" + semestre.getId());
                            }

                            try{
                                int code = pt.estgp.estgweb.web.utils.HttpUtils.getResponseCode(unidade.getUrlFichaCurricular());
                                if(code != 200)
                                {
                                    urlFail = true;
                                    System.out.println("Erro a carregar ficha: " + unidade.getUrlFichaCurricular());
                                }
                            }catch(Throwable f404)
                            {
                                urlFail = true;
                                System.out.println("Erro a carregar ficha: " + unidade.getUrlFichaCurricular());
                            }

                            request.setAttribute("autoGeneratedSiges",autoGeneratedSiges);
                            request.setAttribute("unidadeSiges",unidadeSiges);
                            request.setAttribute("escolaDepartamentoNull",escolaDepartamentoNull);
                            request.setAttribute("autoGeneratedUrl",autoGeneratedUrl);
                            request.setAttribute("urlFail",urlFail);
                %>
                        <tr>

                            <td><%=c.getCode()%></td>
                            <td <logic:equal value="true" name="escolaDepartamentoNull">style="background-color: red"</logic:equal>>
                                <logic:equal value="true" name="escolaDepartamentoNull">
                                    S/Esco/Dep/Init
                                </logic:equal>
                                <logic:equal value="false" name="escolaDepartamentoNull">
                                    <%=c.getDepartment().getCourseSchool().getInitials()%></td>
                                </logic:equal>

                            <td><%=c.getName()%></td>
                            <td><bean:message key="course.${course.degree}"/></td>
                            <td></td>
                            <td <logic:equal value="false" name="unidadeSiges">style="background-color: red"</logic:equal> <logic:equal value="true" name="autoGeneratedSiges">style="background-color: #ffff00"</logic:equal>>
                                <logic:equal value="true" name="unidadeSiges">

                                    ${unidade.siges}
                                    <logic:equal value="true" name="autoGeneratedSiges">
                                        (Auto)
                                    </logic:equal>
                                </logic:equal>
                                <logic:equal value="false" name="unidadeSiges">
                                    Nao Tem
                                </logic:equal>
                            </td>
                            <td>${unidade.nome}</td>
                            <td <logic:equal value="true" name="urlFail">style="background-color: red"</logic:equal>>
                                <logic:equal value="true" name="autoGeneratedUrl">
                                    <label <logic:equal value="true" name="autoGeneratedUrl">style="background-color: #ffff00"</logic:equal>>(Auto)</label>
                                </logic:equal>
                                <logic:equal value="true" name="urlFail">
                                    (Falhou)
                                </logic:equal>
                                <a href="<%=unidade.getUrlFichaCurricular()%>"><span class="glyphicon glyphicon-download"></span></a>
                            </td>
                        </tr>
                <%
                            if(autoGeneratedSiges || autoGeneratedUrl)
                                courseService.savePlanoEstudosEditado(c.getId(),plan.getId(),curso,plan,UserSession);
                        }
                    }
                    if(semestre.getPerfil()!=null)
                    {
                        for(Curso.Semestre.Perfil perfil : semestre.getPerfil())
                        {
                            for(UnidadeType unidade : semestre.getUnidade())
                            {
                                request.setAttribute("unidade",unidade);
                                boolean unidadeSiges = unidade.getSiges() != null && unidade.getSiges().trim().length() > 0;
                                boolean autoGeneratedSiges = false;
                                boolean escolaDepartamentoNull = false;
                                boolean autoGeneratedUrl = false;
                                boolean urlFail = false;

                                if(c.getDepartment() == null || c.getDepartment().getCourseSchool() == null || c.getDepartment().getCourseSchool().getInitials() == null)
                                {
                                    escolaDepartamentoNull = true;
                                }

                                if(!unidadeSiges)
                                {
                                    CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().findUnitByCourseNameYear(c.getId(),unidade.getNome(),importYear);
                                    if(cu != null)
                                    {
                                        unidadeSiges = true;
                                        autoGeneratedSiges = true;

                                        unidade.setSiges(cu.getCode());
                                        if(escolaDepartamentoNull)
                                        {
                                            //ja foi colocado em cima
                                        }
                                        else if(c.getDepartment().getCourseSchool().getInitials().equals("ESTG"))
                                        {
                                            unidade.setUrlFichaCurricular("http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode=" + unidade.getSiges() + "&courseCode=" + c.getCode() + "&semestre=" + semestre.getId());
                                            autoGeneratedUrl = true;
                                        }
                                    }
                                }
                                else if(!escolaDepartamentoNull &&
                                        c.getDepartment().getCourseSchool().getInitials().equals("ESTG") &&
                                        (unidade.getUrlFichaCurricular() == null || unidade.getUrlFichaCurricular().length() ==0 ))
                                {
                                    autoGeneratedUrl = true;
                                    unidade.setUrlFichaCurricular("http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode=" + unidade.getSiges() + "&courseCode=" + c.getCode() + "&semestre=" + semestre.getId());
                                }

                                try{
                                    int code = pt.estgp.estgweb.web.utils.HttpUtils.getResponseCode(unidade.getUrlFichaCurricular());
                                    if(code != 200)
                                    {
                                        urlFail = true;
                                        System.out.println("Erro a carregar ficha: " + unidade.getUrlFichaCurricular());
                                    }
                                }catch(Throwable f404)
                                {
                                    urlFail = true;
                                    System.out.println("Erro a carregar ficha: " + unidade.getUrlFichaCurricular());
                                }

                                request.setAttribute("autoGeneratedSiges",autoGeneratedSiges);
                                request.setAttribute("unidadeSiges",unidadeSiges);
                                request.setAttribute("escolaDepartamentoNull",escolaDepartamentoNull);
                                request.setAttribute("autoGeneratedUrl",autoGeneratedUrl);
                                request.setAttribute("urlFail",urlFail);
                                %>
                                <tr>
                                    <td><%=c.getCode()%></td>
                                    <td <logic:equal value="true" name="escolaDepartamentoNull">style="background-color: red"</logic:equal>>
                                        <logic:equal value="true" name="escolaDepartamentoNull">
                                            S/Esco/Dep/Init
                                        </logic:equal>
                                        <logic:equal value="false" name="escolaDepartamentoNull">
                                        <%=c.getDepartment().getCourseSchool().getInitials()%></td>
                                    </logic:equal>

                                    <td><%=c.getName()%></td>
                                    <td><bean:message key="course.${course.degree}"/></td>
                                    <td><%=perfil.getNome()%></td>
                                    <td <logic:equal value="false" name="unidadeSiges">style="background-color: red"</logic:equal> <logic:equal value="true" name="autoGeneratedSiges">style="background-color: #ffff00"</logic:equal>>
                                        <logic:equal value="true" name="unidadeSiges">

                                            ${unidade.siges}
                                            <logic:equal value="true" name="autoGeneratedSiges">
                                                (Auto)
                                            </logic:equal>
                                        </logic:equal>
                                        <logic:equal value="false" name="unidadeSiges">
                                            Nao Tem
                                        </logic:equal>
                                    </td>
                                    <td>${unidade.nome}</td>
                                    <td <logic:equal value="true" name="urlFail">style="background-color: red"</logic:equal>>
                                        <logic:equal value="true" name="autoGeneratedUrl">
                                            <label <logic:equal value="true" name="autoGeneratedUrl">style="background-color: #ffff00"</logic:equal>>(Auto)</label>
                                        </logic:equal>
                                        <logic:equal value="true" name="urlFail">
                                            (Falhou)
                                        </logic:equal>
                                        <a href="<%=unidade.getUrlFichaCurricular()%>"><span class="glyphicon glyphicon-download"></span></a>
                                    </td>
                                </tr>
                                <%
                            if(autoGeneratedSiges || autoGeneratedUrl)
                                courseService.savePlanoEstudosEditado(c.getId(),plan.getId(),curso,plan,UserSession);
                            }
                        }
                    }
                }
            }
            %>
        <%
        }catch(Throwable t)
        {
            System.out.println(t.toString());
            t.printStackTrace();
    %>
        <tr>
            <td colspan="6">Erro no curso (<%=c.getCode()%>) <%=c.getName()%> </td>
        </tr>
    <%
        }
    }

    AbstractDao.getCurrentSession().getTransaction().commit();
%>
</table>

Generated by GNU Enscript 1.6.5.2.