diff --git a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js b/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js index c80b55a38be25139beeefac4cbcbeb4b08a88cad..9b6641b991c2142cc0d625445aea61232f70f7b1 100644 --- a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js +++ b/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js @@ -1,28 +1,28 @@ -import("system.translate"); import("system.result"); -import("system.vars"); -import("system.calendars"); import("system.db"); +import("system.vars"); +import("system.translate"); import("Keyword_lib"); import("Sql_lib"); import("KeywordRegistry_basic"); -var sqlQuery, sqlHelper, queryCondition, affectedIds; -queryCondition = ""; +var sqlHelper = new SqlMaskingUtils(); +var affectedIds; + +var sqlQuery = newSelect("CONTRACTID, " + + sqlHelper.concat(["CONTRACTCODE", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractStatus(), "CONTRACTSTATUS")], " | ") + + " as TITLECOLUMN, " + + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Type of contract") + ":'", + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractType(), "CONTRACTTYPE")]) + + " as DESCCOLUMN, CONTRACTCODE, ORGANISATION.NAME, CUSTOMERCODE " ) + .from("CONTRACT") + .join("CONTACT", "CONTRACT.CONTACT_ID = CONTACTID") + .join("ORGANISATION", "ORGANISATIONID = CONTACT.ORGANISATION_ID") + .orderBy("CONTRACTCODE") + if (vars.exists("$local.idvalue")) { affectedIds = vars.get("$local.idvalue"); - queryCondition = "where CONTRACTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')"; - //TODO: refactor this for incremental indexer (injections?) + sqlQuery.where("CONTRACT.CONTRACTID", affectedIds, SqlBuilder.IN()) } -sqlHelper = new SqlMaskingUtils(); -sqlQuery = "select CONTRACTID, " - + sqlHelper.concat(["CONTRACTCODE", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractStatus(), "CONTRACTSTATUS")], " | ") - + " as TITLECOLUMN, " - + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Type of contract") + ":'", - KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractType(), "CONTRACTTYPE")]) - + " as DESCCOLUMN, CONTRACTCODE, ORGANISATION.NAME, CUSTOMERCODE " - + " from CONTRACT " - + " join CONTACT on CONTRACT.CONTACT_ID = CONTACTID " - + " join ORGANISATION on ORGANISATIONID = CONTACT.ORGANISATION_ID " - + queryCondition + " order by CONTRACTCODE "; + result.string(sqlQuery); \ No newline at end of file