From 380c41f0142836761ad70195577597d564d1ad95 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 5 Sep 2008 15:08:29 +0000 Subject: [PATCH] =?UTF-8?q?Actualizaci=C3=B3n=20del=20script=20de=20la=20b?= =?UTF-8?q?ase=20de=20datos=20para=20hist=C3=B3rico=20de=20movimientos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@575 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Database/scripts/factuges.sql | 268 ++++++++++++++++++++++++++++------ 1 file changed, 223 insertions(+), 45 deletions(-) diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 25e43390..be567a85 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -1539,8 +1539,7 @@ MANO_OBRA, PRECIO_PVP_TOTAL, ID_ARTICULO) AS -SELECT ARTICULOS.ID, - ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, +SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, @@ -1777,40 +1776,40 @@ WHERE /* View: V_EMPLEADOS */ CREATE VIEW V_EMPLEADOS( -ID, -ID_CATEGORIA, -NIF_CIF, -NOMBRE, -PERSONA_CONTACTO, -CALLE, -POBLACION, -PROVINCIA, -CODIGO_POSTAL, -TELEFONO_1, -TELEFONO_2, -MOVIL_1, -MOVIL_2, -FAX, -EMAIL_1, -EMAIL_2, -PAGINA_WEB, -NOTAS, -FECHA_ALTA, -FECHA_MODIFICACION, -USUARIO, -ID_EMPRESA, -REFERENCIA, -FECHA_NACIMIENTO, -CATEGORIA, -FECHA_ALTA_EMPRESA, -FORMACION_BASE, -FORMACION_COMPLE, -FORMACION_RECIBIDA, -EXPERIENCIA, -CONTRATO, -DURACION, -FECHA_BAJA, -CAUSA_BAJA) + ID, + ID_CATEGORIA, + NIF_CIF, + NOMBRE, + PERSONA_CONTACTO, + CALLE, + POBLACION, + PROVINCIA, + CODIGO_POSTAL, + TELEFONO_1, + TELEFONO_2, + MOVIL_1, + MOVIL_2, + FAX, + EMAIL_1, + EMAIL_2, + PAGINA_WEB, + NOTAS, + FECHA_ALTA, + FECHA_MODIFICACION, + USUARIO, + ID_EMPRESA, + REFERENCIA, + FECHA_NACIMIENTO, + CATEGORIA, + FECHA_ALTA_EMPRESA, + FORMACION_BASE, + FORMACION_COMPLE, + FORMACION_RECIBIDA, + EXPERIENCIA, + CONTRATO, + DURACION, + FECHA_BAJA, + CAUSA_BAJA) AS SELECT V_CONTACTOS.ID, V_CONTACTOS.ID_CATEGORIA, @@ -1847,13 +1846,13 @@ SELECT V_CONTACTOS.ID, EMPLEADOS_DATOS.DURACION, EMPLEADOS_DATOS.FECHA_BAJA, EMPLEADOS_DATOS.CAUSA_BAJA - + FROM V_CONTACTOS INNER JOIN EMPLEADOS_DATOS ON (EMPLEADOS_DATOS.ID_EMPLEADO = V_CONTACTOS.ID) - WHERE V_CONTACTOS.ID_CATEGORIA = 3; + /* View: V_REC_FAC_CLI */ CREATE VIEW V_REC_FAC_CLI( ID_FACTURA, @@ -2494,6 +2493,7 @@ REFERENCIA, FAMILIA, DESCRIPCION, REFERENCIA_FAB, +UNIDAD_MEDIDA, STOCK, UNIDADES_ALMACEN, RESERVA, @@ -2508,6 +2508,7 @@ SELECT ID_ALMACEN, ARTICULOS.FAMILIA, ARTICULOS.DESCRIPCION, ARTICULOS.REFERENCIA_FABR, + ARTICULOS.UNIDAD_MEDIDA, /* COALESCE(ARTICULOS.PRECIO_NETO,0) as PRECIO_NETO,*/ (SUM(STOCK) - SUM(RESERVA)) as STOCK, SUM(STOCK) as UNIDADES_ALMACEN, @@ -2538,7 +2539,8 @@ GROUP BY ID_ALMACEN, ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.DESCRIPCION, - ARTICULOS.REFERENCIA_FABR + ARTICULOS.REFERENCIA_FABR, + ARTICULOS.UNIDAD_MEDIDA /* ARTICULOS.PRECIO_NETO*/; @@ -2569,8 +2571,8 @@ SELECT ALMACENES.ID, ALMACENES.ID_EMPRESA, ALMACENES.NOMBRE, ALMACENES.CALLE, ALMACENES.PROVINCIA, ALMACENES.POBLACION, ALMACENES.CODIGO_POSTAL, ALMACENES.TELEFONO, ALMACENES.MOVIL, ALMACENES.FAX, ALMACENES.PERSONA_CONTACTO, ALMACENES.OBSERVACIONES, OBRAS_DATOS.ID_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, - OBRAS_DATOS.ID_SUBCONTRATA, SUBCONTRATAS.NOMBRE AS NOMBRE_SUBCONTRATA, - ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, ALMACENES.USUARIO + OBRAS_DATOS.ID_SUBCONTRATA, SUBCONTRATAS.NOMBRE AS NOMBRE_SUBCONTRATA, + ALMACENES.FECHA_ALTA, ALMACENES.FECHA_MODIFICACION, ALMACENES.USUARIO FROM ALMACENES INNER JOIN OBRAS_DATOS ON (OBRAS_DATOS.ID_ALMACEN = ALMACENES.ID) LEFT OUTER JOIN CONTACTOS AS CLIENTES ON (CLIENTES.ID = OBRAS_DATOS.ID_CLIENTE) @@ -2578,8 +2580,6 @@ LEFT OUTER JOIN CONTACTOS AS SUBCONTRATAS ON (SUBCONTRATAS.ID = OBRAS_DATOS.ID_S WHERE ALMACENES.TIPO_ALMACEN = 'OBRA'; - - /* View: V_PED_PROV_SITUACION */ CREATE VIEW V_PED_PROV_SITUACION( ID_PEDIDO, @@ -2596,7 +2596,6 @@ GROUP BY V_PED_PROV_ARTICULOS.ID_PEDIDO ; - /* View: V_PROVEEDORES */ CREATE VIEW V_PROVEEDORES( ID, @@ -3042,6 +3041,186 @@ ON (RECIBO_COMPENSADO2.ID_RECIBO = RECIBOS_PROVEEDOR.ID_RECIBO_COMPENSADO) ; +CREATE VIEW V_HIS_MOV_ALB_CLI( +FECHA, +ID_ALMACEN, +ID_ARTICULO, +TIPO_MOVIMIENTO, +CANTIDAD, +CAUSA) + AS +SELECT + ALBARANES_CLIENTE.FECHA_ALBARAN, + V_ALB_CLI_DETALLES.ID_ALMACEN, + V_ALB_CLI_DETALLES.ID_ARTICULO, + CASE WHEN V_ALB_CLI_DETALLES.CANTIDAD < 0 THEN 'Entrada' + ELSE 'Salida' END, + (-1)*V_ALB_CLI_DETALLES.CANTIDAD, + CASE WHEN ALBARANES_CLIENTE.IMPORTE_TOTAL < 0 THEN 'Orden de devolución de cliente ' || ALBARANES_CLIENTE.REFERENCIA + ELSE 'Albarán de cliente ' || ALBARANES_CLIENTE.REFERENCIA END + +FROM V_ALB_CLI_DETALLES +LEFT JOIN ALBARANES_CLIENTE +ON (V_ALB_CLI_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID) + +WHERE (V_ALB_CLI_DETALLES.ID_ALMACEN IS NOT NULL) +AND (V_ALB_CLI_DETALLES.SITUACION in ('ENVIADO', 'SERVIDO')) +; + + +CREATE VIEW V_HIS_MOV_ALB_PROV( +FECHA, +ID_ALMACEN, +ID_ARTICULO, +TIPO_MOVIMIENTO, +CANTIDAD, +CAUSA) + AS +SELECT + ALBARANES_PROVEEDOR.FECHA_ALBARAN, + V_ALB_PROV_DETALLES.ID_ALMACEN, + V_ALB_PROV_DETALLES.ID_ARTICULO, + CASE WHEN V_ALB_PROV_DETALLES.CANTIDAD < 0 THEN 'Salida' + ELSE 'Entrada' END, + V_ALB_PROV_DETALLES.CANTIDAD, + CASE WHEN ALBARANES_PROVEEDOR.IMPORTE_TOTAL < 0 THEN 'Orden de devolución ' || ALBARANES_PROVEEDOR.REFERENCIA + ELSE 'Albarán de proveedor ' || ALBARANES_PROVEEDOR.REFERENCIA END + + +FROM V_ALB_PROV_DETALLES +LEFT JOIN ALBARANES_PROVEEDOR +ON (V_ALB_PROV_DETALLES.ID_ALBARAN = ALBARANES_PROVEEDOR.ID) +WHERE (V_ALB_PROV_DETALLES.ID_ALMACEN IS NOT NULL) +;; +; + + +CREATE VIEW V_HIS_MOV_REGULARIZACIONES( +FECHA, +ID_ALMACEN, +ID_ARTICULO, +TIPO_MOVIMIENTO, +CANTIDAD, +CAUSA) + AS +SELECT FECHA_MOVIMIENTO, ID_ALMACEN, ID_ARTICULO, +CASE WHEN TIPO = 'E' THEN 'Entrada' +ELSE 'Salida' END, +CASE WHEN TIPO = 'S' THEN (-1)* CANTIDAD + ELSE CANTIDAD END, +'Regularización por - ' || CAUSA +FROM MOVIMIENTOS +; + + +CREATE VIEW V_HIS_MOV_AUX( +FECHA, +ID_ALMACEN, +ID_ARTICULO, +TIPO_MOVIMIENTO, +CANTIDAD, +CAUSA) + AS +SELECT + FECHA, + ID_ALMACEN, + ID_ARTICULO, + TIPO_MOVIMIENTO, + CANTIDAD, + CAUSA +FROM V_HIS_MOV_ALB_PROV +UNION ALL +SELECT + FECHA, + ID_ALMACEN, + ID_ARTICULO, + TIPO_MOVIMIENTO, + CANTIDAD, + CAUSA +FROM V_HIS_MOV_ALB_CLI +UNION ALL +SELECT + FECHA, + ID_ALMACEN, + ID_ARTICULO, + TIPO_MOVIMIENTO, + CANTIDAD, + CAUSA +FROM V_HIS_MOV_REGULARIZACIONES +; + + +CREATE VIEW V_HISTORICO_MOVIMIENTOS( + FECHA, + ID_ALMACEN, + ID_EMPRESA, + NOMBRE_ALMACEN, + ID_ARTICULO, + FAMILIA, + REFERENCIA, + UNIDAD_MEDIDA, + FABRICANTE, + REFERENCIA_FABR, + DESCRIPCION, + TIPO_MOVIMIENTO, + CANTIDAD, + CAUSA) + AS +SELECT + V_HIS_MOV_AUX.FECHA, + V_HIS_MOV_AUX.ID_ALMACEN, + ALMACENES.ID_EMPRESA, + ALMACENES.NOMBRE, + V_HIS_MOV_AUX.ID_ARTICULO, + ARTICULOS.FAMILIA, + ARTICULOS.REFERENCIA, + ARTICULOS.UNIDAD_MEDIDA, + ARTICULOS.FABRICANTE, + ARTICULOS.REFERENCIA_FABR, + ARTICULOS.DESCRIPCION, + V_HIS_MOV_AUX.TIPO_MOVIMIENTO, + V_HIS_MOV_AUX.CANTIDAD, + V_HIS_MOV_AUX.CAUSA + +FROM V_HIS_MOV_AUX +LEFT JOIN ALMACENES ON (ALMACENES.ID = V_HIS_MOV_AUX.ID_ALMACEN) +LEFT JOIN ARTICULOS ON (ARTICULOS.ID = V_HIS_MOV_AUX.ID_ARTICULO) + +WHERE (V_HIS_MOV_AUX.ID_ARTICULO <> 0) +AND (ARTICULOS.INVENTARIABLE = 1) +; + +CREATE VIEW V_INV_DETALLE_RESERVAS( + ID, + ID_EMPRESA, + ID_ALMACEN, + NOMBRE_ALMACEN, + FECHA_RESERVA, + CAUSA_RESERVA, + ID_ARTICULO, + REFERENCIA, + DESCRIPCION, + FAMILIA, + UNIDAD_MEDIDA, + FABRICANTE, + REFERENCIA_FABR, + CANTIDAD, + ID_ALMACEN_RESERVA, + NOMBRE_ALMACEN_RESERVA) + AS +select movimientos.id, almacenes1.ID_EMPRESA, movimientos.ID_ALMACEN, almacenes1.nombre as nombre_almacen, +movimientos.fecha_movimiento as fecha_reserva, movimientos.causa, movimientos.id_articulo, +articulos.referencia, articulos.descripcion, articulos.familia, +articulos.unidad_medida, articulos.fabricante, articulos.referencia_fabr, +movimientos.cantidad, movimientos.id_almacen_reserva, +almacenes2.nombre as nombre_almacen_reserva +from movimientos +left join almacenes almacenes1 on (almacenes1.ID = movimientos.ID_ALMACEN) +left join almacenes almacenes2 on (almacenes2.ID = movimientos.ID_ALMACEN_RESERVA) +left join articulos on (articulos.id = movimientos.id_articulo) +where tipo = 'R'; +; + /******************************************************************************/ /**** Primary Keys ****/ @@ -3465,7 +3644,6 @@ begin :IMPORTE_TOTAL, :VISIBLE do begin - contador = contador + 1; if (tipo_detalle = 'Titulo') then begin concepto_capitulo = concepto;