public void execute(Planificacion planificacion, int sumaBloqueActual, int bloqueActual, HojaBultos bulto)
        {
            var cantidadParaCompletarElBloque = planificacion.datos.capacidadXHora - sumaBloqueActual;

            if (cantidadParaCompletarElBloque > bulto.cantidadRestante)
            {
                var hojaBloques = new MyHojaBloques()
                {
                    bloque = bloqueActual,
                    capaBulto =bulto.numeroSeccion+"-"+ bulto.numeroBultos + bulto.capaCorte,
                    cantidad = bulto.cantidadRestante,
                    corte = bulto.codigoCorte,
                    seccion = bulto.numeroSeccion,
                    serie = bulto.serie,
                    color = planificacion.datos.color,
                    semana = planificacion.datos.semana,
                    year = planificacion.datos.year,
                    tallaCompleta = bulto.tallaCompleta

                };

                bulto.cantidadRestante = 0;
                planificacion.add(hojaBloques);

                isExecute = true;
            }
        }
Example #2
0
 public void add(MyHojaBloques myHojaBloques)
 {
     bloques.Add(myHojaBloques);
 }
        private void planificar(Planificacion planificacion, bool continuar = true)
        {
            var vf = false;
            var vaAContinuar = true;
            if (planificacion.bultos.Count(x => x.cantidadRestante > 0) == 0 || continuar == false)
            {

            }
            else
            {
                var bulto = planificacion.bultos.Where(x => x.cantidadRestante > 0).ToList()[0];

                int bloqueAUtilizar = getBloque(planificacion);
                if (bloqueAUtilizar > 44)
                {
                    vaAContinuar = false;
                }
                else
                {

                    var sum = planificacion.bloques.Where(x => x.bloque == bloqueAUtilizar).Sum(x => x.cantidad);

                    if (sum < planificacion.datos.capacidadXHora)
                    {
                        var cantidadParaCompletarElBloque = planificacion.datos.capacidadXHora - sum;

                        if (cantidadParaCompletarElBloque == bulto.cantidadRestante)
                        {

                            var hojaBloques = new MyHojaBloques()
                            {
                                bloque = bloqueAUtilizar,
                                capaBulto = bulto.capaCorte,
                                cantidad = cantidadParaCompletarElBloque,
                                corte = bulto.codigoCorte,
                                seccion = bulto.numeroSeccion,
                                serie = bulto.serie

                            };
                            bulto.cantidadRestante = 0;
                            planificacion.add(hojaBloques);
                            vf = true;
                        }


                        if (cantidadParaCompletarElBloque > bulto.cantidadRestante && vf == false)
                        {

                            var hojaBloques = new MyHojaBloques()
                                {
                                    bloque = bloqueAUtilizar,
                                    capaBulto = bulto.capaCorte,
                                    cantidad = bulto.cantidadRestante,
                                    corte = bulto.codigoCorte,
                                    seccion = bulto.numeroSeccion,
                                    serie = bulto.serie

                                };
                            bulto.cantidadRestante = 0;
                            planificacion.add(hojaBloques);
                            vf = true;
                        }

                        if (cantidadParaCompletarElBloque < bulto.cantidadRestante && vf == false)
                        {
                            var hojaBloques = new MyHojaBloques()
                                {
                                    bloque = bloqueAUtilizar,
                                    capaBulto = bulto.capaCorte,
                                    cantidad = cantidadParaCompletarElBloque,
                                    corte = bulto.codigoCorte,
                                    seccion = bulto.numeroSeccion,
                                    serie = bulto.serie

                                };
                            bulto.cantidadRestante = bulto.cantidadRestante - cantidadParaCompletarElBloque;
                            planificacion.add(hojaBloques);
                        }

                    }

                }
                planificar(planificacion,vaAContinuar);
            }
        }