180 lines
4.9 KiB
Plaintext
180 lines
4.9 KiB
Plaintext
/*VISTAS*/
|
|
|
|
DROP VIEW V_FACTURAS_CLIENTE;
|
|
/*
|
|
DROP VIEW V_FAC_CLI_SITUACION;
|
|
DROP VIEW V_REC_FAC_CLI_COBRADOS;
|
|
DROP VIEW V_REC_FAC_CLI;
|
|
DROP VIEW V_RECIBOS_CLIENTE;
|
|
DROP VIEW V_REC_CLI_SITUACION;
|
|
*/
|
|
|
|
CREATE VIEW V_REC_CLI_SITUACION(
|
|
ID_RECIBO,
|
|
SITUACION)
|
|
AS
|
|
SELECT RECIBOS_CLIENTE.ID,
|
|
CASE WHEN (COUNT(PAGOS_CLIENTE.ID_RECIBO)=0) THEN 'PENDIENTE'
|
|
WHEN (MOD(COUNT(PAGOS_CLIENTE.ID_RECIBO), 2)=0) THEN 'DEVUELTO'
|
|
ELSE 'COBRADO'
|
|
END
|
|
FROM RECIBOS_CLIENTE
|
|
LEFT JOIN PAGOS_CLIENTE
|
|
ON (PAGOS_CLIENTE.ID_RECIBO = RECIBOS_CLIENTE.ID)
|
|
GROUP BY RECIBOS_CLIENTE.ID;
|
|
|
|
CREATE VIEW V_RECIBOS_CLIENTE(
|
|
ID,
|
|
REFERENCIA,
|
|
SITUACION,
|
|
ID_FACTURA,
|
|
ID_REMESA,
|
|
REFERENCIA_REMESA,
|
|
FECHA_VENCIMIENTO,
|
|
DESCRIPCION,
|
|
OBSERVACIONES,
|
|
IMPORTE,
|
|
OTROS_GASTOS,
|
|
FECHA_FACTURA,
|
|
FORMA_PAGO_FACTURA,
|
|
IMPORTE_FACTURA,
|
|
ID_EMPRESA,
|
|
NOMBRE_CLIENTE,
|
|
NIF_CIF_CLIENTE,
|
|
ENTIDAD_CLIENTE,
|
|
SUCURSAL_CLIENTE,
|
|
DC_CLIENTE,
|
|
CUENTA_CLIENTE,
|
|
FECHA_ALTA,
|
|
FECHA_MODIFICACION,
|
|
USUARIO)
|
|
AS
|
|
SELECT RECIBOS_CLIENTE.ID, RECIBOS_CLIENTE.REFERENCIA,
|
|
V_REC_CLI_SITUACION.SITUACION,
|
|
RECIBOS_CLIENTE.ID_FACTURA,
|
|
RECIBOS_CLIENTE.ID_REMESA, REMESAS_CLIENTE.REFERENCIA as REFERENCIA_REMESA,
|
|
RECIBOS_CLIENTE.FECHA_VENCIMIENTO, RECIBOS_CLIENTE.DESCRIPCION,
|
|
RECIBOS_CLIENTE.OBSERVACIONES, RECIBOS_CLIENTE.IMPORTE, RECIBOS_CLIENTE.OTROS_GASTOS,
|
|
|
|
FACTURAS_CLIENTE.FECHA_FACTURA, FORMAS_PAGO.DESCRIPCION, FACTURAS_CLIENTE.IMPORTE_TOTAL,
|
|
FACTURAS_CLIENTE.ID_EMPRESA,
|
|
|
|
CONTACTOS.NOMBRE, CONTACTOS.NIF_CIF, 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
|
|
|
|
FROM V_REC_CLI_SITUACION
|
|
LEFT JOIN RECIBOS_CLIENTE
|
|
ON (RECIBOS_CLIENTE.ID = V_REC_CLI_SITUACION.ID_RECIBO)
|
|
LEFT JOIN FACTURAS_CLIENTE
|
|
ON (FACTURAS_CLIENTE.ID = RECIBOS_CLIENTE.ID_FACTURA)
|
|
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);
|
|
|
|
|
|
CREATE VIEW V_REC_FAC_CLI(
|
|
ID_FACTURA,
|
|
NUM_RECIBOS)
|
|
AS
|
|
SELECT FACTURAS_CLIENTE.ID, COUNT(RECIBOS_CLIENTE.ID)
|
|
FROM FACTURAS_CLIENTE
|
|
LEFT JOIN RECIBOS_CLIENTE
|
|
ON (RECIBOS_CLIENTE.ID_FACTURA = FACTURAS_CLIENTE.ID)
|
|
GROUP BY FACTURAS_CLIENTE.ID;
|
|
|
|
CREATE VIEW V_REC_FAC_CLI_COBRADOS(
|
|
ID_FACTURA,
|
|
NUM_REC_COBRADOS)
|
|
AS
|
|
SELECT V_RECIBOS_CLIENTE.ID_FACTURA, COUNT(V_RECIBOS_CLIENTE.ID)
|
|
FROM V_RECIBOS_CLIENTE
|
|
WHERE (V_RECIBOS_CLIENTE.SITUACION = 'COBRADO')
|
|
GROUP BY V_RECIBOS_CLIENTE.ID_FACTURA;
|
|
|
|
|
|
CREATE VIEW V_FAC_CLI_SITUACION(
|
|
ID_FACTURA,
|
|
SITUACION)
|
|
AS
|
|
SELECT V_REC_FAC_CLI.ID_FACTURA,
|
|
CASE
|
|
WHEN ((V_REC_FAC_CLI.NUM_RECIBOS = 0)
|
|
OR (COALESCE (V_REC_FAC_CLI_COBRADOS.NUM_REC_COBRADOS,0) = 0)) THEN 'PENDIENTE'
|
|
WHEN (V_REC_FAC_CLI.NUM_RECIBOS = COALESCE (V_REC_FAC_CLI_COBRADOS.NUM_REC_COBRADOS, 0)) THEN 'PAGADA'
|
|
ELSE 'PARCIALMENTE PAGADA'
|
|
END
|
|
FROM V_REC_FAC_CLI
|
|
LEFT JOIN V_REC_FAC_CLI_COBRADOS
|
|
ON (V_REC_FAC_CLI_COBRADOS.ID_FACTURA = V_REC_FAC_CLI.ID_FACTURA);
|
|
|
|
|
|
CREATE VIEW V_FACTURAS_CLIENTE(
|
|
ID,
|
|
ID_EMPRESA,
|
|
REFERENCIA,
|
|
FECHA_FACTURA,
|
|
SITUACION,
|
|
BASE_IMPONIBLE,
|
|
DESCUENTO,
|
|
IMPORTE_DESCUENTO,
|
|
IVA,
|
|
IMPORTE_IVA,
|
|
RE,
|
|
IMPORTE_RE,
|
|
IMPORTE_TOTAL,
|
|
OBSERVACIONES,
|
|
ID_CLIENTE,
|
|
NIF_CIF,
|
|
NOMBRE,
|
|
CALLE,
|
|
POBLACION,
|
|
PROVINCIA,
|
|
CODIGO_POSTAL,
|
|
FECHA_ALTA,
|
|
FECHA_MODIFICACION,
|
|
USUARIO,
|
|
ID_FORMA_PAGO,
|
|
ID_TIPO_IVA,
|
|
IMPORTE_NETO,
|
|
IMPORTE_PORTE)
|
|
AS
|
|
SELECT FACTURAS_CLIENTE.ID,
|
|
FACTURAS_CLIENTE.ID_EMPRESA,
|
|
FACTURAS_CLIENTE.REFERENCIA,
|
|
FACTURAS_CLIENTE.FECHA_FACTURA,
|
|
V_FAC_CLI_SITUACION.SITUACION,
|
|
FACTURAS_CLIENTE.BASE_IMPONIBLE,
|
|
FACTURAS_CLIENTE.DESCUENTO,
|
|
FACTURAS_CLIENTE.IMPORTE_DESCUENTO,
|
|
FACTURAS_CLIENTE.IVA,
|
|
FACTURAS_CLIENTE.IMPORTE_IVA,
|
|
FACTURAS_CLIENTE.RE,
|
|
FACTURAS_CLIENTE.IMPORTE_RE,
|
|
FACTURAS_CLIENTE.IMPORTE_TOTAL,
|
|
FACTURAS_CLIENTE.OBSERVACIONES,
|
|
FACTURAS_CLIENTE.ID_CLIENTE,
|
|
FACTURAS_CLIENTE.NIF_CIF,
|
|
FACTURAS_CLIENTE.NOMBRE,
|
|
FACTURAS_CLIENTE.CALLE,
|
|
FACTURAS_CLIENTE.POBLACION,
|
|
FACTURAS_CLIENTE.PROVINCIA,
|
|
FACTURAS_CLIENTE.CODIGO_POSTAL,
|
|
FACTURAS_CLIENTE.FECHA_ALTA,
|
|
FACTURAS_CLIENTE.FECHA_MODIFICACION,
|
|
FACTURAS_CLIENTE.USUARIO,
|
|
FACTURAS_CLIENTE.ID_FORMA_PAGO,
|
|
FACTURAS_CLIENTE.ID_TIPO_IVA,
|
|
FACTURAS_CLIENTE.IMPORTE_NETO,
|
|
FACTURAS_CLIENTE.IMPORTE_PORTE
|
|
FROM V_FAC_CLI_SITUACION
|
|
LEFT JOIN FACTURAS_CLIENTE
|
|
ON (FACTURAS_CLIENTE.ID = V_FAC_CLI_SITUACION.ID_FACTURA); |