fixed cargsoft suche nach Kreditor / Sonderzeichen

This commit is contained in:
Ralph Soika 2024-02-16 11:40:23 +01:00
parent 29d0c114ac
commit 856c621cf7

View file

@ -217,9 +217,11 @@ public class CargosoftController implements Serializable {
* @return * @return
*/ */
private String buildJsonData(ItemCollection cdtr, String iban, String bic) { private String buildJsonData(ItemCollection cdtr, String iban, String bic) {
JsonObjectBuilder objectBuilder = Json.createObjectBuilder(). // JsonObjectBuilder objectBuilder = Json.createObjectBuilder(). //
add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). // add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). //
add("name", cdtr.getItemValueString("_VENDOR_Name")). //
add("name", jsonVal(cdtr.getItemValueString("_VENDOR_Name"))). //
add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). // add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). //
add("iban", jsonVal(iban)). // add("iban", jsonVal(iban)). //
add("bic", jsonVal(bic)); add("bic", jsonVal(bic));
@ -242,16 +244,17 @@ public class CargosoftController implements Serializable {
* @return * @return
*/ */
private String buildJsonData(ItemCollection cdtr) { private String buildJsonData(ItemCollection cdtr) {
JsonObjectBuilder objectBuilder = Json.createObjectBuilder(). // JsonObjectBuilder objectBuilder = Json.createObjectBuilder(). //
add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). // add("no", jsonVal(cdtr.getItemValueString("_VENDOR_NUM"))). //
add("name", jsonVal(cdtr.getItemValueString("_VENDOR_Name"))). // add("name", jsonVal(cdtr.getItemValueString("_VENDOR_Name"))). //
add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). // add("creditperiod", jsonVal(cdtr.getItemValueString("cdtr.creditperiod"))). //
//add("mail", jsonVal(cdtr.getItemValue("cdtr.mail"))). // // add("mail", jsonVal(cdtr.getItemValue("cdtr.mail"))). //
add("mail", jsonVal((String) cdtr.getItemValue("cdtr.mail").stream() add("mail", jsonVal((String) cdtr.getItemValue("cdtr.mail").stream()
.collect(Collectors.joining("\\n")) )). // .collect(Collectors.joining("\\n"))))
. //
add("iban", jsonVal(cdtr.getItemValueString("cdtr.iban"))). // add("iban", jsonVal(cdtr.getItemValueString("cdtr.iban"))). //
add("bic", jsonVal(cdtr.getItemValueString("cdtr.bic"))). // add("bic", jsonVal(cdtr.getItemValueString("cdtr.bic"))). //
// add ibans für kreditoren verwaltung // add ibans für kreditoren verwaltung
@ -283,6 +286,7 @@ public class CargosoftController implements Serializable {
public static String jsonVal(String val) { public static String jsonVal(String val) {
val = val.replace("\"", ""); val = val.replace("\"", "");
val = val.replace("'", ""); val = val.replace("'", "");
val = val.replace("\"", "");
return val; return val;
} }
@ -319,10 +323,12 @@ public class CargosoftController implements Serializable {
* Diese Method überträgt die geänderten Daten in das Kreidtoren/Debitoren * Diese Method überträgt die geänderten Daten in das Kreidtoren/Debitoren
* Objekt (cdtr.creditperiod,cdtr.iban,cdtr.bic) * Objekt (cdtr.creditperiod,cdtr.iban,cdtr.bic)
* *
* Zusätzlich wird geprüft ob die eingegebene Mail Adresse eine gültige SMTP Adresse ist * Zusätzlich wird geprüft ob die eingegebene Mail Adresse eine gültige SMTP
* @throws PluginException * Adresse ist
*
* @throws PluginException
*/ */
public void updateZahlungsziel() throws PluginException { public void updateZahlungsziel() throws PluginException {
String cdtrNumber = kreditor.getItemValueString("cdtr.number"); String cdtrNumber = kreditor.getItemValueString("cdtr.number");
logger.fine("Zahlungsziel = " + cdtrNumber); logger.fine("Zahlungsziel = " + cdtrNumber);
@ -341,22 +347,22 @@ public class CargosoftController implements Serializable {
} catch (NumberFormatException nfe) { } catch (NumberFormatException nfe) {
// no op // no op
} }
List<String> mailList= kreditor.getItemValue("cdtr.mail"); List<String> mailList = kreditor.getItemValue("cdtr.mail");
mailList= mailList.stream() mailList = mailList.stream()
.filter(str -> str != null && !str.isEmpty()) .filter(str -> str != null && !str.isEmpty())
.map(String::trim) .map(String::trim)
.collect(Collectors.toList()); .collect(Collectors.toList());
for (String mail: mailList) { for (String mail : mailList) {
if (!InvoiceUtil.validateEmail(mail)) { if (!InvoiceUtil.validateEmail(mail)) {
throw new PluginException(CargosoftController.class.getName(), throw new PluginException(CargosoftController.class.getName(),
"INVALID_EMAIL", "Die Daten konnten nicht aktualisiert werden! Bitte geben Sie eine gültige E-Mail Adresse ein!"); "INVALID_EMAIL",
} "Die Daten konnten nicht aktualisiert werden! Bitte geben Sie eine gültige E-Mail Adresse ein!");
}
} }
cargoCreditor.setItemValue("cdtr.mail",mailList); cargoCreditor.setItemValue("cdtr.mail", mailList);
cargoCreditor.setItemValue("cdtr.iban", kreditor.getItemValueString("cdtr.iban")); cargoCreditor.setItemValue("cdtr.iban", kreditor.getItemValueString("cdtr.iban"));
cargoCreditor.setItemValue("cdtr.bic", kreditor.getItemValueString("cdtr.bic")); cargoCreditor.setItemValue("cdtr.bic", kreditor.getItemValueString("cdtr.bic"));
cargoCreditor.setItemValue("cdtr.iban2", kreditor.getItemValueString("cdtr.iban2")); cargoCreditor.setItemValue("cdtr.iban2", kreditor.getItemValueString("cdtr.iban2"));
@ -369,12 +375,12 @@ public class CargosoftController implements Serializable {
} }
} catch (QueryException e) { } catch (QueryException e) {
logger.severe("Unable to find cargosoft kreditor " + e.getMessage()); logger.severe("Unable to find cargosoft kreditor " + e.getMessage());
} catch (PluginException pe) { } catch (PluginException pe) {
// add a new FacesMessage into the FacesContext // add a new FacesMessage into the FacesContext
ErrorHandler.handlePluginException(pe); ErrorHandler.handlePluginException(pe);
throw pe; throw pe;
} }
} }