Erweiterungen

This commit is contained in:
2026-01-23 11:58:56 +01:00
parent 148cf94abf
commit 53f6dbb8b5

View File

@@ -91,31 +91,6 @@ public class OrderDetailDialog extends Dialog {
createFooter(); createFooter();
} }
private void reprocessEmail() {
try {
Notification.show("Analysiere Email erneut...", 2000, Notification.Position.MIDDLE);
OrderSummary newSummary = llmService.reprocessEmail(orderEmail);
this.summary = newSummary;
orderEmail.setSummaryJson(llmService.serializeSummary(newSummary));
orderEmail.setType(newSummary.getOrderType());
onProcessed.accept(orderEmail);
remove(contentLayout);
getFooter().removeAll();
contentLayout = createContent();
add(contentLayout);
createFooter();
Notification.show("Email neu klassifiziert als: " + newSummary.getOrderType().getDisplayName(),
3000, Notification.Position.BOTTOM_START);
} catch (Exception e) {
Notification.show("Fehler bei der Neuanalyse: " + e.getMessage(),
5000, Notification.Position.MIDDLE);
}
}
private HorizontalLayout createContent() { private HorizontalLayout createContent() {
HorizontalLayout layout = new HorizontalLayout(); HorizontalLayout layout = new HorizontalLayout();
layout.setSizeFull(); layout.setSizeFull();
@@ -1088,17 +1063,14 @@ public class OrderDetailDialog extends Dialog {
// Read-only mode: only show close and delete buttons // Read-only mode: only show close and delete buttons
getFooter().add(deleteButton, spacer, closeButton); getFooter().add(deleteButton, spacer, closeButton);
} else { } else {
Button reprocessButton = new Button("Neu analysieren", e -> reprocessEmail());
reprocessButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
if (orderEmail.getType() == EmailType.QUOTE_REQUEST) { if (orderEmail.getType() == EmailType.QUOTE_REQUEST) {
Button sendOfferButton = new Button("Angebot senden", e -> sendOffer()); Button sendOfferButton = new Button("Angebot senden", e -> sendOffer());
sendOfferButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY); sendOfferButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
getFooter().add(deleteButton, spacer, closeButton, reprocessButton, sendOfferButton); getFooter().add(deleteButton, spacer, closeButton, sendOfferButton);
} else { } else {
Button acceptButton = new Button("Auftrag annehmen", e -> acceptOrder()); Button acceptButton = new Button("Auftrag annehmen", e -> acceptOrder());
acceptButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY); acceptButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
getFooter().add(deleteButton, spacer, closeButton, reprocessButton, acceptButton); getFooter().add(deleteButton, spacer, closeButton, acceptButton);
} }
} }
} }