diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js index 57525f7e73291a683f420808dcb6762750766022..58bdffc44102983beea08ff21599faa982748d66 100644 --- a/process/Campaign_lib/process.js +++ b/process/Campaign_lib/process.js @@ -904,9 +904,9 @@ CampaignUtils.getResolvedCampaignStepSqlpPart = function(pCampaignId){ .where("CAMPAIGNSTEP.CAMPAIGN_ID", pCampaignId) .table(); - var res = SqlUtils.getResolvingCaseWhen(campaignSteps, "CAMPAIGNSTEP.CAMPAIGNSTEPID"); + var res = SqlUtils.getResolvingCaseWhen(campaignSteps, "CAMPAIGNSTEP.CAMPAIGNSTEPID"); - return SqlUtils.translateStatementWithQuotes(res); + return SqlUtils.translateStatementWithQuotes(res); } /* diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js index fc7f681f31f66f73b2ea8e054bd7dc388f5e3a78..e3d046f16d51df23bcd633d675f272178d03c807 100644 --- a/process/Contact_lib/process.js +++ b/process/Contact_lib/process.js @@ -808,41 +808,47 @@ ContactUtils.isDeletable = function (pCurrentContext, pContactId, pPersonId) */ ContactUtils.getContactSalutationSubSql = function(pGetHeadline, pGetLetterSalutation) { - var column; - if(pGetHeadline) + var salutationColumn; + if(pGetLetterSalutation) { - column = "SALUTATION.HEADLINE"; + salutationColumn = "SALUTATION.LETTERSALUTATION"; } - if(pGetLetterSalutation) + else if(pGetHeadline) { - column = "SALUTATION.LETTERSALUTATION"; + salutationColumn = "SALUTATION.HEADLINE"; } + var sqlHelper = new SqlMaskingUtils(); var personSelect = ""; - var orgSelect = column; - var saltuationPlaceholders = {"'{fn}'": "PERSON.FIRSTNAME", "'{ln}'": "PERSON.LASTNAME", "'{ti}'": "PERSON.TITLE"}; - Object.keys(saltuationPlaceholders).forEach(function(placeholder){ - let persSelectFront = "REPLACE("; - let persSelectBack = ", " + placeholder + ", " + sqlHelper.isNull(saltuationPlaceholders[placeholder], "''") + ")"; - if(!personSelect) + var saltuationPlaceholders = { + "'{fn}'": "PERSON.FIRSTNAME", + "'{ln}'": "PERSON.LASTNAME", + "'{ti}'": "PERSON.TITLE" + }; + + var persSelectFront = "REPLACE("; + for(let [placeholder, column] in saltuationPlaceholders) + { + let persSelectBack = ", " + placeholder + ", " + sqlHelper.isNull(column, "''") + ")"; + if(Utils.isNullOrEmpty(personSelect)) { - personSelect = persSelectFront + column + persSelectBack; + personSelect = persSelectFront + salutationColumn + persSelectBack; } else { personSelect = persSelectFront + personSelect + persSelectBack; } - }); - var saltuation = newSelect("case when CONTACT.PERSON_ID is null then " + orgSelect + " else " + personSelect + "end") + } + + return newSelect("case when CONTACT.PERSON_ID is null then " + salutationColumn + " else " + personSelect + "end") .from("SALUTATION") .where("SALUTATION.ISOLANGUAGE = CONTACT.ISOLANGUAGE") .and(newWhere("SALUTATION.SEX = PERSON.GENDER").or("SALUTATION.SEX is null")) .and(newWhere("SALUTATION.TITLE = PERSON.TITLE").or("SALUTATION.TITLE is null")) .and(newWhere("SALUTATION.SALUTATION = PERSON.SALUTATION").or("SALUTATION.SALUTATION is null")) - .orderBy("SALUTATION.SEX desc, SALUTATION.TITLE desc"); - saltuation = saltuation.toString(); - saltuation = saltuation + " " + sqlHelper.limit(1); - return saltuation; + .orderBy("SALUTATION.SEX desc, SALUTATION.TITLE desc") + .toString() + + " " + sqlHelper.limit(1); } /**