public OOB.ResultadoEntidad <OOB.LibInventario.Kardex.Movimiento.Resumen.Ficha> Producto_Kardex_Movimiento_Lista_Resumen(OOB.LibInventario.Kardex.Movimiento.Resumen.Filtro filtro) { var rt = new OOB.ResultadoEntidad <OOB.LibInventario.Kardex.Movimiento.Resumen.Ficha>(); var filtroDTO = new DtoLibInventario.Kardex.Movimiento.Resumen.Filtro() { autoProducto = filtro.autoProducto, ultDias = (DtoLibInventario.Kardex.Enumerados.EnumMovUltDias)filtro.ultDias, }; var r01 = MyData.Producto_Kardex_Movimiento_Lista_Resumen(filtroDTO); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { rt.Result = OOB.Enumerados.EnumResult.isError; rt.Mensaje = r01.Mensaje; return(rt); } var s = r01.Entidad; var nr = new OOB.LibInventario.Kardex.Movimiento.Resumen.Ficha() { codigoProducto = s.codigoProducto, contenidoEmp = s.contenidoEmp, empaqueCompra = s.empaqueCompra, decimales = s.decimales, existenciaActual = s.existenciaActual, existenciaFecha = s.existencaFecha, fecha = s.fecha, nombreProducto = s.nombreProducto, referenciaProducto = s.referenciaProducto, }; var lst = s.Data.Select(ss => { var reg = new OOB.LibInventario.Kardex.Movimiento.Resumen.Data() { autoConcepto = ss.autoConcepto, autoDeposito = ss.autoDeposito, cntInventario = ss.cntInventario, cntMovimiento = ss.cntMovimiento, codigoConcepto = ss.codigoConcepto, codigoDeposito = ss.codigoDeposito, modulo = ss.modulo, nombreConcepto = ss.nombreConcepto, nombreDeposito = ss.nombreDeposito, siglas = ss.siglas, }; return(reg); }).ToList(); nr.Data = lst; rt.Entidad = nr; return(rt); }
public DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Resumen.Ficha> Producto_Kardex_Movimiento_Lista_Resumen(DtoLibInventario.Kardex.Movimiento.Resumen.Filtro filtro) { return(ServiceProv.Producto_Kardex_Movimiento_Lista_Resumen(filtro)); }
public DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Resumen.Ficha> Producto_Kardex_Movimiento_Lista_Resumen(DtoLibInventario.Kardex.Movimiento.Resumen.Filtro filtro) { var result = new DtoLib.ResultadoEntidad <DtoLibInventario.Kardex.Movimiento.Resumen.Ficha>(); try { using (var cnn = new invEntities(_cnInv.ConnectionString)) { var cmd = "SELECT count(*) as cntMovimiento, modulo, auto_deposito as autoDeposito, auto_concepto as autoConcepto, " + "SUM(cantidad_und*signo) as cntInventario, nombre_deposito as nombreDeposito, codigo_deposito as codigoDeposito, " + "codigo_concepto as codigoConcepto, nombre_concepto as nombreConcepto, siglas " + "FROM `productos_kardex` as kardex " + "WHERE auto_producto=@autoPrd and estatus_anulado='0' and fecha>@desde " + "group by modulo,auto_deposito,auto_concepto,codigo_deposito,nombre_deposito,codigo_concepto,nombre_concepto,siglas"; var fechaServidor = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); DateTime?desde = fechaServidor.Date; if (filtro.ultDias != DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.SinDefinir) { switch (filtro.ultDias) { case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Hoy: desde = desde.Value.AddDays(-1); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Ayer: desde = desde.Value.AddDays(-2); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._7Dias: desde = desde.Value.AddDays(-7); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._15Dias: desde = desde.Value.AddDays(-15); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._30Dias: desde = desde.Value.AddDays(-30); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._45Dias: desde = desde.Value.AddDays(-45); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._60Dias: desde = desde.Value.AddDays(-60); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._90Dias: desde = desde.Value.AddDays(-90); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias._120Dias: desde = desde.Value.AddDays(-120); break; case DtoLibInventario.Kardex.Enumerados.EnumMovUltDias.Todo: desde = desde.Value.AddDays(-365); break; } } var entPrd = cnn.productos.Find(filtro.autoProducto); if (entPrd == null) { result.Mensaje = "[ ID ] PRODUCTO NO ENCOTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var _empaqueCompra = ""; var _existencia = 0.0m; var entPrdEx = cnn.productos_deposito.Where(w => w.auto_producto == filtro.autoProducto).ToList(); var entPrdEmp = cnn.productos_medida.Find(entPrd.auto_empaque_compra); if (entPrdEx.Count > 0) { _existencia = entPrdEx.Sum(s => s.fisica); } if (entPrdEmp != null) { _empaqueCompra = entPrdEmp.nombre; } var p1 = new MySql.Data.MySqlClient.MySqlParameter("@autoPrd", filtro.autoProducto); var p2 = new MySql.Data.MySqlClient.MySqlParameter("@desde", desde); var lst = cnn.Database.SqlQuery <DtoLibInventario.Kardex.Movimiento.Resumen.Data>(cmd, p1, p2).ToList(); var ex = 0.0m; cmd = "select sum(cantidad_und*signo) as cnt from productos_kardex where auto_producto=@autoPrd " + "and estatus_anulado='0' and fecha<=@desde"; var objEx = cnn.Database.SqlQuery <decimal?>(cmd, p1, p2).FirstOrDefault(); if (objEx != null) { ex = objEx.Value; } var rt = new DtoLibInventario.Kardex.Movimiento.Resumen.Ficha() { codigoProducto = entPrd.codigo, contenidoEmp = entPrd.contenido_compras, empaqueCompra = _empaqueCompra, decimales = entPrdEmp.decimales, existenciaActual = _existencia, existencaFecha = ex, fecha = desde.Value.ToShortDateString(), nombreProducto = entPrd.nombre, referenciaProducto = entPrd.referencia, Data = lst, }; result.Entidad = rt; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }