Skip to content
Snippets Groups Projects
Commit 6820f910 authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

merged sqlLibRefactor into master

parents 6bcaba0c 86454952
No related branches found
No related tags found
No related merge requests found
Showing
with 126 additions and 125 deletions
...@@ -5,8 +5,9 @@ import("system.result"); ...@@ -5,8 +5,9 @@ import("system.result");
import("Loghistory_lib"); import("Loghistory_lib");
var params = Translate4LogParams.load(); var params = Translate4LogParams.load();
var res = db.cell(SqlCondition.begin() var res = newSelect("NAME")
.andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value) .from("DOCUMENTTEMPLATE")
.buildSql("select NAME from DOCUMENTTEMPLATE", "1=2")); .where("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
.cell();
result.string(res); result.string(res);
...@@ -5,8 +5,9 @@ import("system.result"); ...@@ -5,8 +5,9 @@ import("system.result");
import("Loghistory_lib"); import("Loghistory_lib");
var params = Translate4LogParams.load(); var params = Translate4LogParams.load();
var res = db.cell(SqlCondition.begin() var res = newSelect("NAME")
.andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value) .from("DOCUMENTTEMPLATE")
.buildSql("select NAME from DOCUMENTTEMPLATE", "1=2")); .where("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
.cell();
result.string(res); result.string(res);
...@@ -12,7 +12,7 @@ queryCondition = ""; ...@@ -12,7 +12,7 @@ queryCondition = "";
if (vars.exists("$local.idvalue")) { if (vars.exists("$local.idvalue")) {
affectedIds = vars.get("$local.idvalue"); affectedIds = vars.get("$local.idvalue");
queryCondition = "where SALESORDERID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')"; queryCondition = "where SALESORDERID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
//TODO: refactor this for incremental indexer (injections?) ----> use SqlCondition Lib //TODO: refactor this for incremental indexer (injections?) ----> use SqlBuilder Lib
} }
sqlHelper = new SqlMaskingUtils(); sqlHelper = new SqlMaskingUtils();
sqlQuery = "select SALESORDERID, " sqlQuery = "select SALESORDERID, "
......
...@@ -89,9 +89,9 @@ function _get360Data(pSelectMap, pBaseContextId, pContactId, pContextList, pActi ...@@ -89,9 +89,9 @@ function _get360Data(pSelectMap, pBaseContextId, pContactId, pContextList, pActi
for (subContextId in subContexts) for (subContextId in subContexts)
{ {
var subContextSql = subContexts[subContextId][0]; var subContextSelect = subContexts[subContextId][0];
// select Ids from subcontexts // select Ids from subcontexts
var subContextContactIds = db.array(db.COLUMN, subContextSql); var subContextContactIds = subContextSelect.arrayColumn();
subContextContactIds.forEach(function(pId) { subContextContactIds.forEach(function(pId) {
// V-- do not add subcontexts deeper than one layer // V-- do not add subcontexts deeper than one layer
......
...@@ -3,8 +3,7 @@ import("system.db"); ...@@ -3,8 +3,7 @@ import("system.db");
import("system.result"); import("system.result");
import("Sql_lib"); import("Sql_lib");
var cond = SqlCondition.begin() var cond = newWhereIfSet("ACTIVITYLINK.ACTIVITY_ID", "$param.ActivityId_param");
.andPrepareVars("ACTIVITYLINK.ACTIVITY_ID", "$param.ActivityId_param");
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond.translate("1 = 0")); result.string(cond.toString());
\ No newline at end of file \ No newline at end of file
...@@ -5,7 +5,7 @@ import("system.result"); ...@@ -5,7 +5,7 @@ import("system.result");
import("Sql_lib"); import("Sql_lib");
var loadNothing = false; var loadNothing = false;
var cond = new SqlCondition(); var cond = newWhere();
if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param")) if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
{ {
var rowId = vars.get("$param.RowId_param"); var rowId = vars.get("$param.RowId_param");
...@@ -13,24 +13,29 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars. ...@@ -13,24 +13,29 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.
var rowIdCond = null; var rowIdCond = null;
if (vars.get("$param.ObjectId_param") == "Person") if (vars.get("$param.ObjectId_param") == "Person")
{ {
rowIds = db.array(db.COLUMN, SqlCondition.begin() var personIdSelect = newSelect("CONTACT.CONTACTID")
.andPrepare("CONTACT.CONTACTID", rowId) .from("CONTACT")
.buildSql("select CONTACT.CONTACTID \n\ .where("CONTACT.CONTACTID", rowId)
from CONTACT \n\ .and("CONTACT.PERSON_ID", newSelect("CONTACT.PERSON_ID")
where CONTACT.PERSON_ID = (select CONTACT.PERSON_ID from CONTACT", null, ")")); .from("CONTACT")
.where("CONTACT.CONTACTID", rowId));
rowIds = personIdSelect.array(db.COLUMN);
} }
var activityLinkCond = SqlCondition.begin().andIn("ACTIVITYLINK.OBJECT_ROWID", rowIds)
.andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectId_param"); var activityLinkSubselect = newSelect("ACTIVITYLINK.ACTIVITY_ID")
.from("ACTIVITYLINK")
// TODO: more performant way than IN. Maybe a join?? .where("ACTIVITYLINK.OBJECT_ROWID", rowIds, SqlBuilder.IN())
cond.and(SqlUtils.translateStatementWithQuotes(activityLinkCond.buildSql("ACTIVITY.ACTIVITYID in (select ACTIVITYLINK.ACTIVITY_ID from ACTIVITYLINK", "1=2", ")"))) .and("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectId_param");
// TODO: more performant way than IN. Maybe a join??
cond.and("ACTIVITY.ACTIVITYID", activityLinkSubselect, SqlBuilder.IN());
} }
if(vars.getString("$param.OnlyInnate_param") == "true") if(vars.getString("$param.OnlyInnate_param") == "true")
{ {
var ownContactId = EmployeeUtils.getCurrentContactId(); var ownContactId = EmployeeUtils.getCurrentContactId();
if (ownContactId) if (ownContactId)
cond.andPrepareIfSet("ACTIVITY.RESPONSIBLE", ownContactId); cond.and("ACTIVITY.RESPONSIBLE", ownContactId);
else else
loadNothing = true; loadNothing = true;
} }
...@@ -41,7 +46,8 @@ if (loadNothing) ...@@ -41,7 +46,8 @@ if (loadNothing)
} }
else else
{ {
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
var resCond = cond.translate("1 = 1"); var resCond = cond.toString();
} }
result.string(resCond); result.string(resCond);
\ No newline at end of file
...@@ -2,7 +2,5 @@ import("system.vars"); ...@@ -2,7 +2,5 @@ import("system.vars");
import("system.db"); import("system.db");
import("Sql_lib"); import("Sql_lib");
var activityObjectsCondition = SqlCondition.begin() newWhere("ACTIVITYLINK.ACTIVITY_ID", "$field.ACTIVITYID")
.andPrepareVars("ACTIVITYLINK.ACTIVITY_ID", "$field.ACTIVITYID"); .deleteData(true, "ACTIVITYLINK");
\ No newline at end of file
db.deleteData("ACTIVITYLINK", activityObjectsCondition.build("1=2"));
\ No newline at end of file
...@@ -5,21 +5,20 @@ import("KeywordRegistry_basic"); ...@@ -5,21 +5,20 @@ import("KeywordRegistry_basic");
import("Sql_lib"); import("Sql_lib");
import("Keyword_lib"); import("Keyword_lib");
var cond = SqlCondition.begin() var cond = newWhere("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.addressType());
.andPrepare("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.addressType());
var usageFilter = vars.get("$param.UsageFilter_param"); var usageFilter = vars.get("$param.UsageFilter_param");
if (usageFilter) if (usageFilter)
{ {
var keywordAttribute = new KeywordAttribute($KeywordRegistry.addressType(), usageFilter); var keywordAttribute = new KeywordAttribute($KeywordRegistry.addressType(), usageFilter);
cond.andAttachPrepared(SqlCondition.begin()
.andPrepare("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ATTRIBUTE_ID", keywordAttribute.id) cond.and("AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID",
.andPrepare("AB_KEYWORD_ATTRIBUTERELATION." + keywordAttribute.dbField, "1") newSelect("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID")
.buildSql("AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID in (\n\ .from("AB_KEYWORD_ATTRIBUTERELATION")
select AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID \n\ .where(["AB_KEYWORD_ATTRIBUTERELATION", keywordAttribute.dbField], "1"),
from AB_KEYWORD_ATTRIBUTERELATION ", null, ")")); SqlBuilder.IN())
} }
cond = cond.translate("1 = 2"); //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond); result.string(cond.toString());
\ No newline at end of file \ No newline at end of file
...@@ -2,5 +2,5 @@ import("Sql_lib"); ...@@ -2,5 +2,5 @@ import("Sql_lib");
import("system.db"); import("system.db");
import("system.result"); import("system.result");
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(SqlCondition.begin().andPrepareVars("ADDRESS.CONTACT_ID", "$param.ContactId_param").translate("1=1")); result.string(newWhereIfSet("ADDRESS.CONTACT_ID", "$param.ContactId_param").toString());
...@@ -12,9 +12,10 @@ import("system.vars"); ...@@ -12,9 +12,10 @@ import("system.vars");
var contactId = vars.get("$param.ContactId_param"); var contactId = vars.get("$param.ContactId_param");
if (contactId) if (contactId)
{ {
var sql = SqlCondition.begin() var organisationId = newSelect("CONTACT.ADDRESS_ID")
.andPrepare("CONTACT.CONTACTID", contactId) .from("CONTACT")
.buildSql("select CONTACT.ADDRESS_ID from CONTACT"); .where("CONTACT.CONTACTID", contactId)
var organisationId = db.cell(sql); .cell();
result.string(organisationId); result.string(organisationId);
} }
\ No newline at end of file
...@@ -12,9 +12,9 @@ import("system.vars"); ...@@ -12,9 +12,9 @@ import("system.vars");
var contactId = vars.get("$param.ContactId_param"); var contactId = vars.get("$param.ContactId_param");
if (contactId) if (contactId)
{ {
var sql = SqlCondition.begin() var organisationId = newSelect("CONTACT.ORGANISATION_ID")
.andPrepare("CONTACT.CONTACTID", contactId) .from("CONTACT")
.buildSql("select CONTACT.ORGANISATION_ID from CONTACT"); .where("CONTACT.CONTACTID", contactId)
var organisationId = db.cell(sql); .cell();
result.string(organisationId); result.string(organisationId);
} }
\ No newline at end of file
...@@ -8,13 +8,15 @@ if (vars.exists("$local.idvalue")) { ...@@ -8,13 +8,15 @@ if (vars.exists("$local.idvalue")) {
affectedIds = vars.get("$local.idvalue"); affectedIds = vars.get("$local.idvalue");
} }
result.string(SqlUtils.translateStatementWithQuotes(SqlCondition.begin() var addressSelect = newSelect("ADDRESS.ADDRESSID as \"_uid_\", \n\
.andIn("ADDRESS.ADDRESSID", affectedIds) ADDRESS.ADDRESSID, \n\
.buildSql("select \n\ ADDRESS.ZIP as ZIP, \n\
ADDRESS.ADDRESSID as \"_uid_\", \n\ ADDRESS.CITY as CITY, \n\
ADDRESS.ADDRESSID, \n\ ADDRESS.COUNTRY, \n\
ADDRESS.ZIP as ZIP, \n\ ADDRESS.ADDRESS, \n\
ADDRESS.CITY as CITY, \n\ ADDRESS.BUILDINGNO")
ADDRESS.COUNTRY, \n\ .from("ADDRESS")
ADDRESS.ADDRESS, \n\ .where("ADDRESS.ADDRESSID", affectedIds, SqlBuilder.IN())
ADDRESS.BUILDINGNO from ADDRESS", "", "order by ADDRESS.ADDRESSID"))); .orderBy("ADDRESS.ADDRESSID")
\ No newline at end of file
result.string(addressSelect.toString());
\ No newline at end of file
...@@ -3,19 +3,18 @@ import("system.vars"); ...@@ -3,19 +3,18 @@ import("system.vars");
import("system.db"); import("system.db");
import("Sql_lib"); import("Sql_lib");
var cond = SqlCondition.begin() var cond = newWhereIfSet("ADDRESS.CONTACT_ID", "$param.ContactId_param");
.andPrepareVars("ADDRESS.CONTACT_ID", "$param.ContactId_param");
var organisationId = vars.get("$param.OrganisationId_param"); var organisationId = vars.get("$param.OrganisationId_param");
if (organisationId) if (organisationId)
{ {
var organisationContactSql = SqlCondition.begin() var organisationContactId = newSelect("CONTACT.CONTACTID")
.andPrepare("CONTACT.ORGANISATION_ID", organisationId) .from("CONTACT")
.and("CONTACT.PERSON_ID is null") .where("CONTACT.ORGANISATION_ID", organisationId)
.buildSql("select CONTACT.CONTACTID from CONTACT"); .and("CONTACT.PERSON_ID is null")
var organisationContactId = db.cell(organisationContactSql); .cell();
cond.orPrepare("ADDRESS.CONTACT_ID", organisationContactId); cond.orIfSet("ADDRESS.CONTACT_ID", organisationContactId);
} }
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond.translate("1 = 2")); result.string(cond.toString());
\ No newline at end of file \ No newline at end of file
...@@ -6,8 +6,9 @@ import("Date_lib"); ...@@ -6,8 +6,9 @@ import("Date_lib");
import("Sql_lib"); import("Sql_lib");
import("system.SQLTYPES") import("system.SQLTYPES")
var turnover = db.cell(SqlCondition.begin() var turnover = newSelect("sum(NET + VAT)")
.andPrepare("SALESORDER.SALESORDERDATE", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) .from("SALESORDER")
.buildSql("select sum(NET + VAT) from SALESORDER", "1=2")); .where("SALESORDER.SALESORDERDATE", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER)
.cell();
result.string(turnover); result.string(turnover);
\ No newline at end of file
import("system.neon");
import("system.db");
import("ActivityTask_lib");
import("Employee_lib"); import("Employee_lib");
import("system.vars"); import("system.vars");
import("system.datetime");
import("system.db");
import("system.neon");
import("Date_lib");
import("Sql_lib"); import("Sql_lib");
var overduetask = db.table(SqlCondition.begin() var overdueTask = newSelect("TASKID")
.andPrepare("TASK.MATURITY_DATE", vars.get("$sys.date"), "# < ?") .from("TASK")
.and("TASK.EDITOR_CONTACT_ID = '" + EmployeeUtils.getCurrentContactId() + "'") .where("TASK.MATURITY_DATE", vars.get("$sys.date"), "# < ?")
.and("TASK.STATUS NOT IN ('ENDED', 'ENDED-DONE', 'ENDED-ABANDONED')") .and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId())
.buildSql("select TASKID from TASK", "1=2")); .and("TASK.STATUS", TaskUtils.getEndedStatuses(), SqlBuilder.NOT_IN())
.array(db.COLUMN)
neon.openContext("Task", "TaskFilter_view", overduetask, neon.OPERATINGSTATE_SEARCH, null); neon.openContext("Task", "TaskFilter_view", overdueTask, neon.OPERATINGSTATE_SEARCH, null);
\ No newline at end of file \ No newline at end of file
import("Employee_lib");
import("system.db");
import("system.datetime");
import("system.result");
import("system.vars"); import("system.vars");
import("Date_lib"); import("Employee_lib");
import("Sql_lib"); import("Sql_lib");
import("ActivityTask_lib");
import("system.result");
var overdueTaskCount = newSelect("count(TASKID)")
.from("TASK")
.where("TASK.MATURITY_DATE", vars.get("$sys.date"), "# < ?")
.and("TASK.EDITOR_CONTACT_ID", EmployeeUtils.getCurrentContactId())
.and("TASK.STATUS", TaskUtils.getEndedStatuses(), SqlBuilder.NOT_IN())
.cell()
var overduetask = db.cell(SqlCondition.begin() result.string(overdueTaskCount);
.andPrepare("TASK.MATURITY_DATE", vars.get("$sys.date"), "# < ?") \ No newline at end of file
.and("TASK.EDITOR_CONTACT_ID = '" + EmployeeUtils.getCurrentContactId() + "'")
.and("TASK.STATUS NOT IN ('ENDED', 'ENDED-DONE', 'ENDED-ABANDONED')")
.buildSql("select count(TASKID) from TASK", "1=2"));
result.string(overduetask);
...@@ -6,8 +6,9 @@ import("Date_lib"); ...@@ -6,8 +6,9 @@ import("Date_lib");
import("Sql_lib"); import("Sql_lib");
import("system.SQLTYPES") import("system.SQLTYPES")
var forecast = db.cell(SqlCondition.begin() var forecast = newSelect("sum(VOLUME)")
.andPrepare("FORECAST.DATE_START", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) .from("FORECAST")
.buildSql("select sum(VOLUME) from FORECAST", "1=2")); .where("FORECAST.DATE_START", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER)
.cell();
result.string(forecast); result.string(forecast);
\ No newline at end of file
...@@ -4,7 +4,7 @@ import("system.result"); ...@@ -4,7 +4,7 @@ import("system.result");
import("Sql_lib"); import("Sql_lib");
import("Contact_lib"); import("Contact_lib");
var orgContactId; var orgContactId = null;
if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
{ {
var contactId = vars.get("$param.ContactId_param"); var contactId = vars.get("$param.ContactId_param");
...@@ -16,19 +16,18 @@ if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) ...@@ -16,19 +16,18 @@ if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
} }
} }
var conditionPrivateOrganisation = SqlCondition.begin() var conditionPrivateOrganisation = newWhere("CONTACT.ORGANISATION_ID", "0", "# <> ?")
.andPrepare("CONTACT.ORGANISATION_ID", "0", "# != ?");
if (vars.getString("$param.WithPrivatePersons_param") == "true") if (vars.getString("$param.WithPrivatePersons_param") == "true")
conditionPrivateOrganisation.orSqlCondition(SqlCondition.begin() {
.andPrepare("CONTACT.ORGANISATION_ID", "0") conditionPrivateOrganisation.or(newWhere("CONTACT.ORGANISATION_ID", "0")
.and("CONTACT.PERSON_ID is not null") .and("CONTACT.PERSON_ID is not null"));
); }
//exclude private organisation //exclude private organisation
var cond = SqlCondition.begin() var cond = newWhereIfSet(conditionPrivateOrganisation)
.andSqlCondition(conditionPrivateOrganisation) .andIfSet("CONTACT.ORGANISATION_ID", orgContactId);
.andPrepareIfSet("CONTACT.ORGANISATION_ID", orgContactId);
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond.translate()); result.string(cond.toString());
\ No newline at end of file \ No newline at end of file
...@@ -2,8 +2,7 @@ import("system.db"); ...@@ -2,8 +2,7 @@ import("system.db");
import("system.result"); import("system.result");
import("Sql_lib"); import("Sql_lib");
var cond = SqlCondition.begin() var cond = newWhereIfSet("AB_APPOINTMENTLINK.APPOINTMENT_ID", "$param.AppointmentId_param")
.andPrepareVars("AB_APPOINTMENTLINK.APPOINTMENT_ID", "$param.AppointmentId_param")
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026 //TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond.translate("1 = 1")); result.string(cond.toString());
\ No newline at end of file \ No newline at end of file
...@@ -10,7 +10,7 @@ import("system.eMath"); ...@@ -10,7 +10,7 @@ import("system.eMath");
import("system.util"); import("system.util");
import("system.neon"); import("system.neon");
var cond = SqlCondition.begin(); var appointmentSelect = newSelect("APPOINTMENT_ID").from("AB_APPOINTMENTLINK");
var appointmentUids; var appointmentUids;
if(vars.get("$local.idvalues") != null && vars.get("$local.idvalues") != "") if(vars.get("$local.idvalues") != null && vars.get("$local.idvalues") != "")
...@@ -23,10 +23,8 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param")) ...@@ -23,10 +23,8 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
{ {
var contactid = EmployeeUtils.getCurrentContactId(); var contactid = EmployeeUtils.getCurrentContactId();
cond.andPrepareIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", contactid) appointmentSelect.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", contactid)
result.object(buildEntriesFromUids(appointmentSelect.table()));
appointmentUids = db.table(cond.buildSql("select APPOINTMENT_ID from AB_APPOINTMENTLINK"));
result.object(buildEntriesFromUids(appointmentUids));
} }
/** /**
...@@ -34,10 +32,8 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param")) ...@@ -34,10 +32,8 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
*/ */
else if(vars.getString("$param.LinkedObjectId_param") != undefined) else if(vars.getString("$param.LinkedObjectId_param") != undefined)
{ {
cond.andPrepareVars("AB_APPOINTMENTLINK.OBJECT_ROWID", "$param.LinkedObjectId_param") appointmentSelect.whereIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", "$param.LinkedObjectId_param")
result.object(buildEntriesFromUids(appointmentSelect.table()));
appointmentUids = db.table(cond.buildSql("select APPOINTMENT_ID from AB_APPOINTMENTLINK"));
result.object(buildEntriesFromUids(appointmentUids));
} }
/** /**
* Will be used, if the user is operating the calendar. * Will be used, if the user is operating the calendar.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment