79 lines
2.0 KiB
MySQL
79 lines
2.0 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`embalajes_stocks_detalle`(IN idPEOPLE INT, IN idARTICLE INT, IN bolCLIENT BOOLEAN)
|
||
|
BEGIN
|
||
|
|
||
|
|
||
|
if bolCLIENT then
|
||
|
|
||
|
select m.Id_Article
|
||
|
, Article
|
||
|
, IF(Cantidad < 0, - Cantidad, NULL) as Entrada
|
||
|
, IF(Cantidad < 0, NULL, Cantidad) as Salida
|
||
|
, 'T' as Tabla
|
||
|
, t.Id_Ticket as Registro
|
||
|
, t.Fecha
|
||
|
, w.name as Almacen
|
||
|
, cast(Preu as Decimal(5,2)) Precio
|
||
|
, c.Cliente as Proveedor
|
||
|
, abbreviation as Empresa
|
||
|
from Movimientos m
|
||
|
join Articles a using(Id_Article)
|
||
|
join Tickets t using(Id_Ticket)
|
||
|
join empresa e on e.id = t.empresa_id
|
||
|
join warehouse w on w.id = t.warehouse_id
|
||
|
join Consignatarios cs using(Id_Consigna)
|
||
|
join Clientes c on c.Id_Cliente = cs.Id_Cliente
|
||
|
where cs.Id_Cliente = idPEOPLE
|
||
|
and m.Id_Article = idARTICLE
|
||
|
and t.Fecha > '2010-01-01';
|
||
|
|
||
|
else
|
||
|
|
||
|
select Id_Article, Tabla, Registro, Fecha, Article
|
||
|
, w.name as Almacen, Entrada, Salida, Proveedor, cast(Precio as Decimal(5,2)) Precio
|
||
|
|
||
|
from
|
||
|
|
||
|
(select Id_Article
|
||
|
, IF(Cantidad > 0, Cantidad, NULL) as Entrada
|
||
|
, IF(Cantidad > 0, NULL,- Cantidad) as Salida
|
||
|
, 'E' as Tabla
|
||
|
, Id_Entrada as Registro
|
||
|
, landing as Fecha
|
||
|
, tr.warehouse_id
|
||
|
, Costefijo as Precio
|
||
|
from Compres c
|
||
|
join Entradas e using(Id_Entrada)
|
||
|
join travel tr on tr.id = travel_id
|
||
|
where Id_Proveedor = idPEOPLE
|
||
|
and Id_Article = idARTICLE
|
||
|
and landing >= '2010-01-01'
|
||
|
|
||
|
union all
|
||
|
|
||
|
select Id_Article
|
||
|
, IF(Cantidad < 0, - Cantidad, NULL) as Entrada
|
||
|
, IF(Cantidad < 0, NULL, Cantidad) as Salida
|
||
|
, 'T'
|
||
|
, Id_Ticket
|
||
|
, Fecha
|
||
|
, t.warehouse_id
|
||
|
, Preu
|
||
|
from Movimientos m
|
||
|
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 Id_Article = idARTICLE
|
||
|
and t.Fecha > '2010-01-01') mov
|
||
|
|
||
|
join Articles a using(Id_Article)
|
||
|
join Proveedores p on Id_Proveedor = idPEOPLE
|
||
|
join warehouse w on w.id = mov.warehouse_id
|
||
|
;
|
||
|
|
||
|
end if;
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|