Skip to content

Commit

Permalink
Merge branch 'release/1.15.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
alcfernandes committed Jul 26, 2021
2 parents 14f4a41 + da55e54 commit 34899b0
Show file tree
Hide file tree
Showing 33 changed files with 528 additions and 147 deletions.
6 changes: 4 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,11 @@ pipeline {
script{
if ( env.branchname == 'main' || env.branchname == 'master' || env.branchname == 'homolog' || env.branchname == 'release' ) {
sendTelegram("🤩 [Deploy ${env.branchname}] Job Name: ${JOB_NAME} \nBuild: ${BUILD_DISPLAY_NAME} \nMe aprove! \nLog: \n${env.BUILD_URL}")
timeout(time: 24, unit: "HOURS") {
input message: 'Deseja realizar o deploy?', ok: 'SIM', submitter: 'kelwy_oliveira, anderson_morais'

timeout(time: 24, unit: "HOURS") {
input message: 'Deseja realizar o deploy?', ok: 'SIM', submitter: 'alessandro_fernandes, kelwy_oliveira, anderson_morais, ollyver_ottoboni'
}

withCredentials([file(credentialsId: "${kubeconfig}", variable: 'config')]){
sh('cp $config '+"$home"+'/.kube/config')
sh 'kubectl rollout restart deployment/ptrf-frontend -n sme-ptrf'
Expand Down
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,27 @@ Front da aplicação _SIG.Escola_ da Secretaria de Educação da cidade de São

License: MIT

Versão: 1.14.0
Versão: 1.15.0

## Release Notes

### 1.15.0 - 23/07/2021 - Entregas da Sprint 24
* UE > Exibição de totais de créditos no cadastramento de receitas
* UE > Exibição de mensagem parametrizavel ao usar determinados tipos de crédito
* UE > No cadastro de créditos, agora o campo detalhamento só é pedido para determinados tipos de crédito
* UE > Implementado filtro por conta no cadastro de gastos da escola
* UE > Gastos da escola agora usa um formulário simplificado para editar gastos vinculados a recursos externos
* UE > Não é mais possível usar uma ação de recurso externo em uma despesa lançada em gastos da escola
* UE > Exibição de mensagem ao tetar excluir uma despesa usada em uma devolução ao tesouro
* DRE > Em acompanhamento de PC agora é possível consultar de uma vez PCs de todos os status
* DRE > Listas de unidades agora são ordenadas por status da PC, tipo de unidade e nome
* DRE > Ajustes em textos diversos
* DRE > Exibição de mensagem ao tentar reabrir ou devolver uma PC com PCs posteriores
* SME > Exibição da DRE da Associações no cadastro de Associações
* O usuário agora pode escolher exibir a senha digitada no formulário de login
* Notificações agora também são enviadas por e-mail para os usuários
* 🐞 Correção de bugs

### 1.14.0 - 08/07/2021 - Entregas da Sprint 23
* UE > Créditos de recursos externos agora permitem editar/excluir uma saída vinculada
* UE > Agora se um crédito de recurso externo é excluido a saída vinculada também é
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ptrf",
"version": "1.14.0",
"version": "1.15.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.27",
Expand Down
21 changes: 18 additions & 3 deletions src/componentes/dres/Dashboard/BarraDeStatus.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
import React from "react";
export const BarraDeStatus = ({itensDashboard}) => {
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faEye} from "@fortawesome/free-solid-svg-icons";
export const BarraDeStatus = ({itensDashboard, handleClickVerPrestacaoes}) => {
return (
<>
<div className="col-12 mt-3 barra-de-status">
<p className="mb-0">Total de associações da Diretoria: <strong>{itensDashboard.total_associacoes_dre} unidades</strong></p>
<div className="col-12 mt-3 barra-de-status d-flex bd-highlight border-bottom">
<div className="flex-grow-1 bd-highlight align-self-center">
<p className="mb-0">Total de associações da Diretoria: <strong>{itensDashboard.total_associacoes_dre} unidades</strong></p>
</div>
<div className="bd-highlight">
<button
onClick={() => handleClickVerPrestacaoes('TODOS')}
className="btn btn-outline-success btn-ver-todas-as-prestacoes">
<FontAwesomeIcon
style={{marginRight: "3px", color: '#fff'}}
icon={faEye}
/>
Ver todas as prestações
</button>
</div>
</div>
</>
)
Expand Down
5 changes: 4 additions & 1 deletion src/componentes/dres/Dashboard/dashboard.scss
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,11 @@
.btn-ver-prestacoes:hover svg path {
//filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
fill: #fff;

}
}

.btn-ver-todas-as-prestacoes{
border-color: #fff !important;
color: #fff !important;
}

1 change: 1 addition & 0 deletions src/componentes/dres/Dashboard/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export const DreDashboard = () => {
<>
<BarraDeStatus
itensDashboard={itensDashboard}
handleClickVerPrestacaoes={handleClickVerPrestacaoes}
/>
<DashboardCard
itensDashboard={itensDashboard}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const FormRecebimentoPelaDiretoria = ({stateFormRecebimentoPelaDiretoria,
onChange={(e) => handleChangeFormRecebimentoPelaDiretoria(e.target.name, e.target.value)}
name="status"
id="status"
className="form-control"
className="form-control retira-dropdown-select"
disabled={disabledStatus}
>
{tabelaPrestacoes.status && tabelaPrestacoes.status.length > 0 && tabelaPrestacoes.status.map(item => (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {getTabelasPrestacoesDeContas, getReceberPrestacaoDeContas, getReabrirPre
import {getDespesa} from "../../../../services/escolas/Despesas.service";
import moment from "moment";
import {ModalReabrirPc} from "../ModalReabrirPC";
import {ModalErroPrestacaoDeContasPosterior} from "../ModalErroPrestacaoDeContasPosterior";
import {ModalNaoRecebida} from "../ModalNaoRecebida";
import {ModalRecebida} from "../ModalRecebida";
import {ModalConcluirAnalise} from "../ModalConcluirAnalise";
Expand Down Expand Up @@ -101,6 +102,9 @@ export const DetalhePrestacaoDeContas = () =>{
const [tiposDevolucao, setTiposDevolucao] = useState([]);
const [camposObrigatorios, setCamposObrigatorios] = useState(false);
const [motivosAprovadoComRessalva, setMotivosAprovadoComRessalva] = useState([]);
const [showErroPrestacaoDeContasPosterior, setshowErroPrestacaoDeContasPosterior] = useState(false);
const [tituloErroPrestacaoDeContasPosterior, setTituloErroPrestacaoDeContasPosterior] = useState('');
const [textoErroPrestacaoDeContasPosterior, setTextoErroPrestacaoDeContasPosterior] = useState('');

useEffect(()=>{
carregaPrestacaoDeContas();
Expand Down Expand Up @@ -276,8 +280,19 @@ export const DetalhePrestacaoDeContas = () =>{
};

const reabrirPrestacaoDeContas = async ()=>{
await getReabrirPrestacaoDeContas(prestacaoDeContas.uuid);
setRedirectListaPc(true)
try {
await getReabrirPrestacaoDeContas(prestacaoDeContas.uuid);
setTextoErroPrestacaoDeContasPosterior('')
setTituloErroPrestacaoDeContasPosterior('')
setRedirectListaPc(true)
}catch (e){
console.log("reabrirPrestacaoDeContas ", e.response)
if (e.response && e.response.data && e.response.data.mensagem){
setTituloErroPrestacaoDeContasPosterior('Reabrir período de Prestação de Contas')
setTextoErroPrestacaoDeContasPosterior(e.response.data.mensagem)
setshowErroPrestacaoDeContasPosterior(true)
}
}
};

const desfazerRecebimento = async () =>{
Expand Down Expand Up @@ -448,6 +463,7 @@ export const DetalhePrestacaoDeContas = () =>{
setShowRecebida(false);
setShowConcluirAnalise(false);
setShowVoltarParaAnalise(false);
setshowErroPrestacaoDeContasPosterior(false)
};

const onReabrirTrue = async () => {
Expand Down Expand Up @@ -569,14 +585,37 @@ export const DetalhePrestacaoDeContas = () =>{
if (formRef.current && informacoesPrestacaoDeContas.devolucao_ao_tesouro === 'Sim') {
let validar = await validateFormDevolucaoAoTesouro(formRef.current.values);
if (!camposObrigatorios && Object.entries(validar).length === 0){
await getConcluirAnalise(prestacaoDeContas.uuid, payload);
await carregaPrestacaoDeContas();

try {
await getConcluirAnalise(prestacaoDeContas.uuid, payload);
setTextoErroPrestacaoDeContasPosterior('')
setTituloErroPrestacaoDeContasPosterior('')
await carregaPrestacaoDeContas();
}catch (e){
console.log("onConcluirAnalise ", e.response)
if (e.response && e.response.data && e.response.data.mensagem){
setTituloErroPrestacaoDeContasPosterior('Conclusão da análise da Prestação de Contas')
setTextoErroPrestacaoDeContasPosterior(e.response.data.mensagem)
setshowErroPrestacaoDeContasPosterior(true)
}
}
}else {
return formRef.current.setErrors( validar )
}
}else {
await getConcluirAnalise(prestacaoDeContas.uuid, payload);
await carregaPrestacaoDeContas();
try {
await getConcluirAnalise(prestacaoDeContas.uuid, payload);
setTextoErroPrestacaoDeContasPosterior('')
setTituloErroPrestacaoDeContasPosterior('')
await carregaPrestacaoDeContas();
}catch (e){
console.log("onConcluirAnalise ", e.response)
if (e.response && e.response.data && e.response.data.mensagem){
setTituloErroPrestacaoDeContasPosterior('Conclusão da análise da Prestação de Contas')
setTextoErroPrestacaoDeContasPosterior(e.response.data.mensagem)
setshowErroPrestacaoDeContasPosterior(true)
}
}
}
};

Expand Down Expand Up @@ -724,6 +763,16 @@ export const DetalhePrestacaoDeContas = () =>{
segundoBotaoTexto="Confirmar"
/>
</section>
<section>
<ModalErroPrestacaoDeContasPosterior
show={showErroPrestacaoDeContasPosterior}
handleClose={onHandleClose}
titulo={tituloErroPrestacaoDeContasPosterior}
texto={`<p>${textoErroPrestacaoDeContasPosterior}</p>`}
primeiroBotaoTexto="Fechar"
primeiroBotaoCss="success"
/>
</section>
<section>
<ModalNaoRecebida
show={showNaoRecebida}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export const FormFiltros = ({tabelaAssociacoes, tabelaPrestacoes, stateFiltros,
id="filtrar_por_status"
className="form-control"
>
<option value='TODOS'>Todos</option>
{tabelaPrestacoes.status && tabelaPrestacoes.status.length > 0 && tabelaPrestacoes.status.map(item => (
<option key={item.id} value={item.id}>{item.nome}</option>
))}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {useParams, Link, Redirect} from "react-router-dom";
import {PaginasContainer} from "../../../../paginas/PaginasContainer";
import {getPeriodos} from "../../../../services/dres/Dashboard.service";
import {TopoSelectPeriodoBotaoVoltar} from "./TopoSelectPeriodoBotaoVoltar";
import {getPrestacoesDeContas, getPrestacoesDeContasNaoRecebidaNaoGerada, getQtdeUnidadesDre, getTabelasPrestacoesDeContas} from "../../../../services/dres/PrestacaoDeContas.service";
import {getPrestacoesDeContas, getPrestacoesDeContasNaoRecebidaNaoGerada, getQtdeUnidadesDre, getPrestacoesDeContasTodosOsStatus, getTabelasPrestacoesDeContas} from "../../../../services/dres/PrestacaoDeContas.service";
import {BarraDeStatus} from "./BarraDeStatus";
import {FormFiltros} from "./FormFiltros";
import "../prestacao-de-contas.scss"
Expand All @@ -12,7 +12,7 @@ import moment from "moment";
import {TabelaDinamica} from "./TabelaDinamica";
import {getTecnicosDre} from "../../../../services/dres/TecnicosDre.service";
import {ASSOCIACAO_UUID} from "../../../../services/auth.service";
import {colunasAprovada, colunasEmAnalise, colunasNaoRecebidas} from "./objetoColunasDinamicas";
import {colunasAprovada, colunasEmAnalise, colunasNaoRecebidas, colunasTodosOsStatus} from "./objetoColunasDinamicas";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faEye} from "@fortawesome/free-solid-svg-icons";
import Loading from "../../../../utils/Loading";
Expand Down Expand Up @@ -111,11 +111,14 @@ export const ListaPrestacaoDeContas = () => {
let data_fim = stateFiltros.filtrar_por_data_fim ? moment(new Date(stateFiltros.filtrar_por_data_fim), "YYYY-MM-DD").format("YYYY-MM-DD") : '';
let prestacoes_de_contas;

if (stateFiltros.filtrar_por_status === 'NAO_RECEBIDA' || stateFiltros.filtrar_por_status === 'NAO_APRESENTADA'){
if (stateFiltros.filtrar_por_status === 'NAO_RECEBIDA' || stateFiltros.filtrar_por_status === 'NAO_APRESENTADA') {
prestacoes_de_contas = await getPrestacoesDeContasNaoRecebidaNaoGerada(periodoEscolhido, stateFiltros.filtrar_por_termo, stateFiltros.filtrar_por_tipo_de_unidade)
}else if (stateFiltros.filtrar_por_status === 'TODOS'){
prestacoes_de_contas = await getPrestacoesDeContasTodosOsStatus(periodoEscolhido, stateFiltros.filtrar_por_termo, stateFiltros.filtrar_por_tipo_de_unidade)
}else {
prestacoes_de_contas = await getPrestacoesDeContas(periodoEscolhido, stateFiltros.filtrar_por_termo, stateFiltros.filtrar_por_tipo_de_unidade, stateFiltros.filtrar_por_status, stateFiltros.filtrar_por_tecnico_atribuido, data_inicio, data_fim);
}

setPrestacaoDeContas(prestacoes_de_contas)
}
setLoading(false);
Expand Down Expand Up @@ -147,6 +150,8 @@ export const ListaPrestacaoDeContas = () => {
setColumns(colunasEmAnalise)
} else if (statusPrestacao === 'APROVADA' || statusPrestacao === 'APROVADA_RESSALVA') {
setColumns(colunasAprovada)
} else if (statusPrestacao === 'TODOS') {
setColumns(colunasTodosOsStatus)
} else {
setColumns(colunasNaoRecebidas)
}
Expand Down Expand Up @@ -227,19 +232,19 @@ export const ListaPrestacaoDeContas = () => {
/>
</button>
}

</div>
)
};


const exibeLabelStatus = (status = null) => {

let status_converter;
if (status) {
status_converter = status
} else {
status_converter = statusPrestacao
}

if (status_converter === 'NAO_RECEBIDA') {
return {
texto_barra_de_status: 'não recebidas',
Expand Down Expand Up @@ -288,6 +293,12 @@ export const ListaPrestacaoDeContas = () => {
texto_col_tabela: 'Reprovada',
texto_titulo: 'Prestações de contas reprovadas',
}
} else if (status_converter === 'TODOS') {
return {
texto_barra_de_status: 'todos os status',
texto_col_tabela: 'Todos',
texto_titulo: 'Prestações de contas todos os status',
}
} else {
return {
texto_barra_de_status: 'SEM STATUS',
Expand Down Expand Up @@ -354,7 +365,7 @@ export const ListaPrestacaoDeContas = () => {
statusDasPrestacoes={exibeLabelStatus(statusPrestacao ? statusPrestacao : stateFiltros.filtrar_por_status).texto_barra_de_status}
/>

<p className='titulo-explicativo mt-4 mb-4'>{exibeLabelStatus(statusPrestacao).texto_titulo}</p>
<p className='titulo-explicativo mt-4 mb-4'>{exibeLabelStatus(statusPrestacao ? statusPrestacao : stateFiltros.filtrar_por_status).texto_titulo}</p>

<FormFiltros
stateFiltros={stateFiltros}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ export const colunasNaoRecebidas = [
{field: 'acoes', header: 'Ações'},
];

export const colunasTodosOsStatus = [
{field: 'unidade_eol', header: 'Código Eol'},
{field: 'unidade_nome', header: 'Nome da unidade'},
{field: 'tecnico_responsavel', header: 'Técnico atribuído'},
{field: 'data_recebimento', header: 'Data de recebimento'},
{field: 'status', header: 'Status'},
{field: 'acoes', header: 'Ações'},
];

export const colunasEmAnalise = [
{field: 'unidade_eol', header: 'Código Eol'},
{field: 'unidade_nome', header: 'Nome da escola'},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import {ModalBootstrap} from "../../Globais/ModalBootstrap";
import React from "react";

export const ModalErroPrestacaoDeContasPosterior = (props) => {
return (
<ModalBootstrap
show={props.show}
onHide={props.handleClose}
titulo={props.titulo}
bodyText={props.texto}
primeiroBotaoOnclick={props.handleClose}
primeiroBotaoTexto={props.primeiroBotaoTexto}
primeiroBotaoCss={props.primeiroBotaoCss}
/>
)
};
Original file line number Diff line number Diff line change
Expand Up @@ -262,3 +262,10 @@
.container-exibe-motivos{
background-color: #E9ECEF;
}

.retira-dropdown-select {
-webkit-appearance: none;
-moz-appearance: none;
text-indent: 1px;
text-overflow: '';
}
Loading

0 comments on commit 34899b0

Please sign in to comment.