.widget h3.show-header span.fw-semi-bold Obra: =< link_to @obra.descricao_da_obra, rota_obra(@obra), target: "_blank" .pull-right style="margin-top: -35px;" span.label.label-info = "#{@obra.situacao_atual.localizar(:tipo_de_status_da_obra).try(:upcase)}" if @obra.situacao_atual.present? hr .widget-body .row .col-sm-12 .row .col-sm-8 p ' Período span.fw-semi-bold = @obra.data_de_inicio ' a span.fw-semi-bold = @obra.data_prevista_de_termino - if @obra.empresa_responsavel.nil? p strong Empresa Responsável: ' Não informado - else p strong Empresa Responsável: ==< @obra.empresa_responsavel.pessoa.nome_e_cpf_ou_cnpj p strong Endereço da Obra/Serv.: ==< @obra.endereco_completo .col-sm-4 .pull-right p strong Valor da Obra: ==< @obra.valor.to_f.real_contabil .widget .widget-body .row .col-sm-12 .row .col-sm-4 p strong Valor Inicial: =< @obra.valor.to_f.real_contabil .col-sm-4 p strong Valor Aditado: =< @obra.valor_aditivado.real_contabil .col-sm-4 p strong Valor Total: =< @obra.valor_total_atualizado.real_contabil .row .col-sm-3 p strong Prazo Inicial: =< "#{ @obra.prazo_da_obra_em_dias.to_s + " dia".pluralize(@obra.prazo_da_obra_em_dias) }" .col-sm-3 p strong Paralisações: =< "#{ @obra.paralisacoes_em_dias.to_s + " dia".pluralize(@obra.paralisacoes_em_dias)}" .col-sm-3 p strong Prazo Aditado: =< "#{ @obra.prazo_aditado_em_dias.to_s + " dia".pluralize(@obra.prazo_aditado_em_dias)}" .col-sm-3 p strong Prazo Total: - prazo_total = @obra.prazo_da_obra_em_dias + @obra.prazo_aditado_em_dias =< "#{ prazo_total.to_s + " dia".pluralize(prazo_total)}" .row .col-md-12 p strong Previsão Atualizada de Término: - tempo_restante = obra.tempo_restante =< "Faltam #{ tempo_restante.to_s + " " + "dia".pluralize(tempo_restante) } para finalizar" = progressbar porcentagem: obra.porcentagem_do_saldo_de_dias, exibir_porcentagem: true, crescente: true .widget .widget-body .row .col-sm-12 .row .col-sm-4 p strong Valor Total Empenhado: ==< obra.valor_total_empenhado.to_f.real_contabil p strong Valor Total Liquidado: ==< obra.valor_total_liquidado.to_f.real_contabil p strong Valor Total Pago: ==< obra.valor_total_pago.to_f.real_contabil .col-sm-4 = pie_chart @total_medido_da_obra, title: "% Medido da Obra", height: "250px", colors: ["#ff8500", "green"], library: { \ tooltip: { \ pointFormat: '{point.y} %' \ }, \ plotOptions: { \ pie: { \ dataLabels: { \ enabled: false \ }, \ showInLegend: true \ } \ } \ } .col-sm-4 p strong Qtd. de Medições: - qtd_medicoes = obra.medicoes_da_obra.confirmada.count ==< qtd_medicoes > 0 ? qtd_medicoes : "Sem medições" p strong Última Medição: - ultima_medicao = obra.medicoes_da_obra.confirmada.last ==< qtd_medicoes > 0 ? "#{ultima_medicao.data_inicial} a #{ultima_medicao.data_final}" : "Sem medições" p strong Valor Total Medido: ==< obra.total_das_medicoes.to_f.try(:valor_financeiro) .widget header> h5 span.fw-semi-bold Pagamentos da Obra .widget-body - pagamentos = @obra.pagamentos - if pagamentos.empty? h6 Nenhum registro encontrado. - else table.table.table-hover.table-responsive thead tr th width="120" Nº do Empenho th width="120" Nº do Pagamento th Fonte th width="120" Nº NF th width="120" Data th width="120" Valor th width="40" align="center" tbody - pagamentos.each do |pagamento| tr td = pagamento.empenho.numero_do_empenho.to_s td = pagamento.numero_formatado td = pagamento.liquidacao.fonte_de_recursos_codigo_e_descricao td = pagamento.liquidacao.nota_fiscal_numero.to_s td = pagamento.data || pagamento.data_da_solicitacao td = pagamento.valor.to_f.real_contabil td align="center" - if pagamento.estornado span.label.label-danger ESTORNADO - else =< status_pagamentos_label pagamento.localizar(:status), pagamento.status .widget header> h5 span.fw-semi-bold Valor da Obra por Fonte de Recurso .pull-right span.fw-semi-bold Valor Total da Obra: ==< @obra.valor_total_atualizado.to_f.real_contabil .widget-body - if obra.fontes_de_recursos.empty? h6 Nenhum registro encontrado. - else .table-responsive table.table.table-bordered.table-hover thead tr th width="50%" Fonte th Empenhado th % th Liquidado th % th Pago th % tbody - obra.fontes_de_recursos.distinct.select { |f| obra.valor_empenhado_por_fonte(f.id).to_f > 0 }.each do |fonte_de_recursos| tr - valor_empenhado_por_fonte = obra.valor_empenhado_por_fonte(fonte_de_recursos.id) - valor_liquidado_por_fonte = obra.valor_liquidado_por_fonte(fonte_de_recursos.id) - valor_pago_por_fonte = obra.valor_pago_por_fonte(fonte_de_recursos.id) td = fonte_de_recursos.codigo_completo_e_descricao_e_exercicio td = valor_empenhado_por_fonte.try(:real_contabil) if valor_empenhado_por_fonte td = obra.porcentagem_em_relacao_ao_valor_total(valor_empenhado_por_fonte).round(2) td = valor_liquidado_por_fonte.try(:real_contabil) td = obra.porcentagem_em_relacao_ao_valor_total(valor_liquidado_por_fonte).round(2) td = valor_pago_por_fonte.try(:real_contabil) td = obra.porcentagem_em_relacao_ao_valor_total(valor_pago_por_fonte).round(2) tfoot tr td.bold Valor Total td.bold =< obra.valor_total_empenhado.try(:real_contabil) td td.bold = obra.valor_total_liquidado.try(:real_contabil) td td.bold = obra.valor_total_pago.try(:real_contabil) td - if obra.transferencias.any? .widget header> h5 span.fw-semi-bold Financiamento da Obra - Convênios .widget-body - if obra.transferencias.empty? h6 Nenhum registro encontrado. - else .table-responsive table.table.table-bordered.table-hover thead tr th width="20%" Convênio th Repasse th Contrapartida th % de Execução th Status th Fim da Vigência tbody - obra.transferencias.each do |transferencia| tr td = link_to "#{transferencia.codigo_transferencia}", transferencia, target: '_blank' td = transferencia.valor_repasse.try(:real_contabil) td = transferencia.valor_contrapartida.try(:real_contabil) td = "#{transferencia.percentual_de_execucao_pago} %" td = transferencia.localizar(:status) td = transferencia.data_final_de_acordo_com_aditivos - if obra.operacoes_de_credito.any? .widget header> h5 span.fw-semi-bold Financiamento da Obra - Oper. de Crédito .widget-body - if obra.operacoes_de_credito.empty? h6 Nenhum registro encontrado. - else .table-responsive table.table.table-bordered.table-hover thead tr th width="20%" Operação de Crédito th Externo th Contrapartida th % de Execução th Status th Fim da Vigência tbody - obra.operacoes_de_credito.each do |operacao_de_credito| tr td = link_to "#{operacao_de_credito.codigo}", operacao_de_credito, target: '_blank' td = operacao_de_credito.valor_operacao_credito.try(:valor_financeiro, unit: operacao_de_credito.simbolo_monetario) td = operacao_de_credito.valor_contrapartida.try(:valor_financeiro, unit: operacao_de_credito.simbolo_monetario) td = "#{operacao_de_credito.percentual_de_execucao_pago} %" td = operacao_de_credito.localizar(:status) td = operacao_de_credito.fim_da_vigencia .widget header> h5 span.fw-semi-bold Visitas Técnicas .widget-body .row .col-sm-12 .row .col-sm-8 p strong Fiscal: - if @obra.fiscal_da_obra.nil? ' Não informado - else ==< @obra.fiscal_da_obra.pessoa.nome_e_cpf_ou_cnpj p strong Responsável da Empresa: - if @obra.responsavel_na_empresa.nil? ' Não informado - else ==< @obra.responsavel_na_empresa.pessoa.nome_e_cpf_ou_cnpj .col-sm-4 p strong Qtd. de Visitas: - qtd_visitas = obra.verificacoes_da_fiscalizacao.count ==< qtd_visitas > 0 ? qtd_visitas : "Sem visitas" - if qtd_visitas > 0 p strong Última Visita: ==< obra.verificacoes_da_fiscalizacao.last.data_do_cadastro .widget header> h5 span.fw-semi-bold Relatório Fotográfico .widget-body - if @obra.anexos_da_fiscalizacao.empty? h6 Nenhum registro encontrado. - else - @obra.anexos_da_fiscalizacao.each_with_index do |anexo_da_fiscalizacao, index| ==< link_to image_tag(anexo_da_fiscalizacao.file.url(:thumb)), anexo_da_fiscalizacao.file.url, target: "_blank"