I have a system to register debit trading.
Suppose you register a negotiation with 3 installments.
Being:
Parcela || Valor || Vencimento || Situação
1 || 100,00 || 01/09/2017 || Pago
2 || 100,00 || 01/10/2017 || Pago
3 || 100,00 || 01/11/2017 || Aguardando Pagamento
So in the listing, I want to display the status of this deal on:
Acordo em dia
Acordo Quitado
Acordo Quebrado
Following the following rules, if all plots are with pago
situation, then the situation will be Acordo Quitado
, if there is at least one plot with quebrado
situation, then the situation will be Acordo Quebrado
and if there is less a parcel with situation Aguardando Pagamento
and no Quebrado
, then the situation will be Acordo em dia
.
I did the following test with the code below and it works, but I believe this is gambiarra,
so I want to know if there is another way of creating the information I want,
using the above rules.
$this->db->select('situacao');
$aguardando = $this->db->where('situacao', 0);
$retorno_aguardando = $this->db->get('tbl_planilha_parcela')->num_rows();
$quitado = $this->db->where('situacao', 1);
$retorno_quitado = $this->db->get('tbl_planilha_parcela')->num_rows();
$quebrado = $this->db->where('situacao', 2);
$retorno_quebrado = $this->db->get('tbl_planilha_parcela')->num_rows();
if($retorno_aguardando > 0 && $retorno_quebrado == 0)
{
$situacao = 'Aguardando Pagamento';
}
else if($retorno_quebrado > 0)
{
$situacao = 'Acordo Quebrado';
}
else if($retorno_aguardando == 0 && $retorno_quitado > 0 && $retorno_quebrado == 0)
{
$situacao = 'Quitado';
}