52 lines
1.3 KiB
SQL
52 lines
1.3 KiB
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`embalajes_stocks`(IN idPEOPLE INT, IN bolCLIENT BOOLEAN)
|
|
BEGIN
|
|
|
|
if bolCLIENT then
|
|
|
|
select m.Id_Article, Article, - cast(sum(m.Cantidad) as decimal) as Saldo
|
|
from Movimientos m
|
|
join Articles a on m.Id_Article = a.Id_Article
|
|
join Tipos tp on tp.tipo_id = a.tipo_id
|
|
join Tickets t using(Id_Ticket)
|
|
join Consignatarios cs using(Id_Consigna)
|
|
where cs.Id_Cliente = idPEOPLE
|
|
and Tipo = 'Contenedores'
|
|
and t.Fecha > '2010-01-01'
|
|
group by m.Id_Article;
|
|
|
|
else
|
|
|
|
select Id_Article, Article, sum(Cantidad) as Saldo
|
|
from
|
|
(select Id_Article, Cantidad
|
|
from Compres c
|
|
join Articles a using(Id_Article)
|
|
join Tipos tp using(tipo_id)
|
|
join Entradas e using(Id_Entrada)
|
|
join travel tr on tr.id = travel_id
|
|
where Id_Proveedor = idPEOPLE
|
|
and landing >= '2010-01-01'
|
|
and reino_id = 6
|
|
|
|
union all
|
|
|
|
select Id_Article, - Cantidad
|
|
from Movimientos m
|
|
join Articles a using(Id_Article)
|
|
join Tipos tp using(tipo_id)
|
|
join Tickets t using(Id_Ticket)
|
|
join Consignatarios cs using(Id_Consigna)
|
|
join proveedores_clientes pc on pc.Id_Cliente = cs.Id_Cliente
|
|
where Id_Proveedor = idPEOPLE
|
|
and reino_id = 6
|
|
and t.Fecha > '2010-01-01') mov
|
|
|
|
join Articles a using(Id_Article)
|
|
group by Id_Article;
|
|
|
|
end if;
|
|
|
|
END$$
|
|
DELIMITER ;
|