Se agrega funcionalidad para poder recibir articulos de pedidos diferentes.

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@234 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
roberto 2008-05-28 17:19:59 +00:00
parent ff42769703
commit dc0da91984

View File

@ -54,8 +54,11 @@ DROP VIEW V_ALB_CLI_DETALLES;
DROP VIEW V_ALBARANES_CLIENTE;
DROP VIEW V_ALB_CLI_SITUACION;
DROP VIEW V_PED_PROV_ART_SIN_ALBARAN;
DROP VIEW V_PEDIDOS_PROVEEDOR;
DROP VIEW V_PED_PROV_SITUACION;
DROP VIEW V_PED_PROV_PROCESO;
DROP VIEW V_PED_PROV_PENDIENTES_PROCESO;
DROP VIEW V_PED_PROV_ARTICULOS;
DROP VIEW V_PED_PROV_ARTICULOS_AUX;
@ -1476,18 +1479,117 @@ HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL;
/*POR COMENTAR*/
CREATE VIEW V_PED_PROV_SITUACION(
ID_PEDIDO,
SITUACION)
CREATE VIEW V_PED_PROV_PENDIENTES_PROCESO(
ID_PEDIDO)
AS
SELECT ID_PEDIDO,
CASE WHEN (SUM(CANTIDAD_PENDIENTE) > 0) AND (SUM(CANTIDAD_RECIBIDA) = 0) THEN 'PENDIENTE'
WHEN (SUM(CANTIDAD_PENDIENTE) <= 0) THEN 'RECIBIDO'
WHEN (SUM(CANTIDAD_PENDIENTE) > 0) AND (SUM(CANTIDAD_RECIBIDA) > 0) THEN 'PARCIAL'
ELSE 'N/A'
END AS SITUACION
SELECT distinct V_PED_PROV_ARTICULOS.id_pedido
FROM V_PED_PROV_ARTICULOS
GROUP BY V_PED_PROV_ARTICULOS.ID_PEDIDO;
WHERE (V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA > V_PED_PROV_ARTICULOS.CANTIDAD_RECIBIDA)
;
CREATE VIEW V_PED_PROV_PROCESO(
ID_PEDIDO)
AS
select v_ped_prov_pendientes_proceso.ID_PEDIDO
from v_ped_prov_pendientes_proceso
inner join v_ped_prov_con_albaranes on (v_ped_prov_con_albaranes.ID_PEDIDO = v_ped_prov_pendientes_proceso.ID_PEDIDO)
;
CREATE VIEW V_PED_PROV_ART_SIN_ALBARAN(
ID,
ID_PEDIDO,
ID_EMPRESA,
REFERENCIA_PEDIDO,
FECHA_PEDIDO,
FECHA_CONFIRMACION,
ID_PROVEEDOR,
CALLE,
CODIGO_POSTAL,
POBLACION,
PROVINCIA,
PERSONA_CONTACTO,
TELEFONO,
IVA,
ID_FORMA_PAGO,
PROVEEDOR,
ID_ARTICULO,
FAMILIA,
REFERENCIA,
REFERENCIA_PROVEEDOR,
DESCRIPCION,
CANTIDAD_PEDIDA,
CANTIDAD_RECIBIDA,
CANTIDAD_PENDIENTE,
PRECIO_COSTE,
DESCUENTO,
PRECIO_NETO,
PRECIO_PORTE)
AS
SELECT
V_PED_PROV_ARTICULOS.ID_PEDIDO || V_PED_PROV_ARTICULOS.ID_ARTICULO as ID, /*Para tener un ID unico sobre el que poder consultar en la sentencia de selección del grid*/
V_PED_PROV_ARTICULOS.ID_PEDIDO,
PEDIDOS_PROVEEDOR.ID_EMPRESA,
PEDIDOS_PROVEEDOR.referencia,
PEDIDOS_PROVEEDOR.fecha_pedido,
PEDIDOS_PROVEEDOR.fecha_confirmacion,
PEDIDOS_PROVEEDOR.id_proveedor,
PEDIDOS_PROVEEDOR.CALLE,
PEDIDOS_PROVEEDOR.CODIGO_POSTAL,
PEDIDOS_PROVEEDOR.POBLACION,
PEDIDOS_PROVEEDOR.PROVINCIA,
PEDIDOS_PROVEEDOR.PERSONA_CONTACTO,
PEDIDOS_PROVEEDOR.TELEFONO,
PEDIDOS_PROVEEDOR.IVA,
PEDIDOS_PROVEEDOR.ID_FORMA_PAGO,
CONTACTOS.nombre,
V_PED_PROV_ARTICULOS.ID_ARTICULO,
articulos.familia,
articulos.referencia,
articulos.referencia_prov,
articulos.descripcion,
V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA,
V_PED_PROV_ARTICULOS.CANTIDAD_RECIBIDA,
V_PED_PROV_ARTICULOS.CANTIDAD_PENDIENTE,
ARTICULOS.PRECIO_COSTE,
ARTICULOS.DESCUENTO,
ARTICULOS.PRECIO_NETO,
ARTICULOS.PRECIO_PORTE
from V_PED_PROV_ARTICULOS
left join PEDIDOS_PROVEEDOR on (PEDIDOS_PROVEEDOR.id = V_PED_PROV_ARTICULOS.id_pedido)
left join CONTACTOS on (contactos.id = PEDIDOS_PROVEEDOR.id_proveedor)
left join articulos on (articulos.id = V_PED_PROV_ARTICULOS.ID_ARTICULO)
where cantidad_pendiente > 0;
CREATE VIEW V_PED_PROV_SITUACION(
ID_PEDIDO,
SITUACION)
AS
select id_pedido,
case when sum(enpro) = 3 then 'PARCIAL'
when sum(enpro) = 2 then 'PENDIENTE'
when sum(enpro) = 1 then 'RECIBIDO'
end as situacion
from
(
select id as id_pedido, 1 as ser, 1 as pend, 1 as enpro
from pedidos_proveedor
union
select id_pedido, 0 as ser, 1 as pend, 1 as enpro
from v_ped_prov_pendientes_proceso
union
select id_pedido, 0 as ser, 0 as pend, 1 as enpro
from v_ped_prov_proceso
)
group by id_pedido
;
CREATE VIEW V_PEDIDOS_CLIENTE(