Frank K Hosaka Postado Abril 13 Denunciar Share Postado Abril 13 (editado) Aqui eu tento comparar os arquivos csv obtidos na Bling e comparar com o que tem no MySQL: arquivo Modelos / Config.php <?php // ... function aspas($bling) { return str_replace('"','',$bling); } function dec($value) { if($value==null) { return null; } return number_format($value,2,',','.'); } function deca($num) { $value=str_replace(".","",$num); return str_replace(",",".",$value); } arquivo Controles / ControleBling.php <?php class ControleBling extends Controle { private $Conexao; public function __construct() { $this->Conexao=new Conexao; } public function diferenca() { $this->Conexao->exec("truncate table tbprodbling"); $arquivos=['produtos1.csv','produtos2.csv','produtos3.csv','produtos4.csv','produtos5.csv']; foreach($arquivos as $arquivo) { $dados=file($arquivo); foreach($dados as $linha) { $campos=explode(';',$linha); if(aspas($campos[1])!=="Código") { $codprod=intval(trim(aspas($campos[1]))); $un=aspas($campos[3]); $prod=aspas($campos[2]); $custo=deca(aspas($campos[11])); $codbar=trim(aspas($campos[19])); $cf=deca(aspas($campos[4])); $venda=deca(aspas($campos[6])); $this->Conexao->insert("tbprodbling (codprod,un,prod,custo,codbar,cf,venda) values ($codprod,'$un','$prod',$custo,'$codbar','$cf',$venda)"); } } } $produto=$this->Conexao->select("* from tbprod where loc <> 'a24'"); $prodBling=$this->Conexao->select("* from tbprodbling"); echo "O número de registros no MySQL é ".count($produto).".<br>"; echo "O número de registros na Bling é ".count($prodBling).".<br>"; echo "<table><th><th class=text-left>MySQL<th class=text-left>Bling"; foreach($produto as $pr) { $codprod=$pr->codprod; $bling = array_filter($prodBling, function ($produto) use ($codprod) { return $produto->codprod == $codprod;}); $a=current($bling); if(is_null($a)) { echo "<tr><td>Codigo<td><td>Incluir"; } else { $un=($pr->un==$a->un) ? 1 : 0; $prod=($pr->prod==$a->prod) ? 1 : 0; $custo=($pr->custo==$a->custo) ? 1 : 0; $codbar=($pr->codbar==$a->codbar) ? 1 : 0; $cf=($pr->cf==$a->cf) ? 1 : 0; $venda=($pr->venda==$a->venda) ? 1 : 0; if($un.$prod.$custo.$codbar.$cf.$venda !== '111111') { echo "<tr><td>**<td>**<td>**"; echo "<tr><td>Código<td>$pr->codprod<td>$a->codprod"; if($pr->prod!==$a->prod) { echo "<tr><td>Descriçao<td>$pr->prod<td>$a->prod"; } if($pr->custo!==$a->custo) { echo "<tr><td>Custo<td>$pr->custo<td>$a->custo"; } if($pr->codbar!=$a->codbar) { echo "<tr><td>Código de Barra<td>$pr->codbar<td>$a->codbar"; } if($pr->cf!==$a->cf) { echo "<tr><td>NCM<td>$pr->cf<td>$a->cf"; } if($pr->venda!==$a->venda) { echo "<tr><td>Venda<td>$pr->venda<td>$a->venda"; } } } } } } Editado Abril 15 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Abril 13 Autor Denunciar Share Postado Abril 13 (editado) Editado. Editado Abril 15 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Abril 13 Autor Denunciar Share Postado Abril 13 (editado) Editado. Editado Abril 15 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Frank K Hosaka
Aqui eu tento comparar os arquivos csv obtidos na Bling e comparar com o que tem no MySQL:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.