private void ImprimeEntradaPedido()
        {
            var entradaDetalles = EntradaService.EntradaDetalleDao.RptEntradaPedido
                    (FrmAlmacen.AlmacenActual, int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value,
                    cmbTipoPedido.SelectedValue as CatTipopedido);

            if (entradaDetalles.Count != 0)
            {
                var lstEntradas = new List<rptDataEntradaPedido>();
                foreach (var entradadetalle in entradaDetalles)
                {
                    var objArticuloId = new ArticuloId((int) entradadetalle[10], FrmAlmacen.AlmacenActual);
                    var objArticulo = EntradaService.ArticuloDao.Get(objArticuloId);

                    var entrada = new rptDataEntradaPedido()
                    {
                        InfoPedido = entradadetalle[0] + " " + entradadetalle[1] + " " +
                                    Convert.ToDateTime(entradadetalle[2]).ToShortDateString(),
                        Proveedor = entradadetalle[3].ToString(),
                        CveArt = objArticulo.Id.CveArt,
                        DesArticulo = objArticulo.DesArticulo,
                        Unidad = objArticulo.CatUnidad,
                        FechaEntrada = Convert.ToDateTime(entradadetalle[4].ToString()),
                        FolioEntrada = (int)entradadetalle[5],
                        Factura = entradadetalle[6].ToString(),
                        CantidadPedida = Convert.ToDouble(entradadetalle[7]),
                        CantidadRecibida = Convert.ToDouble(entradadetalle[8]),
                        CostoUnitario = Convert.ToDouble(entradadetalle[9]),
                        CantidadxRecibir = Convert.ToDouble(entradadetalle[11])
                    };
                    lstEntradas.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstEntradas,
                    StrRptName = "rptEntradaPedido",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemple #2
0
 //, Almacen almacen)
 //string gramaje, string dosis, int? idgrupo,, Almacen almacen
 public Articulo(ArticuloId id, string desarticulo, string presentacion, short? presentacioncant, string presentacionunid, decimal? maximo, decimal? minimo, decimal? puntoreorden, decimal? consumopromedio, decimal? movimientoprom, string tipomovimiento, string arealocaliza, string anaquellocaliza, string nivellocaliza,  DateTime? fechaalta, string ipterminal, byte[] imagen)
 {
     this._id= id;
     this._desarticulo= desarticulo;
     this._presentacion= presentacion;
     this._presentacioncant= presentacioncant;
     this._presentacionunid= presentacionunid;
     this._maximo= maximo;
     this._minimo= minimo;
     this._puntoreorden= puntoreorden;
     this._consumopromedio= consumopromedio;
     this._movimientoprom= movimientoprom;
     this._tipomovimiento= tipomovimiento;
     this._arealocaliza= arealocaliza;
     this._anaquellocaliza= anaquellocaliza;
     this._nivellocaliza= nivellocaliza;
     this._fechaalta= fechaalta;
     this._ipterminal= ipterminal;
     this._imagen = imagen;
 }
Exemple #3
0
        private void dgvSalidasDetalle_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            //Para realizar las validaciones
               try
               {
               //Posicionado en renglon}
               if (e.ColumnIndex == 0)
               {
                   if (TieneRepetidoRenglon(Convert.ToInt32(dgvSalidasDetalle[e.ColumnIndex, e.RowIndex].Value)))
                   {
                       bisSalidaDetalle.RemoveAt(e.RowIndex);
                       MessageBox.Show(@"Articulo Repetido, Verifique . .",
                                        @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   }
                   else
                   {

                       var objArticuloId = new ArticuloId(Convert.ToInt32(dgvSalidasDetalle[e.ColumnIndex, e.RowIndex].Value),
                                                           FrmAlmacen.AlmacenActual);
                       var objArticulo = SalidaService.ArticuloDao.Get(objArticuloId);
                       if (objArticulo != null)
                       {
                           var objSalidaDetalle = new SalidaDetalle
                           {
                               Articulo = objArticulo,
                               Clave = objArticulo.Id.CveArt,
                               Unidad = objArticulo.CatUnidad,
                               Existencia = SalidaService.EntradaDetalleDao.ExistenciaTotal(objArticulo.Id.CveArt,
                               FrmAlmacen.AlmacenActual.IdAlmacen)
                           };
                           bisSalidaDetalle.RemoveAt(e.RowIndex);
                           bisSalidaDetalle.Insert(e.RowIndex, objSalidaDetalle);
                       }
                       else
                       {
                           bisSalidaDetalle.RemoveAt(e.RowIndex);
                           MessageBox.Show(@"La Clave del Articulo No Existe, Verifique . .",
                                   @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
                       }
                       return;
                   }
               }

               if (e.ColumnIndex == 5)
               {
                   if (Convert.ToDecimal(dgvSalidasDetalle[e.ColumnIndex, e.RowIndex].Value) > Convert.ToDecimal(dgvSalidasDetalle[3, e.RowIndex].Value))
                   {
                       MessageBox.Show(@"Existencia Insuficiente, Verifique . .",
                                       @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
                       dgvSalidasDetalle[e.ColumnIndex, e.RowIndex].Value = "";
                   }
               }

               }
               catch (Exception ee)
               {
               MessageBox.Show(@"Ocurrio un error en la insercion del Articulo " + ee.Message,
                    @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
               }
        }
Exemple #4
0
        private void CargaSalida(int intNumeroSalida)
        {
            SalidaActual = SalidaService.SalidaDao.CargaSalida(dtFechaSalida.Value.Year,
                            FrmAlmacen.AlmacenActual.IdAlmacen, intNumeroSalida, FrmAcceso.UsuarioLog.IdUsuario);
            if (SalidaActual != null)
            {
                bisSalida.DataSource = SalidaActual;

                var tmp = SalidaService.SalidaDetalleDao.CargaSumSurtida(SalidaActual.IdSalida);

                //Agregamos Renglon )
                foreach (var salidaDetalle in tmp)
                {
                    var objArticuloId = new ArticuloId((int)salidaDetalle[0], FrmAlmacen.AlmacenActual);
                    var objArticulo = SalidaService.ArticuloDao.Get(objArticuloId);
                    if (objArticulo != null)
                    {
                        var objSalidaDetalle = new SalidaDetalle
                        {
                            Articulo = objArticulo,
                            Clave = objArticulo.Id.CveArt,
                            Unidad = objArticulo.CatUnidad,
                            Existencia = SalidaService.EntradaDetalleDao.ExistenciaTotal(objArticulo.Id.CveArt,
                            FrmAlmacen.AlmacenActual.IdAlmacen),
                            CantidadPedida = (decimal)salidaDetalle[1],
                            CantidadSurtida = (decimal)salidaDetalle[2]
                        };
                        bisSalidaDetalle.Add(objSalidaDetalle);
                    }
                }

                SalidaService.CargaArea(cmbArea, FrmAlmacen.AlmacenActual.IdAlmacen.Contains("C") ? "C" : "N",
                    SalidaActual.CatArea.CveArea);

                if (SalidaService.CierreDao.CierreExiste(FrmAlmacen.AlmacenActual.IdAlmacen, dtFechaSalida.Value.Month,
                                                             dtFechaSalida.Value.Year))
                {
                    MessageBox.Show(@"Ya Existe Cierre de Mes, No Puede Modificar la Salida . . ",
                                    @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }
                else
                {
                    if (FrmAlmacen.AlmacenActual.IdAlmacen.Contains("P"))
                    {
                        lblNoOrden.Visible = true;
                        txtNoOrden.Visible = true;
                        txtNoOrden.Enabled = true;
                    }
                    else
                    {
                        lblNoOrden.Visible = false;
                        txtNoOrden.Visible = false;
                        txtNoOrden.Enabled = false;
                    }
                    txtCveArea.Enabled = true;
                    cmbArea.Enabled = true;
                    cmbEntrego.Enabled = true;
                    txtVoBo.Enabled = true;
                    txtRecibio.Enabled = true;
                    btnGuardar.Enabled = true;
                    dgvSalidasDetalle.Enabled = true;
                }
                txtNumeroSalida.Enabled = false;
                dtFechaSalida.Enabled = false;
            }
            else
            {
                MessageBox.Show(@"El Numero de Salida No Existe o Fue Capturado Por Otro Usuario, Verifique . .",
                                            @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemple #5
0
 //, Almacen almacen)
 public Articulo(ArticuloId id)
 {
     this._id= id;
     //this._almacen= almacen;
 }
        private decimal[] CierrePaso(Articulo articulo, DateTime dtFechaIni, DateTime dtFechaFin, decimal decExistencia,
                                        decimal decCosto, Data.Entities.Almacen almacen)
        {
            //Delete from ult_cpf=cierrepaso where almacen=xalma
                //var lstCierrePaso = CierreService.CierrePasoDao.CargaCierrePaso(almacen.IdAlmacen);
                //CierreService.BorraCierrePaso(ref lstCierrePaso);

                //Busca Entradas
                var lstEntradas = CierreService.CierrePasoDao.CargaEntradas(articulo.Id.CveArt, dtFechaIni, dtFechaFin,
                                                                             almacen.IdAlmacen);
                foreach (var objEntrada in lstEntradas)
                {
                    var CierrePasoId = new CierrePasoId(Convert.ToDateTime(objEntrada[3]), articulo, (long)objEntrada[0],"E");
                    var CierrePaso = new CierrePaso(CierrePasoId)
                                         {
                                             Cantidad = (decimal) objEntrada[1],
                                             CostoP = (decimal) objEntrada[2]
                                         };
                    CierreService.CierrePasoDao.Update(CierrePaso);
                }

                //Busca Salidas
                var lstSalidas = CierreService.CierrePasoDao.CargaSalidas(articulo.Id.CveArt, dtFechaIni, dtFechaFin,
                                                                       almacen.IdAlmacen);
                foreach (var objSalida in lstSalidas)
                {
                    var CierrePasoId = new CierrePasoId(Convert.ToDateTime(objSalida[3]), articulo, (long)objSalida[0], "S");
                    var CierrePaso = new CierrePaso(CierrePasoId)
                                         {
                                             Cantidad = (decimal)objSalida[1],
                                             CostoP = (decimal)objSalida[2]
                                         };
                    CierreService.CierrePasoDao.Update(CierrePaso);
                }

                //Calcula
                var lstCierrePaso = CierreService.CierrePasoDao.CargaCierrePaso(almacen.IdAlmacen);
                foreach (var cierrePaso in lstCierrePaso)
                {
                    if (cierrePaso.Id.EntSal == "S")
                    {
                        decExistencia = (decimal) (decExistencia - cierrePaso.Cantidad);
                        //update salida_detalle
                        var objSalidaDetalles = CierreService.SalidaDetalleDao.CargaSalidaDetalles(
                            (int) cierrePaso.Id.Llave, articulo.Id.CveArt);
                        foreach (var salidaDetalle in objSalidaDetalles)
                        {
                            salidaDetalle.CostoPromedio = decCosto;
                            CierreService.SalidaDetalleDao.Update(salidaDetalle);
                        }
                    }
                    else
                    {
                        if (decExistencia <= 0)
                        {
                            decCosto = (decimal) cierrePaso.CostoP;
                            decExistencia = (decimal) (decExistencia + cierrePaso.Cantidad);
                        }
                        else
                        {
                            decCosto = (decimal) (((decExistencia*decCosto) + (cierrePaso.Cantidad*cierrePaso.CostoP))
                                                  /(decExistencia + cierrePaso.Cantidad));
                            decExistencia = (decimal) (decExistencia + cierrePaso.Cantidad);
                        }
                    }
                }

                if (decExistencia > 0 || decCosto > 0)
                {
                    var objArticuloId = new ArticuloId(articulo.Id.CveArt, almacen);
                    var objArticulo = CierreService.ArticuloDao.Get(objArticuloId);
                    objArticulo.MovimientoProm = decCosto;
                    CierreService.ArticuloDao.Update(objArticulo);
                }

                //Delete from ult_cpf=cierrepaso where almacen=xalma
                //lstCierrePaso = CierreService.CierrePasoDao.CargaCierrePaso(almacen.IdAlmacen);
                CierreService.BorraCierrePaso(ref lstCierrePaso);

            return new[] {decExistencia, decCosto};
        }
Exemple #7
0
        private void ImprimeKardex(IList<object []> kardexDetalles)
        {
            if (kardexDetalles.Count != 0)
            {
                var lstKardex = new List<rptDataKardex>();
                var intTmp = 0;
                var intCveArt = 0;
                var douExistencia = 0.0;
                var douSaldo = 0.0;
                foreach (var kardexDetalle in kardexDetalles)
                {
                    intTmp++;
                    var idArticulo = new ArticuloId()
                    {
                        Almacen = FrmAlmacen.AlmacenActual,
                        CveArt = (int)kardexDetalle[3]
                    };
                    var desArticulo = EntradaService.ArticuloDao.Get(idArticulo).DesArticulo;
                    //Inserta Cierre

                    var objCierre = new Cierre();
                    if (intTmp == 1 || (intCveArt != (int)kardexDetalle[3]))
                    {
                        //Consulta Cierre
                        var cierreId = new CierreId()
                        {
                            FechaCierre = dtFechaIni.AddDays(-1),
                            Articulo = EntradaService.ArticuloDao.Get(idArticulo)
                        };
                        objCierre = EntradaService.CierreDao.Get(cierreId);

                        var Cierre = new rptDataKardex()
                        {
                            FechaIni = dtFechaIni,
                            FechaFin = dtFechaFin.Value,
                            DesArticulo = desArticulo,
                            CvePartida = kardexDetalle[1].ToString(),
                            DesPartida = kardexDetalle[2].ToString(),
                            CveArt = (int)kardexDetalle[3],
                            Unidad = kardexDetalle[4].ToString(),
                            Presentacion = kardexDetalle[5] == null ? "" : kardexDetalle[5].ToString(),
                            PresentacionCant = kardexDetalle[6] == null ? "" : kardexDetalle[6].ToString(),
                            PresentacionUnid = kardexDetalle[7] == null ? "" : kardexDetalle[7].ToString(),
                            Fecha = dtFechaIni.AddDays(-1),
                            Folio = -1,
                            //CantEntrada = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia),
                            CantSalida = -1,
                            //Existencia = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia),
                            //PrecioEntrada = objCierre == null ? 0 : Convert.ToDouble(objCierre.Importe),
                            PrecioSalida = -1,
                            //Debe = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe),
                            //Saldo = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe),
                            Haber = -1,
                            Area = @"EXISTENCIA AL " + dtFechaIni.AddDays(-1).ToShortDateString()
                        };
                        if(objCierre==null)
                        {
                            Cierre.CantEntrada = 0;
                            Cierre.Existencia = 0;
                            Cierre.PrecioEntrada = 0;
                            Cierre.Debe = 0;
                            Cierre.Saldo = 0;
                        }
                        else
                        {
                            Cierre.CantEntrada = Convert.ToDouble(objCierre.Existencia);
                            Cierre.Existencia = Convert.ToDouble(objCierre.Existencia);
                            Cierre.PrecioEntrada = Convert.ToDouble(objCierre.Importe);
                            Cierre.Debe = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                            Cierre.Saldo = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                        }
                        lstKardex.Add(Cierre);
                    }

                    var kardex = new rptDataKardex()
                    {
                        FechaIni = dtFechaIni,
                        FechaFin = dtFechaFin.Value,
                        DesArticulo = desArticulo,
                        CvePartida = kardexDetalle[1].ToString(),
                        DesPartida = kardexDetalle[2].ToString(),
                        CveArt = (int)kardexDetalle[3],
                        Unidad = kardexDetalle[4].ToString(),
                        Presentacion = kardexDetalle[5] == null ? "" : kardexDetalle[5].ToString(),
                        PresentacionCant = kardexDetalle[6] == null ? "" : kardexDetalle[6].ToString(),
                        PresentacionUnid = kardexDetalle[7] == null ? "" : kardexDetalle[7].ToString(),
                        Fecha = DateTime.Parse(kardexDetalle[8].ToString()),
                        Pedido = kardexDetalle[9] == null ? 0 : (int)kardexDetalle[9],
                        Folio = (int)kardexDetalle[10],
                        CantEntrada = Convert.ToDouble(kardexDetalle[11]),
                        CantSalida = Convert.ToDouble(kardexDetalle[12]),
                        PrecioEntrada = Convert.ToDouble(kardexDetalle[13]),
                        PrecioSalida = Convert.ToDouble(kardexDetalle[14]),
                        Debe = Convert.ToDouble(kardexDetalle[15]),
                        Haber = Convert.ToDouble(kardexDetalle[16]),
                        Area = kardexDetalle[17].ToString(),
                        TipoPedido = kardexDetalle[18] == null ? -1 : (int)kardexDetalle[18]
                    };
                    if (intTmp == 1 || intCveArt != (int)kardexDetalle[3])
                    {
                        intCveArt = (int)kardexDetalle[3];
                        if(objCierre==null)
                        {
                            douExistencia = 0;
                            douSaldo = 0;
                        }
                        else
                        {
                            douExistencia = Convert.ToDouble(objCierre.Existencia);
                            douSaldo = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                        }
                        //douExistencia = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia);
                        //douSaldo = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe);

                        //douExistencia = kardexDetalle[0].ToString() == "E" ?
                        //            douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                        //            douExistencia - Convert.ToDouble(kardexDetalle[12]);

                    }
                    //else
                    //{
                    //    if(intCveArt!=(int) kardexDetalle[3])
                    //    {
                    //        intCveArt = (int)kardexDetalle[3];
                    //        douExistencia = 0.0;
                    //        douSaldo = 0.0;
                    //douExistencia = kardexDetalle[0].ToString() == "E" ?
                    //       douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                    //       douExistencia - Convert.ToDouble(kardexDetalle[12]);
                    //}
                    //else
                    //{
                    //    intCveArt = (int)kardexDetalle[3];
                    //    douExistencia = 0.0;
                    //    //douExistencia = kardexDetalle[0].ToString() == "E" ?
                    //    //            douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                    //    //            douExistencia - Convert.ToDouble(kardexDetalle[12]);
                    //}
                    //}

                    douExistencia = kardexDetalle[0].ToString() == "E" ?
                                douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                                douExistencia - Convert.ToDouble(kardexDetalle[12]);

                    douSaldo = kardexDetalle[0].ToString() == "E" ?
                                douSaldo + Convert.ToDouble(kardexDetalle[15]) :
                                douSaldo - Convert.ToDouble(kardexDetalle[16]);

                    kardex.Existencia = douExistencia;
                    kardex.Saldo = douSaldo;
                    lstKardex.Add(kardex);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstKardex,
                    StrRptName = "rptKardex",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas/Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaProveedor(string strArea)
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaArea
                    (FrmAlmacen.AlmacenActual, dtFechaIni.Value, dtFechaFin.Value, strArea, CatAreaActual,
                        CatPartidaActual);

            if (salidaDetalles.Count != 0)
            {
                var lstSalidas = new List<rptDataSalidaArea>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var objArticuloId = new ArticuloId((int) salidaDetalle[0], FrmAlmacen.AlmacenActual);
                    var objArticulo = SalidaService.ArticuloDao.Get(objArticuloId);

                    var salida = new rptDataSalidaArea()
                    {
                        DesArea = CatAreaActual==null?"TODAS":CatAreaActual.DesArea,
                        FechaIni = dtFechaIni.Value,
                        FechaFin = dtFechaFin.Value,
                        Partida = salidaDetalle[1].ToString(),
                        DesPartida = salidaDetalle[2].ToString(),
                        CveArt = objArticulo.Id.CveArt,
                        DesArticulo = objArticulo.DesArticulo,
                        Medida = objArticulo.CatUnidad,
                        Enero = salidaDetalle[3] == null ? 0 : Convert.ToDouble(salidaDetalle[3]),
                        Febrero = salidaDetalle[4] == null ? 0 : Convert.ToDouble(salidaDetalle[4]),
                        Marzo = salidaDetalle[5] == null ? 0 : Convert.ToDouble(salidaDetalle[5]),
                        Abril = salidaDetalle[6] == null ? 0 : Convert.ToDouble(salidaDetalle[6]),
                        Mayo = salidaDetalle[7] == null ? 0 : Convert.ToDouble(salidaDetalle[7]),
                        Junio = salidaDetalle[8] == null ? 0 : Convert.ToDouble(salidaDetalle[8]),
                        Julio = salidaDetalle[9] == null ? 0 : Convert.ToDouble(salidaDetalle[9]),
                        Agosto = salidaDetalle[10] == null ? 0 : Convert.ToDouble(salidaDetalle[10]),
                        Septiembre = salidaDetalle[11] == null ? 0 : Convert.ToDouble(salidaDetalle[11]),
                        Octubre = salidaDetalle[12] == null ? 0 : Convert.ToDouble(salidaDetalle[12]),
                        Noviembre = salidaDetalle[13] == null ? 0 : Convert.ToDouble(salidaDetalle[13]),
                        Diciembre = salidaDetalle[14] == null ? 0 : Convert.ToDouble(salidaDetalle[14])
                    };
                    lstSalidas.Add(salida);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalidas,
                    StrRptName = "rptSalidaArea",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }