O resultado que o PHP passa para o valor acima é "verdadeiro", quando a resposta correta é "falso".
Essa é uma dor de cabeça na hora de procurar diferença entre o valor contábil e o valor do estoque. Outro problema é quando você faz um lançamento contábil errado, tipo debitar estoque e creditar custo do estoque na hora de baixar o estoque, ou fazer o lançamento contábil correto, mas um dos itens do estoque você lança com uma diferença de R$ 0,10.
Para o primeiro problema, eu resolvi assim:
echo ((4.5-4.5)>0.001) ? "verdadeiro" : "falso";
Para os demais, eu resolvi assim:
arquivo estoque.php (listagem parcial)
class Estoque
{
public function diferencaEstoque()
{
$centrada = (new Conn)->select("sum(valor) as soma from tbdiario where contad=123")[0]->soma;
$cestoque = (new Conn)->select("sum(custototal) as soma from tbprod join tbhistprod
on tbprod.codprod=tbhistprod.codprod where custototal>0 and loc<> 'a24'")[0]->soma;
$dias = (new Conn)->select("dia,sum(custototal) as soma from tbprod join tbhistprod
on tbprod.codprod=tbhistprod.codprod where custototal>0 and loc<>'a24'
group by dia order by dia");
$contabeis=(new Conn)->select("dia from tbdiario where contad=123 group by dia");
$diasContabeis=count($contabeis);
$diasEstoque=count($dias);
$vetores = [];
foreach($contabeis as $dia)
{
$data=$dia->dia;
if(!(new Conn)->select("dia from tbhistprod where dia='$data' and custototal > 0"))
{
$valor = (new Conn)->select("dia, sum(valor) as soma from tbdiario
where contad=123 and dia='$data'")[0]->soma;
$vetores[] = (object)['data' => $data, 'entrada' => null,
'valor' => $valor, 'diferenca' => $valor];
}
}
foreach ($dias as $dia)
{
$data = $dia->dia;
$entrada = $dia->soma;
$valor = (new Conn)->select("dia, sum(valor) as valor from tbdiario where contad=123
and dia='$data'")[0]->valor;
$diferenca = $valor - $entrada;
if($diferenca>0.001)
{
$vetores[] = (object)['data' => $data, 'entrada' => $entrada,
'valor' => $valor, 'diferenca' => $diferenca];
}
}
return view('estoqueDiferenca', ['centrada' => $centrada,'cestoque' => $cestoque,
'vetores' => $vetores, 'diasContabeis'=>$diasContabeis, 'diasEstoque'=>$diasEstoque]);
}
}
arquivo estoqueDiferenca.php
<?php include "menuView.php";?><tableclass='table table-striped linha'><tr><td>Contábil<tdclass=text-end><?=dec($centrada)?><td>Dias Contábeis<tdclass=text-end><?=$diasContabeis?><tr><td>Estoque<tdclass=text-end><?=dec($cestoque)?><td>Dias Estoque<tdclass=text-end><?=$diasEstoque?><trclass=fw-semibold><td>Dia<tdclass=text-end>Contábil<tdclass=text-end>Estoque
<tdclass=text-end>Diferença
<?php foreach($vetores as $v):?><tr><td><?=fmt($v->data)?><tdclass='text-end'><?=dec($v->valor)?><tdclass='text-end'><?=dec($v->entrada)?><tdclass='text-end'><?=dec($v->diferenca)?><?php endforeach;
Pergunta
Frank K Hosaka
O resultado que o PHP passa para o valor acima é "verdadeiro", quando a resposta correta é "falso".
Essa é uma dor de cabeça na hora de procurar diferença entre o valor contábil e o valor do estoque. Outro problema é quando você faz um lançamento contábil errado, tipo debitar estoque e creditar custo do estoque na hora de baixar o estoque, ou fazer o lançamento contábil correto, mas um dos itens do estoque você lança com uma diferença de R$ 0,10.
Para o primeiro problema, eu resolvi assim:
echo ((4.5-4.5)>0.001) ? "verdadeiro" : "falso";
Para os demais, eu resolvi assim:
Link para o comentário
Compartilhar em outros sites
0 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.