public OstoslistaKuitattu( int id, int listaid, String nimi, double summa, double paino, Timestamp paivays, Kauppa kauppa, int kayttajaId, Maksutapa maksutapa, Bonus bonus) throws Exception { this.id = id; this.listaid = listaid; this.nimi = nimi; this.summa = haeSumma(id, kauppa.getId()); this.paino = haePaino(id); this.paivays = paivays; this.kauppa = kauppa; this.kayttajaId = kayttajaId; this.maksutapa = maksutapa; this.bonus = bonus; this.tuotteet = TuoteLista.haeTuotteetListalle(id); }
/** * Metodilla haetaan ostoslistalla olevien tuotteiden kokonaispaino. * * @param lista ostoslistan id tietokannassa. * @throws SQLException * @throws NamingException * @throws Exception * @return palauttaa painon. */ public static double haePaino(int lista) throws NamingException, SQLException, Exception { double kokPaino = 0; int listaid = haeOstoslistalleOstoslistaTallennettuId(lista); HashMap<Tuote, Integer> tuotteet = TuoteLista.haeTuotteetListalle(listaid); for (Tuote tuote : tuotteet.keySet()) { for (int i = 0; i < tuotteet.get(tuote); i++) { kokPaino += tuote.getPaino(); } } return Math.round(kokPaino * 100) / 100.000d; }
/** * Metodilla haetaan ostoslistalla olevien tuotteiden kokonaissumma. * * @param lista ostoslistan id tietokannassa. * @param kauppaid ostoslistaan linkitetyn kaupan id tietokannassa. * @throws Exception * @return palauttaa summan. */ public static double haeSumma(int lista, int kauppaid) throws Exception { double sum = 0; int listaid = haeOstoslistalleOstoslistaTallennettuId(lista); HashMap<Tuote, Integer> tuotteet = TuoteLista.haeTuotteetListalle(listaid); for (Tuote tuote : tuotteet.keySet()) { for (int i = 0; i < tuotteet.get(tuote); i++) { sum += TuoteHinta.haeHintaTuotteelleKaupassa(tuote.getId(), kauppaid); } } return Math.round(sum * 100) / 100.00d; }