diff options
Diffstat (limited to 'src/main/java/at/ac')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/ArchivOperationController.java | 97 | 
1 files changed, 83 insertions, 14 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/ArchivOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/ArchivOperationController.java index 76e551a..5136090 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/ArchivOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/ArchivOperationController.java @@ -4,21 +4,33 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;  import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import java.time.LocalDateTime; +import java.time.ZoneOffset;  import java.util.EnumSet;  import java.util.LinkedList; -import java.util.List; -import javafx.fxml.FXML;  import javafx.scene.control.Alert;  import javafx.scene.control.Alert.AlertType;  import javafx.scene.control.Button; +import javafx.scene.control.Hyperlink; +import javafx.scene.control.Label; +import javafx.scene.layout.AnchorPane;  import javafx.scene.layout.FlowPane;  import org.springframework.stereotype.Controller;  @Controller  public class ArchivOperationController { + +    public AnchorPane apDetails; +    public Label lblCodeHeader; +    public Hyperlink hypBack; +    public Label lblOpCode; +    public Label lblVehicles; +    public Label lblDate; +    public Label lblAddress;      OperationService operationService;      public FlowPane archiveOperationFlowPane;      public CreateOperationController createOperationController; +    LinkedList<Operation> list = new LinkedList<>();      public ArchivOperationController() {} @@ -29,19 +41,7 @@ public class ArchivOperationController {          this.createOperationController = createOperationController;      } -    @FXML -    public void initialize() { -        /*for (int i = 0; i < 2; i++) { -            Button b = new Button(); -            b.setPrefHeight(200); -            b.setPrefWidth(800 / 2); -            archiveOperationFlowPane.getChildren().add(b); -        }*/ -    } -      public void fillList() { -        // TODO Test -        List<Operation> list = new LinkedList<>();          try {              list.addAll(operationService.list(EnumSet.of(Status.CANCELLED, Status.COMPLETED)));          } catch (ServiceException e) { @@ -56,7 +56,76 @@ public class ArchivOperationController {              b.setPrefHeight(200);              b.setPrefWidth(800 / 2);              b.setText(list.get(i).opCode()); +            b.setOnAction(event -> buttonClicked(b));              archiveOperationFlowPane.getChildren().add(b);          }      } + +    Operation detailOperation; + +    public void buttonClicked(Button button) { +        // TODO: Problem wenn identischer Code, eventuell am Index erkennen +        int size = archiveOperationFlowPane.getChildren().size(); +        int index = 0; +        for (int i = 0; i < size; i++) { +            if (archiveOperationFlowPane.getChildren().get(i) == button) { +                index = i; +                break; +            } +        } +        detailOperation = list.get(index); + +        /*for (int i = 0; i < list.size(); i++) { +            if (list.get(i).opCode().equals(opCode)) { +                detailOperation = list.get(i); +                break; +            } +        }*/ +        setOperation(); +        setDetailsVisible(true); +    } + +    private void setOperation() { +        // TODO +        lblCodeHeader.setText(detailOperation.opCode()); +        String date = "am "; +        if (detailOperation.created() != null) { +            LocalDateTime myDateTime = +                    LocalDateTime.ofInstant(detailOperation.created(), ZoneOffset.UTC); +            date += +                    myDateTime.getDayOfMonth() +                            + "." +                            + myDateTime.getMonth().getValue() +                            + "." +                            + myDateTime.getYear(); +            lblDate.setText(date); +        } else { +            lblDate.setText("---"); +        } + +        lblOpCode.setText(detailOperation.opCode()); +        StringBuilder result = new StringBuilder(); +        for (int i = 0; i < detailOperation.vehicles().size(); i++) { +            if (i == detailOperation.vehicles().size() - 1) { +                result.append(detailOperation.vehicles().get(i).name()); +            } else { +                result.append(detailOperation.vehicles().get(i).name()).append(", "); +            } +        } +        lblVehicles.setText(result.toString()); +        lblAddress.setText(detailOperation.destination()); +    } + +    public void setListVisible(boolean b) { +        archiveOperationFlowPane.setVisible(b); +    } + +    public void setDetailsVisible(boolean b) { +        apDetails.setVisible(b); +    } + +    public void backClicked() { +        setDetailsVisible(false); +        // setListVisible(true); +    }  }  | 
