Koodin siivousta
Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
package fi.lpam.gui;
|
||||
|
||||
import fi.lpam.dataluokat.Asiakas;
|
||||
import fi.lpam.gui.elementit.MaaraTableColumn;
|
||||
import fi.lpam.gui.elementit.TabPohja;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class Asiakashallinta extends TabPohja {
|
||||
final TableView<Asiakas> tvAsiakkaat = new TableView<>();
|
||||
|
||||
public Asiakashallinta() {
|
||||
BorderPane root = new BorderPane();
|
||||
this.getChildren().add(root);
|
||||
root.setPadding(oletusInsets);
|
||||
|
||||
BorderPane yläpalkki = new BorderPane();
|
||||
root.setTop(yläpalkki);
|
||||
Label otsikko = new Label("Asiakashallinta");
|
||||
otsikko.setFont(tekstiFont);
|
||||
yläpalkki.setLeft(otsikko);
|
||||
|
||||
HBox yläpalkinNapit = new HBox();
|
||||
yläpalkinNapit.setSpacing(5);
|
||||
yläpalkki.setRight(yläpalkinNapit);
|
||||
|
||||
Button avaaVersioloki = new Button("VERSIOLOKI");
|
||||
avaaVersioloki.setFont(buttonFont);
|
||||
avaaVersioloki.setOnAction(_ -> {
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI("https://git.lpam.fi/laurimaaninka/Ruokamanageri/src/branch/master/CHANGELOG.md"));
|
||||
} catch (IOException | URISyntaxException e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
});
|
||||
yläpalkinNapit.getChildren().add(avaaVersioloki);
|
||||
|
||||
Button poistaValittu = new Button("Poista");
|
||||
poistaValittu.setOnAction(_ -> poistaValittu());
|
||||
poistaValittu.setFont(buttonFont);
|
||||
yläpalkinNapit.getChildren().add(poistaValittu);
|
||||
|
||||
Button muokkaaAsiakasta = new Button("Muokkaa");
|
||||
muokkaaAsiakasta.setOnAction(_ -> muokkaaValittua());
|
||||
muokkaaAsiakasta.setFont(buttonFont);
|
||||
yläpalkinNapit.getChildren().add(muokkaaAsiakasta);
|
||||
|
||||
Button uusiAsiakas = new Button("Uusi asiakas");
|
||||
uusiAsiakas.setOnAction(_ -> uusiAsiakas());
|
||||
uusiAsiakas.setFont(buttonFont);
|
||||
yläpalkinNapit.getChildren().add(uusiAsiakas);
|
||||
|
||||
tvAsiakkaat.setEditable(false);
|
||||
tvAsiakkaat.setPlaceholder(new Label("Ei vielä tietoja"));
|
||||
tvAsiakkaat.setOnMouseClicked((MouseEvent mouseEvent) -> {
|
||||
if (mouseEvent.getClickCount() == 2) {
|
||||
muokkaaValittua();
|
||||
}
|
||||
});
|
||||
tvAsiakkaat.setOnKeyPressed(e -> {
|
||||
if (tvAsiakkaat.getSelectionModel().getSelectedItem() != null) {
|
||||
if (e.getCode() == KeyCode.ENTER) {
|
||||
muokkaaValittua();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
root.setCenter(tvAsiakkaat);
|
||||
|
||||
TableColumn<Asiakas, String> tcId = new TableColumn<>("Id");
|
||||
tcId.setCellValueFactory(new PropertyValueFactory<>("id"));
|
||||
TableColumn<Asiakas, String> tcNimi = new TableColumn<>("Nimi");
|
||||
tcNimi.setCellValueFactory(new PropertyValueFactory<>("nimi"));
|
||||
TableColumn<Asiakas, String> tcOsoite = new TableColumn<>("Osoite");
|
||||
tcOsoite.setCellValueFactory(new PropertyValueFactory<>("osoite"));
|
||||
|
||||
int minWidth = 40;
|
||||
TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetuspäivät = new TableColumn<>("Kuljetukset per päivä");
|
||||
MaaraTableColumn<Asiakas, Integer> tcMaanantaiKpl = new MaaraTableColumn<>("MA", minWidth);
|
||||
tcMaanantaiKpl.setCellValueFactory(new PropertyValueFactory<>("maanantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcTiistaiKpl = new MaaraTableColumn<>("TI", minWidth);
|
||||
tcTiistaiKpl.setCellValueFactory(new PropertyValueFactory<>("tiistaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcKeskiviikkoKpl = new MaaraTableColumn<>("KE", minWidth);
|
||||
tcKeskiviikkoKpl.setCellValueFactory(new PropertyValueFactory<>("keskiviikkoKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcTorstaiKpl = new MaaraTableColumn<>("TO", minWidth);
|
||||
tcTorstaiKpl.setCellValueFactory(new PropertyValueFactory<>("torstaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcPerjantaiKpl = new MaaraTableColumn<>("PE", minWidth);
|
||||
tcPerjantaiKpl.setCellValueFactory(new PropertyValueFactory<>("perjantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcLauantaiKpl = new MaaraTableColumn<>("LA", minWidth);
|
||||
tcLauantaiKpl.setCellValueFactory(new PropertyValueFactory<>("lauantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcSunnuntaiKpl = new MaaraTableColumn<>("SU", minWidth);
|
||||
tcSunnuntaiKpl.setCellValueFactory(new PropertyValueFactory<>("sunnuntaiKpl"));
|
||||
tcKuljetuspäivät.getColumns().addAll(tcMaanantaiKpl, tcTiistaiKpl, tcKeskiviikkoKpl, tcTorstaiKpl, tcPerjantaiKpl, tcLauantaiKpl, tcSunnuntaiKpl);
|
||||
|
||||
TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetusmäärät = new TableColumn<>("Määrät per kuljetus");
|
||||
MaaraTableColumn<Asiakas, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", minWidth, 150);
|
||||
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", minWidth, 150);
|
||||
tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", minWidth, 150);
|
||||
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
||||
tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
|
||||
|
||||
TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet");
|
||||
// tcErityisruokavalio.setMinWidth(150);
|
||||
tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio"));
|
||||
TableColumn<Asiakas, String> tcAvainTieto = new TableColumn<>("Avaintieto");
|
||||
// tcAvainTieto.setMinWidth(150);
|
||||
tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto"));
|
||||
TableColumn<Asiakas, String> tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle");
|
||||
// tcLisätiedot.setMinWidth(250);
|
||||
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
|
||||
TableColumn<Asiakas, String> tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö");
|
||||
// tcYhteyshenkilönNimi.setMinWidth(250);
|
||||
tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi"));
|
||||
TableColumn<Asiakas, String> tcLaskutusOsoite = new TableColumn<>("Laskutusosoite");
|
||||
// tcLaskutusOsoite.setMinWidth(250);
|
||||
tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite"));
|
||||
TableColumn<Asiakas, String> tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero");
|
||||
// tcYhteyshenkilönPuhelinnumero.setMinWidth(250);
|
||||
tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero"));
|
||||
TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti");
|
||||
// tcYhteyshenkilönSähköposti.setMinWidth(250);
|
||||
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
||||
|
||||
tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||
|
||||
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
||||
column.setEditable(false);
|
||||
column.setReorderable(false);
|
||||
column.setResizable(true);
|
||||
column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;");
|
||||
|
||||
}
|
||||
|
||||
tvAsiakkaat.setItems(FXCollections.observableArrayList(Objects.requireNonNull(Asiakas.haeKaikki())));
|
||||
}
|
||||
|
||||
private void uusiAsiakas() {
|
||||
Asiakas luotavaAsiakas = new Asiakas();
|
||||
AsiakasIkkuna asiakasIkkuna = new AsiakasIkkuna(luotavaAsiakas);
|
||||
asiakasIkkuna.showAndWait();
|
||||
if (luotavaAsiakas.getId() != -1) {
|
||||
//Asiakas luotu ja id saatu tietokannasta
|
||||
tvAsiakkaat.getItems().add(luotavaAsiakas);
|
||||
tvAsiakkaat.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
private void muokkaaValittua() {
|
||||
Asiakas muokattavaAsiakas = tvAsiakkaat.getSelectionModel().getSelectedItem();
|
||||
if (muokattavaAsiakas == null) {return;}
|
||||
AsiakasIkkuna asiakasIkkuna = new AsiakasIkkuna(muokattavaAsiakas);
|
||||
asiakasIkkuna.showAndWait();
|
||||
tvAsiakkaat.refresh();
|
||||
}
|
||||
|
||||
private void poistaValittu() {
|
||||
Asiakas valittuAsiakas = tvAsiakkaat.getSelectionModel().getSelectedItem();
|
||||
boolean läpi = false;
|
||||
if (valittuAsiakas != null) {
|
||||
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
|
||||
alert.setTitle("Oletko varma?");
|
||||
alert.setHeaderText("Poistetaanko valittu asiakas?");
|
||||
alert.setContentText(valittuAsiakas.getNimi());
|
||||
Optional<ButtonType> result = alert.showAndWait();
|
||||
if (result.isPresent() && result.get() == ButtonType.OK) {
|
||||
läpi = valittuAsiakas.poista();
|
||||
}
|
||||
if (läpi) {
|
||||
tvAsiakkaat.getItems().remove(valittuAsiakas);
|
||||
tvAsiakkaat.refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user