| Server IP : 54.233.248.239 / Your IP : 172.28.1.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/Events/ |
Upload File : |
<?php
namespace App\Events;
use App\Modules\PedidoVendaHasProduto\Models\PedidoVendaHasProduto;
use App\Modules\Adega\Models\Adega;
use DB;
class PedidoVendaHasProdutoEvent
{
/**
* Listen to the User created event.
*
* @param User $user
* @return void
*/
public function created(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
$pedidoVenda = $pedidoVendaHasProduto->pedidoVenda;
$adegaAberta = Adega::where('id_cliente', $pedidoVendaHasProduto->pedidoVenda->id_cliente)->where('status', 'A')->first();
if($pedidoVenda->confraria_id){
$adegaAberta = Adega::where('confraria_id', $pedidoVenda->confraria_id)->where('status', 'A')->first();
$data_cadastro = date('Y-m-d H:i:s');
$sql = "INSERT confraria_produto (confraria_id, produto_id, data_cadastro)
SELECT {$pedidoVenda->confraria_id}, pvhp.id_produto, '{$data_cadastro}' FROM pedido_venda_has_produto pvhp WHERE pvhp.id_pedido_venda = {$pedidoVenda->id} AND NOT EXISTS (SELECT 1 FROM confraria_produto cp WHERE cp.produto_id = pvhp.id_produto AND cp.confraria_id = {$pedidoVenda->confraria_id})";
DB::statement($sql);
$sql = "INSERT confraria_produto_pedido (confraria_produto_id, pedido_venda_id)
SELECT confraria_produto.id , pvhp.id_pedido_venda FROM confraria_produto INNER JOIN pedido_venda_has_produto pvhp ON pvhp.id_produto = confraria_produto.produto_id WHERE pvhp.id_pedido_venda = {$pedidoVenda->id} AND confraria_produto.confraria_id = {$pedidoVenda->confraria_id} AND NOT EXISTS (SELECT 1 FROM confraria_produto_pedido cpp WHERE cpp.confraria_produto_id = confraria_produto.id AND cpp.pedido_venda_id = pvhp.id_pedido_venda) GROUP BY confraria_produto.id , pvhp.id_pedido_venda ORDER BY confraria_produto.id ASC";
DB::statement($sql);
}
if(!$adegaAberta){
$adegaAberta = new Adega();
$adegaAberta->id_cliente = $pedidoVendaHasProduto->pedidoVenda->id_cliente;
if($pedidoVenda->confraria_id){
$adegaAberta->confraria_id = $pedidoVenda->confraria_id;
}
$adegaAberta->status = 'A';
$adegaAberta->data_abertura = date('Y-m-d H:i:s');
$adegaAberta->quantidade_produtos = 0;
$adegaAberta->quantidade_pedidos = 0;
$adegaAberta->valor_total = 0;
$adegaAberta->save();
}
}
/**
* Listen to the User deleting event.
*
* @param User $user
* @return void
*/
public function deleting(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
//
}
/**
* Listen to the User created event.
*
* @param User $user
* @return void
*/
public function updated(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
}
/**
* Listen to the User deleting event.
*
* @param User $user
* @return void
*/
public function updating(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
//
}
/**
* Listen to the User created event.
*
* @param User $user
* @return void
*/
public function saved(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
}
/**
* Listen to the User deleting event.
*
* @param User $user
* @return void
*/
public function saving(PedidoVendaHasProduto $pedidoVendaHasProduto)
{
//
}
}