diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java index 73bd7ad..3147209 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/OPListController.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.logging.Logger; import javax.enterprise.context.ConversationScoped; +import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; @@ -37,28 +38,47 @@ public class OPListController implements Serializable { @Inject protected DocumentService documentService; - public List getInvoices(String dbtrNumber) { - List result=new ArrayList(); - + List result = new ArrayList(); + logger.info("....getInvoices for " + dbtrNumber); + if (dbtrNumber == null || dbtrNumber.isEmpty()) { + return result; + } // Aus der dbtrNummer muss das führendde D entfernt werden - // wir speichern dieses zwar im Zahlungseingangs Workflow, aber eine Ausganksrechnung kennt das nicht + // wir speichern dieses zwar im Zahlungseingangs Workflow, aber eine + // Ausganksrechnung kennt das nicht // Das ganze ist ein übles Relikt aus Cargosoft und kann nicht vermieden werden if (dbtrNumber.startsWith("D")) { - dbtrNumber=dbtrNumber.substring(1); + dbtrNumber = dbtrNumber.substring(1); } - String query = "(type:workitem OR type:workitemarchive) AND ($modelversion:rechnungsausgang-*) AND (dbtr.number:" + dbtrNumber+")"; + String query = "(type:workitem OR type:workitemarchive) AND ($modelversion:rechnungsausgang-*) AND (dbtr.number:" + + dbtrNumber + ")"; try { - result= documentService.find(query, 999, 0, "$created", false); + result = documentService.find(query, 999, 0, "$created", false); } catch (QueryException e) { logger.severe("Failed to get op liste:" + e.getMessage()); } - - return result; } + + /** + * THis Method is called by cargosft-debitor-serach.xhtml after the user has selected + * a new debitor. + * The meothod updates the dbtr.number of the current workitem. + * The form will rerender the opList seciton + */ + public void loadOPList() { + + FacesContext fc = FacesContext.getCurrentInstance(); + String dbtrNumber = fc.getExternalContext().getRequestParameterMap().get("dbtrNumber"); + logger.info(".........dbtrNumber = "+dbtrNumber); + + workflowController.getWorkitem().setItemValue("dbtr.number", dbtrNumber); + + } + /** * This method computes the sum for a given item in a list of workitems. The * result is rounded to 2 digits. diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-debitor-search.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-debitor-search.xhtml index 0bfdfed..ccc67e6 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-debitor-search.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/cargsoft-debitor-search.xhtml @@ -23,8 +23,8 @@ --> - - +