Beispiel #1
0
        /// <summary>
        /// Obtiene los movimientos pendientes pro autorizar del cierre de dia de inventario de planta de alimentos
        /// </summary>
        /// <returns></returns>
        internal List <MovimientosAutorizarCierreDiaPAModel> ObtenerMovimientosPendientesAutorizar(
            FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
        {
            List <MovimientosAutorizarCierreDiaPAModel> result;

            try
            {
                Logger.Info();
                var mermaSuperavitDAL    = new MermaSuperavitDAL();
                var listaMermas          = mermaSuperavitDAL.ObtenerPorAlmacenID(filtrosAutorizarCierreDia.AlmacenID);
                var almacenMovimientoDal = new AlmacenMovimientoDAL();

                filtrosAutorizarCierreDia.TipoMovimientoID  = TipoMovimiento.InventarioFisico.GetHashCode();
                filtrosAutorizarCierreDia.EstatusMovimiento = Estatus.PendienteInv.GetHashCode();
                filtrosAutorizarCierreDia.FechaMovimiento   = DateTime.Now;

                List <MovimientosAutorizarCierreDiaPAModel> listaMovimientosPendientes = almacenMovimientoDal.ObtenerMovimientosPendientesAutorizar(filtrosAutorizarCierreDia);
                if (listaMovimientosPendientes == null)
                {
                    return(null);
                }
                foreach (var movimiento in listaMovimientosPendientes)
                {
                    if (movimiento.InventarioTeorico == 0)
                    {
                        continue;
                    }
                    movimiento.PorcentajeMermaSuperavit = Math.Round((Convert.ToDecimal(movimiento.InventarioTeorico - movimiento.InventarioFisico) /
                                                                      movimiento.InventarioTeorico) * 100, 2);
                    movimiento.PorcentajeLote = movimiento.ManejaLote ? Math.Round(Convert.ToDecimal(movimiento.InventarioFisico) / Convert.ToDecimal(movimiento.InventarioTeorico) * 100, 2) : 0;
                    var merma = listaMermas.FirstOrDefault(mer => mer.Producto.ProductoId == movimiento.ProductoID);
                    if (merma == null)
                    {
                        continue;
                    }
                    movimiento.PorcentajePermitido = movimiento.PorcentajeMermaSuperavit > 0 ? merma.Merma : merma.Superavit;
                }
                result = listaMovimientosPendientes;
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Beispiel #2
0
 public static List <MovimientosAutorizarCierreDiaPAModel> ObtenerMovimientosPendientesAutorizar(
     FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
 {
     try
     {
         var almacenMovimientoPL = new AlmacenMovimientoPL();
         List <MovimientosAutorizarCierreDiaPAModel> listaPendientesAutorizar =
             almacenMovimientoPL.ObtenerMovimientosPendientesAutorizar(filtrosAutorizarCierreDia);
         return(listaPendientesAutorizar);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Beispiel #3
0
 /// <summary>
 /// Obtiene los movimientos pendientes pro autorizar del cierre de dia de inventario de planta de alimentos
 /// </summary>
 /// <returns></returns>
 public List <MovimientosAutorizarCierreDiaPAModel> ObtenerMovimientosPendientesAutorizar(
     FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
 {
     try
     {
         Logger.Info();
         var almacenMovimientoBl = new AlmacenMovimientoBL();
         return(almacenMovimientoBl.ObtenerMovimientosPendientesAutorizar(filtrosAutorizarCierreDia));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Crea un registro almacen movimiento
 /// </summary>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosObtenerMovimientosPendientesAutorizar(FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@AlmacenID", filtrosAutorizarCierreDia.AlmacenID },
             { "@TipoMovimientoID", filtrosAutorizarCierreDia.TipoMovimientoID },
             { "@EstatusMovimiento", filtrosAutorizarCierreDia.EstatusMovimiento },
             { "@FechaMovimiento", filtrosAutorizarCierreDia.FechaMovimiento }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene los movimientos pendientes pro autorizar del cierre de dia de inventario de planta de alimentos
 /// </summary>
 /// <returns></returns>
 internal List <MovimientosAutorizarCierreDiaPAModel> ObtenerMovimientosPendientesAutorizar(FiltrosAutorizarCierreDiaInventarioPA filtrosAutorizarCierreDia)
 {
     try
     {
         List <MovimientosAutorizarCierreDiaPAModel> result = null;
         Logger.Info();
         Dictionary <string, object> parameters = AuxAlmacenMovimientoDAL.ObtenerParametrosObtenerMovimientosPendientesAutorizar(filtrosAutorizarCierreDia);
         DataSet ds = Retrieve("CierreDiaInventarioPA_ObtenerMovimientosAutorizar", parameters);
         if (ValidateDataSet(ds))
         {
             result = MapAlmacenMovimientoDAL.ObtenerPorMovimientosPendientesAutorizar(ds);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }