public JsonResult GetVentaSemanaActualOrganizacion(string parametro) { int idOrganizacion = ((DO_Persona)Session["UsuarioConectado"]).idOrganizacion; DO_Semana semanaActual = DataManager.GetSemanaActual(); List <FO_Item> lista = DataManager.GetVentaSemanalOrganizacionBySemanaByCompania(idOrganizacion, semanaActual.IdSemana); var jsonResult = Json(lista, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult GetSemanaActual(string parametro) { DO_Semana semana = DataManager.GetSemanaActual(); double numDia = Convert.ToDouble((int)DateTime.Now.DayOfWeek); semana.PctDia = Math.Round(numDia / 7.0 * 100.0, 0); var jsonResult = Json(semana, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult GetDepositosByCompania(int idUsuario) { List <DO_Deposito> do_Depositos = new List <DO_Deposito>(); DO_Semana semanaActual = DataManager.GetSemanaActual(); do_Depositos = DataManager.GetDepositosPorWeek(idUsuario, semanaActual.IdSemana); var jsonResult = Json(do_Depositos, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public ActionResult BajarArchivo(int idSemana) { DO_Persona personaConectada = ((DO_Persona)Session["UsuarioConectado"]); DO_Compania compania = DataManager.GetCompania(personaConectada.idCompania); List <DO_Almacen> almacens = DataManager.GetAllAlmacen(compania.IdCompania); string path = Server.MapPath("~/assets/files/formatoreportesemanal.xlsx"); SLDocument sLDocument = new SLDocument(path, "Reporte"); List <DO_Deposito> depositos = new List <DO_Deposito>(); depositos = DataManager.GetDepositosPorWeek(personaConectada.idUsuario, idSemana); List <DO_Movimiento> entradas = new List <DO_Movimiento>(); entradas = DataManager.GetMovimientoEntradasPorWeek(personaConectada.idCompania, idSemana); List <DO_Movimiento> salidas = new List <DO_Movimiento>(); salidas = DataManager.GetMovimientoSalidasPorWeek(personaConectada.idCompania, idSemana); List <DO_Ventas> ventas = new List <DO_Ventas>(); ventas = DataManager.GetListVentaPorSemana(personaConectada.idUsuario, idSemana); DO_Semana dO_Semana = DataManager.GetSemana(idSemana); string rangoFecha = dO_Semana.SFechaInicial + " a " + dO_Semana.SFechaFinal; List <DO_ReporteSemanal> dO_Reportes = new List <DO_ReporteSemanal>(); List <DO_Movimiento> movimientosEntradas = new List <DO_Movimiento>(); movimientosEntradas = DataManager.GetAllEntradas(almacens[0].idAlmacen, idSemana); //Entradas foreach (DO_Movimiento entrada in entradas) { if (dO_Reportes.Where(x => x.IdArticulo == entrada.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == entrada.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].Entradas += entrada.Cantidad; dO_Reportes[index].Origen += entrada.BodegaDestino + "(" + entrada.Cantidad + ") "; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = entrada.Nombre; reporteSemanal.Entradas = entrada.Cantidad; reporteSemanal.Origen = entrada.BodegaDestino + "(" + entrada.Cantidad + ") "; reporteSemanal.IdArticulo = entrada.IdArticulo; dO_Reportes.Add(reporteSemanal); } } //Salidas foreach (DO_Movimiento salida in salidas) { if (dO_Reportes.Where(x => x.IdArticulo == salida.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == salida.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].Salidas += salida.Cantidad; dO_Reportes[index].Destino += salida.BodegaDestino + "(" + salida.Cantidad + ") "; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = salida.Nombre; reporteSemanal.Salidas = salida.Cantidad; reporteSemanal.Destino = salida.BodegaDestino + "(" + salida.Cantidad + ") "; reporteSemanal.IdArticulo = salida.IdArticulo; dO_Reportes.Add(reporteSemanal); } } //Ventas foreach (var venta in ventas) { if (dO_Reportes.Where(x => x.IdArticulo == venta.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == venta.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].ArticulosVendidos += venta.Cantidad; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = venta.Nombre; reporteSemanal.IdArticulo = venta.IdArticulo; reporteSemanal.ArticulosVendidos = venta.Cantidad; dO_Reportes.Add(reporteSemanal); } } //PRECIO foreach (DO_ReporteSemanal item in dO_Reportes) { double costo = DataManager.GetArticulo(item.IdArticulo).PRECIO_MASTER; item.CostoUnitario = costo; } //Inventario inicial List <FO_Item> existencias = DataManager.GetCorteExistencia(idSemana, almacens[0].idAlmacen); foreach (var item in dO_Reportes) { int i = existencias.Where(x => x.NombreInt == item.IdArticulo).ToList().Count; if (i == 0) { item.InventarioInicial = 0; } else { FO_Item temp = existencias.Where(x => x.NombreInt == item.IdArticulo).FirstOrDefault(); int existencia = temp.ValueInt; item.InventarioInicial = existencia; } } #region Llenado de información sLDocument.SetCellValue("F4", personaConectada.NombreCompleto); sLDocument.SetCellValue("I5", compania.Direccion); sLDocument.SetCellValue("F7", compania.Telefono); sLDocument.SetCellValue("F10", dO_Semana.NoSemana); sLDocument.SetCellValue("H10", rangoFecha); sLDocument.SetCellValue("K7", personaConectada.Usuario); //Llenado de depositos. int c = 32; foreach (var deposito in depositos) { sLDocument.SetCellValue("A" + c, deposito.FechaIngreso); sLDocument.SetCellValue("B" + c, deposito.Banco); sLDocument.SetCellValue("C" + c, deposito.Importe); sLDocument.SetCellValue("D" + c, deposito.Descripcion); sLDocument.SetCellValue("F" + c, deposito.Importe); c++; } //Llenado de costo de guia foreach (var item in movimientosEntradas) { sLDocument.SetCellValue("D" + c, item.NoFactura); sLDocument.SetCellValue("F" + c, item.CostoGuia); c++; } c = 17; //Llenado de articulos foreach (var reporteSemanal in dO_Reportes) { sLDocument.SetCellValue("B" + c, reporteSemanal.NombreArticulo); sLDocument.SetCellValue("C" + c, reporteSemanal.InventarioInicial); sLDocument.SetCellValue("D" + c, reporteSemanal.Entradas); sLDocument.SetCellValue("E" + c, reporteSemanal.Origen); sLDocument.SetCellValue("F" + c, reporteSemanal.Salidas); sLDocument.SetCellValue("G" + c, reporteSemanal.Destino); sLDocument.SetCellValue("I" + c, reporteSemanal.ArticulosVendidos); sLDocument.SetCellValue("K" + c, reporteSemanal.CostoUnitario); c++; } #endregion sLDocument.AutoFitRow(18); if (!Directory.Exists(Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre))) { Directory.CreateDirectory(Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre)); } string newPath = Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre + "/reporte_" + dO_Semana.NoSemana + ".xlsx"); sLDocument.SaveAs(newPath); byte[] fileBytes = System.IO.File.ReadAllBytes(newPath); string fileName = "Reporte_" + dO_Semana.NoSemana + "_" + personaConectada.Nombre + ".xlsx"; DataManager.InsertBitacora(personaConectada.Nombre + " " + personaConectada.Usuario, "Se bajo el archivo de excel se la semana id: " + idSemana); return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName)); }