From fce3559463c4b9b39839751d340d9295b119320d Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Wed, 20 Aug 2025 18:58:14 +0200 Subject: [PATCH] ubernahme IBAN/BIC bei Partner auswahl --- .../BusinessPartnerController.java | 26 ++++++++++++++++++- .../alexander/businesspartner_search.xhtml | 6 +++-- .../parts/alexander/cdtreingabe.xhtml | 8 ++++++ .../workitems/parts/alexander/spaceref.xhtml | 2 +- ...aft.bpmn => analyse-debitor-en-1.0.1.bpmn} | 6 ++--- workflow/usa/rechnungseingang-usa-1.0.1.bpmn | 26 +++++++++---------- 6 files changed, 54 insertions(+), 20 deletions(-) create mode 100644 office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/cdtreingabe.xhtml rename workflow/{analyse-debitor-en-1.0.1-draft.bpmn => analyse-debitor-en-1.0.1.bpmn} (98%) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/BusinessPartnerController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/BusinessPartnerController.java index fd05632..e4eb79c 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/BusinessPartnerController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/BusinessPartnerController.java @@ -38,6 +38,7 @@ import org.imixs.workflow.engine.DocumentService; import org.imixs.workflow.exceptions.AccessDeniedException; import org.imixs.workflow.exceptions.QueryException; import org.imixs.workflow.faces.data.WorkflowEvent; +import org.imixs.workflow.office.forms.ValidationController; import jakarta.enterprise.context.ConversationScoped; import jakarta.enterprise.event.Observes; @@ -73,6 +74,9 @@ public class BusinessPartnerController implements Serializable { @Inject BusinessPartnerService businessPartnerService; + @Inject + ValidationController validationController; + private List searchResult = null; private static Logger logger = Logger.getLogger(BusinessPartnerController.class.getName()); @@ -181,6 +185,14 @@ public class BusinessPartnerController implements Serializable { return partner; } + /** + * Helper method to disable the form validation during a metadata update + */ + public void disableValidation() { + logger.info("Disable Validation"); + validationController.setRequired(false); + } + /** * WorkflowEvent listener resolved additional data. * @@ -319,7 +331,7 @@ public class BusinessPartnerController implements Serializable { } /** - * This JSF backing method is called by businesspartner_serach.xhtml after the + * This JSF backing method is called by businesspartner_search.xhtml after the * user has selected a new businesspartner. *

* The method lookups the given BusinessPartner and updates the metadata for @@ -341,6 +353,18 @@ public class BusinessPartnerController implements Serializable { workitem.setItemValue("cdtr.name", businessPartner.getItemValueString("partner.name")); workitem.setItemValue("cdtr.mail", businessPartner.getItemValue("cdtr.mail")); + + // Anforderung Frau Kück vom 20.8.2025 + // bei Auswahl eines Kreditors sollen IBAN/BIC mit dem ersten vorhandenen + // IBAN/BIC Kombination + // im Business Partner überschreiben werden falls möglich! + List bankList = BusinessPartnerService.getBanks(businessPartner); + if (bankList != null && bankList.size() > 0) { + ItemCollection bank = bankList.get(0); + workitem.setItemValue("cdtr.iban", bank.getItemValueString("iban")); + workitem.setItemValue("cdtr.bic", bank.getItemValueString("bic")); + } + } else // Ausgangsrechnung if (InvoiceUtil.isDebitorInvoice(workitem)) { diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/businesspartner_search.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/businesspartner_search.xhtml index 3f26d69..7f0a2e9 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/businesspartner_search.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/businesspartner_search.xhtml @@ -8,7 +8,7 @@ This subform provides a search feature for business partners and automatically updates partner.id and partner.name - When 'options=rerender' the full form will be refreshed after selection. This is usefull for DebitorAanaylye + When 'options=rerender' the full form will be refreshed after selection. This is useful for DebitorAnalyse Optional the options can also include a regex pattern @@ -23,11 +23,12 @@ render="#{businessPartnerController.isRerenderMode(options)?customFormComponents.clientId:''}" /> +
#{workitem.item['partner.name']} -