Ir para conteúdo
Fórum Script Brasil
  • 0

Qr Code em nota de valor


imc_1978

Pergunta

Olá pessoal, estou começando a pouco a gostar da programação, principalmente do PHP. 

Tenho duas strings $totalProdutos e  $totalServico que de acordo com o código estão somando os valores e carregando o QR Code,
mas eu gostaria que fosse da seguinte forma:

Se $totalServico = 0 então carregue $totalProdutos
Mas Se $totalServico  != 0 e < $totalProdutos então carregue $totalServico

Acredito que seria nessa linha a alteração:  $amount = round(floatval($result['totalServico'] + $result['totalProdutos']), 2); porém não estou conseguindo fazer

Esse é o código da pasta models do codeignater:

<?php

use Piggly\Pix\StaticPayload;

class Os_model extends CI_Model
{
    public function getProdutos($id = null)
    {
        $this->db->select('produtos_os.*, produtos.*');
        $this->db->from('produtos_os');
        $this->db->join('produtos', 'produtos.idProdutos = produtos_os.produtos_id');
        $this->db->where('os_id', $id);

        return $this->db->get()->result();
    }
    public function getServicos($id = null)
    {
        $this->db->select('servicos_os.*, servicos.nome, servicos.preço as precoVenda');
        $this->db->from('servicos_os');
        $this->db->join('servicos', 'servicos.idServicos = servicos_os.servicos_id');
        $this->db->where('os_id', $id);

        return $this->db->get()->result();
    }
    public function valorTotalOS($id = null)
    {
        $totalServico = 0;
        $totalProdutos = 0;
        if ($servicos = $this->getServicos($id)) {
            foreach ($servicos as $s) {             
                $totalServico = $totalServico + $s->preço;
            }
        }
        if ($produtos = $this->getProdutos($id)) {
            foreach ($produtos as $p) {
                $totalProdutos = $totalProdutos + $p->subTotal;
            }
        }
        return ['totalServico' => $totalServico, 'totalProdutos' => $totalProdutos];
    }
    public function getQrCode($id, $pixKey, $emitente)
    {
        if (empty($id) || empty($pixKey) || empty($emitente)) {
            return;
        }
        $result = $this->valorTotalOS($id);
        $amount = round(floatval($result['totalServico'] + $result['totalProdutos']), 2);

        if ($amount <= 0) {
            return;
        }
        $pix = (new StaticPayload())
            ->applyValidCharacters()
            ->applyUppercase()
            ->setPixKey(getPixKeyType($pixKey), $pixKey)
            ->setMerchantName($emitente->nome, true)
            ->setMerchantCity($emitente->cidade, true)
            ->setAmount($amount)
            ->setTid($id)
            ->setDescription(sprintf("%s OS %s", $emitente->nome, $id), true);

        return $pix->getQRCode();
    }
}

E esse é o PHP que carrega o QR CODE:

                                    <?php if ($qrCode) : ?>
                                        <td style="width: 15%; padding-left: 0">
                                            <img style="margin:12px auto;" src="<?= $qrCode ?>" alt="QR Code de Pagamento" />
                                        </td>
                                    <?php endif ?>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...