Skip to content

Commit

Permalink
Merge pull request #1862 from prefeiturasp/feature/48767-tratamento-c…
Browse files Browse the repository at this point in the history
…ontas-encerradas-creditos

feat(48767): Implementa tratamento de contas encerradas em créditos
  • Loading branch information
rayanemsantos authored Aug 10, 2023
2 parents 31204ad + 720580a commit 0d363df
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const TabelaContasEncerradas = ({
const dataTemplate = (rowData, column) => {
return (
<div>
{rowData.solicitacao_encerramento ? moment(rowData.solicitacao_encerramento.data_aprovacao).format('DD/MM/YYYY') : '-'}
{rowData.solicitacao_encerramento ? moment(rowData.solicitacao_encerramento.data_de_encerramento_na_agencia).format('DD/MM/YYYY') : '-'}
</div>
)
};
Expand All @@ -29,8 +29,8 @@ export const TabelaContasEncerradas = ({
<Column field="banco_nome" header="Banco" />
<Column field="agencia" header="Agência" />
<Column field="numero_conta" header="Nº da conta com o dígito" />
<Column field="solicitacao_encerramento.data_aprovacao"
data="solicitacao_encerramento.data_aprovacao"
<Column field="solicitacao_encerramento.data_de_encerramento_na_agencia"
data="solicitacao_encerramento.data_de_encerramento_na_agencia"
header="Data do encerramento da conta"
body={dataTemplate}/>
</DataTable>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import moment from "moment";
export const FormFiltrosAvancados = (props) => {

const {btnMaisFiltros, onClickBtnMaisFiltros, setLista, setBuscaUtilizandoFiltro, iniciaLista, buscaTotaisReceitas} = props;

const tabelaInicial = {
tipos_receita: [],
acoes_associacao: [],
Expand Down Expand Up @@ -82,14 +82,14 @@ export const FormFiltrosAvancados = (props) => {
placeholder="Termo que deseja filtrar"/>
</div>
<div className="form-group col-12 col-md-6 pl-md-1">
<label htmlFor="conta_associacao">Filtrar por tipo de conta</label>
<label htmlFor="conta_associacao">Filtrar por conta</label>
<select id="conta_associacao" name="conta_associacao" value={state.conta_associacao}
onChange={(e) => handleChange(e.target.name, e.target.value)}
className="form-control"
>
<option key={0} value="">Selecione um tipo</option>
<option key={0} value="">Selecione uma conta</option>
{tabelas.contas_associacao !== undefined && tabelas.contas_associacao.length > 0 ? (tabelas.contas_associacao.map((item, key) => (
<option key={key} value={item.uuid}>{item.nome}</option>
<option key={key} value={item.uuid}>{item.nome} {item.solicitacao_encerramento ? `- Conta encerrada em ${moment(item.solicitacao_encerramento.data_de_encerramento_na_agencia).format('DD/MM/YYYY')}` : ''}</option>
))) : null}
</select>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ export const ReceitaFormFormik = ({

{/*Tipo de Conta */}
<div className="col-12 col-md-6 mt-4">
<label htmlFor="conta_associacao">Tipo de conta</label>
<label htmlFor="conta_associacao">Conta</label>
<select
id="conta_associacao"
name="conta_associacao"
Expand Down
24 changes: 20 additions & 4 deletions src/componentes/escolas/Receitas/Formularios/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import {PaginasContainer} from "../../../../paginas/PaginasContainer";
import {toastCustom} from "../../../Globais/ToastCustom";
import { visoesService } from "../../../../services/visoes.service";
import { getPeriodoPorUuid } from "../../../../services/sme/Parametrizacoes.service";
import { STATUS_CONTA_ASSOCIACAO, STATUS_SOLICITACAO_ENCERRAMENTO_CONTA_ASSOCIACAO } from "../../../../constantes/contaAssociacao";


export const ReceitaForm = () => {
Expand Down Expand Up @@ -500,7 +501,10 @@ export const ReceitaForm = () => {
getPath(resultCadastrar)
}
}catch (e) {
console.log("Erro ao criar receita em criarReceita ", e)
console.log("Erro ao criar receita em criarReceita ", e.response.data)
let mensagemErro = e.response && e.response.data && e.response.data.mensagem && Array.isArray(e.response.data.mensagem) ?
e.response.data.mensagem.map((msg) => msg).join(", ") : 'Verifique se os dados foram preenchidos corretamente.'
toastCustom.ToastCustomError('Erro ao tentar criar receita.', mensagemErro)
}
}
setLoading(false);
Expand Down Expand Up @@ -899,14 +903,26 @@ export const ReceitaForm = () => {
// Lista dos nomes dos tipos de conta que são aceitos pelo tipo de receita selecionado.
const tipos_conta = tipoReceita.tipos_conta.map(item => item.nome);

const getOptionPorStatus = (item) => {
const defaultProps = {
key: item.uuid,
value: item.uuid
}
if(item.status === STATUS_CONTA_ASSOCIACAO.ATIVA){
return <option {...defaultProps}>{item.nome}</option>
} else if(item.solicitacao_encerramento && item.solicitacao_encerramento.status !== STATUS_SOLICITACAO_ENCERRAMENTO_CONTA_ASSOCIACAO.APROVADA) {
let informacaoExtra = item.solicitacao_encerramento ? `- Conta encerrada em ${moment(item.solicitacao_encerramento.data_de_encerramento_na_agencia).format('DD/MM/YYYY')}` : ''
return <option {...defaultProps} disabled>{item.nome} {informacaoExtra}</option>
}
}
// Filtra as contas pelos tipos aceitos
return (
tabelas.contas_associacao.filter(conta => (tipos_conta.includes(conta.nome))).map((item, key) => (
<option key={item.uuid} value={item.uuid}>{item.nome}</option>)
))
getOptionPorStatus(item)
)))
}
};

const validateFormReceitas = async (values) => {
const errors = {};

Expand Down
10 changes: 10 additions & 0 deletions src/constantes/contaAssociacao.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export const STATUS_CONTA_ASSOCIACAO = {
ATIVA: 'ATIVA',
INATIVA: 'INATIVA'
}

export const STATUS_SOLICITACAO_ENCERRAMENTO_CONTA_ASSOCIACAO = {
PENDENTE: 'PENDENTE',
REJEITADA: 'REJEITADA',
APROVADA: 'APROVADA',
}

0 comments on commit 0d363df

Please sign in to comment.