Log Rating + Create Table bugfix
This commit is contained in:
parent
d872a39394
commit
b234299e6b
@ -101,4 +101,9 @@ rstreckeallerlogs = gesammte Strecke aller Logs:
|
||||
rcalzeitallerlogs = Berechnete Zeit aller Logs:
|
||||
calstreckeallerloggs = Berechnete Strecke aller Touren:
|
||||
rdaten = Daten
|
||||
rsummrepo = Zusammengefasster Report
|
||||
rsummrepo = Zusammengefasster Report
|
||||
|
||||
bewertung = Bewertung
|
||||
bewertungmsg = Bitte die Bewertung zwischen 0 und 5 eingeben
|
||||
bewertungeror = Bitte nur Bewertungen von 0 und 5 eingeben
|
||||
bewertungerror2 = Bitte nur Zahlen zum Bewerten
|
@ -102,4 +102,9 @@ rstreckeallerlogs = Distance of all logs:
|
||||
rcalzeitallerlogs = Calculated time of all logs:
|
||||
calstreckeallerloggs = Calculated distance of all logs:
|
||||
rdaten = Data
|
||||
rsummrepo = Summary Report
|
||||
rsummrepo = Summary Report
|
||||
|
||||
bewertung = Rating
|
||||
bewertungmsg = Please enter a rating from 0 to 5
|
||||
bewertungeror = Please enter only a rating from 0 to 5
|
||||
bewertungerror2 = Please only enter numbers for rating
|
@ -37,7 +37,7 @@ public class DbConnect {
|
||||
errors.add(PostgresHelper.executeUpdateMessage("create table tour ( tourname varchar not null, dauer decimal, mapjson varchar, start varchar, ziel varchar, strecke decimal);", "Tour Table created"));
|
||||
errors.add(PostgresHelper.executeUpdateMessage("create unique index tour_tourname_uindex on tour (tourname);", "Tour Table unique created"));
|
||||
errors.add(PostgresHelper.executeUpdateMessage("alter table tour add constraint tour_pk primary key (tourname);", "Tour Table primary created"));
|
||||
errors.add(PostgresHelper.executeUpdateMessage("create table log(tourname varchar constraint log_tour_tourname_fk references tour,id varchar,bemerkung varchar,datum date,strecke decimal,avg decimal,hightmeter decimal,pause decimal,gegangen decimal,dauer decimal);", "Log Table created"));
|
||||
errors.add(PostgresHelper.executeUpdateMessage("create table log(tourname varchar constraint log_tour_tourname_fk references tour,id varchar,bemerkung varchar,datum date,strecke decimal,avg decimal,hightmeter decimal,pause decimal,gegangen decimal,dauer decimal,rating varchar);", "Log Table created"));
|
||||
return !errors.contains(false);
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ public class DbConnect {
|
||||
public ArrayList<Log> getLogs(String tourname){
|
||||
|
||||
this.c = PostgresHelper.con();
|
||||
String id, bemerkung ;
|
||||
String id, bemerkung, rating;
|
||||
double dauer, strecke, pause, gegangen, avg, hightmeter;
|
||||
Date datum;
|
||||
|
||||
@ -113,15 +113,14 @@ public class DbConnect {
|
||||
while (rs.next()) {
|
||||
id = rs.getString("id");
|
||||
bemerkung = rs.getString("bemerkung");
|
||||
rating = rs.getString("rating");
|
||||
datum = rs.getDate("datum");
|
||||
dauer = rs.getDouble("dauer");
|
||||
// avg = rs.getDouble("avg");
|
||||
hightmeter = rs.getDouble("hightmeter");
|
||||
pause = rs.getDouble("pause");
|
||||
// gegangen = rs.getDouble("gegangen");
|
||||
strecke = rs.getDouble("strecke");
|
||||
if (!tourname.isEmpty()) {
|
||||
logs.add(new Log(id, dauer, datum.toLocalDate(), strecke, bemerkung,hightmeter, pause));
|
||||
logs.add(new Log(id, dauer, datum.toLocalDate(), strecke, bemerkung,hightmeter, pause, rating));
|
||||
}else {
|
||||
return null;
|
||||
}
|
||||
@ -145,13 +144,15 @@ public class DbConnect {
|
||||
*/
|
||||
public boolean addLog(String tourname, Log log){
|
||||
if(Double.isInfinite(log.getAvgspeed())) log.setAvgspeed(-1.0);
|
||||
return PostgresHelper.executeUpdate("INSERT INTO public.log (tourname, id, bemerkung, datum, strecke, avg, hightmeter, pause, gegangen, dauer) VALUES ('"+tourname+"', '"+log.getId()+"', '"+log.getBemerkung()+"', '"+log.getDatum()+"', "
|
||||
+log.getStrecke()+", "+log.getAvgspeed()+", "+log.getHightmeter()+", "+log.getPause()+", "+log.getGegangen()+", "+log.getDauer()+")");
|
||||
System.out.println("INSERT INTO public.log (tourname, id, bemerkung, datum, strecke, avg, hightmeter, pause, gegangen, dauer, rating) VALUES ('"+tourname+"', '"+log.getId()+"', '"+log.getBemerkung()+"', '"+log.getDatum()+"', "
|
||||
+log.getStrecke()+", "+log.getAvgspeed()+", "+log.getHightmeter()+", "+log.getPause()+", "+log.getGegangen()+", "+log.getDauer()+",'"+log.getRating()+"')");
|
||||
return PostgresHelper.executeUpdate("INSERT INTO public.log (tourname, id, bemerkung, datum, strecke, avg, hightmeter, pause, gegangen, dauer, rating) VALUES ('"+tourname+"', '"+log.getId()+"', '"+log.getBemerkung()+"', '"+log.getDatum()+"', "
|
||||
+log.getStrecke()+", "+log.getAvgspeed()+", "+log.getHightmeter()+", "+log.getPause()+", "+log.getGegangen()+", "+log.getDauer()+",'"+log.getRating()+"')");
|
||||
}
|
||||
|
||||
public boolean editLog(String tourname, Log log){
|
||||
return PostgresHelper.executeUpdate("UPDATE public.log SET bemerkung = '"+log.getBemerkung()+"', datum = '"+log.getDatum()+"', strecke = "+log.getStrecke()+", avg = "+log.getAvgspeed()+", hightmeter = "+
|
||||
log.getHightmeter()+", pause = "+log.getPause()+", gegangen = "+log.getGegangen()+", dauer = "+log.getDauer()+" WHERE tourname = '"+tourname+"' and id = '"+log.getId()+"'");
|
||||
log.getHightmeter()+", pause = "+log.getPause()+", gegangen = "+log.getGegangen()+", dauer = "+log.getDauer()+" WHERE tourname = '"+tourname+"' and id = '"+log.getId()+"', rating = '"+log.getRating()+"'");
|
||||
}
|
||||
|
||||
public boolean delLog(String tourname, String id){
|
||||
|
@ -6,11 +6,11 @@ import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
public class Log {
|
||||
private String id, bemerkung;
|
||||
private String id, bemerkung, rating;
|
||||
private LocalDate datum;
|
||||
private double strecke, avgspeed, hightmeter, pause, dauer, gegangen;
|
||||
|
||||
public Log(String id, double dauer, LocalDate datum, double strecke, String bemerkung, double hightmeter, double pause) {
|
||||
public Log(String id, double dauer, LocalDate datum, double strecke, String bemerkung, double hightmeter, double pause, String rating) {
|
||||
this.id = id;
|
||||
this.dauer = dauer;
|
||||
this.datum = datum;
|
||||
@ -18,13 +18,22 @@ public class Log {
|
||||
this.bemerkung = bemerkung;
|
||||
this.hightmeter = hightmeter;
|
||||
this.pause = pause;
|
||||
this.rating = rating;
|
||||
this.gegangen = this.dauer - this.pause;
|
||||
this.avgspeed = this.strecke / (this.gegangen);
|
||||
this.avgspeed = this.strecke / (this.gegangen/60);
|
||||
if(Double.isInfinite(this.avgspeed)){
|
||||
this.avgspeed = -1;
|
||||
}
|
||||
}
|
||||
|
||||
public String getRating() {
|
||||
return rating;
|
||||
}
|
||||
|
||||
public void setRating(String rating) {
|
||||
this.rating = rating;
|
||||
}
|
||||
|
||||
public String getBemerkung() {
|
||||
return bemerkung;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
* Model einer Tour
|
||||
*/
|
||||
public class Tour {
|
||||
private String dauer, mapJson, name, start, ziel;
|
||||
private String dauer, mapJson, name, start, ziel, rating;
|
||||
private double strecke;
|
||||
private ArrayList<Log> log;
|
||||
|
||||
|
@ -193,6 +193,7 @@
|
||||
<TableColumn fx:id="logPauseCol" minWidth="-1.0" prefWidth="-1.0" text="Davon Pause" />
|
||||
<TableColumn fx:id="logGegangenCol" minWidth="-1.0" prefWidth="-1.0" text="Davon Unterwegs" />
|
||||
<TableColumn fx:id="logBemerkungCol" minWidth="-1.0" prefWidth="-1.0" text="Bemerkung" />
|
||||
<TableColumn fx:id="logRatingCol1" minWidth="-1.0" prefWidth="-1.0" text="Rating" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
|
@ -34,7 +34,7 @@ public class TourplanerController implements Initializable {
|
||||
public ImageView mapImageView;
|
||||
//Log -> rechts unten
|
||||
public TableView<Log> logTableView;
|
||||
public TableColumn<Log, String> logDauerCol, logStreckeCol, logDatumCol, logAvgCol, logHightCol, logPauseCol, logGegangenCol, logBemerkungCol;
|
||||
public TableColumn<Log, String> logDauerCol, logStreckeCol, logDatumCol, logAvgCol, logHightCol, logPauseCol, logGegangenCol, logBemerkungCol, logRatingCol1;
|
||||
//Menue
|
||||
public CheckMenuItem openmap, openpdf;
|
||||
public RadioMenuItem langenglisch, langdeutsch;
|
||||
@ -154,6 +154,7 @@ public class TourplanerController implements Initializable {
|
||||
logPauseCol.setCellValueFactory(new PropertyValueFactory<Log, String>("pause"));
|
||||
logGegangenCol.setCellValueFactory(new PropertyValueFactory<Log, String>("gegangen"));
|
||||
logBemerkungCol.setCellValueFactory(new PropertyValueFactory<Log, String>("bemerkung"));
|
||||
logRatingCol1.setCellValueFactory(new PropertyValueFactory<Log, String>("rating"));
|
||||
progressBar.addProgress(10);
|
||||
mapImageView.setImage(this.viewModel.getImage(this.viewModel.getSelectedTour().getName()));
|
||||
if(this.viewModel.isSucheAktiv()){
|
||||
@ -303,6 +304,8 @@ public class TourplanerController implements Initializable {
|
||||
this.tourreport.setText(ConfigHelper.getLangIniString("frepotour"));
|
||||
this.beendenButton.setText(ConfigHelper.getLangIniString("fbeenden"));
|
||||
this.sucheInput.setPromptText(ConfigHelper.getLangIniString("fsuche")+ConfigHelper.getLangIniString("fpunkte"));
|
||||
|
||||
this.logRatingCol1.setText("Rating");
|
||||
}
|
||||
|
||||
@FXML
|
||||
|
@ -213,6 +213,7 @@ public class ViewModel {
|
||||
double dauer = dauerInput(this.selectedLog.getDauer());
|
||||
double strecke = -1;
|
||||
double pause = -1.0;
|
||||
double rating = -1.0;
|
||||
double hightmeter = -1.0;
|
||||
boolean bemerkung = false;
|
||||
LocalDate datum = null;
|
||||
@ -227,14 +228,17 @@ public class ViewModel {
|
||||
if (bemerkung) {
|
||||
datum = dateInput(this.selectedLog.getDatum());
|
||||
if (datum != null) {
|
||||
Log newLog = new Log(this.selectedLog.getId(), dauer, datum, strecke, this.neueBemerkung, hightmeter, pause);
|
||||
this.logData.removeIf(ld -> ld.getId().equals(this.selectedLog.getId()));
|
||||
this.logData.add(newLog);
|
||||
rating = ratingInput(this.selectedLog.getRating());
|
||||
if(rating >= 0.0) {
|
||||
Log newLog = new Log(this.selectedLog.getId(), dauer, datum, strecke, this.neueBemerkung, hightmeter, pause, rating + "");
|
||||
this.logData.removeIf(ld -> ld.getId().equals(this.selectedLog.getId()));
|
||||
this.logData.add(newLog);
|
||||
// tourAkt.get().delLog(this.selectedLog.getId());
|
||||
// tourAkt.get().addLog(newLog);
|
||||
this.tourData.removeIf(td -> td.getName().equals(this.selectedTour.getName()));
|
||||
this.tourData.add(tourAkt.get());
|
||||
TourPlaner.editLog(this.selectedTour.getName(), newLog);
|
||||
this.tourData.removeIf(td -> td.getName().equals(this.selectedTour.getName()));
|
||||
this.tourData.add(tourAkt.get());
|
||||
TourPlaner.editLog(this.selectedTour.getName(), newLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -279,6 +283,30 @@ public class ViewModel {
|
||||
ConfigHelper.getLangIniString("doppelpunkt"), realcontent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Eingabe des Ratings bis sie korrekt ist
|
||||
* @param content Wenn der Content -1.0 ist, wird er nicht in das input feld eingeschleust, sonst schon
|
||||
* @return Die eingegebene des Ratings
|
||||
*/
|
||||
private double ratingInput(String content){
|
||||
String realcontent = "";
|
||||
if (!content.isEmpty()){
|
||||
realcontent = content + "";
|
||||
}
|
||||
double input = -1;
|
||||
while(input <= 0) {
|
||||
input = AlertHelper.inputNumber(ConfigHelper.getLangIniString("bewertung"),
|
||||
ConfigHelper.getLangIniString("bewertungmsg"),
|
||||
ConfigHelper.getLangIniString("bewertung") +
|
||||
ConfigHelper.getLangIniString("doppelpunkt"), realcontent);
|
||||
if(input < 0 && input > 5){
|
||||
input = -1;
|
||||
AlertHelper.warn(ConfigHelper.getLangIniString("achtung"), ConfigHelper.getLangIniString("bewertungeror"), ConfigHelper.getLangIniString("bewertungeror2"));
|
||||
}
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
/**
|
||||
* Datum eingabe bis diese Korrekt ist
|
||||
* @return Das eingegebene korekte Datum
|
||||
@ -340,6 +368,7 @@ public class ViewModel {
|
||||
double dauer = dauerInput(-1.0);
|
||||
double strecke, pause, hightmeter;
|
||||
boolean bemerkung = false;
|
||||
double rating = -1.0;
|
||||
LocalDate date = null;
|
||||
if(dauer >= 0) {
|
||||
strecke = streckeInput("");
|
||||
@ -352,10 +381,13 @@ public class ViewModel {
|
||||
if (bemerkung){
|
||||
date = dateInput(LocalDate.now());
|
||||
if (date != null) {
|
||||
Log newLog = new Log(newId.get(), dauer, date, strecke, this.neueBemerkung, hightmeter, pause);
|
||||
this.logData.add(newLog);
|
||||
TourPlaner.addLog(this.selectedTour.getName(), newLog);
|
||||
s.addLog(newLog);
|
||||
rating = ratingInput("");
|
||||
if(rating >= 0.0) {
|
||||
Log newLog = new Log(newId.get(), dauer, date, strecke, this.neueBemerkung, hightmeter, pause, rating + "");
|
||||
this.logData.add(newLog);
|
||||
TourPlaner.addLog(this.selectedTour.getName(), newLog);
|
||||
s.addLog(newLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user