public List<TicketLineInfo> getAffectedLines() { List<TicketLineInfo> lines = new ArrayList<TicketLineInfo>(); int i = ticketlines.getSelectedIndex(); if (i >= 0) { TicketLineInfo line = ticket.getLine(i); /* Si el producto seleccionado es axuliar o descuento, no podemos transferirlo */ if (line.isProductCom() || line.isDiscount()) return lines; ticket.removeLine(i); ticketlines.removeTicketLine(i); lines.add(line); /* Comprobamos si la linea corresponde a un producto con productos auxiliares * como puede ser un menu o si tiene algun descuento por linea asociado */ if (!line.isProductCom() && !line.isDiscount()) { while (i < ticket.getLinesCount() && ((line = (TicketLineInfo) ticket.getLine(i)).isProductCom() || line.isDiscount())) { lines.add(new TicketLineInfo(line)); ticket.removeLine(i); ticketlines.removeTicketLine(i); } } printTotals(); } return lines; }
public void addAffectedLines(List<TicketLineInfo> lines) { int i = ticketlines.getSelectedIndex(); int e = 0; for (e = 0; e < lines.size(); e++, i++) { TicketLineInfo line = lines.get(e); if (i >= 0 && ticket.getLine(i).getProduct().getId() != null && line.getProduct().getId() != null && ticket.getLine(i).getProduct().getId().equals(line.getProduct().getId()) && ticket.getLine(i).getTaxInfo().getId().equals(line.getTaxInfo().getId()) && ticket.getLine(i).getPrice() == line.getPrice()) { // inc the line ticket.getLine(i).setMultiply(ticket.getLine(i).getMultiply() + line.getMultiply()); ticketlines.setTicketLine(i, ticket.getLine(i)); } else { ticket.addLine(line); ticketlines.addTicketLine(line); } } printTotals(); }