public OOB.ResultadoLista <OOB.LibInventario.Analisis.Detallado.Ficha> Producto_Analisis_Detallado(OOB.LibInventario.Analisis.Detallado.Filtro filtro) { var rt = new OOB.ResultadoLista <OOB.LibInventario.Analisis.Detallado.Ficha>(); var filtroDto = new DtoLibInventario.Analisis.Detallado.Filtro() { modulo = (DtoLibInventario.Analisis.Enumerados.EnumModulo)filtro.modulo, autoDeposito = filtro.autoDeposito, autoConcepto = filtro.autoConcepto, autoProducto = filtro.autoProducto, ultimosXDias = filtro.ultimosXDias, }; var r01 = MyData.Producto_Analisis_Detallado(filtroDto); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { rt.Mensaje = r01.Mensaje; rt.Result = OOB.Enumerados.EnumResult.isError; return(rt); } var list = new List <OOB.LibInventario.Analisis.Detallado.Ficha>(); if (r01.Lista != null) { if (r01.Lista.Count > 0) { list = r01.Lista.Select(s => { return(new OOB.LibInventario.Analisis.Detallado.Ficha() { autoPrd = s.autoPrd, cntUnd = s.cntUnd, cntDoc = s.cntDoc, nombrePrd = s.nombrePrd, codigoPrd = s.codigoPrd, decimales = s.decimales, fecha = s.fecha, }); }).ToList(); } } rt.Lista = list; return(rt); }
public DtoLib.ResultadoLista <DtoLibInventario.Analisis.Detallado.Ficha> Producto_Analisis_Detallado(DtoLibInventario.Analisis.Detallado.Filtro filtro) { return(ServiceProv.Producto_Analisis_Detallado(filtro)); }
public DtoLib.ResultadoLista <DtoLibInventario.Analisis.Detallado.Ficha> Producto_Analisis_Detallado(DtoLibInventario.Analisis.Detallado.Filtro filtro) { var rt = new DtoLib.ResultadoLista <DtoLibInventario.Analisis.Detallado.Ficha>(); try { using (var cnn = new invEntities(_cnInv.ConnectionString)) { var fechaServidor = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); DateTime?desde = fechaServidor.Date; var sql_1 = "SELECT abs(sum(pk.cantidad_und*pk.signo)) as cntUnd, p.auto as autoPrd, " + "p.nombre as nombrePrd, p.codigo as codigoPrd, pm.decimales as decimales, " + "count(*) as cntDoc, pk.fecha as fecha "; var sql_2 = " FROM productos_kardex as pk " + "join productos as p on pk.auto_producto=p.auto " + "join productos_medida as pm on p.auto_empaque_compra=pm.auto "; var sql_3 = " where 1=1 and pk.estatus_anulado='0' "; var sql_4 = " group by pk.auto_producto, pk.fecha "; var p1 = new MySql.Data.MySqlClient.MySqlParameter(); var p2 = new MySql.Data.MySqlClient.MySqlParameter(); var p3 = new MySql.Data.MySqlClient.MySqlParameter(); var p4 = new MySql.Data.MySqlClient.MySqlParameter(); var p5 = new MySql.Data.MySqlClient.MySqlParameter(); if (filtro.ultimosXDias != 0) { sql_3 += " and pk.fecha>=@p1 "; p1.ParameterName = "@p1"; p1.Value = desde.Value.AddDays(filtro.ultimosXDias * -1); } if (filtro.modulo != DtoLibInventario.Analisis.Enumerados.EnumModulo.SnDefinir) { var modulo = ""; switch (filtro.modulo) { case DtoLibInventario.Analisis.Enumerados.EnumModulo.Compras: break; case DtoLibInventario.Analisis.Enumerados.EnumModulo.Ventas: modulo = "Ventas"; sql_3 += " and pk.modulo=@p3 "; break; case DtoLibInventario.Analisis.Enumerados.EnumModulo.Inventario: break; } p3.ParameterName = "@p3"; p3.Value = modulo; } if (filtro.autoDeposito != "") { sql_3 += "and pk.auto_deposito=@p4 "; p4.ParameterName = "@p4"; p4.Value = filtro.autoDeposito; } if (filtro.autoProducto != "") { sql_3 += "and pk.auto_producto=@p5 "; p5.ParameterName = "@p5"; p5.Value = filtro.autoProducto; } var sql = sql_1 + sql_2 + sql_3 + sql_4; var list = cnn.Database.SqlQuery <DtoLibInventario.Analisis.Detallado.Ficha>(sql, p1, p2, p3, p4, p5).ToList(); rt.Lista = list; } } catch (Exception e) { rt.Mensaje = e.Message; rt.Result = DtoLib.Enumerados.EnumResult.isError; } return(rt); }