DataTable Cierre_expert_old(string desde, string hasta) { /* string sql = @" select to_char(AEN_FECHA_ALBARAN,'dd/mm/yyyy') Fecha_Cierre, round (SUM(t.Importe),2) Importe * from * (select AEN_FECHA_ALBARAN,dpc_ejercicio_lpr as anyo,DPC_EMPRESA as empresa, DPC_NUMERO_ALBARAN as nAlbaran, DPC_ARTICULO as articulo,sum(DPC_CANTIDAD_UMV) as Cantidad, sum(DPC_PRECIO_ARTICULO) precio, sum(DPC_CANTIDAD_UMV)*sum(DPC_PRECIO_ARTICULO) Importe * from CUERPO_PEDIDO_CLIENTE , * ALBARAN_ENVIO, DIRECCION_CLIENTE * where dpc_empresa=1 * and DPC_CANTIDAD_UMV>0 and * dpc_empresa=aen_empresa * and DPC_NUMERO_ALBARAN=ALBARAN_ENVIO.AEN_NUMERO_ALBARAN and * dpc_ejercicio_lpr=ALBARAN_ENVIO.AEN_EJERCICIO and * dic_empresa=dpc_empresa and DIC_cliente=ALBARAN_ENVIO.AEN_CLIENTE and * DIRECCION_CLIENTE.DIC_SUCURSAL =ALBARAN_ENVIO.AEN_SUCURSAL_ENVIO and * DIC_GRUPO_TARIFA_ALTERN='600' and * dpc_contabilidad=0 and * dpc_ejercicio_lpr>=2017 * and ALBARAN_ENVIO.AEN_FECHA_ALBARAN between to_date('" + desde + @"') and to_date('" + hasta + @"') * and DPC_NUMERO_ALBARAN between 100000 and 300000 * GROUP BY dpc_ejercicio_lpr, DPC_EMPRESA,DPC_NUMERO_ALBARAN, DPC_ARTICULO,AEN_FECHA_ALBARAN ) t * group by t.AEN_FECHA_ALBARAN";*/ string sql = @" select to_char(FECHA,'dd/mm/yyyy') Fecha_Cierre, round (SUM(IMPORTE),2) IMPORTE, round (SUM(IMPORTE_IVA),2) Importe_IVA from ( select FECHA , anyo, EMPRESA,NALBARAN,ARTICULO,CANTIDAD, PRECIO, IMPORTE, V_IVA,round (IMPORTE +V_IVA,2) as IMPORTE_IVA from ( select AEN_FECHA_ALBARAN fecha ,dpc_ejercicio_lpr as anyo,DPC_EMPRESA as empresa, DPC_NUMERO_ALBARAN as nAlbaran, DPC_ARTICULO as articulo,sum(DPC_CANTIDAD_UMV) as Cantidad, sum(DPC_PRECIO_ARTICULO) precio, sum(DPC_CANTIDAD_UMV)*sum(DPC_PRECIO_ARTICULO) Importe , ((SELECT IVC_PORC_IVA_1 FROM TIPO_IVA_CUERPO WHERE IVC_EMPRESA = DPC_EMPRESA AND IVC_CODIGO_IVA = DPC_TIPO_IVA AND IVC_FECHA_APLICACION = (SELECT MAX(IVC_FECHA_APLICACION) FROM TIPO_IVA_CUERPO WHERE IVC_EMPRESA = DPC_EMPRESA AND IVC_CODIGO_IVA = DPC_TIPO_IVA AND IVC_FECHA_APLICACION <= TRUNC(DBDATE$)))/100)* sum(DPC_CANTIDAD_UMV)*sum(DPC_PRECIO_ARTICULO) v_iva from CUERPO_PEDIDO_CLIENTE , ALBARAN_ENVIO, DIRECCION_CLIENTE where dpc_empresa=1 and DPC_CANTIDAD_UMV>0 and dpc_empresa=aen_empresa and DPC_NUMERO_ALBARAN=ALBARAN_ENVIO.AEN_NUMERO_ALBARAN and dpc_ejercicio_lpr=ALBARAN_ENVIO.AEN_EJERCICIO and dic_empresa=dpc_empresa and DIC_cliente=ALBARAN_ENVIO.AEN_CLIENTE and DIRECCION_CLIENTE.DIC_SUCURSAL =ALBARAN_ENVIO.AEN_SUCURSAL_ENVIO and DIC_GRUPO_TARIFA_ALTERN='600' and dpc_contabilidad=0 and dpc_ejercicio_lpr>=2017 and ALBARAN_ENVIO.AEN_FECHA_ALBARAN between to_date('" + desde + @"') and to_date('" + hasta + @"') and DPC_NUMERO_ALBARAN between 100000 and 300000 and DPC_NUMERO_ALBARAN between 100000 and 300000 GROUP BY dpc_ejercicio_lpr, DPC_EMPRESA,DPC_NUMERO_ALBARAN, DPC_ARTICULO,AEN_FECHA_ALBARAN ,DPC_TIPO_IVA union SELECT CHD_FECHA_DEVOLUCION as fecha,to_number( to_char(CHD_FECHA_DEVOLUCION,'YYYY') )as anyo,CHD_EMPRESA as empresa, CASE WHEN CHD_NUMERO_HOJA > 10000000 * to_number(to_char(CHD_FECHA_DEVOLUCION,'YY')) THEN CHD_NUMERO_HOJA - 10000000 * to_number(to_char(CHD_FECHA_DEVOLUCION,'YY')) ELSE CHD_NUMERO_HOJA END AS NALBARAN, DPC_ARTICULO articulo ,sum(DPC_CANTIDAD_UMV) as Cantidad, sum(DPC_PRECIO_ARTICULO) precio, sum(DPC_CANTIDAD_UMV)*sum(DPC_PRECIO_ARTICULO) Importe, ((SELECT IVC_PORC_IVA_1 FROM TIPO_IVA_CUERPO WHERE IVC_EMPRESA = CHD_EMPRESA AND IVC_CODIGO_IVA = DPC_TIPO_IVA AND IVC_FECHA_APLICACION = (SELECT MAX(IVC_FECHA_APLICACION) FROM TIPO_IVA_CUERPO WHERE IVC_EMPRESA = CHD_EMPRESA AND IVC_CODIGO_IVA = DPC_TIPO_IVA AND IVC_FECHA_APLICACION <= TRUNC(DBDATE$)))/100)* sum(DPC_CANTIDAD_UMV)*sum(DPC_PRECIO_ARTICULO) v_iva FROM CABECERA_HOJA_DEVOLUCION inner join DIRECCION_CLIENTE on DIRECCION_CLIENTE.DIC_SUCURSAL=CHD_SUCURSAL and DIC_cliente=chd_cliente and chd_empresa=dic_empresa and DIC_GRUPO_TARIFA_ALTERN='600' inner join CUERPO_PEDIDO_CLIENTE on CHD_NUMERO_ABONO=CUERPO_PEDIDO_CLIENTE.DPC_NUMERO_PEDIDO and dpc_empresa=chd_empresa and dpc_ejercicio_lpr is null and DPC_NUMERO_ALBARAN =0 and dpc_empresa=1 WHERE CHD_EMPRESA IN (1,2) AND CHD_CONTABILIDAD = '0' AND CHD_FECHA_DEVOLUCION BETWEEN to_date('" + desde + @"', 'dd/mm/yyyy') AND to_date('" + hasta + @"', 'dd/mm/yyyy') GROUP BY to_char(CHD_FECHA_DEVOLUCION,'YYYY'), to_char(CHD_FECHA_DEVOLUCION,'YY'), CHD_EMPRESA , CHD_NUMERO_HOJA, CHD_FECHA_DEVOLUCION, DPC_ARTICULO,DPC_TIPO_IVA) ) group by FECHA"; Expert con = new Expert(); DataTable datos = con.Sql_Datatable(sql); datos.Columns[0].ColumnName = "Cierre_tienda"; datos.Columns[1].ColumnName = "Importe"; return(datos); }
DataTable Cierre_exper_old(string desde, string hasta) { string sql = " select dpc_empresa \"Empresa\", dpc_cliente \"Codigo\", DIC_RAZON_SOCIAL \"Nom. Cliente\" , " + "DPC_SERIE_FACTURA \"Serie Factura\", " + "DPC_SECUENCIA_FACTURA \"Num.Fra\" " + ", CPM_SUCURSAL_ENVIO \"Sucursal\", " + "DPC_ARTICULO \"Articulo\", " + "DPC_DENOMINACION_ARTICULO \"Desc.artículo\", " + "(SELECT " + "SUBSTR(CUF_DENOMINACION, 0, INSTR(CUF_DENOMINACION, '-')-1) " + "FROM PR_PRODUCTO " + "INNER JOIN PR_CU_FAMILIA ON CUF_CODIGO_FAMILIA=PRO_CLAVE_ESTAD_PRINCIPAL AND PRO_EMPRESA=CUF_EMPRESA " + "WHERE PRO_CODIGO_PRODUCTO=DPC_ARTICULO AND PRO_EMPRESA=1) AS \"Familia\" " + ", " + "(SELECT " + "SUBSTR(SUBSTR(CUF_DENOMINACION, INSTR(CUF_DENOMINACION, ' - ')+2) , 0, INSTR(SUBSTR(CUF_DENOMINACION, INSTR(CUF_DENOMINACION, ' - ')+2) , ' - ')-1) " + "FROM PR_PRODUCTO " + "INNER JOIN PR_CU_FAMILIA ON CUF_CODIGO_FAMILIA=PRO_CLAVE_ESTAD_PRINCIPAL AND PRO_EMPRESA=CUF_EMPRESA " + "WHERE PRO_CODIGO_PRODUCTO=DPC_ARTICULO AND PRO_EMPRESA=1) AS \"Clasificación\" " + ", " + " " + " case when (select NVL(MAX(REPLACE(PCA_VALOR_CARACTERISTICA, " + " '\"', " + " '')), " + " 'N') FROM PR_CU_CARAC_PRODUCTO " + " WHERE PCA_EMPRESA = DPC_EMPRESA AND " + " PCA_CODIGO_PRODUCTO = DPC_ARTICULO AND " + " PCA_CODIGO_CARACTERISTICA = 'PESO_FIJO' )=0 then 1 else " + " tO_NUMBER(( NVL(NVL(DECODE(UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_GRAMO')), " + " 0, " + " NULL, " + " UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_GRAMO'))), " + " UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_KILOS')) ), " + " 1)) )end PESO " + ", " + " NVL(SUBSTR(CARACTERISTICAS.EVALUACION(DIC_EMPRESA , " + " DIC_SECUENCIA_PLANTILLA, " + " 'DISCRIM_3' ) " + " , 0, 2),'**') Ruta, " + " " + " DPC_REPRESENTANTE Comercial, " + " DPC_UMV as \"UMV\", " + " DPC_CANTIDAD as \"Cant.UMV\" " + " , " + " DPC_CANTIDAD * " + " case when (select NVL(MAX(REPLACE(PCA_VALOR_CARACTERISTICA, " + " '\"', " + " '')), " + " 'N') FROM PR_CU_CARAC_PRODUCTO " + " WHERE PCA_EMPRESA = DPC_EMPRESA AND " + " PCA_CODIGO_PRODUCTO = DPC_ARTICULO AND " + " PCA_CODIGO_CARACTERISTICA = 'PESO_FIJO' )=0 then 1 else " + " tO_NUMBER(( NVL(NVL(DECODE(UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_GRAMO')), " + " 0, " + " NULL, " + " UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_GRAMO'))), " + " UTILIDADES.CONVERTIR_UNIDADES_PRODUCTO_F(DPC_EMPRESA, " + " DPC_ARTICULO, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_UNIDADES'), " + " 1, " + " PARAMETROS.V_ALFA(DPC_EMPRESA, " + " 'UNIDAD_MEDIDA_KILOS')) ), " + " 1)) )end \"Cantidad Kg\" " + " " + " , " + " " + " TO_CHAR(DPC_FECHA_FACTURA, 'WW') AS SEMANA, " + " " + " to_char(to_date(to_char( EXTRACT(MONTH from DPC_FECHA_FACTURA)),'mm'),'Month','NLS_DATE_LANGUAGE = SPANISH') " + "Mes " + ",TO_CHAR(DPC_FECHA_FACTURA, 'YYYY') AS Año " + ", DPC_FECHA_FACTURA as \"F. Factura\" " + ",DPC_TARIFA as \"Tarifa\" " + ",DPC_PRECIO_TARIFA as \"Precio Tarifa\" " + ",DPC_TIPO_DTO as \"Dto\" " + ",((Cpm_Tipo_dto_rappel_fra /100) * DPC_PRECIO_COMERCIAL) +DPC_PRECIO_COMERCIAL \"Precio Fra\" " + ",0 \"DTO PP\" " + ",((Cpm_Tipo_dto_rappel_fra /100) * DPC_PRECIO_COMERCIAL) +DPC_PRECIO_COMERCIAL \"Precio Net PP\" " + ",(Cpm_Tipo_dto_rappel_fra /100) \"Dto pie\" " + ",DPC_PRECIO_COMERCIAL \"Precio Neto Neto\" " + ",DPC_BRUTO_COMISION \"Importe final\" " + ",DPC_PRECIO_LIMITE \"Precio Limite\" "+ " " + " " + " " + "from CUERPO_PEDIDO_CLIENTE " + "inner join CABECERA_PEDIDO_CLIENTE on CPM_EMPRESA = DPC_EMPRESA AND " + " CPM_CONTABILIDAD = DPC_CONTABILIDAD AND " + " CPM_CLIENTE = DPC_CLIENTE AND " + " CPM_NUMERO_PEDIDO = DPC_NUMERO_PEDIDO " + " inner join DIRECCION_CLIENTE ON DIRECCION_CLIENTE.DIC_CLIENTE =DPC_CLIENTE AND DIRECCION_CLIENTE.DIC_SUCURSAL=CPM_SUCURSAL_ENVIO " + " AND DIRECCION_CLIENTE.DIC_EMPRESA=DPC_EMPRESA " + " " + "where dpc_empresa=1" + "and DPC_FECHA_FACTURA between to_date('" + desde + @"') and to_date('" + hasta + @"')"; Expert con = new Expert(); DataTable datos = con.Sql_Datatable(sql); return(datos); }