Ir ao conteúdo

Posts recomendados

Postado

Bom dia galera,,

 

Tenho um sistema um PHP que desenvolvi na mão para uma instituição de caridade..

 

Meu problema é que o resultado do meu sistema não condiz com o valor recibo pela instituição..

 

Explicando o meu sistema. 

 

Ele é composto de três entradas de dados. 

1° CPF, CNPJ, N° Cupom

2° Valor, Credito, Data Post

3° Razão Social 

 

Expl: A primeira entrada faz a inserção dos dados necessário,, porém da planilha inteira..

A segunda entrada de dados, faz a busca do número do CNPJ e do número do cupom fiscal, caso encontre insere os dados necessários

A terceira entrada de dados serve para inserir a razão social do estabelecimento do cupom, caso ele localize o CNPJ já inserido, ele somente pula procurando um CNPJ novo. 

 

Como mencionei,, o meu sistema não bate com o valor da receita federal,, e

 Por mais que eu corrija meu sistema,, refaza as mais de 500k linhas o problema persiste..

 

Gostaria de saber se alguém tem a indicação de um sistema semelhante que consiga fazer este cálculo??

 

 

Atte..

  • Curtir 1
Postado

Boa tarde sr @Jão386.

 

Com o valor recebido.

 

Explicando.

Ao cadastrar os cupons no sistema da receita federal, seja lá um cupom de R$ 1,00 ou R$ 800. Cada cupom contém seu tributo referente ao valor consumido, e este tributo que gera o crédito que pode ser repassado para o instituto.

A receita federal faz o calculo dos cupons que geraram crédito e repassa depois de 6 meses para a instituição.

 

Numa aba, pode ser pego todos os cupons cadastrados sem a informação de quais geraram ou não crédito. E em outra aba tem que selecionar o período em que os cupons que geraram crédito foram cadastrados.

Ex: Pedidos_CNPJ_01-01-2020.csv
ConsultaNFP_CNPJ.csv

O arquivo Pedidos, contém todos os cupons cadastrados no sistema da Receita Federal referente ao instituto.
O arquivo Consulta, contém todos os cupons que geraram créditos.

Dos dois arquivos o importante é o CNPJ e o Nº do cupom,, pois através disto eu consigo saber quem cadastrou o cupom, qual o valor do cupom e quanto de crédito foi gerado naquele cupom(Obs, a receita não da a informação do que consumido naquele cupom, pois, essa informação é irrelevante).

 

Ao finalizar o calculo a receita federal libera o valor total dos créditos gerados.

O meu problema, é que o meu sistema, está com deixando alguma linha passar,,e preciso de um sistema que consiga fazer este tipo de calculo..

 

Quem cadastrou o cupom, quanto de crédito foi gerado, quais cupons aquele..

Para dar uma ilustração do código, eu deixo ele em localhost
 

<?php
$S = array();
$Sql = "";
$Sqi = "";

if($ano !== null) $ano = $_GET['ano']; else $ano = "2020"; 
	$S[0] = "SELECT "; 		// 0
	$S[1] = "csv_". $ano .".id, ";			 	// 1
if(($clean == null) && ($gmont == null)) 
	$S[2] = "count(*) as num, sum(credito) as credito, sum(valor) as valor, ";	// 2 
// else
// if($clean == null) 		$S[2] = "count(*) as num, sum(credito) as credito, sum(valor) as valor, ";	// 2 
else 					$S[2] = "numero_nota as num, credito, valor, ";  					// 2
	
	$S[3] = "nome, `cpf_doador`, `cnpj_estabelecimento` ";			// 3
	$S[4] = "FROM `csv_".$ano."`, cadastro cad WHERE `csv_".$ano."`.cnpj_estabelecimento = cad.cnpj ";	// 4
if(($clean == null) && ($gmont == null)) 
	$S[5] = "AND `data_insert` BETWEEN '$ano-$mes_start-01' AND '$ano-$mes_end-31' ";
else	// 5
	$S[5] = "AND data_post = '".ref_mez($_GET['mes'])."' ";

if($cpf    !== null) { 	$S[6] = "AND `cpf_doador` = '$cpf' "; } else 		
if($cnpj   !== null) { 	$S[6] = "AND `cnpj_estabelecimento` = '$cnpj' "; } 				// 6

if($nzero  !== null) { 	$S[7] = "AND `credito` <> 0 "; } 			// 7
if($doa    !== null) { 	$S[8] = "AND `doacao` =  '$doa' "; } 
// 8
if(($clean == null) && ($gmont == null)) 
                        $S[9] = "group by `cpf_doador`, `cnpj_estabelecimento`";		// 9

if($cpf    !== null) {	$S[10] = "order by `cnpj_estabelecimento` ASC"; } else 
if($cnpj   !== null) {	$S[10] = "order by num DESC"; } else 
	$S[10] = "order by cnpj_estabelecimento ASC";					// 10
	$S[11] = "sum(credito) as credito, sum(valor) as valor ";

$Sql_a	= ['0','1','2','3','4','5','6','7','8','9','10'];
$Sql_b	= ['0','11',       '4','5','6','7','8'];


foreach ($Sql_a as $value) { if(isset($S[$value])) $Sql .= $S[$value]; }
foreach ($Sql_b as $value) { if(isset($S[$value])) $Sqi .= $S[$value]; }

?>


A execução do script sai aproximadamente assim

 

SELECT
	csv_2020.id, numero_nota as num, credito, valor, nome, `cpf_doador`, `cnpj_estabelecimento` 
FROM
	`csv_2020`, cadastro cad  
WHERE
	`csv_2020`.cnpj_estabelecimento = cad.cnpj
AND
	data_post = '01' 
AND
	`cpf_doador` = '12345678909' 
order by
    `cnpj_estabelecimento` ASC 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...