Kaynağa Gözat

Bugfix mit den LogTabellen; Bei einer empfangenen OP-Nachricht wird nun Patient + Diagnose geöffnet

testBranch
Johannes 10 yıl önce
ebeveyn
işleme
8700d87d6b
6 değiştirilmiş dosya ile 75 ekleme ve 12 silme
  1. +26
    -4
      src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java
  2. +35
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
  3. +1
    -3
      src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java
  4. +3
    -1
      src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java
  5. +5
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
  6. +5
    -4
      src/main/resources/log.fxml

+ 26
- 4
src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java Dosyayı Görüntüle

@@ -5,9 +5,7 @@ import de.uniluebeck.mi.projmi6.model.HL7LogEntry;
import javafx.collections.FXCollections;
import javafx.concurrent.Task;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.text.Text;

@@ -48,7 +46,30 @@ public class LogController {
private void initColumns(){
colLogIp.setCellValueFactory(new PropertyValueFactory<HL7LogEntry, String>("source"));
colLogTime.setCellValueFactory(new PropertyValueFactory<HL7LogEntry, LocalDateTime>("timestamp"));
colLogIp.setCellValueFactory(new PropertyValueFactory<HL7LogEntry, String>("message"));
colLogMessage.setCellValueFactory(new PropertyValueFactory<HL7LogEntry, String>("message"));

colLogMessage.setCellFactory(column -> {
return new TableCell<HL7LogEntry, String>(){
private TextArea textArea = new TextArea();
{
textArea.setEditable(false);
textArea.setPrefRowCount(5);
}

@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
this.setText(null);
if(item == null || empty){
this.setGraphic(null);
return;
}
textArea.setText(item);
textArea.setWrapText(true);
this.setGraphic(textArea);
}
};
});
}


@@ -80,6 +101,7 @@ public class LogController {
tblLog.setItems(FXCollections.observableArrayList(this.getValue()));
mainController.decreaseParallelTaskCount();
btnRefresh.setDisable(false);

}

@Override


+ 35
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java Dosyayı Görüntüle

@@ -152,6 +152,36 @@ public class MainController {
}


private int fallIdToShow = -1;

public void selectPatientAndFallId(Patient patient, int fallId){
if(patientTablesController.getSelectedPatient()==patient
&& !loadFallTask.isRunning()){
selectFallById(fallId);
return;
}

fallIdToShow = fallId;
patientTablesController.selectPatient(patient);
}

private void selectFallById(int id){
if(lvFall.getItems() == null){
return;
}

for(Fall fall: lvFall.getItems()){
if(fall.getFallID()== id ){
lvFall.getSelectionModel().select(fall);
return;
}
}


}



@FXML
private Label lvFallPlaceholder;

@@ -187,6 +217,11 @@ public class MainController {
lvFallPlaceholder.setText("Keine F\u00e4lle vorhanden!");
lvFall.setItems(FXCollections.observableArrayList(getValue()));
decreaseParallelTaskCount();

if(fallIdToShow!=-1){
selectFallById(fallIdToShow);
fallIdToShow = -1;
}
}

@Override


+ 1
- 3
src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java Dosyayı Görüntüle

@@ -38,12 +38,10 @@ public class MessageController {
@FXML
private void initialize(){
messageIcon.messageCountProperty().bind(messages.sizeProperty());
messages.add(new HL7Message(null, 0, LocalDateTime.now(), null, true));
}

@FXML
private void onMessageIconClicked(){

showMessageList();
}

@@ -63,7 +61,7 @@ public class MessageController {

Stage stage = new Stage();

stage.setTitle(messages.size()+ " neue HL7-Nachrichten");
stage.setTitle("Neue HL7-Nachrichten");
stage.setScene(new Scene(root, 600, 400));

stage.getIcons().add(new Image("icon.png"));


+ 3
- 1
src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java Dosyayı Görüntüle

@@ -71,8 +71,10 @@ public class MessageListController {
alert.initModality(Modality.APPLICATION_MODAL);

alert.showAndWait();
}else{
mainController.selectPatientAndFallId(message.getPatient(), message.getFallId());
((Stage)lvMessages.getScene().getWindow()).close();
}
//TODO Go to patient

}


+ 5
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java Dosyayı Görüntüle

@@ -223,6 +223,11 @@ public class PatientTablesController {
stage.show();
}

public void selectPatient(Patient patient){
patientOverviewTabPane.getSelectionModel().select(0); // Select first tab
tblPatientOverview.getSelectionModel().select(patient);
}

public void updatePatientsFromDb() {
if (this.loadPatientTask != null && this.loadPatientTask.isRunning()) {
System.out.println("Patienten werden bereits geladen.");


+ 5
- 4
src/main/resources/log.fxml Dosyayı Görüntüle

@@ -1,23 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>

<?import java.net.*?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<?import java.net.URL?>

<VBox minHeight="-Infinity" minWidth="-Infinity" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.uniluebeck.mi.projmi6.controller.LogController">
<children>
<ToolBar prefHeight="40.0" prefWidth="200.0">
<items>
<Pane HBox.hgrow="ALWAYS" />
<Button fx:id="btnRefresh" text="Liste aktualisieren" onAction="#clickedRefresh"/>
<Button fx:id="btnRefresh" onAction="#clickedRefresh" text="Liste aktualisieren" />
</items>
</ToolBar>
<TableView fx:id="tblLog" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="colLogIp" editable="false" prefWidth="75.0" text="Ursprungs-IP" />
<TableColumn fx:id="colLogTime" editable="false" prefWidth="75.0" text="Uhrzeit" />
<TableColumn fx:id="colLogIp" editable="false" maxWidth="200.0" minWidth="150.0" text="Ursprungs-IP" />
<TableColumn fx:id="colLogTime" editable="false" maxWidth="200.0" minWidth="150.0" text="Uhrzeit" />
<TableColumn fx:id="colLogMessage" editable="false" prefWidth="75.0" text="Nachricht" />
</columns>
<columnResizePolicy>


Yükleniyor…
İptal
Kaydet