public ActionResult Delete(int id) { ViewBag.Loc = (int)HttpContext.Application["Locacion"]; BarroMovimientos bm = tsvc.getBarroMovimiento(id); ViewBag.Provedores = tsvc.obtenerProvedores(bm.OrigenTransferencia); ViewBag.ProveedorNombre = ViewBag.Provedores[0].Text; return(View(bm)); }
public ActionResult Delete(int id) { ViewBag.Loc = (int)HttpContext.Application["Locacion"]; ViewBag.NombreLocacion = tsvc.getNombreSucursal(ViewBag.Loc); BarroMovimientos bm = tsvc.getBarroMovimiento(id); ViewBag.Provedores = tsvc.obtenerSucursales(2); ViewBag.ProveedorNombre = ViewBag.Provedores[0].Text; return(View(bm)); }
public ActionResult SolicitarBarroGranel() { ViewBag.Productos = tsvc.obtenerProductos(1); ViewBag.Provedores = tsvc.obtenerProvedores(); ViewBag.Locaciones = tsvc.obtenerSucursales(2); BarroMovimientos bm = new BarroMovimientos(); bm.FechaMovimiento = DateTime.Today; return(View(bm)); }
public ActionResult Delete(int id, BarroMovimientos pPrePell) { int res = tsvc.deleteBarroMovimiento(id); if (res >= 1) { return(RedirectToAction("Index")); } return(new HttpStatusCodeResult(404, "No se pudo borrar el elemento, vuelva a interntar mas tarde.")); }
public ActionResult SolicitarBarroEmpaque(string[] Tipo, int[] Capacidad, string[] CodigoProducto, string[] barroSolicitado) { List <BarroMovimientos> lst = new List <BarroMovimientos>(); for (int i = 0; i < Tipo.Length; i++) { if (barroSolicitado[i] != null && barroSolicitado[i] != "") { int PesoEmpaque = int.Parse(CodigoProducto[i].Replace("N", "").Replace("B", "")); string codigoGranel = tsvc.obtenerCodigoDeProducto(Tipo[i], 1); BarroMovimientos bmEg = new BarroMovimientos() { CodigoProducto = codigoGranel, //Tipo[i].Substring(0, 1) + Capacidad[i], FechaMovimiento = DateTime.Today, TipoMovimiento = "Eg", Unidades = PesoEmpaque * int.Parse(barroSolicitado[i]), Locacion = 2, OrigenTransferencia = 2, OrigenTabla = "Sucursales", PesoTotal = PesoEmpaque * int.Parse(barroSolicitado[i]), Editor = User.Identity.Name, FechaEdicion = DateTime.Now }; lst.Add(bmEg); BarroMovimientos bmIn = new BarroMovimientos() { CodigoProducto = CodigoProducto[i], //Tipo[i].Substring(0, 1) + Capacidad[i], FechaMovimiento = DateTime.Today, TipoMovimiento = "In", Unidades = int.Parse(barroSolicitado[i]), Locacion = 2, OrigenTransferencia = 2, OrigenTabla = "Sucursales", PesoTotal = PesoEmpaque * int.Parse(barroSolicitado[i]), Editor = User.Identity.Name, FechaEdicion = DateTime.Now }; lst.Add(bmIn); } } int res = tsvc.addMovimientosBarro(lst); if (res > 1) { return(RedirectToAction("Index")); } else { return(View(new HttpStatusCodeResult(201, "No fue posible realizar la peticion."))); } }
public List <BarroMovimientos> calculaMovimientosPorMerma(BarroMovimientosConMerma pBMCM) { List <BarroMovimientos> lstTemp = new List <BarroMovimientos>(); string codigoEnGranel = pBMCM.CodigoProducto.Substring(0, 1) + "1"; double pesoCostal = double.Parse(pBMCM.CodigoProducto.Remove(0, 1)); double entero = 0; if (pBMCM.Merma > pesoCostal) { entero = (int)(pBMCM.Merma / pesoCostal); } entero = entero + 1; //se suma 1 pues es el costal que se debe descontar debido al residuo, osea el barro en granel que se descuenta a la carga. double residuo = pBMCM.Merma; residuo %= pesoCostal; BarroMovimientos mermaEncostalada = new BarroMovimientos(); mermaEncostalada.CodigoProducto = pBMCM.CodigoProducto; mermaEncostalada.FechaMovimiento = DateTime.Now; mermaEncostalada.TipoMovimiento = "Eg"; mermaEncostalada.Unidades = entero; mermaEncostalada.Locacion = 1; mermaEncostalada.PesoTotal = entero * pesoCostal; mermaEncostalada.OrigenTransferencia = pBMCM.Id; mermaEncostalada.OrigenTabla = "BarroMovimiento"; mermaEncostalada.OrigenVariacion = "Merma"; mermaEncostalada.Editor = User.Identity.Name; mermaEncostalada.FechaEdicion = DateTime.Now; lstTemp.Add(mermaEncostalada); //pesoCostal - residuo => se hace esta resta debido a que el residuo es lo que se le restara a un costal completo para saber cuanto se tiene en realidad. BarroMovimientos merma = new BarroMovimientos(); merma.CodigoProducto = codigoEnGranel; merma.FechaMovimiento = DateTime.Now; merma.TipoMovimiento = "In"; merma.Unidades = pesoCostal - residuo; merma.Locacion = 1; merma.PesoTotal = pesoCostal - residuo; merma.OrigenTransferencia = pBMCM.Id; merma.OrigenTabla = "BarroMovimiento"; merma.OrigenVariacion = "Merma"; merma.Editor = User.Identity.Name; merma.FechaEdicion = DateTime.Now; lstTemp.Add(merma); return(lstTemp); }
public ActionResult Edit(BarroMovimientos bm) { bm.PesoTotal = bm.Unidades; bm.Editor = User.Identity.Name; bm.FechaEdicion = DateTime.Now; int res = tsvc.editMovimientoBarro(bm); if (res > 0) { return(RedirectToAction("Index")); } return(new HttpStatusCodeResult(404, "No se pudo actualizar el registro, vuelva a intentarlo mas tarde")); }
public void setBarroMovimientos(BarroMovimientos pBM) { this.Id = pBM.Id; this.CodigoProducto = pBM.CodigoProducto; this.FechaMovimiento = pBM.FechaMovimiento; this.TipoMovimiento = pBM.TipoMovimiento; this.Unidades = pBM.Unidades; this.Locacion = pBM.Locacion; this.OrigenTabla = pBM.OrigenTabla; this.OrigenTransferencia = pBM.OrigenTransferencia; this.OrigenVariacion = pBM.OrigenVariacion; this.PesoTotal = pBM.PesoTotal; this.Editor = pBM.Editor; this.FechaEdicion = pBM.FechaEdicion; }
public ActionResult Edit(int id) { BarroMovimientos bm = tsvc.getBarroMovimiento(id); ViewBag.Productos = tsvc.obtenerProductos(1); foreach (var item in ViewBag.Productos) { item.Selected = false; if (item.Value == bm.CodigoProducto) { item.Selected = true; } } ViewBag.Provedores = tsvc.obtenerProvedores(bm.OrigenTransferencia); return(View(bm)); }
public ActionResult SolicitarBarroGranel(BarroMovimientos pMovB) { if (ModelState.IsValid) { pMovB.TipoMovimiento = "In"; pMovB.PesoTotal = pMovB.Unidades; pMovB.OrigenTabla = "Provedores"; pMovB.Editor = User.Identity.Name; pMovB.FechaEdicion = DateTime.Now; int res = tsvc.addMovimientosBarro(pMovB); if (res == 1) { return(RedirectToAction("Index")); } } return(View(new HttpStatusCodeResult(202, "No pudo ser generada la solicitud."))); }
public BarroMovimientos getBarroMovimientos() { BarroMovimientos bm = new BarroMovimientos() { Id = this.Id, CodigoProducto = this.CodigoProducto, FechaMovimiento = this.FechaMovimiento, TipoMovimiento = this.TipoMovimiento, Unidades = this.Unidades, Locacion = this.Locacion, OrigenTabla = this.OrigenTabla, OrigenTransferencia = this.OrigenTransferencia, OrigenVariacion = this.OrigenVariacion, PesoTotal = this.PesoTotal, Editor = this.Editor, FechaEdicion = this.FechaEdicion, }; return(bm); }
public ActionResult SolicitarReserva(SolicitarReserva pSR) { if (ModelState.IsValid) { //SelectListItem item = pSR.lstTipoCapacidad.Where(x => x.Selected).FirstOrDefault(); BarroMovimientos tmpMovB_in = new BarroMovimientos() { FechaMovimiento = DateTime.Today, TipoMovimiento = "In", CodigoProducto = pSR.CodigoBarro, //item.Value, Unidades = (int)pSR.Unidades, Editor = User.Identity.Name, FechaEdicion = DateTime.Now ////Locacion = "La Luz", ////OrigenTranferencia = "34 pte" }; BarroMovimientos tmpMovB_eg = new BarroMovimientos() { FechaMovimiento = DateTime.Today, TipoMovimiento = "Eg", CodigoProducto = pSR.CodigoBarro, //item.Value, Editor = User.Identity.Name, FechaEdicion = DateTime.Now //Unidades = pSR.Unidades, //Locacion = "34 pte" }; List <BarroMovimientos> lst = new List <BarroMovimientos>(); lst.Add(tmpMovB_in); lst.Add(tmpMovB_eg); int res = tsvc.addMovimientosBarro(lst); if (res == 2) { return(RedirectToAction("Index")); } } //return HttpStatusCodeResult(201, "No se pudo realizar la consulta"); return(View(new HttpStatusCodeResult(201, "No se pudo realizar la consulta"))); }
public ActionResult EditarRegitro(int id) { BarroMovimientos bm = tsvc.getBarroMovimiento(id); ViewBag.Productos = tsvc.obtenerProductos(1); foreach (var item in ViewBag.Productos) { item.Selected = false; if (item.Value == bm.CodigoProducto) { item.Selected = true; } } ViewBag.Provedores = tsvc.getNombreSucursal((int)bm.OrigenTransferencia); double merma = tsvc.obtenerMermaDePedido(bm); BarroMovimientosConMerma BMCM = new BarroMovimientosConMerma(); BMCM.Merma = merma; BMCM.setBarroMovimientos(bm); return(View(BMCM)); }
public ActionResult EditarRegitro(BarroMovimientosConMerma pBMCM) { pBMCM.Editor = User.Identity.Name; pBMCM.FechaEdicion = DateTime.Now; BarroMovimientos bm = pBMCM.getBarroMovimientos(); int res = tsvc.editMovimientoBarro(bm); if (res > 0) { int res1 = tsvc.deleteMermaExistente(bm); if (pBMCM.Merma > 0) { List <BarroMovimientos> lst = calculaMovimientosPorMerma(pBMCM); string codigoEnGranel = pBMCM.CodigoProducto.Substring(0, 1) + "1"; BarroMovimientos exedenteRegistrado = new BarroMovimientos(); exedenteRegistrado.CodigoProducto = codigoEnGranel; exedenteRegistrado.FechaMovimiento = DateTime.Now; exedenteRegistrado.TipoMovimiento = "In"; exedenteRegistrado.Unidades = pBMCM.Merma; exedenteRegistrado.Locacion = pBMCM.OrigenTransferencia; exedenteRegistrado.PesoTotal = pBMCM.Merma; exedenteRegistrado.OrigenTransferencia = bm.Id; exedenteRegistrado.OrigenTabla = "BarroMovimiento"; exedenteRegistrado.OrigenVariacion = "Merma"; exedenteRegistrado.Editor = User.Identity.Name; exedenteRegistrado.FechaEdicion = DateTime.Now; int res2 = tsvc.addMovimientosBarro(lst); int res3 = tsvc.addMovimientosBarro(exedenteRegistrado); } return(RedirectToAction("Index")); } return(new HttpStatusCodeResult(404, "No se pudo actualizar el registro, vuelva a intentarlo mas tarde")); }
public List <BarroMovimientos> calculaBarroMovimientos(List <ReservaBarroPreparado> plstBarroReservaAsignado, double pBarroSolicitado, PreparacionBarro pPreBar, int idPreparacion) { List <BarroMovimientos> lst = new List <BarroMovimientos>(); double?SumBN = plstBarroReservaAsignado.Select(x => new { TotalSolicitado = x.Capacidad * x.BarroUsado }).Sum(x => x.TotalSolicitado); //foreach (var item in pPreBar.lstConsumoBarroNegro.OrderBy(x => x.CodigoBarro)) for (int a = 0; a < plstBarroReservaAsignado.Count; a++) { var item = plstBarroReservaAsignado[a]; if (item.BarroUsado > 0) { //En caso de ser a granel, se hace una resta directa if (item.Capacidad == 1) { double TotalKgUsados = item.BarroUsado * (double)item.Capacidad; pBarroSolicitado = pBarroSolicitado - TotalKgUsados; //Se hace el egreso de barro a granel. //Nota: en el barro a granel "NO" es nesario hacer un ingreso con el sobrante del barro asignado. BarroMovimientos tmpMovB_egNegro = new BarroMovimientos() { CodigoProducto = item.CodigoBarro, FechaMovimiento = DateTime.Today, TipoMovimiento = "Eg", Unidades = item.BarroUsado, Locacion = pPreBar.Locacion, OrigenTransferencia = idPreparacion, OrigenTabla = "PreparacionBarro", PesoTotal = TotalKgUsados, Editor = pPreBar.Editor, FechaEdicion = pPreBar.FechaEdicion }; lst.Add(tmpMovB_egNegro); } else //Para los paquete se va haciendo gradual la resta, para determinar cuantos paquetes son necesrios. { double empaquetadosNecesarios = 0; double TotalKgUsados = 0; //Se ira sumando paquete a paquete hasta cubrir el barro solicitado o agotar las recervas asignadas(BarroUsado). for (int i = 1; i <= item.BarroUsado; i++) { empaquetadosNecesarios = i; pBarroSolicitado = pBarroSolicitado - (double)item.Capacidad; if (pBarroSolicitado <= 0) { break; } } TotalKgUsados = empaquetadosNecesarios * (double)item.Capacidad; //Se genera el egreso de estas empaquetados. BarroMovimientos tmpMovB_egNegro = new BarroMovimientos() { CodigoProducto = item.CodigoBarro, FechaMovimiento = DateTime.Today, TipoMovimiento = "Eg", Unidades = empaquetadosNecesarios, Locacion = pPreBar.Locacion, OrigenTransferencia = idPreparacion, OrigenTabla = "PreparacionBarro", PesoTotal = TotalKgUsados, Editor = pPreBar.Editor, FechaEdicion = pPreBar.FechaEdicion }; lst.Add(tmpMovB_egNegro); //Cuando tmpBarNegro es negativo y dado que estamos en un segmento validador de paquetes //se asume que el restante es debido a que un paquete tubo que ser habierto para cubrir el barro solicitado //por esta razon, el restante sera un ingreso a granel en barromovimientos para no peder el restante del paquete habierto. if (pBarroSolicitado < 0) { BarroMovimientos tmpMovB_inNegro = new BarroMovimientos() { CodigoProducto = tsvc.obtenerCodigoDeProducto(item.Tipo, 1), FechaMovimiento = DateTime.Now, TipoMovimiento = "In", Unidades = pBarroSolicitado * -1, Locacion = pPreBar.Locacion, OrigenTransferencia = idPreparacion, OrigenTabla = "PreparacionBarro", PesoTotal = pBarroSolicitado * -1, Editor = pPreBar.Editor, FechaEdicion = pPreBar.FechaEdicion }; lst.Add(tmpMovB_inNegro); } } } } return(lst); }