Example #1
0
        public LotesModel SubirImagenLote(LotesModel model)
        {
            Stockhistorico pieza = null;
            string         lote;
            string         loteid;

            CalcularPartesLote(model.Lote, out lote, out loteid);

            try
            {
                pieza = _db.Stockhistorico.First(f => f.empresa == _context.Empresa && f.lote == lote && f.loteid == loteid);

                var carpetasService = FService.Instance.GetService(typeof(CarpetasModel), _context, _db) as CarpetasService;
                var ruta            = carpetasService.GenerateRutaCarpeta("Lotes", "Imagenes", model.Lote);
                model.Fkcarpetas       = carpetasService.GetCarpeta(ruta)?.Id;
                model.Fkarticulos      = pieza.fkarticulos;
                model.Descripcion      = _db.Articulos.Where(f => f.empresa == _context.Empresa && f.id == pieza.fkarticulos).Select(f => f.descripcion).SingleOrDefault();
                model.LargoProduccion  = pieza.largo;
                model.AnchoProduccion  = pieza.ancho;
                model.GruesoProduccion = pieza.grueso;
            }
            catch (Exception e)
            {
                throw new Exception(string.Format("La pieza {0} no existe", model.Lote));
            }

            return(model);
        }
Example #2
0
        public ActionResult Imagenes()
        {
            var model = new LotesModel();

            model.Toolbar.Titulo   = General.SubirImagen;
            model.Toolbar.Acciones = HelpItem();
            return(View(model));
        }
Example #3
0
 public ActionResult Imagenes(LotesModel model)
 {
     if (!string.IsNullOrEmpty(model.Lote))
     {
         try
         {
             var lotesService = new LotesService(ContextService);
             lotesService.SubirImagenLote(model);
         }
         catch (Exception e)
         {
             ModelState.AddModelError("Error", e.Message);
         }
     }
     else
     {
         ModelState.AddModelError("Error", "Introduce un nĂºmero de lote");
     }
     model.Toolbar.Titulo   = General.SubirImagen;
     model.Toolbar.Acciones = HelpItem();
     return(View("Imagenes", model));
 }
