Merge pull request '#26: Medikamente berabeiten' (#43) from story/medikamente-modul-medikamente-bearbeiten into main
Reviewed-on: #43 Reviewed-by: SZUT-Ole <ole.kueck@hmmh.de>
This commit is contained in:
commit
3f6625b270
3 changed files with 74 additions and 28 deletions
|
@ -8,12 +8,17 @@ import java.util.stream.Collectors;
|
|||
import de.hitec.nhplus.Main;
|
||||
import de.hitec.nhplus.datastorage.DaoFactory;
|
||||
import de.hitec.nhplus.medication.database.MedicationDao;
|
||||
import de.hitec.nhplus.nurse.Nurse;
|
||||
import de.hitec.nhplus.patient.Patient;
|
||||
import de.hitec.nhplus.treatment.Treatment;
|
||||
import de.hitec.nhplus.treatment.TreatmentModalController;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.SelectionModel;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
|
@ -91,6 +96,18 @@ public class AllMedicationController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to save the changes to a {@link Medication}.
|
||||
*/
|
||||
public void updateMedication(Medication medication) {
|
||||
dao = DaoFactory.getInstance().createMedicationDAO();
|
||||
try {
|
||||
dao.update(medication);
|
||||
} catch (SQLException exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create a new {@link Medication}.
|
||||
*/
|
||||
|
@ -103,8 +120,13 @@ public class AllMedicationController {
|
|||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void handleNewMedication() {
|
||||
/**
|
||||
* Internal method to create a {@link MedicationModalController MedicationModal}.
|
||||
*
|
||||
* @param medication The {@link Medication} which should be edited. Set null to create a new one.
|
||||
* @param title The Title of the created modal.
|
||||
*/
|
||||
public void medicationWindow(Medication medication, String title) {
|
||||
try {
|
||||
FXMLLoader loader = new FXMLLoader(
|
||||
Main.class.getResource("/de/hitec/nhplus/medication/MedicationModal.fxml")
|
||||
|
@ -114,10 +136,10 @@ public class AllMedicationController {
|
|||
Stage stage = new Stage();
|
||||
|
||||
MedicationModalController controller = loader.getController();
|
||||
controller.initialize(stage, this, null);
|
||||
controller.initialize(stage, this, medication);
|
||||
|
||||
stage.setScene(scene);
|
||||
stage.setTitle("NHPlus - Neues Medikament");
|
||||
stage.setTitle(title);
|
||||
stage.setResizable(true);
|
||||
stage.setAlwaysOnTop(true);
|
||||
stage.showAndWait();
|
||||
|
@ -125,4 +147,21 @@ public class AllMedicationController {
|
|||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void handleNewMedication() {
|
||||
medicationWindow(null, "NHPlus - Neues Medikament");
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void handleMouseClick() {
|
||||
tableView.setOnMouseClicked(event -> {
|
||||
SelectionModel<Medication> selectionModel = tableView.getSelectionModel();
|
||||
if (event.getClickCount() == 2 && (selectionModel.getSelectedItem() != null)) {
|
||||
int index = selectionModel.getSelectedIndex();
|
||||
Medication medication = this.medications.get(index);
|
||||
medicationWindow(medication, "NHPlus - Medikament");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ public class MedicationModalController {
|
|||
private Medication medication;
|
||||
private final ObservableList<Ingredient> ingredients = FXCollections.observableArrayList();
|
||||
private AllMedicationController controller;
|
||||
private boolean isNewMedication = false;
|
||||
|
||||
/**
|
||||
* Initialization method that is called after the binding of all the fields.
|
||||
|
@ -59,6 +60,7 @@ public class MedicationModalController {
|
|||
if (medication != null) {
|
||||
this.medication = medication;
|
||||
} else {
|
||||
isNewMedication = true;
|
||||
this.medication = new Medication(
|
||||
"",
|
||||
"",
|
||||
|
@ -117,7 +119,12 @@ public class MedicationModalController {
|
|||
.toList()
|
||||
);
|
||||
|
||||
if (isNewMedication) {
|
||||
controller.createMedication(medication);
|
||||
} else {
|
||||
controller.updateMedication(medication);
|
||||
}
|
||||
|
||||
controller.readAllAndShowInTableView();
|
||||
stage.close();
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<Insets top="8" left="8" right="8" bottom="8"/>
|
||||
</padding>
|
||||
<center>
|
||||
<TableView fx:id="tableView">
|
||||
<TableView fx:id="tableView" onMouseClicked="#handleMouseClick">
|
||||
<columns>
|
||||
<TableColumn
|
||||
fx:id="columnId"
|
||||
|
|
Loading…
Reference in a new issue