
Recuperar un arraylist grabado en un objeto
Publicado por Julio (1 intervención) el 05/06/2018 00:09:24
Buenas noches soy novato en esta web y trabajando con java.
Tengo un problema estoy haciendo una gestion y en un objeto venta, quiero grabar un Arraylist de objetos de lineas de venta. hasta ahi todo correcto, vacio el Arraylist para bhacer otra venta ybien.
El problema esta al hacer informes de ventas no me carga el arraylist de lineas de venta guardado en el Arraylist de objetos de venta
Aqui esta el codigo de la grabacion del objeto Venta, pasandole el Arraylist de Lineas de venta
y despues grabo el objeto venta dentro de su ArrayList y borro el ArrayList de las lineas de venta para realizar otra venta.
Este codigo esta en la clase Principal
Venta ven = new Venta(numfacVenta,cli,usu,fechaVenta,pagadaVenta,financiadaVenta,lven,totalVenta);
vent.add(ven);
System.out.println("vent: " + vent.size());
System.out.println("lven1: " + lven.size());
lven.clear();
System.out.println("lven2: " + lven.size());
Paso el codigo de la clase Venta en donde se guarda el ArrayList dentro del objeto de Venta
public class Venta implements Serializable
{
private int numfacVenta;
private Cliente cli;
private Usuario usu;
private String fechaVenta;
private boolean pagadaVenta;
private boolean financiadaVenta;
private ArrayList<LineasVenta> lventa = new ArrayList<LineasVenta>();
private float totalVenta;
public Venta(int numfacVenta,Cliente cli,Usuario usu,String fechaVenta,
boolean pagadaVenta,boolean financiadaVenta,
ArrayList<LineasVenta> lventa,float totalVenta){
System.out.println("antes de grabar: " + lventa.size());
this.numfacVenta = numfacVenta;
this.cli = cli;
this.usu = usu;
this.fechaVenta = fechaVenta;
this.pagadaVenta = pagadaVenta;
this.financiadaVenta = financiadaVenta;
this.lventa = lventa;
this.totalVenta = totalVenta;
System.out.println("despues de grabar: " + lventa.size());
}
Despues llamo al metodo de la clase Venta
public ArrayList<LineasVenta> getLVen() {
System.out.println("venta al hacer get: " + lventa.size());
return lventa;
}
DEspues al imprimir las ventas utilizo el metodo getLVen()
public void listarTodasVentas() {
Scanner key = new Scanner(System.in);
for (int i = 0; i < vent.size(); i++){
Venta ven = vent.get(i);
lven = ven.getLVen(); -> Aqui no me carga los datos al ArrayList
System.out.println("lven8: " + lven.size());
//ven.setLVen(lven);
System.out.println("lven10: " + lven.size());
ven.listarVentas(0);
for(int a = 0; a < lven.size(); a++){
System.out.println("paso a lven");
LineasVenta lve = lven.get(a);
lve.imprimeLineasVenta();
}
Gracias de antemano.
Tengo un problema estoy haciendo una gestion y en un objeto venta, quiero grabar un Arraylist de objetos de lineas de venta. hasta ahi todo correcto, vacio el Arraylist para bhacer otra venta ybien.
El problema esta al hacer informes de ventas no me carga el arraylist de lineas de venta guardado en el Arraylist de objetos de venta
Aqui esta el codigo de la grabacion del objeto Venta, pasandole el Arraylist de Lineas de venta
y despues grabo el objeto venta dentro de su ArrayList y borro el ArrayList de las lineas de venta para realizar otra venta.
Este codigo esta en la clase Principal
Venta ven = new Venta(numfacVenta,cli,usu,fechaVenta,pagadaVenta,financiadaVenta,lven,totalVenta);
vent.add(ven);
System.out.println("vent: " + vent.size());
System.out.println("lven1: " + lven.size());
lven.clear();
System.out.println("lven2: " + lven.size());
Paso el codigo de la clase Venta en donde se guarda el ArrayList dentro del objeto de Venta
public class Venta implements Serializable
{
private int numfacVenta;
private Cliente cli;
private Usuario usu;
private String fechaVenta;
private boolean pagadaVenta;
private boolean financiadaVenta;
private ArrayList<LineasVenta> lventa = new ArrayList<LineasVenta>();
private float totalVenta;
public Venta(int numfacVenta,Cliente cli,Usuario usu,String fechaVenta,
boolean pagadaVenta,boolean financiadaVenta,
ArrayList<LineasVenta> lventa,float totalVenta){
System.out.println("antes de grabar: " + lventa.size());
this.numfacVenta = numfacVenta;
this.cli = cli;
this.usu = usu;
this.fechaVenta = fechaVenta;
this.pagadaVenta = pagadaVenta;
this.financiadaVenta = financiadaVenta;
this.lventa = lventa;
this.totalVenta = totalVenta;
System.out.println("despues de grabar: " + lventa.size());
}
Despues llamo al metodo de la clase Venta
public ArrayList<LineasVenta> getLVen() {
System.out.println("venta al hacer get: " + lventa.size());
return lventa;
}
DEspues al imprimir las ventas utilizo el metodo getLVen()
public void listarTodasVentas() {
Scanner key = new Scanner(System.in);
for (int i = 0; i < vent.size(); i++){
Venta ven = vent.get(i);
lven = ven.getLVen(); -> Aqui no me carga los datos al ArrayList
System.out.println("lven8: " + lven.size());
//ven.setLVen(lven);
System.out.println("lven10: " + lven.size());
ven.listarVentas(0);
for(int a = 0; a < lven.size(); a++){
System.out.println("paso a lven");
LineasVenta lve = lven.get(a);
lve.imprimeLineasVenta();
}
Gracias de antemano.
Valora esta pregunta


0