Projektin moduulirakenteen formatointi
Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit is contained in:
@@ -1,109 +0,0 @@
|
||||
package fi.lpam.dataluokat;
|
||||
|
||||
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||
|
||||
import java.sql.*;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@SuppressWarnings("ClassCanBeRecord")
|
||||
public class RaporttiRivi {
|
||||
private final String nimi;
|
||||
private final LocalDate alkuPvm, loppuPvm;
|
||||
private final int salaatit, pääruoat, jälkiruoat;
|
||||
private final String lisätiedot;
|
||||
|
||||
public RaporttiRivi(String nimi, LocalDate alkuPvm, LocalDate loppuPvm, int salaatit, int pääruoat, int jälkiruoat, String lisätiedot) {
|
||||
this.nimi = nimi;
|
||||
this.alkuPvm = alkuPvm;
|
||||
this.loppuPvm = loppuPvm;
|
||||
this.salaatit = salaatit;
|
||||
this.pääruoat = pääruoat;
|
||||
this.jälkiruoat = jälkiruoat;
|
||||
this.lisätiedot = lisätiedot;
|
||||
}
|
||||
|
||||
public static ArrayList<RaporttiRivi> haeRaportti(LocalDate alkuPvm, LocalDate loppuPvm, boolean tarkka) {
|
||||
ArrayList<RaporttiRivi> raportti = new ArrayList<>();
|
||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||
ResultSet rs;
|
||||
if (tarkka) {
|
||||
//Jokainen kuljetus saa oman rivin
|
||||
PreparedStatement stmt = tietokanta.prepareStatement("select nimi, kuljetusPäivämäärä, salaatit, pääruoat, jälkiruoat, lisätieto from kuljetukset where kuljetusPäivämäärä between ? and ? order by nimi");
|
||||
stmt.setDate(1, Date.valueOf(alkuPvm));
|
||||
stmt.setDate(2, Date.valueOf(loppuPvm));
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
RaporttiRivi uusi = new RaporttiRivi(
|
||||
rs.getString(1),
|
||||
rs.getDate(2).toLocalDate(),
|
||||
rs.getDate(2).toLocalDate(),
|
||||
rs.getInt(3),
|
||||
rs.getInt(4),
|
||||
rs.getInt(5),
|
||||
rs.getString(6)
|
||||
);
|
||||
raportti.add(uusi);
|
||||
}
|
||||
|
||||
} else {
|
||||
//Kuljetukset summataan yhteen riviin per vastaanottaja
|
||||
PreparedStatement stmt = tietokanta.prepareStatement("select nimi, kuljetusPäivämäärä, sum(salaatit), sum(pääruoat), sum(jälkiruoat), group_concat(lisätieto, '\n') from kuljetukset where kuljetusPäivämäärä between ? and ? group by nimi order by nimi;");
|
||||
stmt.setDate(1, Date.valueOf(alkuPvm));
|
||||
stmt.setDate(2, Date.valueOf(loppuPvm));
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
RaporttiRivi uusi = new RaporttiRivi(
|
||||
rs.getString(1),
|
||||
alkuPvm,
|
||||
loppuPvm,
|
||||
rs.getInt(3),
|
||||
rs.getInt(4),
|
||||
rs.getInt(5),
|
||||
rs.getString(6)
|
||||
);
|
||||
raportti.add(uusi);
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
SiirtoVirhe virhe = new SiirtoVirhe(e);
|
||||
virhe.showAndWait();
|
||||
return null;
|
||||
}
|
||||
return raportti;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.nimi + ":\nSal: " + this.salaatit + ", Pr: " + this.pääruoat + ", Jr: " + this.jälkiruoat + "\nLisätiedot:\n" + this.lisätiedot.strip();
|
||||
}
|
||||
|
||||
public String getNimi() {
|
||||
return nimi;
|
||||
}
|
||||
|
||||
public LocalDate getAlkuPvm() {
|
||||
return alkuPvm;
|
||||
}
|
||||
|
||||
public LocalDate getLoppuPvm() {
|
||||
return loppuPvm;
|
||||
}
|
||||
|
||||
public int getSalaatit() {
|
||||
return salaatit;
|
||||
}
|
||||
|
||||
public int getPääruoat() {
|
||||
return pääruoat;
|
||||
}
|
||||
|
||||
public int getJälkiruoat() {
|
||||
return jälkiruoat;
|
||||
}
|
||||
|
||||
public String getLisätiedot() {
|
||||
return lisätiedot;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user