| Server IP : 54.233.248.239 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/app/Modules/Confraria/Services/ |
Upload File : |
<?php
namespace App\Modules\Confraria\Services;
use DB;
use App\Modules\PedidoVenda\Models\PedidoVenda;
use App\Modules\PedidoVendaHistorico\Models\PedidoVendaHistorico;
use App\Modules\PedidoVendaHasProduto\Models\PedidoVendaHasProduto;
use App\Services\CartService;
use App\Services\GeralService;
class ConfrariaKitService{
public static function incluirKitAdega($ConfrariaKit){
$resultado = new \stdClass;
$resultado->status = true;
$resultado->message = 'Operação realizada com sucesso!';
// CRIAR PEDIDO VENDA
$custo_efetivo = 0;
$quantidade = 1;
$result = CartService::validarCompraOferta(['id_oferta' => $ConfrariaKit->oferta_id, 'quantidade' => $quantidade]);
if($result['valid'] == false){
$resultado->status = false;
$resultado->message = $result['message'];
return $resultado;
}
$cadastro = $ConfrariaKit->confraria->cadastro;
$user = $cadastro->user;
$oferta = $ConfrariaKit->oferta;
$pedidoVenda = new PedidoVenda();
$pedidoVenda->saldo_usado = 0;
$pedidoVendaHistorico = new PedidoVendaHistorico();
$pedidoVenda->id_cliente = $cadastro->id;
$pedidoVenda->empresa_id = $cadastro->empresa_id;
$pedidoVenda->confraria_id = $ConfrariaKit->confraria_id;
$pedidoVenda->unidade_negocio_id = GeralService::checkUnidadeNegocio($pedidoVenda, 'pedido-venda');
$subtotal = $oferta->preco_oferta;
$ajuste = -$oferta->preco_oferta;
$total = 0;
$pedidoVenda->subtotal = $subtotal;
$pedidoVenda->total = $total;
$pedidoVenda->ajuste = $ajuste;
$pedidoVenda->data_fechamento = date('Y-m-d H:i:s');
$pedidoVenda->nm_referencia = 'Pedido com Kit Brinde da Confraria';
$pedidoVenda->assunto = 'Pedido realizado através da plataforma.';
$pedidoVenda->id_condicao_comercial = 1;
$pedidoVenda->tipo_deposito = 'BRD'; // BRINDE
$pedidoVenda->nome_depositante = $cadastro->nome . ' ' . $cadastro->sobrenome;
$pedidoVenda->id_status_pedido_venda = 2; // Aprovado
$pedidoVenda->save();
$pedidoVendaHistorico->id_pedido_venda_status = $pedidoVenda->id_status_pedido_venda;
$pedidoVendaHistorico->id_pedido_venda = $pedidoVenda->id;
$pedidoVendaHistorico->data = date('Y-m-d H:i');
$pedidoVendaHistorico->notificar_cliente = 0;
$pedidoVendaHistorico->id_colaborador = 1;
$nr_ofertas = $quantidade;
$valor_economizado = $oferta->preco_mercado - $oferta->preco_oferta;
$qtd_garrafas = 0;
foreach ($oferta->produtos as $ofertaHasProduto) {
$pedidoVendaProduto = new PedidoVendaHasProduto();
$pedidoVendaProduto->id_oferta = $oferta->id;
$pedidoVendaProduto->id_produto = $ofertaHasProduto->id_produto;
$pedidoVendaProduto->id_pedido_venda = $pedidoVenda->id;
$pedidoVendaProduto->quantidade = $ofertaHasProduto->quantidade * $quantidade;
$pedidoVendaProduto->valor_total = $ofertaHasProduto->valor_total * $quantidade;
$pedidoVendaProduto->save();
$qtd_garrafas += 1;
}
DB::table('pedido_venda_has_oferta')->insert([
[
'pedido_venda_id' => $pedidoVenda->id,
'oferta_id' => $oferta->id,
'quantidade' => 1,
'valor_unitario' => $oferta->preco_oferta,
'valor_total' => $oferta->preco_oferta,
'desconto_ocultado' => 0,
'created_at' => date('Y-m-d H:i:s')
]
]);
$pedidoVenda->qtd_garrafas = $qtd_garrafas;
$pedidoVenda->valor_economizado = $valor_economizado;
$pedidoVenda->nr_ofertas = $nr_ofertas;
$pedidoVenda->save();
$pedidoVendaHistorico->save();
GeralService::recalcularAdega($pedidoVenda->id_cliente, $pedidoVenda->id, FALSE, $pedidoVenda->confraria_id);
if(isset($pedidoVenda->id)){
$sql = "UPDATE confraria_kit SET pedido_venda_id = {$pedidoVenda->id} WHERE id = {$ConfrariaKit->id}";
DB::statement($sql);
}
return $resultado;
}
}