/// <summary> /// Obtiene una entidad Almacen por su descripción /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> public AlmacenMovimientoInfo ObtenerAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenDAL = new AlmacenDAL(); AlmacenMovimientoInfo result = almacenDAL.ObtenerAlmacenMovimiento(almacenMovimientoInfo); if (result != null) { AlmacenMovimientoDetalleBL almacenMovimientoDetalleBl = new AlmacenMovimientoDetalleBL(); result.ListaAlmacenMovimientoDetalle = new List <AlmacenMovimientoDetalle> { almacenMovimientoDetalleBl.ObtenerPorAlmacenMovimientoID(result.AlmacenMovimientoID) }; AlmacenMovimientoCostoBL almacenMovimientoCostoBl = new AlmacenMovimientoCostoBL(); result.ListaAlmacenMovimientoCosto = almacenMovimientoCostoBl.ObtenerPorAlmacenMovimientoId(result); } return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Cargar el grid /// </summary> public void CargarGrid() { var almacenId = (int)cboAlmacenes.SelectedValue; var almacenPl = new AlmacenPL(); AlmacenMovimientoInfo almacenMovimientoInfo = new AlmacenMovimientoInfo { AlmacenID = almacenId, TipoMovimientoID = (int)TipoMovimiento.InventarioFisico, Status = (int)EstatusInventario.Pendiente }; IList <AlmacenMovimientoInfo> resultadoGrid = almacenPl.ObtenerListaAlmacenMovimiento(almacenMovimientoInfo, (int)EstatusEnum.Activo); if (resultadoGrid.Count > 0) { gridDatos.ItemsSource = resultadoGrid; btnDetalle.IsEnabled = true; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AutorizarAjuste_NoMovimientosDiferencia, MessageBoxButton.OK, MessageImage.Warning); LimpiarCaptura(); } }
/// <summary> /// obtiene el almacen movimiento /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <param name="activo"></param> /// <returns></returns> public IList <AlmacenMovimientoInfo> ObtenerListaAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo, int activo) { try { Logger.Info(); var almacenDAL = new AlmacenDAL(); IList <AlmacenMovimientoInfo> resultado = new List <AlmacenMovimientoInfo>(); IList <AlmacenMovimientoInfo> result = almacenDAL.ObtenerListaAlmacenMovimiento(almacenMovimientoInfo, activo); if (result != null) { foreach (var movimientoInfo in result) { if (movimientoInfo.Status == (int)EstatusInventario.Pendiente) { resultado.Add(movimientoInfo); } } } return(resultado); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un Almacen por su Id /// </summary> /// <returns> </returns> public EstatusInfo ObtenerEstatusInfo(AlmacenMovimientoInfo almacenMovimientoInfo) { EstatusInfo info = null; try { Logger.Info(); var estatusBL = new EstatusBL(); var resultadoEstatus = estatusBL.ObtenerEstatusTipoEstatus((int)TipoEstatus.Inventario); if (resultadoEstatus != null) { foreach (var estatus in resultadoEstatus.Where(estatus => estatus.EstatusId == almacenMovimientoInfo.Status)) { info = new EstatusInfo { EstatusId = estatus.EstatusId, Descripcion = estatus.Descripcion }; } } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Crea un registro almacen movimiento /// </summary> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCrear(AlmacenMovimientoInfo almacenMovimientoInfo) { try { //Validar si la observacion es nula almacenMovimientoInfo.Observaciones = almacenMovimientoInfo.Observaciones ?? ""; Logger.Info(); var parametros = new Dictionary <string, object> { { "@AlmacenID", almacenMovimientoInfo.AlmacenID }, { "@TipoMovimientoID", almacenMovimientoInfo.TipoMovimientoID }, { "@ProveedorID", almacenMovimientoInfo.ProveedorId }, { "@Status", almacenMovimientoInfo.Status }, { "@UsuarioCreacionID", almacenMovimientoInfo.UsuarioCreacionID }, { "@Observaciones", almacenMovimientoInfo.Observaciones }, { "@EsEnvioAlimento", almacenMovimientoInfo.EsEnvioAlimento ? 1 : 0 }, { "@OrganizacionOrigenID", almacenMovimientoInfo.OrganizacionID } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista de entrada premezcla por movimiento de entrada /// </summary> /// <param name="entradaPremezclaInfo"></param> /// <returns></returns> internal List <EntradaPremezclaInfo> ObtenerPorMovimientoEntrada(AlmacenMovimientoInfo almacenMovimiento) { List <EntradaPremezclaInfo> listaEntradaPremezcla = null; try { Dictionary <string, object> parameters = AuxEntradaPremezclaDAL.ObtenerParametrosObtenerPorMovimientoEntrada(almacenMovimiento); DataSet ds = Retrieve("EntradaProducto_ObtenerFolioPorPaginaEstatus", parameters); if (ValidateDataSet(ds)) { listaEntradaPremezcla = MapEntradaPremezclaDAL.ObtenerPorMovimientoEntrada(ds); } } catch (System.Data.SqlClient.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); } return(listaEntradaPremezcla); }
/// <summary> /// Obtiene el Almacen Movimiento por su Detalle /// </summary> /// <param name="almancenMovimientosDetalle"></param> /// <returns></returns> internal AlmacenMovimientoInfo ObtenerMovimientoPorClaveDetalle(List <AlmacenMovimientoDetalle> almancenMovimientosDetalle) { AlmacenMovimientoInfo almacenMovimiento = null; try { Dictionary <string, object> parameters = AuxAlmacenMovimientoDAL.ObtenerParametrosPorClaveDetalle(almancenMovimientosDetalle); DataSet ds = Retrieve("AlmacenMovimiento_ObtenerMovimientoXML", parameters); if (ValidateDataSet(ds)) { almacenMovimiento = MapAlmacenMovimientoDAL.ObtenerMovimientoPorClaveDetalle(ds); } } 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); } return(almacenMovimiento); }
/// <summary> /// Crear un registro en almacen movimiento /// </summary> /// <returns></returns> internal long Crear(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); Dictionary <string, object> parameters = AuxAlmacenMovimientoDAL.ObtenerParametrosCrear(almacenMovimientoInfo); long result = Create("AlmacenMovimiento_Crear", parameters); 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); } }
/// <summary> /// Obtiene un flujo de datos /// para la generacion de la reimpresion /// de la poliza de Salida de Traspaso /// </summary> /// <param name="produccionFormula"></param> /// <param name="polizaClave"></param> /// <returns></returns> private MemoryStream ReimpresionPolizaProduccionAlimento(ProduccionFormulaInfo produccionFormula, TipoPolizaInfo polizaClave) { var polizaBL = new PolizaBL(); IList <PolizaInfo> polizasProduccionAlimento = polizaBL.ObtenerPoliza(TipoPoliza.ProduccionAlimento, produccionFormula.Organizacion.OrganizacionID, produccionFormula.FechaProduccion, produccionFormula.FolioFormula.ToString(CultureInfo.InvariantCulture), polizaClave.ClavePoliza, 1); MemoryStream stream = null; if (polizasProduccionAlimento != null) { var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.ProduccionAlimento); var produccionFormulaBL = new ProduccionFormulaBL(); using (var almacenDAL = new AlmacenDAL()) { var almacenMovimientoBL = new AlmacenMovimientoBL(); ProduccionFormulaInfo produccion = produccionFormulaBL.ObtenerPorIDCompleto(produccionFormula.ProduccionFormulaId); if (produccion != null) { AlmacenInfo almacenPlantaAlimento = almacenDAL.ObtenerAlmacenOrganizacionTipo(produccionFormula.Organizacion.OrganizacionID, TipoAlmacenEnum.PlantaDeAlimentos); AlmacenMovimientoInfo almacenMovimiento = almacenMovimientoBL.ObtenerPorIDCompleto(produccion.AlmacenMovimientoSalidaID); var produccionFormulaDetalles = new List <ProduccionFormulaDetalleInfo>(); if (almacenMovimiento != null) { foreach (var detalle in produccion.ProduccionFormulaDetalle) { var movimiento = almacenMovimiento.ListaAlmacenMovimientoDetalle.FirstOrDefault( alm => alm.Producto.ProductoId == detalle.Producto.ProductoId && alm.AlmacenInventarioLoteId == detalle.AlmacenInventarioLoteID); if (movimiento == null) { continue; } detalle.CantidadProducto = movimiento.Cantidad; detalle.PrecioPromedio = movimiento.Precio; produccionFormulaDetalles.Add(detalle); } } if (almacenPlantaAlimento == null) { return(null); } produccion.ProduccionFormulaDetalle = produccionFormulaDetalles; produccion.Almacen = almacenPlantaAlimento; polizasProduccionAlimento = poliza.GeneraPoliza(produccion); stream = poliza.ImprimePoliza(produccion, polizasProduccionAlimento); } } } return(stream); }
/// <summary> /// Termina la salida del producto /// </summary> /// <param name="salida"></param> /// <param name="movimiento"></param> /// <returns></returns> internal int TerminarSalidaProducto(SalidaProductoInfo salida, AlmacenMovimientoInfo movimiento) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaProductoDAL.ObtenerParametrosTerminarSalida(salida, movimiento); int result = Create("SalidaProducto_TerminarSalidaProducto", parameters); 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); } }
/// <summary> /// Obtiene un flujo de datos /// para la generacion de la reimpresion /// de la poliza de Salida de Traspaso /// </summary> /// <param name="folioSolicitud"></param> /// <param name="polizaClave"></param> /// <returns></returns> private MemoryStream ReimpresionPolizaSalidaConsumo(FolioSolicitudInfo folioSolicitud, TipoPolizaInfo polizaClave) { var polizaBL = new PolizaBL(); IList <PolizaInfo> polizasSalidaConsumo = polizaBL.ObtenerPoliza(TipoPoliza.SalidaConsumo, folioSolicitud.OrganizacionID, folioSolicitud.FechaEntrega.HasValue ? folioSolicitud.FechaEntrega.Value : DateTime.MinValue, folioSolicitud.FolioSolicitud.ToString(CultureInfo.InvariantCulture), polizaClave.ClavePoliza, 1); MemoryStream stream = null; if (polizasSalidaConsumo != null) { var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.SalidaConsumo); var solicitudProductoDAL = new SolicitudProductoDAL(); using (var almacenDAL = new AlmacenDAL()) { var almacenMovimientoBL = new AlmacenMovimientoBL(); SolicitudProductoInfo solicitud = solicitudProductoDAL.ObtenerPorID(folioSolicitud.FolioID); if (solicitud != null) { AlmacenInfo almacenGeneral = almacenDAL.ObtenerAlmacenGeneralOrganizacion(folioSolicitud.OrganizacionID); AlmacenMovimientoInfo almacenMovimiento = almacenMovimientoBL.ObtenerPorIDCompleto(solicitud.AlmacenMovimientoID.HasValue ? solicitud.AlmacenMovimientoID.Value : 0); if (almacenMovimiento != null) { foreach (var detalle in solicitud.Detalle) { var movimiento = almacenMovimiento.ListaAlmacenMovimientoDetalle.FirstOrDefault( alm => alm.Producto.ProductoId == detalle.Producto.ProductoId); if (movimiento == null) { continue; } detalle.PrecioPromedio = movimiento.Precio; } } if (almacenGeneral == null) { return(null); } solicitud.AlmacenGeneralID = almacenGeneral.AlmacenID; polizasSalidaConsumo = poliza.GeneraPoliza(solicitud); stream = poliza.ImprimePoliza(solicitud, polizasSalidaConsumo); } } } return(stream); }
/// <summary> /// Llena datos seccion ajuste de inventario e historial /// </summary> private void LlenarDatosAlmacenMovimiento() { var usuarioPL = new UsuarioPL(); var almacenMovimientoInfo = new AlmacenMovimientoInfo { AlmacenID = almacenID, FolioMovimiento = folioMovimiento, AlmacenMovimientoID = almacenMovimientoID }; var almacenPL = new AlmacenPL(); var almacenMovimiento = almacenPL.ObtenerAlmacenMovimiento(almacenMovimientoInfo); if (almacenMovimiento == null) { return; } //Informacion almacen txtFolioInventarioFisico.Text = Convert.ToString(almacenMovimiento.FolioMovimiento); var tipoMovimiento = new TipoMovimientoPL(); var resultado = tipoMovimiento.ObtenerPorID(almacenMovimiento.TipoMovimientoID); if (resultado != null) { txtTipoMovimiento.Text = resultado.Descripcion; } //Fecha actual var fechaActual = DateTime.Now; txtFecha.Text = fechaActual.ToString("dd'/'MM'/'yyyy' 'hh':'mm tt", CultureInfo.InvariantCulture); //Obtener descripcion de estatus var ajusteDeInventarioPL = new AjusteDeInventarioPL(); var estatusInfo = ajusteDeInventarioPL.ObtenerEstatusInfo(almacenMovimiento); if (estatusInfo != null) { txtEstado.Text = estatusInfo.Descripcion; } //Usuarios creacion y modificacion var usuario = usuarioPL.ObtenerPorID(almacenMovimiento.UsuarioCreacionID); if (usuario != null) { txtCreadoPor.Text = usuario.Nombre; } txtModificadoPor.Text = nombreUsuario; txtUltimaActualizacion.Text = fechaActual.ToString("dd'/'MM'/'yyyy' 'hh':'mm tt", CultureInfo.InvariantCulture); //Fecha creacion y modificacion //var fechaVal = new DateTime(1492, 10, 12); var fechaCreacion = almacenMovimiento.FechaCreacion; txtFechaCreacion.Text = fechaCreacion.ToString("dd'/'MM'/'yyyy' 'hh':'mm tt", CultureInfo.InvariantCulture); }
public AjusteDeInventario(AlmacenMovimientoInfo seleccion) { InitializeComponent(); organizacionID = Extensor.ValorEntero(Application.Current.Properties["OrganizacionID"].ToString()); usuarioID = AuxConfiguracion.ObtenerUsuarioLogueado(); nombreUsuario = Application.Current.Properties["Nombre"].ToString(); almacenID = seleccion.AlmacenID; folioMovimiento = seleccion.FolioMovimiento; almacenMovimientoID = seleccion.AlmacenMovimientoID; }
/// <summary> /// Metodo que llena grid de diferencias de inventario /// </summary> private void LlenarGridDiferencias() { try { var ajusteDeInventarioPL = new AjusteDeInventarioPL(); var almacenMovimientoInfo = new AlmacenMovimientoInfo { AlmacenID = almacenID, AlmacenMovimientoID = almacenMovimientoID }; listadoProductos = ajusteDeInventarioPL.ObtenerDiferenciaInventarioFisicoTeorico(almacenMovimientoInfo, organizacionID); if (listadoProductos != null) { listadoProductos = FiltrarProductosAlmacen(listadoProductos); if (listadoProductos.Count > 0) { gridDatos.ItemsSource = listadoProductos; } else { txtObservaciones.Focus(); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AjusteDeInventario_MensajeNoDiferencias, MessageBoxButton.OK, MessageImage.Warning); } } else { txtObservaciones.Focus(); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AjusteDeInventario_MensajeNoDiferencias, MessageBoxButton.OK, MessageImage.Warning); } } catch (ExcepcionGenerica ex) { Logger.Error(ex); throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Genera los registros de los movimientos para entrada y/o salida del Almacen /// </summary> private void ArmarAlmacenMovimientoEntradaSalidaAlmacen(List <AlmacenMovimientoInfo> listaMovimientosFinal, CierreDiaInventarioPAInfo cierreDiaInventarioPA, IEnumerable <EstatusInfo> listaEstatusInventario, bool esEntrada) { EstatusInfo estatusAutorizado = listaEstatusInventario.FirstOrDefault( esta => esta.DescripcionCorta.Trim().Equals(ConstantesBL.MovimientoAutorizado.Trim())); if (estatusAutorizado == null) { return; } var movimiento = new AlmacenMovimientoInfo { AlmacenID = cierreDiaInventarioPA.AlmacenID, TipoMovimientoID = esEntrada ? TipoMovimiento.EntradaPorAjuste.GetHashCode() : TipoMovimiento.SalidaPorAjuste.GetHashCode(), FolioMovimiento = cierreDiaInventarioPA.FolioMovimiento, Observaciones = cierreDiaInventarioPA.Observaciones, //FechaMovimiento = DateTime.Now, Status = estatusAutorizado.EstatusId, UsuarioCreacionID = cierreDiaInventarioPA.UsuarioCreacionID }; var movimientoDetalles = (from detalle in cierreDiaInventarioPA.ListaCierreDiaInventarioPADetalle select new AlmacenMovimientoDetalle { AlmacenInventarioLoteId = detalle.AlmacenInventarioLoteID, ProductoID = detalle.ProductoID, Precio = detalle.CostoUnitario, Cantidad = Math.Abs(detalle.InventarioFisico - detalle.InventarioTeorico), Piezas = Math.Abs((detalle.PiezasFisicas - detalle.PiezasTeoricas)), Importe = Math.Round( Convert.ToDecimal(Math.Abs(detalle.InventarioFisico - detalle.InventarioTeorico)) * detalle.CostoUnitario, 2), UsuarioCreacionID = cierreDiaInventarioPA.UsuarioCreacionID }).ToList(); movimiento.ListaAlmacenMovimientoDetalle = movimientoDetalles; listaMovimientosFinal.Add(movimiento); }
/// <summary> /// Metodo para obtener la lista de movimientos de la entrada /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> internal List <EntradaPremezclaInfo> ObtenerPorMovimientoEntrada(AlmacenMovimientoInfo almacenMovimiento) { try { Logger.Info(); var entradaPremezclaDAL = new EntradaPremezclaDAL(); return(entradaPremezclaDAL.ObtenerPorMovimientoEntrada(almacenMovimiento)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Actualizar estatus del movimiento /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> internal void ActualizarEstatus(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenMovimientoDal = new AlmacenMovimientoDAL(); almacenMovimientoDal.ActualizarEstatus(almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo que actualiza un registro en AlmacenMovimiento /// </summary> /// <param name="almacenMovimientoInfo"></param> public void ActualizarAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenDAL = new AlmacenDAL(); almacenDAL.ActualizarAlmacenMovimiento(almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Crear un registro en almacen movimiento /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> internal long Crear(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenMovimientoDal = new AlmacenMovimientoDAL(); long result = almacenMovimientoDal.Crear(almacenMovimientoInfo); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un listado por almacen movimiento id /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> internal List <AlmacenMovimientoCostoInfo> ObtenerPorAlmacenMovimientoId(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenMovimientoCostoDAL = new AlmacenMovimientoCostoDAL(); List <AlmacenMovimientoCostoInfo> result = almacenMovimientoCostoDAL.ObtenerPorAlmacenMovimientoId(almacenMovimientoInfo); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad por su descripción /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> public AlmacenMovimientoInfo ObtenerAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoInfo) { try { Logger.Info(); var almacenBL = new AlmacenBL(); AlmacenMovimientoInfo result = almacenBL.ObtenerAlmacenMovimiento(almacenMovimientoInfo); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Guarda el almacen movimiento /// </summary> /// <param name="almacenMovimientoNuevo"></param> /// <returns></returns> internal AlmacenMovimientoInfo GuardarAlmacenMovimiento(AlmacenMovimientoInfo almacenMovimientoNuevo) { try { Logger.Info(); var almacenDAL = new AlmacenDAL(); AlmacenMovimientoInfo resultado = almacenDAL.GuardarAlmacenMovimiento(almacenMovimientoNuevo); return(resultado); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Genera los registro que quedarán pendientes de autorizar /// </summary> private void ArmarAlmacenMovimientoInventarioFisicoPendiente(List <AlmacenMovimientoInfo> listaMovimientosFinal, CierreDiaInventarioPAInfo cierreDiaInventarioPA, IEnumerable <EstatusInfo> listaEstatusInventario) { EstatusInfo estatusPendiente = listaEstatusInventario.FirstOrDefault( esta => esta.DescripcionCorta.Trim().Equals(ConstantesBL.MovimientoPendiente.Trim())); if (estatusPendiente == null) { return; } var movimiento = new AlmacenMovimientoInfo { AlmacenID = cierreDiaInventarioPA.AlmacenID, TipoMovimientoID = TipoMovimiento.InventarioFisico.GetHashCode(), FolioMovimiento = cierreDiaInventarioPA.FolioMovimiento, Observaciones = cierreDiaInventarioPA.Observaciones, //FechaMovimiento = DateTime.Now, Status = estatusPendiente.EstatusId, UsuarioCreacionID = cierreDiaInventarioPA.UsuarioCreacionID }; var movimientoDetalles = (from detalle in cierreDiaInventarioPA.ListaCierreDiaInventarioPADetalle select new AlmacenMovimientoDetalle { AlmacenInventarioLoteId = detalle.AlmacenInventarioLoteID, ProductoID = detalle.ProductoID, Precio = detalle.CostoUnitario, Cantidad = detalle.InventarioFisico, Piezas = detalle.PiezasFisicas, Importe = Math.Round( Convert.ToDecimal(detalle.InventarioFisico) * detalle.CostoUnitario, 2), UsuarioCreacionID = cierreDiaInventarioPA.UsuarioCreacionID }).ToList(); movimiento.ListaAlmacenMovimientoDetalle = movimientoDetalles; listaMovimientosFinal.Add(movimiento); }
/// <summary> /// Obtener costos por almacen movimiento id /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> public List <AlmacenMovimientoCostoInfo> ObtenerPorAlmacenMovimientoId(AlmacenMovimientoInfo almacenMovimientoInfo) { List <AlmacenMovimientoCostoInfo> info; try { Logger.Info(); var almacenMovimientoCostoBl = new AlmacenMovimientoCostoBL(); info = almacenMovimientoCostoBl.ObtenerPorAlmacenMovimientoId(almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Obtiene un listado de almacen movimiento costo /// </summary> /// <param name="almacenMovimientoId"></param> /// <returns></returns> internal List <AlmacenMovimientoCostoInfo> ObtenerPorAlmacenMovimientoId(AlmacenMovimientoInfo almacenMovimientoId) { List <AlmacenMovimientoCostoInfo> almacenMovimientoCostoInfo = null; try { Dictionary <string, object> parametros = AuxAlmacenMovimientoCostoDAL.ObtenerParametrosObtenerPorAlmacenMovimientoId(almacenMovimientoId); DataSet ds = Retrieve("AlmacenMovimientoCosto_ObtenerPorAlmacenMovimientoId", parametros); if (ValidateDataSet(ds)) { almacenMovimientoCostoInfo = MapAlmacenMovimientoCostoDAL.ObtenerPorAlmacenMovimientoId(ds); } } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(almacenMovimientoCostoInfo); }
/// <summary> /// Obtiene el Status de AlmacenMovimiento /// </summary> /// <returns> </returns> public EstatusInfo ObtenerEstatusInfo(AlmacenMovimientoInfo almacenMovimientoInfo) { EstatusInfo info; try { Logger.Info(); var ajusteDeInventarioBL = new AjusteDeInventarioBL(); info = ajusteDeInventarioBL.ObtenerEstatusInfo(almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Validar que no queden ajustes pendientes por aplicar para el almacen(Diferencias de inventario) /// </summary> /// <param name="almacenMovimientoInfo"></param> /// <returns></returns> public bool ExistenAjustesPendientesParaAlmacen(AlmacenMovimientoInfo almacenMovimientoInfo) { bool info; try { Logger.Info(); var almacenBL = new AlmacenBL(); info = almacenBL.ExistenAjustesPendientesParaAlmacen(almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
private long GuardarMovimientos(RecepcionProductoInfo recepcionProducto) { long almacenMovimientoId = 0; try { var almacenMovimientoBl = new AlmacenMovimientoBL(); AlmacenMovimientoInfo almacenMovimiento = new AlmacenMovimientoInfo(); almacenMovimiento.AlmacenID = recepcionProducto.Almacen.AlmacenID; almacenMovimiento.TipoMovimientoID = (int)TipoMovimiento.RecepcionProducto; almacenMovimiento.Observaciones = recepcionProducto.Observaciones; almacenMovimiento.Status = (int)EstatusInventario.Aplicado; almacenMovimiento.ProveedorId = recepcionProducto.Proveedor.ProveedorID; almacenMovimiento.UsuarioCreacionID = recepcionProducto.UsuarioCreacion.UsuarioID; almacenMovimientoId = almacenMovimientoBl.Crear(almacenMovimiento); if (almacenMovimientoId > 0) { var almacenMovimientoDetalleBl = new AlmacenMovimientoDetalleBL(); foreach (var recepcionProductoDetalle in recepcionProducto.ListaRecepcionProductoDetalle) { var almacenMovimientoDetalle = new AlmacenMovimientoDetalle(); almacenMovimientoDetalle.AlmacenMovimientoID = almacenMovimientoId; almacenMovimientoDetalle.ProductoID = recepcionProductoDetalle.Producto.ProductoId; almacenMovimientoDetalle.Importe = recepcionProductoDetalle.Importe; almacenMovimientoDetalle.Cantidad = recepcionProductoDetalle.Cantidad; almacenMovimientoDetalle.Precio = almacenMovimientoDetalle.Importe / almacenMovimientoDetalle.Cantidad; almacenMovimientoDetalle.UsuarioCreacionID = recepcionProducto.UsuarioCreacion.UsuarioID; almacenMovimientoDetalleBl.Crear(almacenMovimientoDetalle); } } } catch (Exception ex) { Logger.Error(ex); } return(almacenMovimientoId); }
/// <summary> /// Funcion para almacenar los tratamientos en almacenMovimiento y Descontarlos del inventario /// </summary> /// <param name="listaTratamientos"></param> /// <param name="almacenMovimientoInfo"></param> public int GuardarDescontarTratamientos(List <TratamientoInfo> listaTratamientos, AlmacenMovimientoInfo almacenMovimientoInfo) { int info; try { Logger.Info(); var almacenBL = new AlmacenBL(); info = almacenBL.GuardarDescontarTratamientos(listaTratamientos, almacenMovimientoInfo); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Cargar ajuste inventario /// </summary> public void CargarajusteDeInventarioLog() { try { AlmacenMovimientoInfo seleccion = (AlmacenMovimientoInfo)gridDatos.SelectedItem; var ajusteDeInventarioLog = new AjusteDeInventario(seleccion) { Left = (ActualWidth - Width) / 2, Top = ((ActualHeight - Height) / 2) + 132, Owner = Application.Current.Windows[ConstantesVista.WindowPrincipal] }; ajusteDeInventarioLog.ShowDialog(); CargarGrid(); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }