Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal.
Preciso fazer uma consulta no banco, onde nessa consulta retorne o a quantidade de peças a serem utilizadas para fabricar um equipamento, e nessa consulta preencher uma lista com os materiais necessários.
Até ai tudo bem, o problema esta sendo criar uma outra lista que verifica em um outro SQL se as peças que estão em estoque são suficientes para a produção.
Segue códigos das funções que estou utilizando para a programação:
function calcular()
{
$this->liststore_itens->clear();
$this->liststore_produtos->foreach(array($this,'calcula_itens'));
$sql = "select codigo, descricao, unidade, sum(total) as total from temp group by codigo"; // Esse funciona perfeitamente
$resultado2 = $this->con_geral->Query($sql);
while($i = $this->con_geral->FetchRow($resultado2))
{
$this->liststore_itens->append(array($i[0], $i[1], $i[2], $i[3]));
}
$this->liststore_itens_faltantes->clear();
$sql = "select codigo, descricao, unidade, (total-qtd) as qtd from temp group by codigo";// Nesse que estou tendo o problema... Acredito..!
//echo "\n $sql";
$resultado2 = $this->con_geral->Query($sql);
while($i = $this->con_geral->FetchRow($resultado2))
{
//echo "\nI.. $i[1]";
$this->liststore_itens_faltantes->append(array($i[0], $i[1], $i[2], $i[3]));
}
/*$sql = "drop table temp";
$this->con_geral->Query($sql);*/
}
function calcula_itens($store, $path, $iter) $BancoDeDados = retorna_CONFIG("BancoDeDados");
$this->con_geral = &new $BancoDeDados;
$this->con_geral->Connect();
$codigo = $store->get_value($iter,0);
echo "\n $codigo";
$quantidade = $store->get_value($iter,4);
$sql="select a.cod_filho, a.descricao, b.unidade, a.qtd*$quantidade as total, b.estocado from ficha_tecnica as a inner join produtos as b on a.cod_pai=b.codigo where cod_pai='$codigo'";// ou nesse... ai que esta minha duvida!
$resultado = $this->con_geral->Query($sql);
$resultado2 = $this->con_geral->FetchArray($resultado);
$restante = $resultado2["estocado"];
/*$sql = "CREATE temporary TABLE if not exists temp (codigo INTEGER UNSIGNED NOT NULL, descricao VARCHAR(50), unidade VARCHAR(5), total float(6,2), qtd float(6,2)) engine=memory";
$this->con_geral->Query($sql);*/
while($i = $this->con_geral->FetchRow($resultado))
{
$sql="INSERT INTO temp (codigo, descricao, unidade, total, qtd) values ('$i[0]', '$i[1]', '$i[2]', '$i[3]', '$i[4]')";
//echo "\n$sql";
$this->con_geral->Query($sql);
}
}
Desde já agradeço a atenção de todos!
Carregando comentários...