/// <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); }
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; } }
/// <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); } }