1 package ecar.servlet.geraFilhosIett;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.util.Collection;
6 import java.util.Iterator;
7 import java.util.List;
8
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import org.apache.log4j.Logger;
15
16 import ecar.bean.AtributoEstruturaListagemItens;
17 import ecar.dao.AcompReferenciaItemDao;
18 import ecar.dao.ItemEstruturaDao;
19 import ecar.dao.TipoFuncAcompDao;
20 import ecar.dao.UsuarioDao;
21 import ecar.pojo.AcompReferenciaAref;
22 import ecar.pojo.ItemEstruturaIett;
23 import ecar.pojo.StatusRelatorioSrl;
24 import ecar.pojo.UsuarioUsu;
25
26 public class GeraFilhosIettServlet extends HttpServlet{
27
28
29
30
31
32
33
34
35
36 private static final long serialVersionUID = -8290318086971631602L;
37 private Logger logger = Logger.getLogger(this.getClass());
38
39 private ItemEstruturaIett itemEstrutura;
40 private List tpfaOrdenadosPorEstrutura;
41 private StatusRelatorioSrl statusLiberado;
42 private String status;
43 private String idPagina;
44 private String pathEcar;
45 private String caminhoUrl;
46 private String codTipoAcompanhamento;
47 private String exigeLiberarAcompanhamento;
48 private String codAref;
49 private boolean permissaoAdministradorAcompanhamento;
50 private List<AtributoEstruturaListagemItens> colecaoItens;
51 private Collection<AcompReferenciaAref> periodosConsiderados;
52 private UsuarioUsu usuario;
53 private HttpServletRequest request;
54
55
56 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
57 logger.info("request :: GET:: Classe:: " + this.getClass().getName() );
58 execute(request,response);
59 }
60
61 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
62 logger.info("request :: POST:: Classe:: " + this.getClass().getName() );
63 execute(request,response);
64 }
65
66
67 private void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
68 String responseHTML = "";
69 try{
70 setaValoresIniciais(request);
71
72 ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(request);
73 List<AtributoEstruturaListagemItens> descendentesAtEstListagem = itemEstruturaDao.recuperaDescendentesImediatos(itemEstrutura, colecaoItens);
74
75
76 if(descendentesAtEstListagem != null && descendentesAtEstListagem.size() > 0) {
77 int quantidadeFilhosExibir = descendentesAtEstListagem.size();
78 Iterator descendentesAtEstListagemIt = descendentesAtEstListagem.iterator();
79 tpfaOrdenadosPorEstrutura = new TipoFuncAcompDao().getFuncaoAcompOrderByEstruturas();
80
81 int contadorFilhos = 1;
82 while(descendentesAtEstListagemIt.hasNext()){
83 AtributoEstruturaListagemItens atEstListagem = (AtributoEstruturaListagemItens)descendentesAtEstListagemIt.next();
84 ItemEstruturaIett itemFilho = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, atEstListagem.getItem().getCodIett());
85
86 boolean itemEstruturaPossuiFilho = itemEstruturaDao.existeDescendentesImediatos(itemFilho, colecaoItens);
87
88 ItemEstruturaHtml itemEstruturaHtml = new ItemEstruturaHtml(itemFilho,atEstListagem,
89 usuario,statusLiberado,periodosConsiderados,tpfaOrdenadosPorEstrutura,
90 status,idPagina,pathEcar,caminhoUrl,codTipoAcompanhamento,exigeLiberarAcompanhamento,
91 codAref,request,permissaoAdministradorAcompanhamento,itemEstruturaPossuiFilho);
92
93 responseHTML += itemEstruturaHtml.geraHtmlDoItem();
94
95
96 if(contadorFilhos != quantidadeFilhosExibir){
97 responseHTML += "*@*";
98 }
99
100 contadorFilhos++;
101 }
102
103 }
104
105
106 int numeroColunasPorFilho = 7 + periodosConsiderados.size();
107 responseHTML = numeroColunasPorFilho + "*@*" + responseHTML;
108 responseToHTML(response, responseHTML);
109 }catch(Exception e){
110 e.printStackTrace(System.out);
111 logger.error(e);
112 responseHTML = "<tr>Nenhum registro encontrado</tr>";
113 responseToHTML(response, responseHTML);
114 }
115 }
116
117
118 private void responseToHTML ( HttpServletResponse response, String conteudo ) throws IOException {
119 response.setContentType("text/html");
120 PrintWriter writer = response.getWriter();
121 writer.append(conteudo);
122 writer.flush();
123 writer.close();
124 }
125
126 private void setaValoresIniciais(HttpServletRequest request) throws Exception{
127
128 UsuarioDao usuDao = new UsuarioDao(request);
129 ItemEstruturaDao itemDao = new ItemEstruturaDao(request);
130
131
132 this.statusLiberado = (StatusRelatorioSrl) itemDao.
133 buscar(StatusRelatorioSrl.class,
134 Long.valueOf(AcompReferenciaItemDao.STATUS_LIBERADO));
135 this.usuario = (UsuarioUsu) usuDao.buscar(UsuarioUsu.class, new Long(request.getParameter("codUsuarioLogado")));
136 this.periodosConsiderados = (Collection) request.getSession().getAttribute("periodosConsiderados");
137 this.colecaoItens = (List) request.getSession().getAttribute("colecaoItens");
138 this.status = request.getParameter("status");
139 this.pathEcar = request.getParameter("pathEcar");
140 this.idPagina = request.getParameter("idPagina");
141 this.caminhoUrl = request.getParameter("caminhoUrl");
142 this.codTipoAcompanhamento = request.getParameter("codTipoAcompanhamento");
143 this.exigeLiberarAcompanhamento = request.getParameter("exigeLiberarAcompanhamento");
144 this.permissaoAdministradorAcompanhamento = new Boolean(request.getParameter("permissaoAdministradorAcompanhamento")).booleanValue();
145 this.codAref = request.getParameter("codAref");
146 this.itemEstrutura = (ItemEstruturaIett) itemDao.buscar(ItemEstruturaIett.class, new Long(request.getParameter("codIett")));
147
148 }
149
150 }