/** * Obtiene la suma de precio * * @return int */ public int getSumaPrecio() { int suma = 0; for (Producto producto : productos) { suma += producto.getPrecio(); } return suma; }
/** * Obtiene la suma de stock * * @return int */ public int getSumaStock() { int suma = 0; for (Producto producto : productos) { suma += producto.getStock(); } return suma; }
public Map<String, Producto> masBarato() { Map<String, Producto> baratos = new TreeMap(); Map<String, Producto> megasur = productos.get("Megasur"); Map<String, Producto> infortisa = productos.get("Infortisa"); Iterator it = megasur.entrySet().iterator(); while (it.hasNext()) { Map.Entry aux = (Map.Entry) it.next(); String ref = (String) aux.getKey(); if (infortisa.containsKey(ref)) { // Existe en Infortisa Producto prd = (Producto) aux.getValue(); Producto prd2 = infortisa.get(ref); if (prd.esmayor(prd2)) { baratos.put(ref, prd); } else { baratos.put(ref, prd2); } } else { baratos.put(ref, (Producto) aux.getValue()); } } it = infortisa.entrySet().iterator(); while (it.hasNext()) { Map.Entry aux = (Map.Entry) it.next(); if (!megasur.containsKey(aux.getKey())) { baratos.put((String) aux.getKey(), (Producto) aux.getValue()); } } return baratos; }
@Override public DataUsuario obtenerDatosUsuario() { ArrayList<DataProducto> dataProductos = new ArrayList<>(); ArrayList<DataPedido> dataPedidos = new ArrayList<>(); if (!productos.isEmpty()) { for (Producto p : productos) { dataProductos.add(p.obtenerDatosProducto()); } } ArrayList<Pedido> lp = getPedidos(); if (!lp.isEmpty()) { for (Pedido pe : lp) { dataPedidos.add(pe.obtenerDatosPedido()); } } DataUsuario dataUsuario = new DataRestaurante( rutaImagen, dataProductos, getPuntajePromedio(), cantidadPuntuaciones, this.getNickname(), this.getMail(), this.getNombre(), this.getPass(), this.getDireccion(), dataPedidos); return dataUsuario; }
/** * @param id * @return boolean */ public boolean estaProductoEnEstacion(Integer id) { boolean ya = false; Producto[] productos = (Producto[]) estacion.getProductos().toArray(new Producto[estacion.getProductos().size()]); for (int i = 0; i < productos.length && !ya; i++) { Producto ac = productos[i]; if (ac.getIdProducto() == id.intValue()) { ya = true; } } return ya; }
public int productosConPrecio(double precio) { int contador = 0; for (Producto producto : productos) { if (producto.getPrecio() >= precio) { contador++; } } return contador; }
public static void main(String[] args) { // porcentaje de descuento en Productos Producto.setDescuento(10); Computacion placa = new Computacion("Placa de red", 25, "EZZ-352"); placa.agregarCantidad(150); Computacion netbook = new Computacion("Netbooks", 2000, "OVR-352"); netbook.agregarCantidad(1000); Computacion monitores = new Computacion("Monitores LCD", 800, "SNY-456"); monitores.agregarCantidad(30); Ropa babis = new Ropa("Ropita de bebe", 40, "SMALL"); babis.agregarCantidad(1500); System.out.println(placa); System.out.println(netbook); System.out.println(monitores); System.out.println(babis); Factura fac0001 = new Factura("Jose Hernandez", "A"); fac0001.getNItems().add(new ItemFactura(100, placa, fac0001)); fac0001.getNItems().add(new ItemFactura(500, netbook, fac0001)); fac0001.getNItems().add(new ItemFactura(20, monitores, fac0001)); System.out.println(fac0001); Factura fac0002 = new Factura("Varon B", "B"); fac0002.getNItems().add(new ItemFactura(5, placa, fac0002)); fac0002.getNItems().add(new ItemFactura(10, babis, fac0002)); System.out.println(fac0002); }
public Producto removeProducto(Producto producto) { getProductos().remove(producto); producto.setGrupo(null); return producto; }
public Producto addProducto(Producto producto) { getProductos().add(producto); producto.setGrupo(this); return producto; }
// Agrega productos a la lista verificando primero si su estado es activo o inactivo public void agregarProductos(Producto p) { if (p.isEstado()) { lP.add(p); } }
/** Resets the modified attributes in the DTO */ protected void reset(Producto dto) { dto.setIdProductoModified(false); dto.setNombreProductoModified(false); dto.setPrecioModified(false); dto.setImagenModified(false); dto.setCantidadModified(false); dto.setActivoModified(false); dto.setFechaCreacionModified(false); dto.setUsuarioCreacionModified(false); dto.setFechaUltimaModificacionModified(false); dto.setUsuarioUltimaModificacionModified(false); dto.setCategoriaIdCategoriaModified(false); dto.setCatalogoIdCatalogoModified(false); }
/** Populates a DTO with data from a ResultSet */ protected void populateDto(Producto dto, ResultSet rs) throws SQLException { dto.setIdProducto(rs.getString(COLUMN_ID_PRODUCTO)); dto.setNombreProducto(rs.getString(COLUMN_NOMBRE_PRODUCTO)); dto.setPrecio(rs.getDouble(COLUMN_PRECIO)); dto.setImagen(super.getBlobColumn(rs, COLUMN_IMAGEN)); dto.setCantidad(rs.getFloat(COLUMN_CANTIDAD)); if (rs.wasNull()) { dto.setCantidadNull(true); } dto.setActivo(rs.getShort(COLUMN_ACTIVO)); dto.setFechaCreacion(rs.getTimestamp(COLUMN_FECHA_CREACION)); dto.setUsuarioCreacion(rs.getString(COLUMN_USUARIO_CREACION)); dto.setFechaUltimaModificacion(rs.getTimestamp(COLUMN_FECHA_ULTIMA_MODIFICACION)); dto.setUsuarioUltimaModificacion(rs.getString(COLUMN_USUARIO_ULTIMA_MODIFICACION)); dto.setCategoriaIdCategoria(rs.getInt(COLUMN_CATEGORIA_ID_CATEGORIA)); dto.setCatalogoIdCatalogo(rs.getInt(COLUMN_CATALOGO_ID_CATALOGO)); reset(dto); }
/** Updates a single row in the producto table. */ public void update(ProductoPk pk, Producto dto) throws ProductoDaoException { long t1 = System.currentTimeMillis(); // declare variables final boolean isConnSupplied = (userConn != null); Connection conn = null; PreparedStatement stmt = null; try { // get the user-specified connection or get a connection from the ResourceManager conn = isConnSupplied ? userConn : ResourceManager.getConnection(); StringBuffer sql = new StringBuffer(); sql.append("UPDATE " + getTableName() + " SET "); boolean modified = false; if (dto.isIdProductoModified()) { if (modified) { sql.append(", "); } sql.append("ID_PRODUCTO=?"); modified = true; } if (dto.isNombreProductoModified()) { if (modified) { sql.append(", "); } sql.append("NOMBRE_PRODUCTO=?"); modified = true; } if (dto.isPrecioModified()) { if (modified) { sql.append(", "); } sql.append("PRECIO=?"); modified = true; } if (dto.isImagenModified()) { if (modified) { sql.append(", "); } sql.append("IMAGEN=?"); modified = true; } if (dto.isCantidadModified()) { if (modified) { sql.append(", "); } sql.append("CANTIDAD=?"); modified = true; } if (dto.isActivoModified()) { if (modified) { sql.append(", "); } sql.append("ACTIVO=?"); modified = true; } if (dto.isFechaCreacionModified()) { if (modified) { sql.append(", "); } sql.append("FECHA_CREACION=?"); modified = true; } if (dto.isUsuarioCreacionModified()) { if (modified) { sql.append(", "); } sql.append("USUARIO_CREACION=?"); modified = true; } if (dto.isFechaUltimaModificacionModified()) { if (modified) { sql.append(", "); } sql.append("FECHA_ULTIMA_MODIFICACION=?"); modified = true; } if (dto.isUsuarioUltimaModificacionModified()) { if (modified) { sql.append(", "); } sql.append("USUARIO_ULTIMA_MODIFICACION=?"); modified = true; } if (dto.isCategoriaIdCategoriaModified()) { if (modified) { sql.append(", "); } sql.append("CATEGORIA_ID_CATEGORIA=?"); modified = true; } if (dto.isCatalogoIdCatalogoModified()) { if (modified) { sql.append(", "); } sql.append("CATALOGO_ID_CATALOGO=?"); modified = true; } if (!modified) { // nothing to update return; } sql.append(" WHERE ID_PRODUCTO=?"); if (logger.isDebugEnabled()) { logger.debug("Executing " + sql.toString() + " with values: " + dto); } stmt = conn.prepareStatement(sql.toString()); int index = 1; if (dto.isIdProductoModified()) { stmt.setString(index++, dto.getIdProducto()); } if (dto.isNombreProductoModified()) { stmt.setString(index++, dto.getNombreProducto()); } if (dto.isPrecioModified()) { stmt.setDouble(index++, dto.getPrecio()); } if (dto.isImagenModified()) { super.setBlobColumn(stmt, index++, dto.getImagen()); } if (dto.isCantidadModified()) { if (dto.isCantidadNull()) { stmt.setNull(index++, java.sql.Types.FLOAT); } else { stmt.setFloat(index++, dto.getCantidad()); } } if (dto.isActivoModified()) { stmt.setShort(index++, dto.getActivo()); } if (dto.isFechaCreacionModified()) { stmt.setTimestamp( index++, dto.getFechaCreacion() == null ? null : new java.sql.Timestamp(dto.getFechaCreacion().getTime())); } if (dto.isUsuarioCreacionModified()) { stmt.setString(index++, dto.getUsuarioCreacion()); } if (dto.isFechaUltimaModificacionModified()) { stmt.setTimestamp( index++, dto.getFechaUltimaModificacion() == null ? null : new java.sql.Timestamp(dto.getFechaUltimaModificacion().getTime())); } if (dto.isUsuarioUltimaModificacionModified()) { stmt.setString(index++, dto.getUsuarioUltimaModificacion()); } if (dto.isCategoriaIdCategoriaModified()) { stmt.setInt(index++, dto.getCategoriaIdCategoria()); } if (dto.isCatalogoIdCatalogoModified()) { stmt.setInt(index++, dto.getCatalogoIdCatalogo()); } stmt.setString(index++, pk.getIdProducto()); int rows = stmt.executeUpdate(); reset(dto); long t2 = System.currentTimeMillis(); if (logger.isDebugEnabled()) { logger.debug(rows + " rows affected (" + (t2 - t1) + " ms)"); } } catch (Exception _e) { logger.error("Exception: " + _e.getMessage(), _e); throw new ProductoDaoException("Exception: " + _e.getMessage(), _e); } finally { ResourceManager.close(stmt); if (!isConnSupplied) { ResourceManager.close(conn); } } }
/** * @param productoBase * @param idTp * @return Producto * @throws Exception */ @SuppressWarnings("rawtypes") public Producto crearProducto(Producto productoBase, int idTp) throws Exception { Set<Caracteristica> caracteristicas = productoBase.getCaracteristicas(); Set<Caracteristica> caracteristicasCopia = new HashSet<Caracteristica>(); Integer[] ids = new Integer[caracteristicas.size()]; int i = 0; String[] codigoArr = new String[NUMERO_FILAS_CODIGO]; String descripcion = ""; for (Caracteristica cara : caracteristicas) { ids[i] = cara.getIdCaracteristica(); caracteristicasCopia.add(cara); i++; } List posiciones = (new ProductoHome()).darPosicionesCreacion(idTp, ids); for (i = 0; i < NUMERO_FILAS_CODIGO; i++) codigoArr[i] = "0"; for (i = 0; i < posiciones.size(); i++) { Object[] objPosicion = (Object[]) posiciones.get(i); Integer idCaraPos = (Integer) objPosicion[0]; int posCreacion = ((Integer) objPosicion[2]).intValue() - 1; boolean termino = false; Iterator<Caracteristica> iteraCara = caracteristicasCopia.iterator(); while (!termino && iteraCara.hasNext()) { Caracteristica cara = iteraCara.next(); if (idCaraPos.intValue() == cara.getIdCaracteristica().intValue()) { if (cara.getNombre().equals(Caracteristica.NOMBRE_NUDOS)) { caracteristicasCopia.remove(cara); termino = true; } else if (cara.getNombre().equals(Caracteristica.NOMBRE_CALIBRE_PUAS) || cara.getNombre().equals(Caracteristica.NOMBRE_OPCION_PRODUCTO)) { if (posCreacion != -1) { String[] cantidadArr = cara.getCantidad().split(""); for (String cantidadIndivi : cantidadArr) { codigoArr[posCreacion] = cantidadIndivi; posCreacion++; } caracteristicasCopia.remove(cara); termino = true; } } else { if (i == 0) descripcion = cara.getDescripcionCreacion() + " "; else if (i == posiciones.size() - 1) descripcion = descripcion + cara.getDescripcionCreacion(); else descripcion = descripcion + cara.getDescripcionCreacion() + " "; if (posCreacion != -1) { String[] cantidadArr = cara.getCantidad().split(""); for (String cantidadIndivi : cantidadArr) { codigoArr[posCreacion] = cantidadIndivi; posCreacion++; } } caracteristicasCopia.remove(cara); termino = true; } } } } StringBuilder builder = new StringBuilder(); i = 0; for (String s : codigoArr) { if (i == 3 || i == 10) builder.append(s + "-"); else builder.append(s); i++; } String codigo = builder.toString(); System.out.println("Codigo: " + codigo); System.out.println("Descripcion: " + descripcion); Producto productoAgregar = new Producto(descripcion, codigo, productoBase.getTipoProductoNombre(), 0); ProductoHome productoHome = new ProductoHome(); productoHome.persist(productoAgregar); productoAgregar = productoHome.darProductoPorCodigo(productoAgregar.getCodigo()); if (productoAgregar == null) throw new Exception("No se pudo crear el producto."); else (new CaracteristicaHome()) .cargarCaracteristicasAProductoNuevo(productoAgregar, productoBase.getCaracteristicas()); return productoAgregar; }