internal void selCargasById()
        {
            try
            {
                this.comm = GenericDataAccess.CreateCommandSP("sp_Tarima_almacen_remision_detail");
                addParameters(7);
                this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
                this._lst = new List <Tarima_almacen_remision_detail>();
                Tarima_almacenMng     oTAMng = new Tarima_almacenMng();
                List <Tarima_almacen> lstTA  = new List <Tarima_almacen>();
                foreach (DataRow dr in dt.Rows)
                {
                    Tarima_almacen o = new Tarima_almacen();
                    oTAMng.BindByDataRow(dr, o);

                    if (dr["seleccionado"] != DBNull.Value)
                    {
                        int.TryParse(dr["seleccionado"].ToString(), out entero);
                        o.Seleccionado = entero;
                        entero         = 0;
                    }

                    lstTA.Add(o);
                }
                this._oTarima_almacen_remision_detail.PLstTarAlm = lstTA;
            }
            catch
            {
                throw;
            }
        }
예제 #2
0
 internal void fillLstByEntrada()
 {
     try
     {
         this.comm = GenericDataAccess.CreateCommandSP("sp_Tarima_almacen");
         addParameters(12);
         this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
         this._lst = new List <Tarima_almacen>();
         foreach (DataRow dr in dt.Rows)
         {
             Tarima_almacen o = new Tarima_almacen();
             BindByDataRow(dr, o);
             if (dr["tarimas"] != DBNull.Value)
             {
                 int.TryParse(dr["tarimas"].ToString(), out entero);
                 o.Tarimas = entero;
                 entero    = 0;
             }
             this._lst.Add(o);
         }
     }
     catch
     {
         throw;
     }
 }
예제 #3
0
 public void BindByDataRow(DataRow dr, Tarima_almacen o)
 {
     try
     {
         int.TryParse(dr["id"].ToString(), out entero);
         o.Id   = entero;
         entero = 0;
         if (dr["id_entrada"] != DBNull.Value)
         {
             int.TryParse(dr["id_entrada"].ToString(), out entero);
             o.Id_entrada = entero;
             entero       = 0;
         }
         o.Folio            = dr["folio"].ToString();
         o.Mercancia_codigo = dr["mercancia_codigo"].ToString();
         o.Mercancia_nombre = dr["mercancia_nombre"].ToString();
         o.Rr       = dr["rr"].ToString();
         o.Estandar = dr["estandar"].ToString();
         if (dr["bultos"] != DBNull.Value)
         {
             int.TryParse(dr["bultos"].ToString(), out entero);
             o.Bultos = entero;
             entero   = 0;
         }
         if (dr["piezas"] != DBNull.Value)
         {
             int.TryParse(dr["piezas"].ToString(), out entero);
             o.Piezas = entero;
             entero   = 0;
         }
         if (dr["resto"] != DBNull.Value)
         {
             int.TryParse(dr["resto"].ToString(), out entero);
             o.Resto = entero;
             entero  = 0;
         }
         if (dr["id_salida"] != DBNull.Value)
         {
             int.TryParse(dr["id_salida"].ToString(), out entero);
             o.Id_salida = entero;
             entero      = 0;
         }
         else
         {
             o.Id_salida = null;
         }
     }
     catch
     {
         throw;
     }
 }
예제 #4
0
        public static List <Tarima_almacen> tarimaAlacenDistinctGetBy(Tarima_almacen o)
        {
            List <Tarima_almacen> lst = new List <Tarima_almacen>();

            try
            {
                Tarima_almacenMng oMng = new Tarima_almacenMng()
                {
                    O_Tarima_almacen = o
                };
                oMng.fillLstDistinctBy();
                lst = oMng.Lst;
            }
            catch
            {
                throw;
            }
            return(lst);
        }
예제 #5
0
 internal void selByIdSalida()
 {
     try
     {
         this.comm = GenericDataAccess.CreateCommandSP("sp_Tarima_almacen");
         addParameters(9);
         this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
         this._lst = new List <Tarima_almacen>();
         foreach (DataRow dr in dt.Rows)
         {
             Tarima_almacen o = new Tarima_almacen();
             BindByDataRow(dr, o);
             this._lst.Add(o);
         }
     }
     catch
     {
         throw;
     }
 }
예제 #6
0
 internal void fillLstByRR(bool soloDisponibles = false)
 {
     try
     {
         this.comm = GenericDataAccess.CreateCommandSP("sp_Tarima_almacen");
         addParameters(soloDisponibles ? 6 : 7);
         this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
         this._lst = new List <Tarima_almacen>();
         foreach (DataRow dr in dt.Rows)
         {
             Tarima_almacen o = new Tarima_almacen();
             BindByDataRow(dr, o);
             this._lst.Add(o);
         }
     }
     catch
     {
         throw;
     }
 }
예제 #7
0
 public override void fillLst()
 {
     try
     {
         this.comm = GenericDataAccess.CreateCommandSP("sp_Tarima_almacen");
         addParameters(0);
         this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
         this._lst = new List <Tarima_almacen>();
         foreach (DataRow dr in dt.Rows)
         {
             Tarima_almacen o = new Tarima_almacen();
             BindByDataRow(dr, o);
             this._lst.Add(o);
         }
     }
     catch
     {
         throw;
     }
 }
