Commit 265579e4 authored by sandroresende's avatar sandroresende

melhorias modulo pac - dados projeto

parent e9853775
......@@ -290,12 +290,17 @@ class ApiController extends Controller
public function buscarSecretarias()
{
$secretariasAtivas = [1, 2, 14, 15];
return Secretaria::whereIn('cod_secretaria', $secretariasAtivas)->orderBy('txt_sigla_secretaria')->get();
return Secretaria::orderBy('txt_sigla_secretaria')->get();
}
public function buscarAreasSecretaria($secretariaId)
{
return Area::where('cod_secretaria', $secretariaId)->orderBy('dsc_area')->get();
}
public function buscarFontes()
{
return Fonte::where('cod_fonte', '>', 0)->orderBy('dsc_fonte')->get();
return Fonte::orderBy('dsc_fonte')->get();
}
public function buscarSituacaoContratos()
......
......@@ -309,7 +309,6 @@ class DemandaController extends Controller
if (count($demandas) > 0) {
return view('modulo_codem.lista_demandas', compact('demandas'));
} else {
DB::rollBack();
flash()->erro("Erro", "Não existe demanda para os parametros escolhidos.");
return back();
}
......
<?php
namespace App\Http\Controllers\Mod_pac;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Mod_saci\mod_ibge\Uf;
use App\Mod_pac\ViewBalancoPac;
use App\Mod_pac\ViewEtapaPac;
use App\Mod_pac\ViewMetasEtapaPac;
use App\Mod_pac\ViewMunicipiosBalancoPac;
use App\Mod_pac\ViewObrasParalisadasPac;
use App\Mod_pendencias_caixa\DadosFinanceiros;
use App\Mod_pendencias_caixa\OrdensBancarias;
use Illuminate\Support\Facades\Auth;
class BalancoPACController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function pesquisarBalancoPac(Request $request)
{
// return $request->all();
$where = [];
if ($request->cod_uf) {
$estado = Uf::where('id_uf', $request->cod_uf)->firstOrFail();
$where[] = ['uf', $estado->sg_uf];
}
if ($request->municipio) {
$where[] = ['view_municipios_balanco_pac.cod_municipio_ibge', $request->municipio];
}
if ($request->cod_secretaria) {
$where[] = ['cod_secretaria', $estado->cod_secretaria];
}
if ($request->cod_area) {
$where[] = ['cod_area', $estado->cod_area];
}
if ($request->cod_fonte) {
$where[] = ['cod_fonte', $estado->cod_fonte];
}
$balancoPac = ViewBalancoPac::join('mcid_pac.view_municipios_balanco_pac', 'view_municipios_balanco_pac.cod_contrato', '=', 'view_balanco_pac.cod_contrato')
->select(
'view_balanco_pac.cod_contrato',
'view_balanco_pac.cod_registro',
'uf',
'municipio_tomador',
'txt_fonte',
'nom_agente_financeiro',
'nom_empreendimentos',
'txt_sigla_area',
'situacao_da_obra',
'perc_fisico',
'ogu_pago',
'fin_pago'
)
->where($where)
->groupBy(
'view_balanco_pac.cod_contrato',
'view_balanco_pac.cod_registro',
'uf',
'municipio_tomador',
'txt_fonte',
'nom_agente_financeiro',
'nom_empreendimentos',
'txt_sigla_area',
'situacao_da_obra',
'perc_fisico',
'ogu_pago',
'fin_pago'
)
->get();
$balancoPac->load('municipios');
if (count($balancoPac) > 0) {
return view('modulo_pac.lista_contratos_balanco', compact('balancoPac'));
} else {
flash()->erro("Erro", "Não existe contrato para os parametros escolhidos.");
return back();
}
}
public function dadosContrato($cod_registro)
{
$dadosContrato = ViewBalancoPac::where('cod_registro', $cod_registro)->first();
$dadosContrato->load('municipios', 'etapasPacs.metasPacs');
$obrasParalisada = ViewObrasParalisadasPac::where('cod_registro', $cod_registro)->first();
$dadosFinanceiros = DadosFinanceiros::where('cod_projeto', $dadosContrato->cod_projeto)->first();
$ordensBancarias = OrdensBancarias::where('cod_operacao', trim($dadosContrato->cod_projeto))->get();
return view('modulo_pac.dados_contrato_balanco', compact('dadosContrato', 'obrasParalisada', 'dadosFinanceiros', 'ordensBancarias'));
}
}
<?php
namespace App\Http\Controllers\Mod_pac;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
class HomePACController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('modulo_pac.home_pac');
}
}
\ No newline at end of file
......@@ -62,6 +62,8 @@ class RedirecionarUsuario
return redirect('/home_bndes');
} elseif ($usuario->modulo_sistema_id == 6) {
return redirect('/home_apis');
} elseif ($usuario->modulo_sistema_id == 7) {
return redirect('/home_pac');
} else {
flash()->erro("Erro", "Não existe usuário com esses dados.");
Auth::logout();
......@@ -76,4 +78,4 @@ class RedirecionarUsuario
return redirect('/');
}
}
}
}
\ No newline at end of file
<?php
namespace App\Mod_pac;
use Illuminate\Database\Eloquent\Model;
class ViewBalancoPac extends Model
{
protected $connection = 'pgsql_corp';
protected $table = 'mcid_pac.view_balanco_pac';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
public function etapasPacs()
{
return $this->hasMany(ViewEtapaPac::class, 'cod_contrato', 'cod_contrato'); //possui muitos
}
public function municipios()
{
return $this->hasMany(ViewMunicipiosBalancoPac::class, 'cod_registro', 'cod_registro')->orderBy('ds_municipio'); //possui muitos
}
}
<?php
namespace App\Mod_pac;
use Illuminate\Database\Eloquent\Model;
class ViewEtapaPac extends Model
{
protected $connection = 'pgsql_corp';
protected $keyType = 'string';
protected $table = 'mcid_pac.view_etapa_pac_pendencias_caixa';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
public function metasPacs()
{
return $this->hasMany(ViewMetasEtapaPac::class, 'etapa_id', 'etapa_id'); //possui muitos
}
public function balancoPac()
{
return $this->belongsTo(ViewBalancoPac::class, 'cod_contrato', 'cod_contrato'); //possui muitos
}
}
<?php
namespace App\Mod_pac;
use Illuminate\Database\Eloquent\Model;
class ViewMetasEtapaPac extends Model
{
protected $connection = 'pgsql_corp';
protected $table = 'mcid_pac.view_meta_etapa_pac_pendencias_caixa';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
}
<?php
namespace App\Mod_pac;
use Illuminate\Database\Eloquent\Model;
class ViewMunicipiosBalancoPac extends Model
{
protected $connection = 'pgsql_corp';
protected $table = 'mcid_pac.view_municipios_balanco_pac';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
public function balancoPac()
{
return $this->belongsTo(ViewBalancoPac::class, 'cod_registro', 'cod_registro'); //possui muitos
}
}
<?php
namespace App\Mod_pac;
use Illuminate\Database\Eloquent\Model;
class ViewObrasParalisadasPac extends Model
{
protected $connection = 'pgsql_corp';
protected $table = 'mcid_pac.view_obras_paralisadas_pac';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
}
<?php
namespace App\Mod_pendencias_caixa;
use Illuminate\Database\Eloquent\Model;
class DadosFinanceiros extends Model
{
protected $connection = 'pgsql_corp';
protected $keyType = 'string';
protected $table = 'pendencias_caixa.tab_dados_financeiros';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
}
<?php
namespace App\Mod_pendencias_caixa;
use Illuminate\Database\Eloquent\Model;
class OrdensBancarias extends Model
{
protected $connection = 'pgsql_corp';
protected $keyType = 'string';
protected $table = 'pendencias_caixa.tab_ordem_bancaria';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
}
......@@ -6,14 +6,14 @@ use Illuminate\Database\Eloquent\Model;
class Fonte extends Model
{
protected $connection = 'pgsql_corp';
protected $table = 'opc_fontes';
protected $connection = 'pgsql_corp';
protected $primaryKey = 'cod_fonte';
protected $table = 'pac.opc_fontes';
protected $primaryKey = 'cod_fonte';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
}
......@@ -7,27 +7,26 @@ use Illuminate\Database\Eloquent\Model;
class Secretaria extends Model
{
protected $connection = 'pgsql_corp';
protected $connection = 'pgsql_corp';
protected $table = 'opc_secretarias';
protected $table = 'sistema.opc_secretarias';
protected $primaryKey = 'cod_secretaria';
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
public function areas()
{
return $this->hasMany(Area::class,'cod_secretaria','cod_secretaria'); //possui muitos
}
public $timestamps = false; // tabela não possui coluna de data de criação/atualização
public function contratoPac()
{
return $this->belongsTo(ContratosPac::class,'cod_secretaria','cod_secretaria'); //possui muitos
}
public function areas()
{
return $this->hasMany(Area::class, 'cod_secretaria', 'cod_secretaria'); //possui muitos
}
public function arquivoSelecaoSecretarias()
{
return $this->belongsTo(ArquivoSelecaoSecretaria::class,'cod_secretaria','cod_secretaria'); //possui muitos
}
public function contratoPac()
{
return $this->belongsTo(ContratosPac::class, 'cod_secretaria', 'cod_secretaria'); //possui muitos
}
public function arquivoSelecaoSecretarias()
{
return $this->belongsTo(ArquivoSelecaoSecretaria::class, 'cod_secretaria', 'cod_secretaria'); //possui muitos
}
}
This diff is collapsed.
......@@ -288,6 +288,16 @@ Vue.component(
"adicionar-municipios",
require("./components/mod_apis/adicionarMunicipios.vue")
);
Vue.component(
"filtro-contratos-pac",
require("./components/mod_pac/FiltroContratosPac.vue")
);
const app = new Vue({
el: "#app",
});
<template>
<div class="form-group">
<div class="row">
<div class="col col-xs-12 col-sm-2 br-input">
<label for="uf">UF</label>
<select
id="cod_uf"
class="form-select br-select"
name="cod_uf"
@change="onChangeEstado"
v-model="estado"
>
<option value="">Escolha uma UF:</option>
<option v-for="estado in estados"
v-text="estado.txt_sigla_uf"
:value="estado.id" :key="estado.id">
</option>
</select>
</div>
<div class="column col-xs-12 col-sm-4 ">
<!-- municipio -->
<label for="municipio">Município Principal</label>
<select
id="municipio"
class="form-select br-select"
name="municipio"
:disabled="estado == '' || buscando"
v-model="municipio"
>
<option value="" v-text="textoEscolhaMunicipio"></option>
<option v-for="municipio in municipios" v-text="municipio.ds_municipio" :value="municipio.cod_ibge_7_dig" :key="municipio.cod_ibge_7_dig"></option>
</select>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="secretaria">Secretaria</label>
<select
id="cod_secretaria"
class="form-select br-select"
name="cod_secretaria"
v-model="secretaria"
@change="onChangeSecretaria"
>
<option value="">Escolha uma Secretaria:</option>
<option v-for="secretaria in secretarias"
v-text="secretaria.txt_sigla_secretaria"
:value="secretaria.cod_secretaria" :key="secretaria.cod_secretaria">
</option>
</select>
</div>
<div class="col col-xs-12 col-sm-2 br-input">
<label for="area">Area</label>
<select
id="cod_area"
class="form-select br-select"
name="cod_area"
v-model="area"
>
<option value="" >Escolha uma Area</option>
<option v-for="area in areas"
v-text="area.txt_sigla_area"
:value="area.cod_area" :key="area.cod_area">
</option>
</select>
</div>
<div class="col col-xs-12 col-sm-2 br-input">
<label for="fonte">Fonte</label>
<select
id="cod_fonte"
class="form-select br-select"
name="cod_fonte"
v-model="fonte"
>
<option value="" v-text="textoEscolhaFonte"></option>
<option v-for="fonte in fontes"
v-text="fonte.dsc_fonte"
:value="fonte.cod_fonte" :key="fonte.cod_fonte">
</option>
</select>
</div>
</div>
</div>
</template>
<script>
export default {
props:['url'],
data(){
return{
estado: '',
estados: '',
municipio:'',
municipios:'',
area: '',
areas: '',
fonte: '',
fontes: '',
secretaria: '',
secretarias: '',
textoEscolhaArea: 'Filtre a Secretaria',
textoEscolhaFonte: 'Filtre a Area',
textoEscolhaMunicipio: 'Filtre o Estado',
}
},
methods: {
onChangeEstado() {
this.textoEscolhaMunicipio = "Buscando...";
this.municipio = '';
this.buscando = true;
if(this.estado != '') {
//busca dados no banco de dados para carregar no componente
axios.get(this.url + '/api/municipios/' + this.estado).then(resposta => {
this.textoEscolhaMunicipio = "Escolha um municipio:";
this.buscando = false;
this.municipios = resposta.data;
}).catch(error => {
console.log(error);
});
} else {
this.buscando = false;
this.municipio = '';
this.textoEscolhaMunicipio = "Filtre o Estado"
this.textoEscolhaEmpreendimento = "Filtre o Estado"
}
},
onChangeSecretaria() {
this.textoEscolhaArea = "Buscando...";
this.textoEscolhaModalidade = "Filtre a Area"
this.area = '';
this.fonte = '';
this.modalidade = '';
this.buscando = true;
if(this.secretaria != '') {
axios.get(this.url + '/api/pac/areas/secretaria/' + this.secretaria).then(resposta => {
this.textoEscolhaArea = "Escolha uma Area:";
this.textoEscolhaFonte = "Escolha uma Area:";
this.buscando = false;
this.areas = resposta.data;
}).catch(error => {
console.log(error);
});
} else {
this.buscando = false;
this.area = '';
this.textoEscolhaArea = "Filtre a Secretaria"
this.textoEscolhaModalidade = "Filtre a Area"
this.textoEscolhaFonte = "Filtre a Area"
}
}
},
mounted() {
console.log('Component mounted.')
//retorna as secretarias
axios.get(this.url + '/api/pac/secretarias').then(resposta => {
this.secretarias = resposta.data;
}).catch(erro => {
console.log(erro);
});
//retorna as estados
axios.get(this.url + '/api/estados').then(resposta => {
this.estados = resposta.data;
}).catch(erro => {
console.log(erro);
});
//retorna as fontes
axios.get(this.url + '/api/pac/fontes').then(resposta => {
this.fontes = resposta.data;
}).catch(erro => {
console.log(erro);
});
}
}
</script>
......@@ -241,6 +241,8 @@
@include('layouts.nav.nav_bndes')
@elseif(Auth::user()->modulo_sistema_id == 6)
@include('layouts.nav.nav_apis')
@elseif(Auth::user()->modulo_sistema_id == 7)
@include('layouts.nav.nav_pac')
@else
@include('layouts.nav.nav_sistema')
......
<!-- inicio menu Seleção de Propostas-->
<div class="menu-folder"><a class="menu-item" href="javascript: void(0)"><span class="icon">
<i class="bi bi-pc-display-horizontal fa-lg"></i></span><span class="content">Balanço Pac</span></a>
<ul>
<li><a class="menu-item" href="{{ url('/pac/contratos/consultar') }}" title="Consultar Contrato"><span class="icon">
<i class="bi bi-journal-plus fa-lg"></i></span><span class="content">Consultar Contrato</span></a>
</li>
</ul>
</div>
@extends('layouts.app')
@section('scriptscss')
<!--
<link rel="stylesheet" type="text/css" href="{{URL::asset('css/saci/AdminLTE.min.css')}}" media="screen" />
-->
@endsection
@section('content')
<historico-navegacao
:url="'{{ url('/home') }}'"
:telanterior01="'Balanço PAC'"
:telanterior02="'Consultar contratos'"
:telatual="'Dados do Contrato'"
>
</historico-navegacao>
<div class="main-content pl-sm-3 mt-5 container-fluid" id="main-content">
<cabecalho-relatorios
:titulo="'{{$dadosContrato->nom_empreendimentos}}'"
subtitulo1=" Contrato: {{$dadosContrato->cod_contrato}}"
subtitulo2="{{$dadosContrato->txt_sigla_area}}"
subtitulo3="Execução Física: {{$dadosContrato->perc_fisico}}%"
subtitulo4="Fonte: {{$dadosContrato->txt_fonte}}"
:linkcompartilhar="'{{ url("/pac/contrato/$dadosContrato->cod_registro") }}'"
:barracompartilhar="true">
<div class="text-center">
@if($dadosContrato->situacao_da_obra == 'Concluída')
<span class="feedback success text-center" role="alert">
<i class="fas fa-check-circle" aria-hidden="true"></i>
{{$dadosContrato->situacao_da_obra }}
</span>
@elseif($dadosContrato->situacao_da_obra == 'Não iniciada')
<span class="feedback warning text-center" role="alert">
<i class="fas fa-info-circle" aria-hidden="true"></i>
{{$dadosContrato->situacao_da_obra }}
</span>
@elseif($dadosContrato->situacao_da_obra == 'Atrasada' || $dadosContrato->situacao_da_obra == 'Paralisada')
<span class="feedback danger text-center" role="alert">
<i class="fas fa-info-circle" aria-hidden="true"></i>
{{$dadosContrato->situacao_da_obra }}
</span>
@else
<span class="feedback info text-center" role="alert">
<i class="fas fa-times-circle" aria-hidden="true"></i>
{{$dadosContrato->situacao_da_obra }}
</span>
@endif
</div>
</cabecalho-relatorios>
<div class="br-tab">
<nav class="tab-nav">
<ul>
<li class="tab-item active">
<button type="button" data-panel="panel-1-icon"><span class="name"><span class="d-flex flex-column flex-sm-row"><span class="icon mb-1 mb-sm-0 mr-sm-1"><i class="fas fa-image" aria-hidden="true"></i></span><span class="name">DADOS DO PROJETO</span></span></span></button>
</li>
<li class="tab-item">
<button type="button" data-panel="panel-2-icon"><span class="name"><span class="d-flex flex-column flex-sm-row"><span class="icon mb-1 mb-sm-0 mr-sm-1"><i class="fas fa-image" aria-hidden="true"></i></span><span class="name">ETAPAS E METAS</span></span></span></button>
</li>
<li class="tab-item">
<button type="button" data-panel="panel-3-icon"><span class="name"><span class="d-flex flex-column flex-sm-row"><span class="icon mb-1 mb-sm-0 mr-sm-1"><i class="fas fa-image" aria-hidden="true"></i></span><span class="name">FINANCEIRO</span></span></span></button>
</li>
<li class="tab-item">
<button type="button" data-panel="panel-4-icon"><span class="name"><span class="d-flex flex-column flex-sm-row"><span class="icon mb-1 mb-sm-0 mr-sm-1"><i class="fas fa-image" aria-hidden="true"></i></span><span class="name">PARALISADA</span></span></span></button>
</li>
</ul>
</nav>
<div class="tab-content">
<div class="tab-panel active" id="panel-1-icon">
@include('modulo_pac.form_dados_projeto')
</div>
<div class="tab-panel" id="panel-2-icon">
@include('modulo_pac.form_etapas_metas_projeto')
</div>
<div class="tab-panel" id="panel-3-icon">
@include('modulo_pac.form_dados_financeiros')
</div>
<div class="tab-panel" id="panel-4-icon">
@include('modulo_pac.form_paralisadas')
</div>
</div>
</div>
</div>
@endsection
@section('scriptsjs')
<script src="{{URL::asset('bootstrap/5/js/bootstrap.min.js')}}"></script>
@endsection
<div class="card">
<div class="card-body">
<div class="form-group">
<div class="row">
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Valor Orçamento</label>
<input class="br-input" type="text" id="valor_orcamento" name="valor_orcamento" value="{{number_format( ($dadosFinanceiros->valor_orcamento), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Orçamento Alocado</label>
<input class="br-input" type="text" id="valor_orcamento_alocado" name="valor_orcamento_alocado" value="{{number_format( ($dadosFinanceiros->valor_orcamento_alocado), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Saldo Orçamento</label>
<input class="br-input" type="text" id="saldo_orcamento" name="saldo_orcamento" value="{{number_format( ($dadosFinanceiros->valor_orcamento-$dadosFinanceiros->valor_orcamento_alocado), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >% Orçado</label>
<input class="br-input" type="text" id="percentual_orcado" name="percentual_orcado" value="{{number_format( ($dadosFinanceiros->valor_orcamento_alocado/$dadosFinanceiros->valor_orcamento)*100, 2, ',' , '.')}}" readonly="">
</div>
</div>
</div><!-- row -->
<div class="row">
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Valor Contratado</label>
<input class="br-input" type="text" id="valor_contratado" name="valor_contratado" value="{{number_format( ($dadosFinanceiros->valor_contratado), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Valor Liberado</label>
<input class="br-input" type="text" id="valor_liberado" name="valor_liberado" value="{{number_format( ($dadosFinanceiros->valor_liberado), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Saldo a liberar</label>
<input class="br-input" type="text" id="saldo_orcamento" name="saldo_orcamento" value="{{number_format( ($dadosFinanceiros->valor_contratado-$dadosFinanceiros->valor_liberado), 2, ',' , '.')}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >% Liberado</label>
<input class="br-input" type="text" id="percentual_liberado" name="percentual_liberado" value="{{number_format( ($dadosFinanceiros->valor_liberado/$dadosFinanceiros->valor_contratado)*100, 2, ',' , '.')}}" readonly="">
</div>
</div>
</div><!-- row -->
</div>
</div><!-- card-body -->
</div>
<div class="card">
<div class="card-header">
Ordens Bancárias
</div>
<div class="card-body">
<div class="form-group">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Parcela</th>
<th>Ordem Bancária</th>
<th>Data Liberação</th>
<th>Valor Parcela</th>
<th>Valor Saldo</th>
</tr>
</thead>
<tbody>
@foreach($ordensBancarias as $ob)
<tr class="text-center">
<td>{{$ob->dsc_parcela}}</td>
<td>{{$ob->cod_ordem_bancaria}}</td>
<td>{{date('d/m/Y',strtotime($ob->dte_liberacao))}}</td>
<td>{{number_format( ($ob->vlr_parcela), 2, ',' , '.')}}</td>
<td>{{number_format( ($ob->vlr_saldo), 2, ',' , '.')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div><!-- div table 1-->
</div>
</div><!-- card-body -->
</div>
\ No newline at end of file
<div class="card">
<div class="card-body">
<div class="form-group">
<div class="row">
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Cód Registro</label>
<input class="br-input" type="text" id="cod_registro" name="cod_registro" value="{{$dadosContrato->cod_registro}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Cód Operação</label>
<input class="br-input" type="text" id="cod_projeto" name="cod_projeto" value="{{$dadosContrato->cod_projeto}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Fonte</label>
<input class="br-input" type="text" id="txt_fonte" name="txt_fonte" value="{{$dadosContrato->txt_fonte}}" readonly="">
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Agente Financeiro</label>
<input class="br-input" type="text" id="nom_agente_financeiro" name="nom_agente_financeiro" value="{{$dadosContrato->nom_agente_financeiro}}" readonly="">
</div>
</div>
</div><!-- row -->
<div class="row">
<div class="col col-sm-2">
<div class="br-input">
<label class="control-label" >UF</label>
<input class="br-input" type="text" id="uf" name="uf" value="{{$dadosContrato->uf}}" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="col col-sm-4">
<div class="br-input">
<label class="control-label" >Municípios</label>
<input class="br-input" type="text" id="municipio_tomador" name="municipio_tomador" value="{{$dadosContrato->municipio_tomador}}" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Data Início</label>
<input class="br-input" type="text" id="data_inicio_obra" name="data_inicio_obra" value="{{date('d/m/Y',strtotime($dadosContrato->data_inicio_obra))}}" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Data Previsão Conclusão</label>
<input class="br-input" type="text" id="data_previsao_termino_pela_gidur" name="data_previsao_termino_pela_gidur" value="{{date('d/m/Y',strtotime($dadosContrato->data_previsao_termino_pela_gidur))}}" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
</div><!-- row -->
<div class="row">
<div class="col col-sm-12 br-textarea">
<label for="nom_divulgacao" class="control-label">Nome Divulgação</label>
<textarea class="form-control"
id="nom_divulgacao"
name="nom_divulgacao"
rows="2">{{$dadosContrato->nom_divulgacao}}</textarea>
</div>
</div>
<div class="row">
<div class="col col-sm-4">
<div class="br-input">
<label class="control-label" >Modalidade</label>
<input class="br-input" type="text" id="modalidade" name="modalidade" value="{{$dadosContrato->modalidade}}" readonly="">
</div>
</div>
<div class="col col-sm-4">
<div class="br-input">
<label class="control-label" >Eixo</label>
<input class="br-input" type="text" id="txt_eixo" name="txt_eixo" value="{{$dadosContrato->txt_eixo}}" readonly="">
</div>
</div>
<div class="col col-sm-4">
<div class="br-input">
<label class="control-label" >SubEixo</label>
<input class="br-input" type="text" id="txt_subeixo" name="txt_subeixo" value="{{$dadosContrato->txt_subeixo}}" readonly="">
</div>
</div>
</div><!-- row -->
</div>
</div><!-- card-body -->
</div>
\ No newline at end of file
<div class="card">
<div class="card-body">
<div class="br-list" role="list">
@foreach($dadosContrato->etapasPacs as $etapas)
<div class="br-item" role="listitem" data-toggle="collapse" data-target="l{{$etapas->num_etapa}}">
<div class="content">
<div class="flex-fill"><b>{{$etapas->num_etapa}}</b>: {{$etapas->cod_etapa}} - {{$etapas->descricao_etapa}}</div>
<i class="fas fa-angle-down" aria-hidden="true"></i>
</div>
</div>
<span class="br-divider"></span>
<div class="br-list" id="l{{$etapas->num_etapa}}" role="list" hidden="hidden">
</br>
<div class="card">
<div class="card-body">
<div class="form-group ">
<div class="row">
<div class="col col-xs-12">
<label for="descricao_etapa" class="control-label">Descrição</label>
<p class="ml-20">{{$etapas->descricao_etapa}}</p>
</div>
</div>
<div class="row">
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Nº Etapa</label>
<p class="ml-20">{{$etapas->num_etapa}}</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">% execução</label>
<p class="ml-20">{{number_format( ($etapas->perc), 2, ',' , '.')}}%</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Previsão Início</label>
<p class="ml-20">@if($etapas->prevetapa){{date('d/m/Y',strtotime($etapas->prevetapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Início Etapa</label>
<p class="ml-20">@if($etapas->efetetapa){{date('d/m/Y',strtotime($etapas->efetetapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Previsão Fim</label>
<p class="ml-20">@if($etapas->dt_prev_fim_etapa){{date('d/m/Y',strtotime($etapas->dt_prev_fim_etapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Fim Etapa</label>
<p class="ml-20">@if($etapas->dt_fim_etapa){{date('d/m/Y',strtotime($etapas->dt_fim_etapa))}}@endif</p>
</div>
</div>
</div>
<div class="row">
<div class="col col-xs-12">
<label for="descricao_etapa" class="control-label">Observações</label>
<p class="ml-20">{{$etapas->obs}}</p>
</div>
</div>
@if(count($etapas->metasPacs)>0)
<div class="header"><div class="title">Metas da Etapa</div>
</div><span class="br-divider"></span>
@endif
<div class="br-list" role="list">
@foreach($etapas->metasPacs as $metas)
<div class="br-item" role="listitem" data-toggle="collapse" data-target="l{{$metas->num_etapa}}">
<div class="content">
<div class="flex-fill"><b>{{$metas->num_etapa}}</b>: {{$metas->cod_etapa}} - {{$metas->descricao_etapa}}</div>
<i class="fas fa-angle-down" aria-hidden="true"></i>
</div>
</div>
<span class="br-divider"></span>
<div class="br-list" id="l{{$metas->num_etapa}}" role="list" hidden="hidden">
</br>
<div class="card">
<div class="card-body">
<div class="form-group ">
<div class="row">
<div class="col col-xs-12">
<label for="descricao_etapa" class="control-label">Descrição</label>
<p class="ml-20">{{$metas->descricao_etapa}}</p>
</div>
</div>
<div class="row">
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Nº Etapa</label>
<p class="ml-20">{{$metas->num_etapa}}</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">% execução</label>
<p class="ml-20">{{number_format( ($metas->perc), 2, ',' , '.')}}%</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Previsão Início</label>
<p class="ml-20">@if($metas->prevetapa){{date('d/m/Y',strtotime($metas->prevetapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Início Etapa</label>
<p class="ml-20">@if($metas->efetetapa){{date('d/m/Y',strtotime($metas->efetetapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Previsão Fim</label>
<p class="ml-20">@if($metas->dt_prev_fim_etapa){{date('d/m/Y',strtotime($metas->dt_prev_fim_etapa))}}@endif</p>
</div>
<div class="col col-xs-12 col-sm-2">
<label for="descricao_etapa" class="control-label">Fim Etapa</label>
<p class="ml-20">@if($metas->dt_fim_etapa){{date('d/m/Y',strtotime($metas->dt_fim_etapa))}}@endif</p>
</div>
</div>
</div>
<div class="row">
<div class="col col-xs-12">
<label for="descricao_etapa" class="control-label">Observações</label>
<p class="ml-20">{{$metas->obs}}</p>
</div>
</div>
</div><!-- br-item-->
</div><!-- card body -->
</div><!-- card -->
@endforeach
</div>
</div><!-- card body -->
</div><!-- card -->
</div><!-- br-item-->
@endforeach
</div><!-- br-list -->
</div><!-- card body -->
</div><!-- card -->
<div class="card">
<div class="card-body">
<div class="form-group">
<div class="row">
<div class="col col-sm-6">
<div class="br-input">
<label class="control-label" >Motivos</label>
<input class="br-input" type="text" id="txt_motivo_paralizacao" name="txt_motivo_paralizacao" value="{{$obrasParalisada->txt_motivo_paralizacao}}" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Previsão Retomada</label>
<input class="br-input" type="text" id="dte_prev_ret" name="dte_prev_ret" value="@if($obrasParalisada->dte_prev_ret){{date('d/m/Y',strtotime($obrasParalisada->dte_prev_ret))}}@endif" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
<div class="col col-sm-3">
<div class="br-input">
<label class="control-label" >Retomada</label>
<input class="br-input" type="text" id="dte_efet_ret" name="dte_efet_ret" value="@if($obrasParalisada->dte_efet_ret){{date('d/m/Y',strtotime($obrasParalisada->dte_efet_ret))}}@endif" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
</div><!-- row -->
<div class="row">
<div class="col col-sm-12 br-textarea">
<label for="dsc_motivo" class="control-label">Descrição dos motivos</label>
<textarea class="form-control"
id="dsc_motivo"
name="dsc_motivo"
rows="5">
{{$obrasParalisada->dsc_motivo}}
</textarea>
</div>
</div>
@if($obrasParalisada->txt_outros_motivos)
<div class="row">
<div class="col col-sm-12 br-textarea">
<label for="txt_outros_motivos" class="control-label">Outros motivos</label>
<textarea class="form-control"
id="txt_outros_motivos"
name="txt_outros_motivos"
rows="5">
{{$obrasParalisada->txt_outros_motivos}}
</textarea>
</div>
</div>
@endif
@if($obrasParalisada->dte_providencia)
<div class="row">
<div class="col col-sm-2">
<div class="br-input">
<label class="control-label" >Providência</label>
<input class="br-input" type="text" id="dte_providencia" name="dte_providencia" value="@if($obrasParalisada->dte_providencia){{date('d/m/Y',strtotime($obrasParalisada->dte_providencia))}}@endif" readonly="">
<p class="help-block help-block-error"></p>
</div>
</div>
</div>
<div class="row">
<div class="col col-sm-12 br-textarea">
<label for="dsc_providencia" class="control-label">Descrição Providências</label>
<textarea class="form-control"
id="dsc_providencia"
name="dsc_providencia"
rows="5">
{{$obrasParalisada->dsc_providencia}}
</textarea>
</div>
</div>
@endif
@if($obrasParalisada->txt_obs)
<div class="row">
<div class="col col-sm-12 br-textarea">
<label for="txt_obs" class="control-label">Observações</label>
<textarea class="form-control"
id="txt_obs"
name="txt_obs"
rows="5">
{{trim($obrasParalisada->txt_obs)}}
</textarea>
</div>
</div>
@endif
</div><!-- form-group -->
</div><!-- card-body -->
</div>
\ No newline at end of file
@extends('layouts.app')
@section('scriptscss')
@endsection
@section('content')
<div class="br-card">
<div class="card-header">
<div class="d-flex"><span class="br-avatar mt-1" ><span class="content">
<img src='{{ URL::asset("/img/icones/pesquisa.png")}}' alt="Avatar"/></span></span>
<div class="ml-3">
<div class="text-weight-semi-bold text-up-02">
Balanço PAC
</div>
<div>
Consulta
</div>
</div>
<div class="ml-auto">
<!--
<button class="br-button circle" type="button" aria-label="Ícone ilustrativo"><i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
-->
</div>
</div>
</div>
<div class="card-content">
<p>
Este formulário permite que você filtre os contratos do Balanço do PAC selecionando as opções de filtro ou todas as propostas caso não selecione nenhum filtro. Nesse caso será disponibilizado uma lista de proposta com base
nos parâmetros selecionados.
</p>
<span class="br-divider my-3"></span>
<form role="form" method="POST" action='{{ url("pac/balanco_pac/pesquisar") }}'>
@csrf
<filtro-contratos-pac
:url="'{{ url('/') }}'">
</filtro-contratos-pac>
<div class="p-3 text-right">
<button class="br-button primary mr-3" type="submit" name="Salvar Edição">Pesquisar
</button>
<button class="br-button danger mr-3" type="button" onclick="javascript:window.history.go(-1)">Voltar
</button>
</div>
</form>
</div>
<div class="card-footer">
<div class="d-flex" style="padding-top: 10px;">
</div>
</div>
</div><!-- br-card -->
@endsection
@extends('layouts.app')
@section('scriptscss')
<link rel="stylesheet" type="text/css" href="{{URL::asset('css/custom.css')}}" media="screen" />
<link rel="stylesheet" type="text/css" href="{{ asset('css/relatorio_executivo.css') }}" media="screen" >
@endsection
@section('content')
<historico-navegacao
:url="'{{ url('/home') }}'"
:telanterior01="'Balanço Pac'"
:telatual="'Lista contratos Balanço Pac'"
>
</historico-navegacao>
<div class="main-content pl-sm-3 mt-5" id="main-content">
<cabecalho-relatorios
:titulo="'Lista contratos Balanço Pac'"
subtitulo1="{{$balancoPac->count()}} contratos"
:linkcompartilhar="'{{ url("/saci/propostas/") }}'"
barracompartilhar="true">
</cabecalho-relatorios>
<div class="form-group">
<div class="row">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>Contrato</th>
<th>Cód registro</th>
<th>UF</th>
<th>Município(s)</th>
<th>Tomador</th>
<th>Fonte </th>
<th>Agente Financeiro</th>
<th>Nome Empreendimento</th>
<th>Area</th>
<th>Situação Obra</th>
<th>%</th>
<th>OGU Pago</th>
<th>Fin Pago</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
@foreach($balancoPac as $contrato)
@if($contrato->situacao_da_obra == 'Concluída')
<tr class="text-center table-success">
@elseif($contrato->situacao_da_obra == 'Não iniciada')
<tr class="text-center table-warning">
@elseif($contrato->situacao_da_obra == 'Atrasada' || $contrato->situacao_da_obra == 'Paralisada')
<tr class="text-center table-danger">
@else
<tr class="text-center">
@endif
<td>{{$loop->index+1}}</td>
<td>{{$contrato->cod_contrato}}</td>
<td>{{$contrato->cod_registro}}</td>
<td>{{$contrato->uf}}</td>
<td>
@foreach($contrato->municipios as $dados)
{{$dados->ds_municipio}};</br>
@endforeach
</td>
<td>{{$contrato->municipio_tomador}}</td>
<td>{{$contrato->txt_fonte}}</td>
<td>{{$contrato->nom_agente_financeiro}}</td>
<td>{{$contrato->nom_empreendimentos}}</td>
<td>{{$contrato->txt_sigla_area}}</td>
<td>{{$contrato->situacao_da_obra}}</td>
<td>{{number_format( ($contrato->perc_fisico), 0, ',' , '.')}}</td>
<td>{{number_format( ($contrato->ogu_pago), 2, ',' , '.')}}</td>
<td>{{number_format( ($contrato->fin_pago), 2, ',' , '.')}}</td>
<td>
<a href='{{ url("/pac/contrato/$contrato->cod_registro")}}' type="button" class="btn btn-link">
<i class="fas fa-search"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div><!-- div table 1-->
</div><!-- row-->
</div> <!--/form group-->
</div>
@endsection
......@@ -85,6 +85,7 @@ Route::get('/ufs', 'ApiController@buscarUfs');
//CONTRATOS PAC
Route::get('/pac/areas', 'ApiController@buscarAreas');
Route::get('/pac/areas/secretaria/{secretaria}', 'ApiController@buscarAreasSecretaria');
Route::get('/pac/secretarias', 'ApiController@buscarSecretarias');
Route::get('/pac/fontes', 'ApiController@buscarFontes');
Route::get('/pac/andamentos', 'ApiController@buscarAndamentos');
......
......@@ -406,3 +406,9 @@ Route::get('/apis/municipios_beneficiados/debenture/{projetoDebenture}', 'Mod_ap
Route::get('/apis/debenture/excluir/municipio/{municipioBeneficiadoId}', 'Mod_apis\ProjetosDebenturesController@excluirMunicipios');
Route::post('/apis/debenture/municipios_beneficiados/adicionar', 'Mod_apis\ProjetosDebenturesController@adicionarMunicipiosBeneficiados');
//////módulo PAC
Route::get('/home_pac', 'Mod_pac\HomePACController@index');
Route::post('/pac/balanco_pac/pesquisar', 'Mod_pac\BalancoPACController@pesquisarBalancoPac');
Route::get('/pac/contrato/{cod_registro}', 'Mod_pac\BalancoPACController@dadosContrato');
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment