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