예제 #8
0
 public static void tarimaAlmacenSetSalida(int id_orden_carga, int id_salida, IDbTransaction trans)
 {
     try
     {
         //El id_entrada se utiliza para asignar el id de la orden de carga
         Tarima_almacen o = new Tarima_almacen()
         {
             Id_entrada = id_orden_carga, Id_salida = id_salida
         };
         Tarima_almacenMng oMng = new Tarima_almacenMng()
         {
             O_Tarima_almacen = o
         };
         oMng.SetSalida(trans);
     }
     catch
     {
         throw;
     }
 }
예제 #9
0
        public static List <Tarima_almacen> tarimaAlmacenGetByRR(string rr)
        {
            List <Tarima_almacen> lst = new List <Tarima_almacen>();

            try
            {
                Tarima_almacen o = new Tarima_almacen()
                {
                    Rr = rr
                };
                Tarima_almacenMng oMng = new Tarima_almacenMng()
                {
                    O_Tarima_almacen = o
                };
                oMng.fillLstByRR(true);
                lst = oMng.Lst;
            }
            catch
            {
                throw;
            }
            return(lst);
        }
예제 #10
0
        public static List <SearchResMov> tarimaAlmacenEmbarqueSearchMov(SearchResMov o)
        {
            List <SearchResMov> lst = new List <SearchResMov>();

            try
            {
                Tarima_almacenMng oMng = new Tarima_almacenMng();
                Tarima_almacen    oTa  = new Tarima_almacen()
                {
                    Estandar         = o.Cita,
                    Rr               = o.Rr,
                    Mercancia_codigo = o.Mercancia,
                    Folio            = o.Folio
                };
                oMng.O_Tarima_almacen = oTa;
                oMng.fillLstEmbarqueSRM();
                lst = oMng.LstSRM;
            }
            catch
            {
                throw;
            }
            return(lst);
        }
예제 #11
0
 public Tarima_almacenMng()
 {
     this._oTarima_almacen = new Tarima_almacen();
     this._lst             = new List <Tarima_almacen>();
 }
예제 #12
0
        public static List <Tarima_almacen> tarimaAlacenCalcTar(int CjXTr, int PzXCj, int CjRec, int PzRec, int UbRes, bool concentrado = false)
        {
            List <Tarima_almacen> lst = new List <Tarima_almacen>();
            int BtoCompleto;
            int Resto;
            int TarCompleta;
            int BtoSobrante = 0;

            try
            {
                //Validar cantidad de piezas declaradas vs estandar
                if (PzRec > CjRec * PzXCj)
                {
                    throw new Exception("La cantidad de piezas excede el estandar para las cajas declaradas");
                }

                if (PzRec < (CjRec - 1) * PzXCj - 1)
                {
                    throw new Exception("La cantidad de piezas no debe ser menor al estandar para las cajas declaradas");
                }

                //Calcular cajas con estandar
                BtoCompleto = PzRec / PzXCj;
                Resto       = PzRec % PzXCj;

                //Calcular tarimas completas
                TarCompleta = BtoCompleto / CjXTr;

                //Calcular tarima con espacio
                BtoSobrante = BtoCompleto % CjXTr;
                //if (Resto > 0)
                //    BtoSobrante--;

                Tarima_almacen o;

                int tarCon = 0;
                int cjaCon = 0;
                int pzaCon = 0;

                for (int iTC = 1; iTC <= TarCompleta; iTC++)
                {
                    if (concentrado)
                    {
                        tarCon++;
                        cjaCon += CjXTr;
                        pzaCon += CjXTr * PzXCj;
                    }
                    else
                    {
                        o = new Tarima_almacen()
                        {
                            Bultos = CjXTr, Piezas = CjXTr * PzXCj
                        };
                        lst.Add(o);
                    }
                }

                if (concentrado)
                {
                    o = new Tarima_almacen()
                    {
                        Id = tarCon, Bultos = cjaCon, Piezas = pzaCon
                    };
                    lst.Add(o);
                }

                if (BtoSobrante > 0)
                {
                    o = new Tarima_almacen()
                    {
                        Id = 1, Bultos = BtoSobrante, Piezas = BtoSobrante * PzXCj
                    };
                    lst.Add(o);
                }

                if (Resto > 0)
                {
                    switch (UbRes)
                    {
                    case 1:
                        o = new Tarima_almacen()
                        {
                            Id = 1, Bultos = 1, Piezas = Resto, Resto = Resto
                        };
                        lst.Add(o);
                        break;

                    case 2:
                        if (lst.Count > 0 && BtoSobrante > 0)
                        {
                            o = lst.Last();
                            o.Bultos++;
                            o.Piezas += Resto;
                            o.Resto   = Resto;
                        }
                        else
                        {
                            o = new Tarima_almacen()
                            {
                                Id = 1, Bultos = 1, Piezas = Resto, Resto = Resto
                            };
                            lst.Add(o);
                        }
                        break;
                    }
                }
            }
            catch
            {
                throw;
            }

            return(lst);
        }