From b86cb1aa06b38c20745043b15fbebe7b72892806 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Thu, 6 Jun 2019 07:50:09 +0200
Subject: [PATCH] fix classification-score sql

---
 process/Classification_lib/process.js | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/process/Classification_lib/process.js b/process/Classification_lib/process.js
index a3b74a2a54..e704608103 100644
--- a/process/Classification_lib/process.js
+++ b/process/Classification_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.vars");
 import("system.db");
 import("Sql_lib");
@@ -23,18 +24,15 @@ function ClassificationUtils() {}
 ClassificationUtils.getScore = function(pClassificationType, pObjectType, pObjectRowid, pClassificationGroup)
 {
     var score = db.table(SqlCondition.begin()
-            .andPrepareIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP", pClassificationGroup)
-            .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPE", pClassificationType)
-            .andSqlCondition(SqlCondition.begin().orPrepare("CLASSIFICATION.OBJECT_TYPE", pObjectType)
-                                                     .or("CLASSIFICATION.OBJECT_TYPE is null"))
-            .andSqlCondition(SqlCondition.begin().orPrepare("CLASSIFICATION.OBJECT_ROWID", pObjectRowid)
-                                                     .or("CLASSIFICATION.OBJECT_ROWID is null"))
-            .buildSql("select CLASSIFICATIONTYPE.CLASSIFICATIONGROUP, case when sum(score) is not null then sum(score) else 0 end from CLASSIFICATIONTYPE \n\
-                        left join Classification on CLASSIFICATIONTYPE_ID = CLASSIFICATIONTYPEID \n\
-                        left join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE_ID = CLASSIFICATIONSCOREID",
-            "1=2",
-            "group by CLASSIFICATIONTYPE.CLASSIFICATIONGROUP order by CLASSIFICATIONTYPE.CLASSIFICATIONGROUP asc"));
-
+                                     .andPrepare("CLASSIFICATIONTYPE.CLASSIFICATIONTYPE", pClassificationType)
+                                     .andPrepareIfSet("CLASSIFICATIONTYPE.CLASSIFICATIONGROUP", pClassificationGroup)
+                                     .buildSql("select CLASSIFICATIONTYPE.CLASSIFICATIONGROUP, case when sum(score) is not null then sum(score) else 0 end from CLASSIFICATIONTYPE "
+                                                + db.translateStatement(SqlCondition.begin()
+                                                                                    .andPrepare("CLASSIFICATION.OBJECT_TYPE", pObjectType)
+                                                                                    .andPrepare("CLASSIFICATION.OBJECT_ROWID", pObjectRowid)
+                                                                                    .buildSql("left join CLASSIFICATION on CLASSIFICATIONTYPEID = CLASSIFICATIONTYPE_ID and", "1=2", "", false))
+                                                + "left join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE_ID = CLASSIFICATIONSCOREID", "1=2",
+                                                "group by CLASSIFICATIONGROUP order by CLASSIFICATIONGROUP"))
     var scores = {};
     score.forEach(function(pRow)
     {
-- 
GitLab