コード例 #1
0
 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;
     }
 }