Example #4
0
        public LotesModel Get(string id)
        {
            var intid    = int.Parse(id);
            var obj      = _db.Stockhistorico.Single(f => f.id == intid && f.empresa == _context.Empresa);
            var unidades = _db.Unidades.Single(f => f.id == obj.fkunidadesmedida);
            var loteid   = Funciones.Qint(obj.loteid);

            var estadoActual = EstadoStock.SinStock;

            if (_db.Stockactual.Any(
                    f =>
                    f.cantidaddisponible > 0 && f.empresa == obj.empresa && f.lote == obj.lote &&
                    f.loteid == obj.loteid && f.fkarticulos == obj.fkarticulos))
            {
                estadoActual = EstadoStock.EnStock;
            }
            else if (_db.ReservasstockLin.Include("Reservasstock").Any(f => f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid && _db.Estados.Any(j => (j.documento + "-" + j.id) == f.Reservasstock.fkestados && j.tipoestado < (int)TipoEstado.Finalizado)))
            {
                estadoActual = EstadoStock.Reservado;
            }
            else if (
                _db.Transformacionesloteslin.Include("Transformacioneslotes")
                .Any(
                    f =>
                    f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid &&
                    _db.Estados.Any(
                        j =>
                        (j.documento + "-" + j.id) == f.Transformacioneslotes.fkestados &&
                        j.tipoestado < (int)TipoEstado.Finalizado)))
            {
                estadoActual = EstadoStock.Transformacion;
            }
            var result = new LotesModel();

            result.Estado                  = estadoActual;
            result.Fkvariedades            = obj.fkvariedades;
            result.Loteproveedor           = obj.referenciaproveedor;
            result.Fkalmacenes             = obj.fkalmacenes;
            result.NombreAlmacen           = _db.Almacenes.Where(f => f.empresa == obj.empresa && f.id == obj.fkalmacenes).Select(f => f.descripcion).SingleOrDefault();
            result.Zona                    = obj.fkalmaceneszona?.ToString();
            result.Fkcalificacioncomercial = obj.fkcalificacioncomercial;
            result.Fkalmaceneszona         = obj.fkalmaceneszona?.ToString() ?? string.Empty;
            result.Fkincidenciasmaterial   = obj.fkincidenciasmaterial;
            result.Fktipograno             = obj.fktipograno;
            result.Fktonomaterial          = obj.fktonomaterial;
            result.Lotereferencia          = string.Format("{0}{1}", obj.lote, Funciones.RellenaCod(obj.loteid, 3));
            result.Tipodealmacenlote       = (TipoAlmacenlote?)obj.tipoalmacenlote;
            result.Fkcarpetas              = obj.fkcarpetas;
            result.Decimales               = unidades.decimalestotales;
            result.CantidadProduccion      = obj.cantidaddisponible;
            result.LargoProduccion         = obj.largo;
            result.AnchoProduccion         = obj.ancho;
            result.GruesoProduccion        = obj.grueso;
            var modelUnidades = new UnidadesModel();

            modelUnidades.Formula = (TipoStockFormulas)unidades.formula;
            var metros = obj.metros ?? 0;

            result.MetrosProduccion       = obj.cantidaddisponible == 0 ? UnidadesService.CalculaResultado(modelUnidades, 1, obj.largo, obj.ancho, obj.grueso, metros):obj.metros;
            result.Unidades               = unidades.codigounidad;
            result.Formula                = unidades.formula;
            result.Costeadicionalmaterial = obj.costeadicionalmaterial;
            result.Costeadicionalportes   = obj.costeadicionalportes;
            result.Costeadicionalotro     = obj.costeadicionalotro;
            result.Costeadicionalvariable = obj.costeacicionalvariable;
            result.Pesoneto               = obj.pesonetolote;

            // jmm
            result.Codigoproveedor        = obj.codigoproveedor;
            result.Fechaentrada           = obj.fechaentrada;
            result.Precioentrada          = obj.precioentrada;
            result.Referenciaentrada      = obj.referenciaentrada;
            result.Codigodocumentoentrada = obj.codigodocumentoentrada.ToString();
            result.CantidadEntrada        = obj.cantidadentrada;
            result.LargoEntrada           = obj.largoentrada;
            result.AnchoEntrada           = obj.anchoentrada;
            result.GruesoEntrada          = obj.gruesoentrada;
            result.MetrosEntrada          = obj.metrosentrada;
            result.Netocompra             = obj.netocompra;
            result.Preciovaloracion       = obj.preciovaloracion;
            result.Codigocliente          = obj.codigocliente;
            result.Fechasalida            = obj.fechasalida;
            result.Preciosalida           = obj.preciosalida;
            result.Referenciasalida       = obj.referenciasalida;
            result.Codigodocumentosalida  = obj.codigodocumentosalida.ToString();
            result.CantidadSalida         = obj.cantidadsalida;
            result.LargoSalida            = obj.largosalida;
            result.AnchoSalida            = obj.anchosalida;
            result.GruesoSalida           = obj.gruesosalida;
            result.MetrosSalida           = obj.metrossalida;
            result.CantidadProduccion     = obj.cantidaddisponible;
            result.MetrosDisponibles      = UnidadesService.CalculaResultado(modelUnidades, obj.cantidaddisponible, obj.largo, obj.ancho, obj.grueso, metros);

            //articulo descripcion
            result.Fkarticulos = obj.fkarticulos;

            //entrada
            //var entradaObj = GetModeloEntrada(obj.lote, loteid);
            //if (entradaObj != null)
            //{
            //    result.Codigoproveedor = entradaObj.Cuenta;
            //    result.Fechaentrada = entradaObj.Fecha;
            //    result.Precioentrada = entradaObj.Precio;
            //    result.Referenciaentrada = entradaObj.Referencia;
            //    result.Codigodocumentoentrada = entradaObj.Codigodocumento;
            //    result.CantidadEntrada = entradaObj.Cantidad;
            //    result.LargoEntrada = entradaObj.Largo;
            //    result.AnchoEntrada = entradaObj.Ancho;
            //    result.GruesoEntrada = entradaObj.Grueso;
            //    result.MetrosEntrada = entradaObj.Metros;
            //    result.Netocompra = entradaObj.Precio;
            //}

            ////salida
            //var salidaObj = GetModeloSalida(obj.lote,loteid);
            //if (salidaObj != null)
            //{
            //    result.Codigocliente = salidaObj.Cuenta;
            //    result.Fechasalida = salidaObj.Fecha;
            //    result.Preciosalida = salidaObj.Precio;
            //    result.Referenciasalida = salidaObj.Referencia;
            //    result.Codigodocumentosalida = salidaObj.Codigodocumento;
            //    result.CantidadSalida = salidaObj.Cantidad;
            //    result.LargoSalida = salidaObj.Largo;
            //    result.AnchoSalida = salidaObj.Ancho;
            //    result.GruesoSalida = salidaObj.Grueso;
            //    result.MetrosSalida = salidaObj.Metros;
            //}

            result.Documentosrelacionados = GetDocumentosRelacionados(obj.lote, obj.loteid);

            return(result);
        }