repaso final de todos lo datos
git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@36 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
parent
452fa22341
commit
bbe503324e
BIN
Build/Build.fbl6
BIN
Build/Build.fbl6
Binary file not shown.
@ -79,6 +79,12 @@ VARCHAR(30);
|
||||
/**** Generators ****/
|
||||
/******************************************************************************/
|
||||
|
||||
CREATE GENERATOR GEN_IMPRESIONES_ID;
|
||||
SET GENERATOR GEN_IMPRESIONES_ID TO 1;
|
||||
|
||||
CREATE GENERATOR GEN_REGISTRO_CORREOS_ID;
|
||||
SET GENERATOR GEN_REGISTRO_CORREOS_ID TO 1;
|
||||
|
||||
CREATE GENERATOR GEN_AGENTES_COMISIONES_ID;
|
||||
SET GENERATOR GEN_AGENTES_COMISIONES_ID TO 1;
|
||||
|
||||
@ -247,13 +253,23 @@ SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1;
|
||||
CREATE GENERATOR GEN_USUARIOS_ID;
|
||||
SET GENERATOR GEN_USUARIOS_ID TO 1;
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/**** Tables ****/
|
||||
/******************************************************************************/
|
||||
|
||||
CREATE TABLE IMPRESIONES (
|
||||
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
||||
ID_TABLA TIPO_ID /* TIPO_ID = INTEGER */,
|
||||
TABLA VARCHAR(50) COLLATE ES_ES,
|
||||
NUM_COPIAS SMALLINT
|
||||
);
|
||||
|
||||
CREATE TABLE REGISTRO_CORREOS (
|
||||
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
||||
ID_TABLA TIPO_ID /* TIPO_ID = INTEGER */,
|
||||
TABLA VARCHAR(50) COLLATE ES_ES,
|
||||
NUM_CORREOS SMALLINT
|
||||
);
|
||||
|
||||
CREATE TABLE AGENTES_COMISIONES (
|
||||
ID TIPO_ID NOT NULL,
|
||||
@ -891,6 +907,7 @@ CREATE TABLE PEDIDOS_CLIENTE (
|
||||
ID TIPO_ID NOT NULL,
|
||||
ID_EMPRESA TIPO_ID,
|
||||
ID_CLIENTE TIPO_ID,
|
||||
ID_DIRECCION TIPO_ID,
|
||||
REFERENCIA VARCHAR(255),
|
||||
FECHA_PEDIDO DATE,
|
||||
CALLE VARCHAR(255),
|
||||
@ -1169,6 +1186,7 @@ CREATE TABLE REMESAS_PROVEEDOR (
|
||||
TIPO VARCHAR(40)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE TIENDA_WEB (
|
||||
ID TIPO_ID NOT NULL,
|
||||
ID_EMPRESA TIPO_ID NOT NULL,
|
||||
@ -1264,7 +1282,7 @@ CREATE VIEW V_ALB_CLI_DETALLES(
|
||||
AS
|
||||
SELECT ALBARANES_CLIENTE_DETALLES.ID_ALBARAN,
|
||||
ALBARANES_CLIENTE_DETALLES.ID_PEDIDO,
|
||||
V_ALB_CLI_SITUACION.SITUACION,
|
||||
TRIM(V_ALB_CLI_SITUACION.SITUACION),
|
||||
ALBARANES_CLIENTE.ID_ALMACEN,
|
||||
COALESCE(ALBARANES_CLIENTE_DETALLES.ID_ARTICULO, 0),
|
||||
SUM(COALESCE(ALBARANES_CLIENTE_DETALLES.CANTIDAD, 0))
|
||||
@ -1338,6 +1356,10 @@ CREATE VIEW V_ALBARANES_CLIENTE(
|
||||
REFERENCIA,
|
||||
REFERENCIA_CLIENTE,
|
||||
TIPO,
|
||||
ID_ALBARAN_DEV,
|
||||
REFERENCIA_ALB_DEV,
|
||||
ID_FAC_ALB_DEV,
|
||||
REFERENCIA_FAC_ALB_DEV,
|
||||
SITUACION,
|
||||
ID_ALMACEN,
|
||||
NOMBRE_ALMACEN,
|
||||
@ -1369,7 +1391,12 @@ CREATE VIEW V_ALBARANES_CLIENTE(
|
||||
ID_FORMA_PAGO,
|
||||
FECHA_PREVISTA_ENVIO,
|
||||
FECHA_ENVIO,
|
||||
FECHA_RECEPCION)
|
||||
FECHA_RECEPCION,
|
||||
ID_AGENTE,
|
||||
AGENTE,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS,
|
||||
BLOQUEADO)
|
||||
AS
|
||||
SELECT
|
||||
ALBARANES_CLIENTE.ID,
|
||||
@ -1380,6 +1407,10 @@ SELECT
|
||||
ALBARANES_CLIENTE.REFERENCIA,
|
||||
ALBARANES_CLIENTE.REFERENCIA_CLIENTE,
|
||||
ALBARANES_CLIENTE.TIPO,
|
||||
ALBARANES_CLIENTE.ID_ALBARAN_DEV,
|
||||
ALB_DEV.REFERENCIA,
|
||||
ALB_DEV.ID_FACTURA,
|
||||
FAC_CLI_ALB_DEV.REFERENCIA,
|
||||
TRIM(V_ALB_CLI_SITUACION.SITUACION),
|
||||
ALBARANES_CLIENTE.ID_ALMACEN,
|
||||
ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
|
||||
@ -1411,14 +1442,26 @@ SELECT
|
||||
ALBARANES_CLIENTE.ID_FORMA_PAGO,
|
||||
ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,
|
||||
ALBARANES_CLIENTE.FECHA_ENVIO,
|
||||
ALBARANES_CLIENTE.FECHA_RECEPCION
|
||||
ALBARANES_CLIENTE.FECHA_RECEPCION,
|
||||
CLIENTES_DATOS.ID_AGENTE,
|
||||
AGENTES.NOMBRE,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS,
|
||||
CLIENTES_DATOS.BLOQUEADO
|
||||
|
||||
FROM
|
||||
ALBARANES_CLIENTE
|
||||
LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_CLIENTE.ID_CLIENTE)
|
||||
INNER JOIN V_ALB_CLI_SITUACION ON (V_ALB_CLI_SITUACION.ID = ALBARANES_CLIENTE.ID)
|
||||
INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_CLIENTE.ID_CLIENTE)
|
||||
LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = ALBARANES_CLIENTE.ID_PEDIDO)
|
||||
LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = ALBARANES_CLIENTE.ID_FACTURA)
|
||||
LEFT OUTER JOIN V_ALB_CLI_SITUACION ON (V_ALB_CLI_SITUACION.ID = ALBARANES_CLIENTE.ID)
|
||||
LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_CLIENTE.ID_ALMACEN)
|
||||
LEFT OUTER JOIN ALBARANES_CLIENTE ALB_DEV ON (ALB_DEV.ID = ALBARANES_CLIENTE.ID_ALBARAN_DEV)
|
||||
LEFT OUTER JOIN FACTURAS_CLIENTE FAC_CLI_ALB_DEV ON (FAC_CLI_ALB_DEV.ID = ALB_DEV.ID_FACTURA)
|
||||
LEFT OUTER JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = ALBARANES_CLIENTE.ID_CLIENTE)
|
||||
LEFT OUTER JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
|
||||
LEFT JOIN IMPRESIONES ON ((IMPRESIONES.ID_TABLA = ALBARANES_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'ALBARANESCLIENTE'))
|
||||
LEFT JOIN REGISTRO_CORREOS ON ((REGISTRO_CORREOS.ID_TABLA = ALBARANES_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'ALBARANESCLIENTE'))
|
||||
;
|
||||
|
||||
|
||||
@ -1435,6 +1478,10 @@ CREATE VIEW V_ALBARANES_PROVEEDOR(
|
||||
REFERENCIA,
|
||||
REFERENCIA_PROVEEDOR,
|
||||
TIPO,
|
||||
ID_ALBARAN_DEV,
|
||||
REFERENCIA_ALB_DEV,
|
||||
ID_FAC_ALB_DEV,
|
||||
REFERENCIA_FAC_ALB_DEV,
|
||||
ID_ALMACEN,
|
||||
TIPO_ALMACEN,
|
||||
NOMBRE_ALMACEN,
|
||||
@ -1464,8 +1511,8 @@ CREATE VIEW V_ALBARANES_PROVEEDOR(
|
||||
FECHA_MODIFICACION,
|
||||
USUARIO,
|
||||
ID_FORMA_PAGO,
|
||||
ID_ALBARAN,
|
||||
REFERENCIA_ALBARAN)
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT
|
||||
ALBARANES_PROVEEDOR.ID,
|
||||
@ -1478,6 +1525,10 @@ SELECT
|
||||
ALBARANES_PROVEEDOR.REFERENCIA,
|
||||
ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR,
|
||||
ALBARANES_PROVEEDOR.TIPO,
|
||||
ALBARANES_PROVEEDOR.ID_ALBARAN_DEV,
|
||||
ALB_DEV.REFERENCIA,
|
||||
ALB_DEV.ID_FACTURA,
|
||||
FAC_PROV_ALB_DEV.REFERENCIA,
|
||||
ALBARANES_PROVEEDOR.ID_ALMACEN,
|
||||
ALMACENES.TIPO_ALMACEN,
|
||||
ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
|
||||
@ -1507,16 +1558,23 @@ SELECT
|
||||
ALBARANES_PROVEEDOR.FECHA_MODIFICACION,
|
||||
ALBARANES_PROVEEDOR.USUARIO,
|
||||
ALBARANES_PROVEEDOR.ID_FORMA_PAGO,
|
||||
ALBARANES_PROVEEDOR.ID_ALBARAN,
|
||||
ALB2.REFERENCIA AS REFERENCIA_ALBARAN
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
FROM
|
||||
ALBARANES_PROVEEDOR
|
||||
INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR)
|
||||
LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB_DEV ON (ALB_DEV.ID = ALBARANES_PROVEEDOR.ID_ALBARAN_DEV)
|
||||
LEFT OUTER JOIN FACTURAS_PROVEEDOR FAC_PROV_ALB_DEV ON (FAC_PROV_ALB_DEV.ID = ALB_DEV.ID_FACTURA)
|
||||
LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA)
|
||||
LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_PEDIDO)
|
||||
LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA)
|
||||
LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_PROVEEDOR.ID_ALMACEN)
|
||||
LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB2 ON (ALB2.ID = ALBARANES_PROVEEDOR.ID_ALBARAN)
|
||||
;
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = ALBARANES_PROVEEDOR.ID) AND (IMPRESIONES.TABLA = 'ALBARANESPROVEEDOR'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = ALBARANES_PROVEEDOR.ID) AND (REGISTRO_CORREOS.TABLA = 'ALBARANESPROVEEDOR'))
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1546,9 +1604,48 @@ FROM ALMACENES
|
||||
WHERE ALMACENES.TIPO_ALMACEN = 'ALMACEN'
|
||||
;
|
||||
|
||||
/* Para el caso de tener un £nico proveedor*/
|
||||
CREATE VIEW V_ARTICULOS(
|
||||
ID,
|
||||
ID_EMPRESA,
|
||||
REFERENCIA,
|
||||
DESCRIPCION,
|
||||
FAMILIA,
|
||||
IMAGEN,
|
||||
COMISIONABLE,
|
||||
FECHA_ALTA,
|
||||
FECHA_MODIFICACION,
|
||||
USUARIO,
|
||||
REFERENCIA_PROV,
|
||||
PRECIO_COSTE,
|
||||
PRECIO_PORTE,
|
||||
DESCUENTO,
|
||||
PRECIO_NETO,
|
||||
INVENTARIABLE,
|
||||
ID_PROVEEDOR,
|
||||
NOMBRE_PROVEEDOR,
|
||||
ELIMINADO,
|
||||
TIENDA_WEB)
|
||||
AS
|
||||
SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION,
|
||||
ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA,
|
||||
ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO,
|
||||
ARTICULOS.REFERENCIA_PROV,
|
||||
ARTICULOS.PRECIO_COSTE,
|
||||
ARTICULOS.PRECIO_PORTE,
|
||||
ARTICULOS.DESCUENTO,
|
||||
ARTICULOS.PRECIO_NETO,
|
||||
ARTICULOS.INVENTARIABLE,
|
||||
ARTICULOS.ID_PROVEEDOR,
|
||||
CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR,
|
||||
ARTICULOS.ELIMINADO, ARTICULOS.TIENDA_WEB
|
||||
FROM ARTICULOS
|
||||
LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS.ID_PROVEEDOR)
|
||||
WHERE (ARTICULOS.ELIMINADO = 0)
|
||||
;
|
||||
|
||||
|
||||
/* View: V_ARTICULOS_PARA_COMPRA */
|
||||
/* En el caso de tener varios proveedores para un mismo articulo
|
||||
View: V_ARTICULOS_PARA_COMPRA */
|
||||
CREATE VIEW V_ARTICULOS_PARA_COMPRA(
|
||||
ID,
|
||||
ID_EMPRESA,
|
||||
@ -1610,7 +1707,8 @@ WHERE (ARTICULOS.ELIMINADO = 0)
|
||||
|
||||
|
||||
|
||||
/* View: V_ARTICULOS_PVP_MAX */
|
||||
/* En el caso de tener varios proveedores para un mismo articulo
|
||||
View: V_ARTICULOS_PVP_MAX */
|
||||
CREATE VIEW V_ARTICULOS_PVP_MAX(
|
||||
ID_ARTICULO,
|
||||
PRECIO_PVP_VENTA,
|
||||
@ -1623,8 +1721,8 @@ group by 1
|
||||
;
|
||||
|
||||
|
||||
|
||||
/* View: V_ARTICULOS_PARA_VENTA */
|
||||
/* En el caso de tener varios proveedores para un mismo articulo
|
||||
View: V_ARTICULOS_PARA_VENTA */
|
||||
CREATE VIEW V_ARTICULOS_PARA_VENTA(
|
||||
ID,
|
||||
ID_EMPRESA,
|
||||
@ -1646,12 +1744,13 @@ CREATE VIEW V_ARTICULOS_PARA_VENTA(
|
||||
ELIMINADO,
|
||||
FABRICANTE,
|
||||
REFERENCIA_FABR,
|
||||
TIENDA_WEB,
|
||||
PARAM_MARGEN,
|
||||
PRECIO_PVP_VENTA,
|
||||
TIEMPO,
|
||||
PARAM_TIEMPO,
|
||||
MANO_OBRA,
|
||||
PRECIO_PVP_TOTAL)
|
||||
PRECIO_PVP_TOTAL)
|
||||
AS
|
||||
SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION,
|
||||
ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN,
|
||||
@ -1668,6 +1767,7 @@ SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCR
|
||||
ARTICULOS.INVENTARIABLE,
|
||||
ARTICULOS.ELIMINADO,
|
||||
ARTICULOS.FABRICANTE,
|
||||
ARTICULOS.TIENDA_WEB,
|
||||
ARTICULOS.REFERENCIA_FABR,
|
||||
ARTICULOS.PARAM_MARGEN,
|
||||
V_ARTICULOS_PVP_MAX.PRECIO_PVP_VENTA,
|
||||
@ -1892,7 +1992,7 @@ SELECT V_CONTACTOS.ID,
|
||||
AGENTES_DATOS.FECHA_BAJA,
|
||||
AGENTES_DATOS.CAUSA_BAJA
|
||||
FROM V_CONTACTOS
|
||||
INNER JOIN AGENTES_DATOS ON (AGENTES_DATOS.ID_AGENTE = V_CONTACTOS.ID)
|
||||
LEFT JOIN AGENTES_DATOS ON (AGENTES_DATOS.ID_AGENTE = V_CONTACTOS.ID)
|
||||
WHERE V_CONTACTOS.ID_CATEGORIA = 3
|
||||
;
|
||||
|
||||
@ -2157,7 +2257,9 @@ CREATE VIEW V_FACTURAS_CLIENTE(
|
||||
ID_AGENTE,
|
||||
REFERENCIA_COMISION,
|
||||
RETENCION,
|
||||
IMPORTE_RETENCION)
|
||||
IMPORTE_RETENCION,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT FACTURAS_CLIENTE.ID,
|
||||
FACTURAS_CLIENTE.ID_EMPRESA,
|
||||
@ -2198,15 +2300,22 @@ SELECT FACTURAS_CLIENTE.ID,
|
||||
CLIENTES_DATOS.ID_AGENTE,
|
||||
COMISIONES_LIQUIDADAS.REFERENCIA,
|
||||
FACTURAS_CLIENTE.RETENCION,
|
||||
FACTURAS_CLIENTE.IMPORTE_RETENCION
|
||||
FACTURAS_CLIENTE.IMPORTE_RETENCION,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
|
||||
FROM V_FAC_CLI_SITUACION
|
||||
LEFT JOIN FACTURAS_CLIENTE
|
||||
ON (FACTURAS_CLIENTE.ID = V_FAC_CLI_SITUACION.ID_FACTURA)
|
||||
LEFT JOIN COMISIONES_LIQUIDADAS
|
||||
ON (COMISIONES_LIQUIDADAS.ID = FACTURAS_CLIENTE.ID_COMISION_LIQUIDADA)
|
||||
LEFT JOIN CLIENTES_DATOS
|
||||
ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE);
|
||||
;
|
||||
ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE)
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = FACTURAS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'FACTURASCLIENTE'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = FACTURAS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'FACTURASCLIENTE'))
|
||||
;
|
||||
|
||||
|
||||
/* View: V_FACTURAS_PROVEEDOR */
|
||||
@ -2243,7 +2352,9 @@ CREATE VIEW V_FACTURAS_PROVEEDOR(
|
||||
ID_TIPO_IVA,
|
||||
IMPORTE_NETO,
|
||||
IMPORTE_PORTE,
|
||||
DATOS_BANCARIOS)
|
||||
DATOS_BANCARIOS,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT FACTURAS_PROVEEDOR.ID,
|
||||
FACTURAS_PROVEEDOR.ID_EMPRESA,
|
||||
@ -2277,16 +2388,21 @@ SELECT FACTURAS_PROVEEDOR.ID,
|
||||
FACTURAS_PROVEEDOR.ID_TIPO_IVA,
|
||||
FACTURAS_PROVEEDOR.IMPORTE_NETO,
|
||||
FACTURAS_PROVEEDOR.IMPORTE_PORTE,
|
||||
FACTURAS_PROVEEDOR.DATOS_BANCARIOS
|
||||
FACTURAS_PROVEEDOR.DATOS_BANCARIOS,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
FROM V_FAC_PRO_SITUACION
|
||||
LEFT JOIN FACTURAS_PROVEEDOR
|
||||
ON (FACTURAS_PROVEEDOR.ID = V_FAC_PRO_SITUACION.ID_FACTURA)
|
||||
LEFT JOIN PROVEEDORES_DATOS
|
||||
ON (PROVEEDORES_DATOS.ID_PROVEEDOR = FACTURAS_PROVEEDOR.ID_PROVEEDOR)
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = FACTURAS_PROVEEDOR.ID) AND (IMPRESIONES.TABLA = 'FACTURASPROVEEDOR'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = FACTURAS_PROVEEDOR.ID) AND (REGISTRO_CORREOS.TABLA = 'FACTURASPROVEEDOR'))
|
||||
;
|
||||
|
||||
|
||||
|
||||
/* View: V_HIS_MOV_ALB_CLI */
|
||||
CREATE VIEW V_HIS_MOV_ALB_CLI(
|
||||
FECHA,
|
||||
@ -3037,7 +3153,9 @@ CREATE VIEW V_PEDIDOS_PROVEEDOR(
|
||||
IMPORTE_IVA,
|
||||
ID_FORMA_PAGO,
|
||||
ID_FACTURA,
|
||||
REF_FACTURA_PROV)
|
||||
REF_FACTURA_PROV,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT
|
||||
PEDIDOS_PROVEEDOR.ID,
|
||||
@ -3081,7 +3199,9 @@ SELECT
|
||||
PEDIDOS_PROVEEDOR.IMPORTE_IVA,
|
||||
PEDIDOS_PROVEEDOR.ID_FORMA_PAGO,
|
||||
PEDIDOS_PROVEEDOR.ID_FACTURA,
|
||||
FACTURAS_PROVEEDOR.REFERENCIA
|
||||
FACTURAS_PROVEEDOR.REFERENCIA,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
|
||||
FROM
|
||||
PEDIDOS_PROVEEDOR
|
||||
@ -3091,6 +3211,10 @@ FROM
|
||||
LEFT OUTER JOIN ALMACENES OBRAS ON (OBRAS.ID = PEDIDOS_PROVEEDOR.ID_OBRA)
|
||||
LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE)
|
||||
LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = PEDIDOS_PROVEEDOR.ID_FACTURA)
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = PEDIDOS_PROVEEDOR.ID) AND (IMPRESIONES.TABLA = 'PEDIDOSPROVEEDOR'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = PEDIDOS_PROVEEDOR.ID) AND (REGISTRO_CORREOS.TABLA = 'PEDIDOSPROVEEDOR'))
|
||||
;
|
||||
|
||||
|
||||
@ -3321,9 +3445,15 @@ CREATE VIEW V_RECIBOS_CLIENTE(
|
||||
POBLACION_CLIENTE,
|
||||
CODIGO_POSTAL_CLIENTE,
|
||||
PROVINCIA_CLIENTE,
|
||||
ENTIDAD_CLIENTE,
|
||||
SUCURSAL_CLIENTE,
|
||||
DC_CLIENTE,
|
||||
CUENTA_CLIENTE,
|
||||
FECHA_ALTA,
|
||||
FECHA_MODIFICACION,
|
||||
USUARIO)
|
||||
USUARIO,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT RECIBOS_CLIENTE.ID,
|
||||
RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO,
|
||||
@ -3344,10 +3474,14 @@ SELECT RECIBOS_CLIENTE.ID,
|
||||
FACTURAS_CLIENTE.ID_EMPRESA, FACTURAS_CLIENTE.DATOS_BANCARIOS,
|
||||
|
||||
CONTACTOS.ID as ID_CLIENTE, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, CONTACTOS.CALLE, CONTACTOS.POBLACION, CONTACTOS.CODIGO_POSTAL, CONTACTOS.PROVINCIA,
|
||||
CONTACTOS_DATOS_BANCO.ENTIDAD, CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA,
|
||||
|
||||
RECIBOS_CLIENTE.FECHA_ALTA,
|
||||
RECIBOS_CLIENTE.FECHA_MODIFICACION,
|
||||
RECIBOS_CLIENTE.USUARIO
|
||||
RECIBOS_CLIENTE.USUARIO,
|
||||
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
|
||||
FROM RECIBOS_CLIENTE
|
||||
LEFT JOIN V_REC_CLI_SITUACION
|
||||
@ -3358,6 +3492,8 @@ LEFT JOIN FORMAS_PAGO
|
||||
ON (FORMAS_PAGO.ID = FACTURAS_CLIENTE.ID_FORMA_PAGO)
|
||||
LEFT JOIN CONTACTOS
|
||||
ON (CONTACTOS.ID = FACTURAS_CLIENTE.ID_CLIENTE)
|
||||
LEFT JOIN CONTACTOS_DATOS_BANCO
|
||||
ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID)
|
||||
LEFT JOIN REMESAS_CLIENTE
|
||||
ON (REMESAS_CLIENTE.ID = RECIBOS_CLIENTE.ID_REMESA)
|
||||
LEFT JOIN V_REC_CLI_COMPENSADOS
|
||||
@ -3366,6 +3502,10 @@ LEFT JOIN RECIBOS_CLIENTE RECIBO_COMPENSADO1
|
||||
ON (RECIBO_COMPENSADO1.ID = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO)
|
||||
LEFT JOIN V_REC_CLI_SITUACION RECIBO_COMPENSADO2
|
||||
ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO)
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = RECIBOS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'RECIBOSCLIENTE'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = RECIBOS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'RECIBOSCLIENTE'))
|
||||
;
|
||||
|
||||
/* View: V_RECIBOS_PROVEEDOR */
|
||||
@ -3395,6 +3535,10 @@ CREATE VIEW V_RECIBOS_PROVEEDOR(
|
||||
ID_PROVEEDOR,
|
||||
NOMBRE_PROVEEDOR,
|
||||
NIF_CIF_PROVEEDOR,
|
||||
ENTIDAD_PROVEEDOR,
|
||||
SUCURSAL_PROVEEDOR,
|
||||
DC_PROVEEDOR,
|
||||
CUENTA_PROVEEDOR,
|
||||
FECHA_ALTA,
|
||||
FECHA_MODIFICACION,
|
||||
USUARIO)
|
||||
@ -3420,6 +3564,7 @@ SELECT RECIBOS_PROVEEDOR.ID,
|
||||
FACTURAS_PROVEEDOR.ID_EMPRESA, FACTURAS_PROVEEDOR.DATOS_BANCARIOS,
|
||||
|
||||
CONTACTOS.ID as ID_PROVEEDOR, CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF,
|
||||
CONTACTOS_DATOS_BANCO.ENTIDAD, CONTACTOS_DATOS_BANCO.SUCURSAL, CONTACTOS_DATOS_BANCO.DC, CONTACTOS_DATOS_BANCO.CUENTA,
|
||||
|
||||
RECIBOS_PROVEEDOR.FECHA_ALTA,
|
||||
RECIBOS_PROVEEDOR.FECHA_MODIFICACION,
|
||||
@ -3434,6 +3579,8 @@ LEFT JOIN FORMAS_PAGO
|
||||
ON (FORMAS_PAGO.ID = FACTURAS_PROVEEDOR.ID_FORMA_PAGO)
|
||||
LEFT JOIN CONTACTOS
|
||||
ON (CONTACTOS.ID = FACTURAS_PROVEEDOR.ID_PROVEEDOR)
|
||||
LEFT JOIN CONTACTOS_DATOS_BANCO
|
||||
ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID)
|
||||
LEFT JOIN REMESAS_PROVEEDOR
|
||||
ON (REMESAS_PROVEEDOR.ID = RECIBOS_PROVEEDOR.ID_REMESA)
|
||||
LEFT JOIN V_REC_PRO_COMPENSADOS
|
||||
@ -3462,6 +3609,7 @@ CREATE VIEW V_REMESAS_CLIENTE(
|
||||
CUENTA,
|
||||
SUFIJO_N19,
|
||||
SUFIJO_N58,
|
||||
NUM_COPIAS,
|
||||
IMPORTE_TOTAL)
|
||||
AS
|
||||
SELECT
|
||||
@ -3482,6 +3630,7 @@ SELECT
|
||||
EMPRESAS_DATOS_BANCO.CUENTA,
|
||||
EMPRESAS_DATOS_BANCO.SUFIJO_N19,
|
||||
EMPRESAS_DATOS_BANCO.SUFIJO_N58,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
SUM(COALESCE(RECIBOS_CLIENTE.IMPORTE,0) + COALESCE(RECIBOS_CLIENTE.OTROS_GASTOS,0) + COALESCE(V_REC_CLI_COMPENSADOS.IMPORTE_TOTAL_COMPENSADO,0)) as IMPORTE_TOTAL
|
||||
|
||||
FROM
|
||||
@ -3489,7 +3638,8 @@ FROM
|
||||
LEFT OUTER JOIN EMPRESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_CLIENTE.ID_DATOS_BANCO)
|
||||
LEFT OUTER JOIN RECIBOS_CLIENTE ON (RECIBOS_CLIENTE.ID_REMESA = REMESAS_CLIENTE.ID)
|
||||
LEFT OUTER JOIN V_REC_CLI_COMPENSADOS ON (V_REC_CLI_COMPENSADOS.ID_RECIBO = RECIBOS_CLIENTE.ID)
|
||||
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
|
||||
LEFT JOIN IMPRESIONES ON ((IMPRESIONES.ID_TABLA = REMESAS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'REMESASCLIENTE'))
|
||||
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
|
||||
;
|
||||
|
||||
CREATE VIEW V_REMESAS_PROVEEDOR(
|
||||
@ -3540,10 +3690,389 @@ FROM
|
||||
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*Agrupa los artículos de un mismo pedido (ya que en un pedido puede existir varias lineas con el mismo artículo).
|
||||
Se quitan todos los artículos que no tengamos en catálogo (ID_ARTICULO nulo, lineas de detalle libres) -> esta premisa la cambiamos para que
|
||||
no se falsee la situación de los pedidos, asi pues todo articulo que no este en el catálogo lo pondremos con ID_ARTICULO 0.
|
||||
Se quitan también aquellos que no seán inventariables -> esta premisa nos falsearía la situacion de los pedidos*/
|
||||
|
||||
CREATE VIEW V_PED_CLI_DETALLES(
|
||||
ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
CANTIDAD)
|
||||
AS
|
||||
SELECT PEDIDOS_CLIENTE_DETALLES.ID_PEDIDO,
|
||||
COALESCE(PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO, 0),
|
||||
SUM(COALESCE(PEDIDOS_CLIENTE_DETALLES.CANTIDAD, 0)) AS CANTIDAD
|
||||
|
||||
FROM PEDIDOS_CLIENTE_DETALLES
|
||||
|
||||
/*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos
|
||||
LEFT JOIN ARTICULOS
|
||||
ON (PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)
|
||||
|
||||
WHERE (PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO is not null)
|
||||
AND (ARTICULOS.INVENTARIABLE = 1)
|
||||
*/
|
||||
|
||||
GROUP BY PEDIDOS_CLIENTE_DETALLES.ID_PEDIDO,
|
||||
PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO;
|
||||
|
||||
/*Agrupa todos los artículos de un pedido por situacion (a partir de albaranes de cliente) de cada uno de los pedidos asociados en los albaranes existentes*/
|
||||
/*No le ponemos el almacen donde salió o va a salir ya que un mismo pedido podría tener varios albaranes con distintos almacenes de origen*/
|
||||
/*Aquellos articulos que no tengan ID_PEDIDO es porque el albarán al que pertenecen no tiene pedido asociado por ello no los tendremos en cuenta*/
|
||||
|
||||
CREATE VIEW V_PED_CLI_ART_SITUACION(
|
||||
ID_PEDIDO,
|
||||
SITUACION,
|
||||
ID_ARTICULO,
|
||||
CANTIDAD)
|
||||
AS
|
||||
SELECT ID_PEDIDO, SITUACION, ID_ARTICULO, SUM(CANTIDAD) AS CANTIDAD
|
||||
FROM V_ALB_CLI_DETALLES
|
||||
WHERE (ID_PEDIDO is not null)
|
||||
GROUP BY ID_PEDIDO,
|
||||
SITUACION,
|
||||
ID_ARTICULO;
|
||||
|
||||
|
||||
/*Nos desglosa las cantidades del artículo*/
|
||||
|
||||
CREATE VIEW V_PED_CLI_ART_SITUACION_CANT(
|
||||
ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
CANTIDAD_RESERVADA,
|
||||
CANTIDAD_ENVIADA,
|
||||
CANTIDAD_SERVIDA)
|
||||
AS
|
||||
SELECT ID_PEDIDO, ID_ARTICULO,
|
||||
COALESCE((CASE SITUACION when 'PENDIENTE' THEN CANTIDAD END), 0) as CANTIDAD_RESERVADA,
|
||||
COALESCE((CASE SITUACION when 'ENVIADO' THEN CANTIDAD END), 0) as CANTIDAD_ENVIADA,
|
||||
COALESCE((CASE SITUACION when 'SERVIDO' THEN CANTIDAD END), 0) as CANTIDAD_SERVIDA
|
||||
FROM V_PED_CLI_ART_SITUACION;
|
||||
|
||||
|
||||
/*Al igual que en la parte de proveedores, no hacemos LEFT JOIN entre V_PED_CLI_DETALLES y V_PED_CLI_ART_SITUACION_CANT,*/
|
||||
/*porque por cada tupla de la primera repetiría la consulta de la segunda disparando tiempos, por ello teniendo las*/
|
||||
/*dos vistas ejecutadas hacemos una union obteniendo todos los artículos del pedido, tanto recibidos como pendientes,*/
|
||||
/*luego haremos la agrupación sobre este resultado*/
|
||||
|
||||
CREATE VIEW V_PED_CLI_ARTICULOS_AUX(
|
||||
ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
CANTIDAD_PEDIDA,
|
||||
CANTIDAD_RESERVADA,
|
||||
CANTIDAD_ENVIADA,
|
||||
CANTIDAD_SERVIDA)
|
||||
AS
|
||||
SELECT
|
||||
V_PED_CLI_DETALLES.ID_PEDIDO,
|
||||
V_PED_CLI_DETALLES.ID_ARTICULO,
|
||||
V_PED_CLI_DETALLES.CANTIDAD AS CANTIDAD_PEDIDA,
|
||||
0 AS CANTIDAD_RESERVADA,
|
||||
0 AS CANTIDAD_ENVIADA,
|
||||
0 AS CANTIDAD_SERVIDA
|
||||
FROM V_PED_CLI_DETALLES
|
||||
UNION ALL
|
||||
SELECT
|
||||
V_PED_CLI_ART_SITUACION_CANT.ID_PEDIDO,
|
||||
V_PED_CLI_ART_SITUACION_CANT.ID_ARTICULO,
|
||||
NULL AS CANTIDAD_PEDIDA,
|
||||
V_PED_CLI_ART_SITUACION_CANT.CANTIDAD_RESERVADA AS CANTIDAD_RESERVADA,
|
||||
V_PED_CLI_ART_SITUACION_CANT.CANTIDAD_ENVIADA AS CANTIDAD_ENVIADA,
|
||||
V_PED_CLI_ART_SITUACION_CANT.CANTIDAD_SERVIDA AS CANTIDAD_SERVIDA
|
||||
FROM V_PED_CLI_ART_SITUACION_CANT;
|
||||
|
||||
|
||||
/*A partir de la vista anterior obtenemos el estado de cada uno de los artículos del pedido de cliente*/
|
||||
/*Despreciamos aquellas tuplas cuya cantidad pedida sea null, porque son articulos añadidos en el albarán que*/
|
||||
/*no están en su pedido correspondiente por lo tanto no los tendremos en cuenta para saber si los articulos del*/
|
||||
/*pedido se han recibido todos. De todas formas no tiene mucho sentido este caso*/
|
||||
/*Esta vista nos determina el estado de cada uno de los artículos del pedido de cliente*/
|
||||
|
||||
CREATE VIEW V_PED_CLI_ARTICULOS(
|
||||
ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
CANTIDAD_PEDIDA,
|
||||
CANTIDAD_RESERVADA,
|
||||
CANTIDAD_ENVIADA,
|
||||
CANTIDAD_SERVIDA,
|
||||
CANTIDAD_PENDIENTE)
|
||||
AS
|
||||
SELECT ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
SUM(CANTIDAD_PEDIDA),
|
||||
SUM(CANTIDAD_RESERVADA) as CANTIDAD_RESERVADA,
|
||||
SUM(CANTIDAD_ENVIADA) as CANTIDAD_ENVIADA,
|
||||
SUM(CANTIDAD_SERVIDA) as CANTIDAD_SERVIDA,
|
||||
(SUM(CANTIDAD_PEDIDA) - (SUM(CANTIDAD_RESERVADA) +
|
||||
SUM(CANTIDAD_ENVIADA) +
|
||||
SUM(CANTIDAD_SERVIDA))) as CANTIDAD_PENDIENTE
|
||||
FROM V_PED_CLI_ARTICULOS_AUX
|
||||
GROUP BY ID_PEDIDO,
|
||||
ID_ARTICULO
|
||||
HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL;
|
||||
|
||||
/*Aqui tendremos todos los pedidos de cliente pendientes o en proceso*/
|
||||
CREATE VIEW V_PED_CLI_PENDIENTES_PROCESO(
|
||||
ID_PEDIDO)
|
||||
AS
|
||||
SELECT distinct V_PED_CLI_ARTICULOS.id_pedido
|
||||
FROM V_PED_CLI_ARTICULOS
|
||||
WHERE (V_PED_CLI_ARTICULOS.CANTIDAD_PEDIDA > V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA)
|
||||
;
|
||||
|
||||
/*Aqui tendremos todos los pedidos de cliente que tienen algun albaran relacionado*/
|
||||
CREATE VIEW V_PED_CLI_CON_ALBARANES(
|
||||
ID_PEDIDO)
|
||||
AS
|
||||
SELECT distinct ID_PEDIDO
|
||||
FROM (SELECT DISTINCT ALBARANES_CLIENTE_DETALLES.ID_PEDIDO, ALBARANES_CLIENTE_DETALLES.ID_ALBARAN
|
||||
FROM ALBARANES_CLIENTE_DETALLES)
|
||||
GROUP BY ID_PEDIDO
|
||||
having COUNT(ID_ALBARAN) > 0
|
||||
;
|
||||
|
||||
/*Aqui tendremos todos los pedidos de cliente en proceso*/
|
||||
CREATE VIEW V_PED_CLI_PROCESO(
|
||||
ID_PEDIDO)
|
||||
AS
|
||||
select v_ped_cli_pendientes_proceso.ID_PEDIDO
|
||||
from v_ped_cli_pendientes_proceso
|
||||
inner join v_ped_cli_con_albaranes on (v_ped_cli_con_albaranes.ID_PEDIDO = v_ped_cli_pendientes_proceso.ID_PEDIDO)
|
||||
;
|
||||
|
||||
CREATE VIEW V_PED_CLI_ART_SIN_ALBARAN(
|
||||
ID,
|
||||
ID_PEDIDO,
|
||||
ID_EMPRESA,
|
||||
REFERENCIA_PEDIDO,
|
||||
REFERENCIA_CLI_PEDIDO,
|
||||
FECHA_PEDIDO,
|
||||
FECHA_PREVISTA_PEDIDO,
|
||||
ID_CLIENTE,
|
||||
CALLE,
|
||||
CODIGO_POSTAL,
|
||||
POBLACION,
|
||||
PROVINCIA,
|
||||
PERSONA_CONTACTO,
|
||||
TELEFONO,
|
||||
IVA,
|
||||
ID_FORMA_PAGO,
|
||||
CLIENTE,
|
||||
ID_ARTICULO,
|
||||
FAMILIA,
|
||||
REFERENCIA,
|
||||
REFERENCIA_PROVEEDOR,
|
||||
DESCRIPCION,
|
||||
CANTIDAD_PEDIDA,
|
||||
CANTIDAD_RESERVADA,
|
||||
CANTIDAD_ENVIADA,
|
||||
CANTIDAD_SERVIDA,
|
||||
CANTIDAD_PENDIENTE,
|
||||
PRECIO_COSTE,
|
||||
DESCUENTO,
|
||||
PRECION_NETO)
|
||||
AS
|
||||
SELECT
|
||||
V_PED_CLI_ARTICULOS.ID_PEDIDO || 0 || V_PED_CLI_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_CLI_ARTICULOS.ID_PEDIDO,
|
||||
PEDIDOS_CLIENTE.ID_EMPRESA,
|
||||
PEDIDOS_CLIENTE.referencia,
|
||||
PEDIDOS_CLIENTE.referencia_cliente,
|
||||
PEDIDOS_CLIENTE.fecha_pedido,
|
||||
PEDIDOS_CLIENTE.fecha_prevista_envio,
|
||||
PEDIDOS_CLIENTE.id_cliente,
|
||||
PEDIDOS_CLIENTE.CALLE,
|
||||
PEDIDOS_CLIENTE.CODIGO_POSTAL,
|
||||
PEDIDOS_CLIENTE.POBLACION,
|
||||
PEDIDOS_CLIENTE.PROVINCIA,
|
||||
PEDIDOS_CLIENTE.PERSONA_CONTACTO,
|
||||
PEDIDOS_CLIENTE.TELEFONO,
|
||||
PEDIDOS_CLIENTE.IVA,
|
||||
PEDIDOS_CLIENTE.ID_FORMA_PAGO,
|
||||
CONTACTOS.nombre,
|
||||
V_PED_CLI_ARTICULOS.ID_ARTICULO,
|
||||
articulos.familia,
|
||||
articulos.referencia,
|
||||
articulos.referencia_prov,
|
||||
articulos.descripcion,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PEDIDA,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_RESERVADA,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_ENVIADA,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE,
|
||||
|
||||
|
||||
ARTICULOS.PRECIO_COSTE,
|
||||
CLIENTES_DTOS_PROVEEDORES.DESCUENTO,
|
||||
(ARTICULOS.PRECIO_COSTE * CLIENTES_DTOS_PROVEEDORES.DESCUENTO)/100 as PRECIO_NETO
|
||||
|
||||
from V_PED_CLI_ARTICULOS
|
||||
left join PEDIDOS_CLIENTE on (PEDIDOS_CLIENTE.id = V_PED_CLI_ARTICULOS.id_pedido)
|
||||
left join CONTACTOS on (contactos.id = PEDIDOS_CLIENTE.id_cliente)
|
||||
left join articulos on (articulos.id = V_PED_CLI_ARTICULOS.ID_ARTICULO)
|
||||
|
||||
LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES
|
||||
ON ((CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = ARTICULOS.ID_PROVEEDOR)
|
||||
AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE = contactos.id))
|
||||
|
||||
where cantidad_pendiente > 0;
|
||||
|
||||
/*Aqui tendremos la situacion de todos los pedidos, por lógica de grupos*/
|
||||
CREATE VIEW V_PED_CLI_SITUACION(
|
||||
ID_PEDIDO,
|
||||
SITUACION)
|
||||
AS
|
||||
select id_pedido,
|
||||
case when sum(enpro) = 3 then 'EN PROCESO'
|
||||
when sum(enpro) = 2 then 'PENDIENTE'
|
||||
when sum(enpro) = 1 then 'SERVIDO'
|
||||
end
|
||||
from
|
||||
(
|
||||
select id as id_pedido, 1 as ser, 1 as pend, 1 as enpro
|
||||
from pedidos_cliente
|
||||
|
||||
union
|
||||
|
||||
select id_pedido, 0 as ser, 1 as pend, 1 as enpro
|
||||
from v_ped_cli_pendientes_proceso
|
||||
|
||||
union
|
||||
|
||||
select id_pedido, 0 as ser, 0 as pend, 1 as enpro
|
||||
from v_ped_cli_proceso
|
||||
|
||||
)
|
||||
group by id_pedido
|
||||
;
|
||||
|
||||
CREATE VIEW V_PEDIDOS_CLIENTE(
|
||||
ID,
|
||||
ID_EMPRESA,
|
||||
ID_CLIENTE,
|
||||
ID_DIRECCION,
|
||||
NOMBRE,
|
||||
REFERENCIA,
|
||||
REFERENCIA_CLIENTE,
|
||||
SITUACION,
|
||||
FECHA_PEDIDO,
|
||||
CALLE,
|
||||
CODIGO_POSTAL,
|
||||
POBLACION,
|
||||
PROVINCIA,
|
||||
PERSONA_CONTACTO,
|
||||
TELEFONO,
|
||||
OBSERVACIONES,
|
||||
INCIDENCIAS,
|
||||
INCIDENCIAS_ACTIVAS,
|
||||
FECHA_ALTA,
|
||||
FECHA_MODIFICACION,
|
||||
USUARIO,
|
||||
IMPORTE_NETO,
|
||||
IMPORTE_PORTE,
|
||||
DESCUENTO,
|
||||
IMPORTE_DESCUENTO,
|
||||
BASE_IMPONIBLE,
|
||||
IVA,
|
||||
IMPORTE_IVA,
|
||||
IMPORTE_TOTAL,
|
||||
ID_FORMA_PAGO,
|
||||
REF_TIENDA_WEB,
|
||||
FECHA_PREVISTA_ENVIO,
|
||||
NUM_COPIAS,
|
||||
NUM_CORREOS)
|
||||
AS
|
||||
SELECT
|
||||
PEDIDOS_CLIENTE.ID,
|
||||
PEDIDOS_CLIENTE.ID_EMPRESA,
|
||||
PEDIDOS_CLIENTE.ID_CLIENTE,
|
||||
PEDIDOS_CLIENTE.ID_DIRECCION,
|
||||
CONTACTOS.NOMBRE,
|
||||
PEDIDOS_CLIENTE.REFERENCIA,
|
||||
PEDIDOS_CLIENTE.REFERENCIA_CLIENTE,
|
||||
TRIM(V_PED_CLI_SITUACION.SITUACION),
|
||||
PEDIDOS_CLIENTE.FECHA_PEDIDO,
|
||||
PEDIDOS_CLIENTE.CALLE,
|
||||
PEDIDOS_CLIENTE.CODIGO_POSTAL,
|
||||
PEDIDOS_CLIENTE.POBLACION,
|
||||
PEDIDOS_CLIENTE.PROVINCIA,
|
||||
PEDIDOS_CLIENTE.PERSONA_CONTACTO,
|
||||
PEDIDOS_CLIENTE.TELEFONO,
|
||||
PEDIDOS_CLIENTE.OBSERVACIONES,
|
||||
PEDIDOS_CLIENTE.INCIDENCIAS,
|
||||
PEDIDOS_CLIENTE.INCIDENCIAS_ACTIVAS,
|
||||
PEDIDOS_CLIENTE.FECHA_ALTA,
|
||||
PEDIDOS_CLIENTE.FECHA_MODIFICACION,
|
||||
PEDIDOS_CLIENTE.USUARIO,
|
||||
PEDIDOS_CLIENTE.IMPORTE_NETO,
|
||||
PEDIDOS_CLIENTE.IMPORTE_PORTE,
|
||||
PEDIDOS_CLIENTE.DESCUENTO,
|
||||
PEDIDOS_CLIENTE.IMPORTE_DESCUENTO,
|
||||
PEDIDOS_CLIENTE.BASE_IMPONIBLE,
|
||||
PEDIDOS_CLIENTE.IVA,
|
||||
PEDIDOS_CLIENTE.IMPORTE_IVA,
|
||||
PEDIDOS_CLIENTE.IMPORTE_TOTAL,
|
||||
PEDIDOS_CLIENTE.ID_FORMA_PAGO,
|
||||
PEDIDOS_CLIENTE.REF_TIENDA_WEB,
|
||||
PEDIDOS_CLIENTE.FECHA_PREVISTA_ENVIO,
|
||||
IMPRESIONES.NUM_COPIAS,
|
||||
REGISTRO_CORREOS.NUM_CORREOS
|
||||
FROM
|
||||
V_PED_CLI_SITUACION
|
||||
INNER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = V_PED_CLI_SITUACION.ID_PEDIDO)
|
||||
INNER JOIN CONTACTOS ON (PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID)
|
||||
LEFT JOIN IMPRESIONES
|
||||
ON ((IMPRESIONES.ID_TABLA = PEDIDOS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'PEDIDOSCLIENTE'))
|
||||
LEFT JOIN REGISTRO_CORREOS
|
||||
ON ((REGISTRO_CORREOS.ID_TABLA = PEDIDOS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'PEDIDOSCLIENTE'))
|
||||
;
|
||||
|
||||
CREATE VIEW V_PED_CLI_ART_PEND_PEDIR_PROV(
|
||||
ID_PEDIDO,
|
||||
ID_ARTICULO,
|
||||
CANT_PEDIDA_CLIENTE,
|
||||
ID_PROVEEDOR,
|
||||
CANT_PEDIDA_PROVEEDOR,
|
||||
CANT_PENDIENTE_PEDIR)
|
||||
AS
|
||||
SELECT
|
||||
V_PED_CLI_ARTICULOS.ID_PEDIDO,
|
||||
V_PED_CLI_ARTICULOS.ID_ARTICULO,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE AS CANT_PED_CLI,
|
||||
ARTICULOS.ID_PROVEEDOR,
|
||||
SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) AS CANT_PED_PROV,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE - SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) AS CANT_PEND_PEDIR
|
||||
FROM
|
||||
V_PED_CLI_ARTICULOS
|
||||
LEFT OUTER JOIN ARTICULOS ON (ARTICULOS.ID = V_PED_CLI_ARTICULOS.ID_ARTICULO)
|
||||
LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE = V_PED_CLI_ARTICULOS.ID_PEDIDO)
|
||||
LEFT OUTER JOIN V_PED_PROV_ARTICULOS ON
|
||||
((V_PED_PROV_ARTICULOS.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) AND
|
||||
(V_PED_PROV_ARTICULOS.ID_ARTICULO = V_PED_CLI_ARTICULOS.ID_ARTICULO))
|
||||
|
||||
WHERE (V_PED_CLI_ARTICULOS.ID_ARTICULO <> 0)
|
||||
AND (ARTICULOS.INVENTARIABLE = 1)
|
||||
|
||||
GROUP BY
|
||||
V_PED_CLI_ARTICULOS.ID_PEDIDO,
|
||||
V_PED_CLI_ARTICULOS.ID_ARTICULO,
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE,
|
||||
ARTICULOS.ID_PROVEEDOR
|
||||
HAVING
|
||||
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE - SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) > 0;
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/**** Primary Keys ****/
|
||||
/******************************************************************************/
|
||||
|
||||
ALTER TABLE IMPRESIONES ADD CONSTRAINT PK_IMPRESIONES PRIMARY KEY (ID);
|
||||
ALTER TABLE REGISTRO_CORREOS ADD CONSTRAINT PK_REGISTRO_CORREOS PRIMARY KEY (ID);
|
||||
ALTER TABLE AGENTES_COMISIONES ADD CONSTRAINT PK_AGENTES_COMISIONES PRIMARY KEY (ID);
|
||||
ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARAN_CLIENTE PRIMARY KEY (ID);
|
||||
ALTER TABLE ALBARANES_CLIENTE_DETALLES ADD CONSTRAINT PK_ALBARANES_CLIENTE_DETALLES PRIMARY KEY (ID);
|
||||
@ -3658,6 +4187,10 @@ ALTER TABLE TIENDA_WEB ADD CONSTRAINT FK_EMPRESAS_TIENDA_WEB FOREIGN KEY (ID_EMP
|
||||
/**** Indices ****/
|
||||
/******************************************************************************/
|
||||
|
||||
CREATE INDEX IMPRESIONES_IDX1 ON IMPRESIONES (ID_TABLA);
|
||||
CREATE INDEX IMPRESIONES_IDX2 ON IMPRESIONES (TABLA);
|
||||
CREATE INDEX REGISTRO_CORREOS_IDX1 ON REGISTRO_CORREOS (ID_TABLA);
|
||||
CREATE INDEX REGISTRO_CORREOS_IDX2 ON REGISTRO_CORREOS (TABLA);
|
||||
CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE);
|
||||
CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR);
|
||||
CREATE INDEX IDX_ALBARANES_CLIENTE1 ON ALBARANES_CLIENTE (ID_FORMA_PAGO);
|
||||
|
||||
BIN
Resources/Iconos/no_comisionable.png
Normal file
BIN
Resources/Iconos/no_comisionable.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 290 B |
BIN
Resources/logo.jpg
Normal file
BIN
Resources/logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
Reference in New Issue
Block a user