示例#1
0
 // La prioridad del pedido es igual al promedio de las prioridades de todas sus encomiendas
 private void setPrioridad() {
   double pr = 0;
   for (Encomienda e : getEncomiendas()) {
     pr += e.getPrioridad();
   }
   pr /= getEncomiendas().size();
   prioridad = pr;
 }
示例#2
0
 public boolean eliminarEncomienda(Encomienda enc) {
   if (abierto) {
     encomiendas.remove(enc);
     this.peso -= enc.getPeso();
     this.volumen -= enc.getVol();
     this.costoEnvio -= enc.getCostoEnvio();
     setPrioridad();
     return true;
   } else return false;
 }
示例#3
0
  public boolean agregarEnc(Encomienda encomienda) {
    if (abierto) {
      encomiendas.add(encomienda);
      this.peso += encomienda.getPeso();
      this.volumen += encomienda.getVol();
      this.costoEnvio += encomienda.getCostoEnvio();
      setPrioridad();

      return true;
    } else return false;
  }
示例#4
0
 // agregar una encomienda a un pedido con prioridad por orden de llegada
 // true si se logra agregar (si esta aun abierto el pedido) y false de lo contrario)
 public boolean agregarEnc(int peso, int volumen, String dirDestino, String desc) {
   if (abierto) {
     Empresa.nuevaEncomienda();
     double prioridad = 1 / (Empresa.getNroEncomiendas());
     Encomienda e = new Encomienda(peso, volumen, prioridad, dirDestino, desc);
     encomiendas.add(e);
     this.peso += peso;
     this.volumen += volumen;
     this.costoEnvio += e.getCostoEnvio();
     setPrioridad();
     return true;
   } else {
     return false;
   }
 }
示例#5
0
 // asignar encomienda con prioridadAgregada indicada por el cliente
 // true si se logra agregar (si esta aun abierto el pedido) y false de lo contrario)
 public boolean agregarEnc(
     int peso, int volumen, int prioridadAgregada, String dirDestino, String desc) {
   if (abierto) {
     double prioridadPorDefecto;
     if (Empresa.getNroEncomiendas() == 0) prioridadPorDefecto = 1;
     else prioridadPorDefecto = 1 / (Empresa.getNroEncomiendas());
     double prioridadAsignada = prioridadPorDefecto + prioridadAgregada;
     Encomienda e = new Encomienda(peso, volumen, prioridadAsignada, dirDestino, desc);
     e.agregarCostoPrioridad(prioridadAgregada);
     encomiendas.add(e);
     this.peso += peso;
     this.volumen += volumen;
     this.costoEnvio += e.getCostoEnvio();
     setPrioridad();
     return true;
   } else {
     return false;
   }
 }