diff --git a/doc/BUSINESSPARTNER.md b/doc/BUSINESSPARTNER.md index 05c168e..3a6f299 100644 --- a/doc/BUSINESSPARTNER.md +++ b/doc/BUSINESSPARTNER.md @@ -32,6 +32,19 @@ Z.b. kann das als Custom Part in eine Form eingebunden werden: ``` +Der name ist heirbei irrelevant, da immer die Items `partner.id` und `partner.name` ausgefüllt werden. +Zusätzlich kann man mit den Options angeben ob die Maske komplett neu gerendert werden soll. Das ist z.b. bei dem Modell `analyse-debitor.bpmn` der Fall + +```xml + +``` + +Man kann auch noch über die options eine regular Expression mitgeben wodurch die Filterliste eingeschränkt werden kann: + +```xml + +``` + Alternativ kann im Backend über die EJB BusinessPartnerService nach bpid gesucht werden: ```java @@ -74,3 +87,11 @@ K76233 HSH Papier GmbH & Co. KG D16233 Manfred Ziegler Transport GmbH Problemkind: https://alexander-logistics-dwc.office-workflow.de/pages/workitems/workitem.xhtml?id=9dd64b0a-cfe1-4174-aea4-0e8af45b823f + +# Business Parter Serach Widget + +wir müssten eigentlich nach Auswahl des Partner + + execute="#{customFormComponents.clientId}" render="#{customFormComponents.clientId}" + +machnen, aber das hat einen blöden effekt diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerDebitor.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerDebitor.java index 49fb864..7cdf274 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerDebitor.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerDebitor.java @@ -24,7 +24,6 @@ import org.imixs.workflow.ItemCollection; import org.imixs.workflow.engine.DocumentService; import org.imixs.workflow.exceptions.QueryException; import org.imixs.workflow.faces.data.WorkflowController; -import org.imixs.workflow.office.forms.AnalyticController; import org.imixs.workflow.office.forms.AnalyticEvent; import jakarta.enterprise.context.ConversationScoped; @@ -44,7 +43,7 @@ import jakarta.inject.Named; public class AGLAnalyticControllerDebitor implements Serializable { private static final long serialVersionUID = 1L; - private static Logger logger = Logger.getLogger(AnalyticController.class.getName()); + private static Logger logger = Logger.getLogger(AGLAnalyticControllerDebitor.class.getName()); @Inject protected DocumentService documentService; @@ -92,7 +91,7 @@ public class AGLAnalyticControllerDebitor implements Serializable { } String dbtrNumber = event.getWorkitem().getItemValueString("dbtr.number"); - logger.info("Analytic Event : " + dbtrNumber); + logger.fine("Analytic Event : " + dbtrNumber); String dbtrNumberLast = event.getWorkitem().getItemValueString("dbtr.number.last"); // Recompute only if last dbtr.number has changed or no values yet computed 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 81b0d7d..9ff3a76 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 @@ -113,7 +113,7 @@ public class BusinessPartnerController implements Serializable { * render="autocomplete-resultlist-datev" onevent="autocompleteShowResult" /> * } */ - public void search(String regexPattern) { + public void search(String options) { List resultList = null; searchResult = new ArrayList(); // get the param from faces context.... @@ -128,11 +128,12 @@ public class BusinessPartnerController implements Serializable { return; } logger.fine("search for=" + phrase); - resultList = businessPartnerService.search(phrase); - // Compile the regex pattern - logger.fine("regex=" + regexPattern); Pattern pattern = null; - if (regexPattern != null && !regexPattern.isEmpty()) { + resultList = businessPartnerService.search(phrase); + // Compile the regex pattern if available + if (options.contains("regexPattern=")) { + String regexPattern = options.substring(options.indexOf("regexPattern=") + 13); + logger.fine("regex=" + regexPattern); pattern = Pattern.compile(regexPattern); } @@ -157,6 +158,20 @@ public class BusinessPartnerController implements Serializable { } } + /** + * Diese Helper Method liefert true wenn in den Options von Form Part 'reRender' + * angegeben wurde. + * Damit löst die Suchmaske businesspartner_search.xhtml eine komplette rerender + * Phase der Form aus. + * Dies ist z.b. für den workflow 'analyse-debitor.bpmn' nützlich + * + * @param options + * @return + */ + public boolean isRerenderMode(String options) { + return options.toLowerCase().contains("rerender"); + } + /** * Die Resultliste wird als eine Liste einen Arrays zurückgegeben. Der Erste * Eintrag @@ -314,7 +329,7 @@ public class BusinessPartnerController implements Serializable { public void updateMetaData() { FacesContext fc = FacesContext.getCurrentInstance(); String bpid = fc.getExternalContext().getRequestParameterMap().get("partnerID"); - logger.fine(".........bpid = " + bpid); + logger.info("....update metadata.....bpid = " + bpid); ItemCollection businessPartner = businessPartnerService.getBusinessPartnerByID(bpid); if (businessPartner != null) { @@ -359,6 +374,7 @@ public class BusinessPartnerController implements Serializable { } } + searchResult = null; } diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/form_basic.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/form_basic.xhtml index 64f0125..5a75374 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/form_basic.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/form_basic.xhtml @@ -1,28 +1,14 @@ - + - - - - - - - - - - - + value="#{modelController.getProcessDescription(workflowController.workitem.item['$taskid'],workflowController.workitem.item['$ModelVersion'],workflowController.workitem)}"> + + @@ -36,8 +22,7 @@ - +

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 1fab748..e5dfdcb 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 @@ -4,37 +4,36 @@ xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty" xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs"> + +
#{workitem.item['partner.name']} - - -