public static function getParcelas($id_parcelamento)
 {
     $lancFinDao = new LancamentosFinanceirosDao();
     $lancamentos = $lancFinDao->getParcelas($id_parcelamento);
     if ($lancamentos) {
         Flight::json($lancamentos);
     } else {
         Flight::halt(404, 'Nenhum lançamento encontrado!');
     }
 }
 public function getPagamentos($busca)
 {
     $getPcl = isset($busca['tpv->id_parcelamento']);
     $sql = "SELECT tcpv.dta_pagamento AS dta_lacamento, tpv.*, tmc.id_venda,tfp.descricao_forma_pagamento, tu.id AS id_cliente,tu.nome AS nome_cliente FROM  tbl_controle_pagamento_venda AS tcpv\n\t\t\t\tINNER JOIN tbl_pagamentos_venda AS tpv ON tcpv.id = tpv.id_controle_pagamento\n\t\t\t\tINNER JOIN tbl_conta_bancaria      AS tcb  ON tpv.id_conta_bancaria = tcb.id\n\t\t\t\tLEFT JOIN tbl_movimentacao_caixa AS tmc ON tpv.id = tmc.id_lancamento_entrada\n\t\t\t\tINNER JOIN tbl_forma_pagamento AS tfp ON tpv.id_forma_pagamento = tfp.id\n\t\t\t\tINNER JOIN tbl_usuarios AS tu ON tpv.id_cliente = tu.id\n\t\t\t\tWHERE ( (tcb.id_tipo_conta <> 5) OR (tcb.id_tipo_conta = 5 AND tpv.flg_caixa_fechado = 0)  )";
     if (is_array($busca) && count($busca) > 0) {
         $where = prepareWhere($busca);
         $sql .= " AND " . $where . "";
     }
     $sql .= " ORDER BY tcpv.dta_pagamento ASC, tpv.data_pagamento ASC";
     $select = $this->conn->prepare($sql);
     if ($select->execute()) {
         $LancamentosFinanceirosDao = new LancamentosFinanceirosDao();
         $pagamentos = parse_arr_values($select->fetchAll(PDO::FETCH_ASSOC), 'all');
         foreach ($pagamentos as $key => $value) {
             $pagamentos[$key]['valor_pagamento'] = round($pagamentos[$key]['valor_pagamento'], 2);
             if ($value['id_forma_pagamento'] == 6 && $getPcl) {
                 $pagamentos[$key]['parcelas'] = $LancamentosFinanceirosDao->getParcelas($value['id']);
             } else {
                 $id_parcelamento = empty($value['id_parcelamento']) ? $value['id'] : $value['id_parcelamento'];
                 $aux = $LancamentosFinanceirosDao->getParcelaAtual($id_parcelamento, $value['id']);
                 $pagamentos[$key]['current_parcela'] = $aux['current_parcela'];
                 $pagamentos[$key]['total_parcelas'] = $aux['total_parcelas'];
             }
         }
         return $pagamentos;
     } else {
         return false;
     }
 }
$comissionados = $aux ? getParcelas($aux['pagamentos']) : array();
usort($comissionados, 'ordenaDta');
/* end */
/*Busca Pagamentos a fornecedores*/
$where = "(id_tipo_conta  <> 5 OR (id_tipo_conta =5 AND (flg_caixa_fechado = 0 OR flg_caixa_fechado IS NULL ) )  AND flg_tipo_lancamento = 'D' ) AND (flg_transferencia_conta = 0 OR \n\t\t\t flg_transferencia_conta IS NULL) AND id_empreendimento = {$id_empreendimento} AND data_pagamento between '{$now} 00:00:00' and '{$now}  23:59:59' \n\t\t\t AND id_plano_conta <> '{$id_plano_conta_pagamento_profissional}' AND id_clienteORfornecedor <> '{$id_fornecedor_movimentacao_caixa}' AND  flg_tipo_lancamento = 'D' AND status_pagamento = 1 order by \n\t\t     dta_entrada asc";
$aux = $LancamentosFinanceirosDao->getLancamentos(null, null, array('cplSql' => $where));
$outrasDespesas = $aux ? getParcelas($aux['pagamentos']) : array();
usort($outrasDespesas, 'ordenaDta');
/*end*/
/*Busca atendimentos*/
$AtendimentoDao = new AtendimentoDao();
$atendimentos = $AtendimentoDao->getFilaAtendimento(null, null, array("cplSql" => "ta.id_empreendimento={$id_empreendimento} AND ta.id_profissional_atendimento IS NOT NULL AND ta.id_atendimento_origem IS NULL AND date_format(ta.dta_entrada,'%Y-%m-%d') = '{$now}' ORDER BY ta.dta_entrada ASC"));
$atendimentos = $atendimentos ? $atendimentos : array();
/*end*/
/*Busca Pagamentos por forma de pagamento*/
$LancamentosFinanceirosDao = new LancamentosFinanceirosDao();
$where = "(id_tipo_conta  <> 5 OR (id_tipo_conta =5 AND (flg_caixa_fechado = 0 OR flg_caixa_fechado IS NULL ) )  AND flg_tipo_lancamento = 'C' ) AND (flg_transferencia_conta = 0 OR \n\t\t\t flg_transferencia_conta IS NULL) AND id_empreendimento = {$id_empreendimento} AND dta_entrada between '{$now} 00:00:00' and '{$now}  23:59:59' AND flg_tipo_lancamento = 'C'\n\t\t\t order by dta_entrada asc";
$aux = $LancamentosFinanceirosDao->getLancamentos(null, null, array('cplSql' => $where));
$pagamentos = $aux ? getParcelas($aux['pagamentos']) : array();
usort($pagamentos, 'ordenaDta');
$pagByformaPagamento = array();
$totalRecebido = 0;
$totalCredito = 0;
foreach ($pagamentos as $key => $value) {
    if ($value['id_forma_pagamento'] == 6 || $value['id_forma_pagamento'] == 2) {
        $totalCredito += $value['valor_pagamento'];
    }
    $totalRecebido += $value['valor_pagamento'];
    if (!isset($pagByformaPagamento[$value['id_forma_pagamento']])) {
        $pagByformaPagamento[$value['id_forma_pagamento']] = array('descricao_forma_pagamento' => $value['descricao_forma_pagamento'], 'pagamentos' => array());
    }