}
if(locais != null && locais.size() > 0){
for(Local local: locais){
ItemEstrutLocalIettl itemLocal = new ItemEstrutLocalIettl();
itemLocal.setLocalItemLit(local.getRealObject());
locaisItem.add(itemLocal);
}
}
List<GregorianCalendar> listaMeses = itemDao.GetMesesReferenciaFiltraAno(item, Long.valueOf(ano));
String strTdSeta = null;
String strTdCampo = null;
String strTdTotalPorLocal = null;
Locale localePTBR = new Locale ("pt", "BR");
ItemEstrtIndResulDao itemEstrtIndResulDao = new ItemEstrtIndResulDao(request);
ItemEstrtIndResulIettr itemEstrtIndResulOriginal = (ItemEstrtIndResulIettr) itemEstrtIndResulDao.buscar(ItemEstrtIndResulIettr.class, codItemIndicador);
/* Separa, de todos itens f�sicos do item, somente aqueles pertencente ao ano manipulado*/
ArrayList<ItemEstrutFisicoIettf> listaAnualItemFisico = new ArrayList<ItemEstrutFisicoIettf>();
/*Por mes, ter� os locais de cada item
* Isso para n�o ter de ir toda hora ao BD buscar valores, como era feito anteriormente */
ItemEstrutFisicoIettf itemFisicoMes;
if (itemEstrtIndResulOriginal.getItemEstrutFisicoIettfs() != null)
{
Iterator<ItemEstrutFisicoIettf> it = itemEstrtIndResulOriginal.getItemEstrutFisicoIettfs().iterator();
while (it.hasNext()){
ItemEstrutFisicoIettf itemF = (ItemEstrutFisicoIettf) it.next();
if ((itemF.getAnoIettf().equals(anoInt) )&&(itemF.getItemEstrtIndResulLocalIettirls() != null)){
listaAnualItemFisico.add(itemF);
}
}
}
if ((locaisItem != null)&&(listaMeses.size() > 0))
{
cont = listaMeses.size();
if (80 / cont > 15) {
larguraCaixaTexto = 15;
}
else{
larguraCaixaTexto = (80 / cont );
}
request = (HttpServletRequest) (pageContext.getRequest());
pageContext.getOut().println("<table class='layoutFixo' bgcolor='#EAEEF4' style='table-layout: fixed; text-align: left; margin-left: auto; margin-right: auto;' border='0' cellpadding='0' cellspacing='0' > ");
pageContext.getOut().println ( " <tr> ");
pageContext.getOut().println( " <td colspan=" + (cont + 2) + " valign='top' height='25px'> ");
pageContext.getOut().println( " <input type='checkbox' name='copiarQtd1' id='copiarQtd1' value='true' onchange='checkboxSincroniza(\"copiarQtd1\",\"copiarQtd2\");' > Copiar Quantidade(s) para o(s) mes(es) posterior(es)? ");
pageContext.getOut().println( " <label ");
pageContext.getOut().println( " id=\"label|-1|-1\"");
pageContext.getOut().println( " class=\"dica\" ");
pageContext.getOut().println( " onmouseover=\"" );
pageContext.getOut().println( " montaTooltipMouseOver(this,\'-1\', \'\', \'-1\', \'\');" );
pageContext.getOut().println( " \"" );
pageContext.getOut().println( " onmouseout=\"" );
pageContext.getOut().println( " montaTooltipMouseOut(\'-1\', \'-1\');" );
pageContext.getOut().println( " \"" );
pageContext.getOut().println( " />" );
pageContext.getOut().println( " <img " );
pageContext.getOut().println( " src=\"" + request.getContextPath() + "/images/dica.png\" " );
pageContext.getOut().println( " align=\"absmiddle\" " );
pageContext.getOut().println( " border=\"0\" " );
pageContext.getOut().println( " onclick=\"" );
pageContext.getOut().println( " montaTooltipMouseClick(\'-1\', \'\', \'-1\', \'\');" );
pageContext.getOut().println( " \" " );
pageContext.getOut().println( " /> " );
pageContext.getOut().println( " " );
pageContext.getOut().println( " <span id=\"span|-1|-1\" ></span>" );
pageContext.getOut().println( " " );
pageContext.getOut().println( " </label>" );
pageContext.getOut().println( " </td> ");
pageContext.getOut().println( " </tr> ");
// Inserindo o t�tulo Exerc�cio
pageContext.getOut().println( " <tr> ");
pageContext.getOut().println( " <td style='font-size: 14px;color: #003366;font-weight: bold;' align='center' > </td>");
pageContext.getOut().println( " <td colspan=\"" + (cont + 1) + "\" style=\"font-size: 14px;color: #003366;font-weight: bold;\" align=\"center\" >"+ ano.toString() +"</td>");
pageContext.getOut().println( " </tr> ");
pageContext.getOut().println( " <tr> ");
pageContext.getOut().println( " <td style='font-size: 14px;color: #003366;font-weight: bold;' align='center' >Local</td> ");
for (Iterator<GregorianCalendar> iterator = listaMeses.iterator(); iterator.hasNext();) {
GregorianCalendar mes = (GregorianCalendar) iterator.next();
pageContext.getOut().println( " <td style=\"font-size: 14px;color: #003366;font-weight: bold;\" align=\"center\" >");
pageContext.getOut().println(meses[mes.get(Calendar.MONTH)]);
pageContext.getOut().println( "</td> ");
}
pageContext.getOut().println( " <td style='font-size: 14px;color: #003366;font-weight: bold;' align='center' >Total por Local</td> ");
pageContext.getOut().println( " <tr> ");
Collections.sort(locaisItem);
Iterator<ItemEstrutLocalIettl> it = locaisItem.iterator();
Double totalLocal = 0.0;
Double totalExercicio[] = new Double [listaMeses.size()];
Double totalGeral = 0.0;
for(i = 0; i < totalExercicio.length; i++){
totalExercicio[i] = 0.0;
}
while(it.hasNext())
{
ItemEstrutLocalIettl itemLocal = (ItemEstrutLocalIettl) it.next();
String nomeLocal = "";
Local local = new Local(itemLocal.getLocalItemLit());
if(local.getAbrangencia() == Local.MUNICIPIO){
//pega o simbolo do estado
//testa antes, por que pode haver erros no banco de
//dados, ou seja, um munic�pio sem estado...
if(local.getPais() != null && local.getPais().size() > 0){
nomeLocal = local.getPais().get(0).getSigla().concat(" ");
}
nomeLocal = nomeLocal.concat(itemLocal.getLocalItemLit().getIdentificacaoLit());
}else{
nomeLocal = itemLocal.getLocalItemLit().getIdentificacaoLit();
}
// Criar uma c�lula com a seta e o nome do local
strTdSeta = new String (
"<td align='right' height='25px' valign='top'>" +
" " +
" <table width='100%'> " +
" <tr>" +
" <td width='25%' align='right'>" +
" <img src='../../images/icon_seta_ident.gif'/>" +
" </td>" +
" <td width='75%'>" +
" " + nomeLocal +
" " +
" </td>" +
" </tr>" +
" </table>" +
"</td>"
);
pageContext.getOut().println("<tr>");
pageContext.getOut().println(strTdSeta);
totalLocal = 0.0;
i = 0;
String valorInput = new String();
for (Iterator<GregorianCalendar> iterator = listaMeses.iterator(); iterator.hasNext();) {
GregorianCalendar mes = (GregorianCalendar) iterator.next();
itemFisicoMes = null;
valorPrevisto = null;
boolean continua = true;
valorInput = "";
/*Nos itens de estrutura fisico filtrado por ano,
* verifica se existe algum para o m�s em quest�o.
* Se tiver, verifica se existe um local com valores */
if (listaAnualItemFisico.size() > 0)
{
Iterator<ItemEstrutFisicoIettf> itFisico = listaAnualItemFisico.iterator();
while ((itFisico.hasNext())&&(continua)){
ItemEstrutFisicoIettf itemF = (ItemEstrutFisicoIettf) itFisico.next();
if ((itemF.getMesIettf().equals(mes.get(GregorianCalendar.MONTH)+1) )&&(itemF.getItemEstrtIndResulLocalIettirls() != null)){
Iterator<ItemEstrtIndResulLocalIettirl> itLocal = itemF.getItemEstrtIndResulLocalIettirls().iterator();
while(itLocal.hasNext()){
ItemEstrtIndResulLocalIettirl itItemLocal = (ItemEstrtIndResulLocalIettirl) itLocal.next();
if ((itItemLocal.getLocalItemLit().getCodLit().equals(itemLocal.getLocalItemLit().getCodLit()))&&(itItemLocal.getQtdPrevistaIettirl() != null)){
valorPrevisto = itItemLocal.getQtdPrevistaIettirl();
continua = false;
break;
}
}
}
}
}
if (valorPrevisto != null){
totalLocal += valorPrevisto;
totalExercicio [i] += valorPrevisto;
valorInput = " value=\"" + formatBrasil.format(valorPrevisto) + "\"";
}
i++;
// Criar uma c�lula contendo um campo e uma imagem de informa��o.
strTdCampo = new String (
"<td align=\"center\" >" +
" <input " +
" class=\"inputPopup previsto" +String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\""+
" type=\"text\"" +
" size=\"" + (larguraCaixaTexto - 3) + "\"" +
" onblur=\"" +
" copiarExercicio('" + itemLocal.getLocalItemLit().getCodLit().toString() + "'); " +
" calcularTotalLocal('" + itemLocal.getLocalItemLit().getCodLit().toString() + "');" +
" calcularTotalExercicio('"+String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "');" +
" \"" +
" id=\"cmp|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|" + String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\"" +
" name=\"cmp|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|" + String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\"" +
valorInput +
" />" +
" " +
" <label " +
" id=\"label|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|" + String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\"" +
" class=\"dica\" " +
" onmouseover=\"" +
" montaTooltipMouseOver(this,\'"+ String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\',\'" + meses[mes.get(java.util.Calendar.MONTH)] +"\',\'"+ itemLocal.getLocalItemLit().getCodLit().toString() + "\',\'" + itemLocal.getLocalItemLit().getIdentificacaoLit() +"\');" +
" \"" +
" onmouseout=\"" +
" montaTooltipMouseOut(\'"+ String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\',\'" + itemLocal.getLocalItemLit().getCodLit().toString() +"\');" +
" \"" +
" />" +
" <img " +
" src=\"" + request.getContextPath() + "/images/dica.png\" " +
" align=\"absmiddle\" " +
" border=\"0\" " +
" onclick=\"" +
" montaTooltipMouseClick(\'"+ String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\',\'" + meses[mes.get(java.util.Calendar.MONTH)] +"\',\'"+ itemLocal.getLocalItemLit().getCodLit().toString() + "\',\'" + itemLocal.getLocalItemLit().getIdentificacaoLit() +"\');" +
" \" " +
" /> " +
" " +
" <span id=\"span|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|" + String.format("%02d", mes.get(GregorianCalendar.MONTH)+1) + "\" ></span>" +
" " +
" </label>" +
"</td>"
);
pageContext.getOut().println(strTdCampo);
}
// Criar uma c�lula de total por local
strTdTotalPorLocal = new String(
"<td align=\"center\" width=\"" + larguraTotal + "\" >" +
" <input " +
" type=\"text\"" +
" size=\"12\"" +
" readonly=\"true\"" +
" id=\"cmp|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|total\"" +
" name=\"cmp|" + itemLocal.getLocalItemLit().getCodLit().toString() + "|total\"" +
" value=\"" + formatBrasil.format(totalLocal) + "\"" +
" style=\"background-color:#FFF9DC;\"" +
" />" +
"</td>"
);