Created
September 6, 2017 20:51
-
-
Save LeandroLS/2cd6642752844832528e532711d6c5bc to your computer and use it in GitHub Desktop.
exemplo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public function listarContasReceber( $dados = null ){ | |
if(!empty($dados['classTipoDespesa'])){ | |
$query[] = "cn.class_ctd_id = {$dados['classTipoDespesa']}"; | |
} | |
/* | |
if(isset($dados['centroDeCusto'])){ | |
if(is_array($dados['centroDeCusto'])){ | |
$idsCentroDecusto = implode(',', $dados['centroDeCusto']); | |
} else { | |
$idsCentroDecusto = $dados['centroDeCusto']; | |
} | |
$query[] = "cn.class_ctd_id IN ({$idsCentroDecusto})"; | |
} | |
*/ | |
if(isset($dados['centroDeCusto']) && !empty($dados['centroDeCusto'])){ | |
if(is_array($dados['centroDeCusto'])){ | |
$idsCentroDecusto = implode(',', $dados['centroDeCusto']); | |
} else { | |
$idsCentroDecusto = $dados['centroDeCusto']; | |
} | |
$query[] = "fr.rec_ccu_id IN({$idsCentroDecusto})"; | |
} | |
if(!empty($dados['duplicata_cont'])){ | |
$query[] = "fr.duplicata_id = (SELECT fc.duplicata_id FROM finan_contas fc WHERE fc.cont_id = '{$dados['duplicata_cont']}')"; | |
} | |
//filtrar por numero do documento | |
if(!empty($dados['rec_docto'])){ | |
$query[] = "fr.rec_docto LIKE '%{$dados['rec_docto']}%'"; | |
} | |
if(isset($dados['classificacaoConta']) && !empty($dados['classificacaoConta'])){ | |
$idsClassificacao = implode(',', $dados['classificacaoConta']); | |
$query[] = "cv.class_cod_id IN ({$idsClassificacao})"; | |
} | |
//filtrar pelo número do boleto | |
if(!empty($dados['cont_boleto'])){ | |
$query[] = "fc.cont_boleto LIKE '%{$dados['cont_boleto']}%'"; | |
} | |
/* if(!empty($dados['cli_descricao'])){ | |
$query[] = "cc.cli_nome_fantasia LIKE '%{$dados['cli_descricao']}%'"; | |
}*/ | |
if(!empty($dados['un_negocio_id'])){ | |
$query[] = "un.un_negocio_id = '{$dados['un_negocio_id']}'"; | |
} | |
//filtrar por data | |
if(isset($dados['dt_filtro_de']) && !empty($dados['dt_filtro_de'])){ | |
if(isset($dados['dt_filtro_ate']) && !empty($dados['dt_filtro_ate'])){ | |
$data_ate = $dados['dt_filtro_ate']; | |
}else{ | |
$data_ate = $dados['dt_filtro_de']; | |
} | |
if($dados['situacao'] == 1){ | |
$campo = "fc.cont_dt_vencimento"; | |
}else{ | |
$campo = "fc.cont_dt_rec_pag"; | |
} | |
$query[] = "DATE($campo) BETWEEN STR_TO_DATE('{$dados['dt_filtro_de']}', '%d/%m/%Y') | |
AND STR_TO_DATE('{$data_ate}', '%d/%m/%Y')"; | |
} | |
//filtrar pela descricoa da receita | |
if(!empty($dados['rec_descricao'])){ | |
$query[] = "rec_descricao LIKE '%{$dados['rec_descricao']}%'"; | |
} | |
//filtrar pelo id da tabela finan_contas | |
if(!empty($dados['bordero_cartao_id'])){ | |
$query[] = "fr.antec_id = '{$dados['bordero_cartao_id']}'"; | |
} | |
if(!empty($dados['cont_id'])){ | |
$query[] = "fc.cont_id = '{$dados['cont_id']}'"; | |
} | |
if(isset($dados['situacao']) && $dados['situacao'] == 2){ | |
$query[] = "fc.cont_status = 1"; | |
$campo = ""; | |
$group = ""; | |
$order = ""; | |
if( isset($dados['returnJson']) && $dados['returnJson'] != 2){ | |
$campo = "COUNT(1) AS 'contador', | |
SUM( IF( cv.cova_tipo = 'R', cv.cova_valor, | |
cv.cova_valor * (-1))) AS 'cova_valor',"; | |
$group = "GROUP BY fr.duplicata_id"; | |
$order = "ORDER BY fc.cont_dt_rec_pag DESC"; | |
}else if( !empty($dados['cont_id']) ){ | |
$order = "ORDER BY cv.cova_id"; | |
} | |
}else if(isset($dados['conciliacao']) && $dados['conciliacao'] == 1){ | |
$campo = ""; | |
$group = ""; | |
$order = "ORDER BY cv.cova_id"; | |
}else{ | |
$query[] = "fc.cont_status = 0"; | |
$campo = ""; | |
$group = ""; | |
$order = "ORDER BY fc.cont_dt_vencimento DESC"; | |
} | |
$query[] = "fr.rec_deletado = 0"; | |
$query[] = "fc.cont_deletado = 0"; | |
$query = implode(" AND ", $query); | |
$query = " SELECT *, | |
$campo | |
fr.un_negocio_id AS un_negocio_id, | |
DATE_FORMAT(fc.cont_dt_vencimento, '%d/%m/%Y') AS 'cont_dt_vencimento', | |
DATE_FORMAT(fc.cont_dt_rec_pag, '%d/%m/%Y') AS 'cont_dt_rec_pag', | |
DATE_FORMAT(fr.rec_dt_emissao, '%d/%m/%Y') AS 'rec_dt_emissao' | |
FROM finan_tipo_operacao ft | |
INNER JOIN (finan_receita fr, finan_contas fc) | |
ON ft.duplicata_id = fr.duplicata_id AND ft.duplicata_id = fc.duplicata_id | |
INNER JOIN (finan_contas_valor cv, cad_unidade_negocio un) | |
ON cv.cont_id = fc.cont_id AND un.un_negocio_id = fr.un_negocio_id | |
INNER JOIN finan_classificacao_nivel4 cn ON cn.class_cod_nvl4 = class_cod_id | |
INNER JOIN finan_classificacao_nivel1 cn1 ON cn.class_nvl1_id = cn1.class_nvl1_id | |
#LEFT JOIN cad_cliente cc ON cc.cli_id = fr.cliente_id | |
LEFT JOIN finan_portador pf ON pf.port_id = fc.port_id | |
LEFT JOIN finan_forma_pagto pfp ON pfp.forma_id = fc.forma_id | |
LEFT JOIN finan_class_tipo_despesa AS ctd ON ctd.ctd_id = cn.class_ctd_id | |
LEFT JOIN cad_centro_custo AS ccc ON ccc.ccu_id = fr.rec_ccu_id | |
LEFT JOIN ( | |
SELECT cli_id, cli_nome_fantasia FROM cad_cliente WHERE cli_nome_fantasia LIKE '%{$dados['cli_descricao']}%' | |
UNION ALL | |
SELECT forn_id, forn_nome_fantasia FROM cad_fornecedor WHERE forn_nome_fantasia LIKE '%{$dados['cli_descricao']}%' | |
) AS cp on ft.duplicata_id = cp.cli_id | |
WHERE $query | |
$group | |
$order | |
"; | |
$return = $this->db->query($query); | |
return $return->result(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment