{"provider_url": "https://www.exu.pe.leg.br", "title": "Indica\u00e7\u00f5es Atendidas", "html": "<fieldset id=\"menuPesquisaIndicacoesID\">\r\n        <legend>Filtros e Especifica\u00e7\u00f5es</legend>\r\n        <form id=\"indicacoesFormID\" method=\"post\">\r\n            <div style=\"display: flex; flex-wrap: wrap;\">\r\n                <div style=\"display: inline-block; width: 88px\"><span>Ano: </span><br /> <select id=\"indicacaoAtendidaSelectID\" style=\"height: 26px; padding: 2px; margin-bottom: 8px\"></select></div>\r\n            </div><button id=\"listarPautasBtID\" type=\"submit\" form=\"indicacoesFormID\" style=\"float: right; margin-right: 32px; height: 28px;\"> Pesquisar </button>\r\n        </form>\r\n    </fieldset>\r\n\t<i>Observa\u00e7\u00e3o: O n\u00famero de indica\u00e7\u00f5es atendidas pelo Executivo Municipal de Exu, aqui postado, trata-se de um retorno sol\u00edd\u00e1rio de informa\u00e7\u00e3o do Poder Executivo ao Legislativo. Portanto \u00e9 poss\u00edvel que estejam ausentes aqui, indica\u00e7\u00f5es que o Poder Executivo j\u00e1 tenha atendido.</i>\r\n\t<div style=\"text-align: center; overflow: auto; padding-top: 24px\">\r\n\t\t<h5 id=\"tituloGraficoIndID\"></h5>\r\n\t\t<canvas id=\"indicacoesCavaID\" width=\"460\" height=\"200\" role=\"img\" aria-label=\"Gr\u00e1fico de barras das indica\u00e7\u00f5es enviadas ao executivo\">Navegador obsoleto para exibir gr\u00e1ficos.</canvas>\r\n\t</div>\r\n\t\r\n    <div id=\"indicacoesConteudoID\"><p style=\"color: #ee5500; text-align: center;\">Carregando dados...</p></div>\r\n\r\n    <script type=\"text/javascript\">\r\n\r\n        /* https://tonyribeiro.com/sessoes-consultas/ */\r\n\t\tfunction fn_listar_indicacoes_atendida() {\r\n\t\t\t$('#conteudoPautasID').append('<div style=\"height: 24px;\"></div><div style=\"height: 96px;\"></div><div style=\"height: 24px;\"></div><div style=\"height: 164px;\"></div>');\r\n\t\t\t$('#conteudoPautasID > div').css({ 'background-color': '#F1F1F4', 'margin': '8px' });\r\n\t\t\t\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: 'https://tonyribeiro.com/sessoes-consultas/indicacoes_atendidas.php',\r\n\t\t\t\theaders: { 'Accept': 'application/json' },\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\tdataType: 'JSON',\r\n\t\t\t\tdata: { keycamara: thisCamara, anoLeg: $('#indicacaoAtendidaSelectID').val() },\r\n\t\t\t\tsuccess: function (resultado) {\r\n\t\t\t\t\tmontarTabelaIndicacoes(resultado);\r\n\t\t\t\t},\r\n\t\t\t\terror: function () {\r\n\t\t\t\t\t$('#conteudoPautasID').html('<p class=\"msgErro\">Falha ao consultar pautas.</p>');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n            return false;\r\n\t\t}\r\n\t\t\r\n        function montarTabelaIndicacoes(dados){\r\n            \r\n\t\t\tif(dados.length > 0){\r\n\t\t\t\t$('#tituloGraficoIndID').html('Registro Cronol\u00f3gico das Indica\u00e7\u00f5es de '+$('#indicacaoAtendidaSelectID').val()+' Encaminhadas ao Executivo').parent().show();\r\n\t\t\t\t\r\n\t\t\t\tconst dadosGrafico = {\r\n\t\t\t\t  labels: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\r\n\t\t\t\t  var1: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n\t\t\t\t  var2: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\r\n\t\t\t\t};\r\n\t\t\t\t\r\n\t\t\t\tvar tabelaTag = '';\r\n\t\t\t\tlet valorMaior = 0;\r\n\t\t\t\tlet indAtendidas = 0;\r\n                for(var i=0; i<dados.length; i++){\r\n\t\t\t\t\t\r\n\t\t\t\t\tif(dados[i].situacao === '2'){\r\n\t\t\t\t\t\ttabelaTag += '<tr><td>INDICA\u00c7\u00c3O N\u00ba '+fn_formatar_numero_digitos(dados[i].numero)+'/'+dados[i].ano+' - '+dados[i].autor+'</td><td style=\"text-align: justify; text-indent: 46px\">'+dados[i].ementa+'</td><td>'+fn_converter_data_to_dma(dados[i].situacao_data)+'</td></tr>';\r\n\t\t\t\t\t\tdadosGrafico.var2[(parseInt(dados[i].data_recebido.substring(5,7)) - 1)]++;\r\n\t\t\t\t\t\tindAtendidas++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdadosGrafico.var1[(parseInt(dados[i].data_recebido.substring(5,7)) - 1)]++;\r\n                    if(valorMaior <  dadosGrafico.var1[(parseInt(dados[i].data_recebido.substring(5,7)) - 1)]){\r\n\t\t\t\t\t\tvalorMaior = dadosGrafico.var1[(parseInt(dados[i].data_recebido.substring(5,7)) - 1)];\r\n\t\t\t\t\t}\r\n                }\r\n\t\t\t\t\r\n\t\t\t\tif(tabelaTag != ''){\r\n\t\t\t\t\ttabelaTag = '<table class=\"listing\"><thead><tr><th colspan=\"3\" style=\"text-align: center\">Indica\u00e7\u00f5es Atendidas Pelo Executivo Municipal</th></tr><tr><th>Indica\u00e7\u00e3o</th><th>Assunto</th><th>Anu\u00eancia</th></tr></thead><tbody>'+tabelaTag+'</tbody></table>';\r\n\t\t\t\t}else{\r\n\t\t\t\t\ttabelaTag = '<table class=\"listing\" style=\"width: 100%;\"><thead><tr><th colspan=\"3\" style=\"text-align: center\">Indica\u00e7\u00f5es Atendidas Pelo Executivo Municipal</th></tr><tr><th>Indica\u00e7\u00e3o</th><th>Assunto</th><th>Anu\u00eancia</th></tr></thead><tbody><tr><td colspan=\"3\">Nenhuma registro de indica\u00e7\u00e3o atendida foi encontrado.</td></tr></tbody></table>';\r\n\t\t\t\t}\r\n\t\t\t\t\r\n                $('#indicacoesConteudoID').html(tabelaTag);\r\n\t\t\t\t\r\n\t\t\t\t// --- MONTAGEM DO GR\u00c1FICO --- //\r\n\t\t\t\tconst canvas = document.querySelector('#indicacoesCavaID');\r\n\t\t\t\tconst ctx = canvas.getContext('2d');\r\n\t\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t\t\tctx.textAlign = 'left';\r\n\t\t\t\t\r\n\t\t\t\tconst larguraBarra = 15;\r\n\t\t\t\tconst espaco = 7; // Espa\u00e7o entre grupos\r\n\t\t\t\tconst margem = 20;\r\n\t\t\t\tconst alturaMax = 100;\r\n\t\t\t\tconst coeficienteCorrecao = alturaMax/valorMaior;// inven\u00e7\u00e3o tony\r\n\t\t\t\tctx.font = '12px plain';\r\n\t\t\t\tdadosGrafico.labels.forEach((label, i) => {\r\n\t\t\t\t  const xBase = margem + i * (larguraBarra * 2 + espaco);\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t  // Desenhar Vari\u00e1vel 1 (enviadas)\r\n\t\t\t\t  dadosGrafico.var1[i] = dadosGrafico.var1[i] * coeficienteCorrecao;\r\n\t\t\t\t  ctx.fillStyle = '#fbc64a';\r\n\t\t\t\t  ctx.fillRect(xBase, alturaMax - dadosGrafico.var1[i], larguraBarra, dadosGrafico.var1[i]);\r\n\r\n\t\t\t\t  // Desenhar Vari\u00e1vel 2 (atendidas) - ao lado da primeira\r\n\t\t\t\t  dadosGrafico.var2[i] = dadosGrafico.var2[i] * coeficienteCorrecao;\r\n\t\t\t\t  ctx.fillStyle = '#29f1a0';\r\n\t\t\t\t  ctx.fillRect(xBase + larguraBarra, alturaMax - dadosGrafico.var2[i], larguraBarra, dadosGrafico.var2[i]);\r\n\r\n\t\t\t\t  // Texto das Categorias\r\n\t\t\t\t  ctx.fillStyle = 'black';\r\n\t\t\t\t  ctx.fillText(label, xBase + espaco, alturaMax + (espaco * 2));\r\n\t\t\t\t});\r\n\t\t  \r\n\t\t\t\t// Configura\u00e7\u00e3o da posi\u00e7\u00e3o da legenda\r\n\t\t\t\tconst yLegenda = alturaMax + 40; \r\n\t\t\t\tconst xLegenda1 = margem+120;\r\n\t\t\t\tconst xLegenda2 = margem + 240; // Espa\u00e7o para a segunda legenda\r\n\r\n\t\t\t\t// --- Legenda Vari\u00e1vel 1 ---\r\n\t\t\t\tctx.fillStyle = '#fbc64a';\r\n\t\t\t\tctx.fillRect(xLegenda1, yLegenda, 15, 15); // Quadrinho (x, y, largura, altura)\r\n\r\n\t\t\t\tctx.fillStyle = 'black';\r\n\t\t\t\tctx.font = '14px plain';\r\n\t\t\t\tctx.fillText('Enviadas: '+dados.length, xLegenda1 + 20, yLegenda + 12); // Texto \u00e0 frente\r\n\r\n\t\t\t\t// --- Legenda Vari\u00e1vel 2 ---\r\n\t\t\t\tctx.fillStyle = '#29f1a0';\r\n\t\t\t\tctx.fillRect(xLegenda2, yLegenda, 15, 15); // Quadrinho\r\n\r\n\t\t\t\tctx.fillStyle = 'black';\r\n\t\t\t\tctx.fillText('Atendidas: '+indAtendidas, xLegenda2 + 20, yLegenda + 12); // Texto \u00e0 frente\r\n\t\t\t\t\r\n\t\t\t\tctx.fillStyle = '#c5c5c5';\r\n\t\t\t\tctx.fillRect(15, 0, 2, alturaMax);\r\n\t\t\t\tctx.fillStyle = '#333333';\r\n\t\t\t\tctx.textAlign = 'right';\r\n\t\t\t\tctx.textBaseline = 'top';\r\n\t\t\t\tctx.fillText(valorMaior+'', 15, 0);\r\n\t\t\t\tctx.textBaseline = 'middle';\r\n\t\t\t\tctx.fillText(parseInt(valorMaior/2)+'', 15, parseInt(alturaMax/2));\r\n\t\t\t\tctx.fillText('0', 15, alturaMax);\r\n\t\t\t}else{\r\n\t\t\t\t$('#tituloGraficoIndID').parent().hide();\r\n\t\t\t\t$('#indicacoesConteudoID').html('Nenhuma registro de indica\u00e7\u00e3o atendida foi encontrada, para o ano de '+$('#indicacaoAtendidaSelectID').val()+'.');\r\n\t\t\t}\r\n        }\r\n        function fn_converter_data_to_dma(dataArg) {\r\n\t\t\tvar dataConvertida = dataArg.split('-');\r\n\t\t\treturn (dataConvertida[2].substring(0,2) + '/' + dataConvertida[1] + '/' + dataConvertida[0]);\r\n\t\t}\r\n        function fn_formatar_numero_digitos(num) {\r\n\t\t\treturn num.toString().length < 3 ? (\"0\" + num).slice(-2) : num;\r\n\t\t}\r\n        var thisCamara = '97b3ede37bbd90660aad63baadda4662';\r\n        $(document).ready(function () {\r\n            $('#viewlet-below-content-title').remove();\r\n\t\t\t$('#indicacoesFormID').submit(fn_listar_indicacoes_atendida);\r\n            \r\n\t\t\tvar anoIndicacao = new Date().getFullYear();\r\n\t\t\tvar tagIndik = '<option value=\"'+anoIndicacao+'\">'+anoIndicacao+'</option>';\r\n\t\t\ttagIndik += '<option value=\"'+(anoIndicacao-1)+'\">'+(anoIndicacao-1)+'</option>';\r\n\t\t\ttagIndik += '<option value=\"'+(anoIndicacao-2)+'\">'+(anoIndicacao-2)+'</option>';\r\n\t\t\ttagIndik += '<option value=\"'+(anoIndicacao-3)+'\">'+(anoIndicacao-3)+'</option>';\r\n\t\t\ttagIndik += '<option value=\"'+(anoIndicacao-4)+'\">'+(anoIndicacao-4)+'</option>';\r\n\r\n\t\t\t$('#indicacaoAtendidaSelectID').html(tagIndik).on(\r\n\t\t\t\t'change', \r\n\t\t\t\tfunction(){\r\n\t\t\t\t\t$('#indicacoesConteudoID').html('<p style=\"color: #ee5500; text-align: center;\">CLIQUE EM PESQUISAR</p>'); \r\n\t\t\t\t\t$('#tituloGraficoIndID').parent().hide();\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\t\r\n\t\t\tfn_listar_indicacoes_atendida();\r\n\t\t});\r\n    </script>", "author_name": "", "version": "1.0", "author_url": "https://www.exu.pe.leg.br/author/exu", "provider_name": "C\u00e2mara Municipal de Exu", "type": "rich"}