From 9444d7088d2671549e7720139ed49ce40608b12f Mon Sep 17 00:00:00 2001
From: "b.ulrich" <b.ulrich@adito.de>
Date: Tue, 9 Jun 2020 10:23:15 +0200
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201059109][VisitplanRecommendation=20F=C3=A4lligkeits=20Datum?=
 =?UTF-8?q?=20Fix]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../recordcontainers/jdito/onUpdate.js        |  4 +-
 .../recordcontainers/jdito/contentProcess.js  | 41 ++++++++++---------
 2 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/entity/VisitPlanEntry_entity/recordcontainers/jdito/onUpdate.js b/entity/VisitPlanEntry_entity/recordcontainers/jdito/onUpdate.js
index b689b30219..412b364410 100644
--- a/entity/VisitPlanEntry_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/VisitPlanEntry_entity/recordcontainers/jdito/onUpdate.js
@@ -6,7 +6,7 @@ import("system.vars");
 
 var rowData = vars.get("$local.rowdata");
 
-var valuesEntry = [
+var values = [
     rowData["ENTRYDATE.value"],
     rowData["BEGIN_TIME.value"],
     rowData["END_TIME.value"],
@@ -24,6 +24,6 @@ var columns = [
 
 var columnTypes = db.getColumnTypes("VISITPLANENTRY", columns, db.getCurrentAlias());
 
-var cond = newWhere("VISITPLANENTRY.VISITPLANENTRYID", vars.get("$field.UID"));
+var cond = newWhere("VISITPLANENTRY.VISITPLANENTRYID", vars.get("$field.UID")).toString();
 
 db.updateData("VISITPLANENTRY", columns, columnTypes, values, cond);
diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
index f40acbba76..0019a67dda 100644
--- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("system.eMath");
 import("system.tools");
 import("PostalAddress_lib");
 import("system.translate");
@@ -17,15 +18,14 @@ import("Util_lib");
 import("Address_lib");
 
 var recommendationData = [];
-
+var tmpData = [];
 var activitySubQuery = "";
 
-activitySubQuery = newSelect("ENTRYDATE")
+activitySubQuery = newSelect("max(ENTRYDATE)")
                                 .from("ACTIVITY")
                                 .join("ACTIVITYLINK", "ACTIVITYID = ACTIVITY_ID")
-                                .where("ACTIVITYLINK.OBJECT_ROWID", "CONTACTID")
+                                .where("ACTIVITYLINK.OBJECT_ROWID = org.ORGANISATIONID")
                                 .and("ACTIVITY.CATEGORY", "VISIT")
-                                .orderBy("ENTRYDATE desc").cell()
 
 var idValues = false;
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
@@ -106,7 +106,7 @@ recommendationSQLData = recommendationSQLData.table();
 
 for( let i = 0; i < recommendationSQLData.length; i++)
 {
-    var tmpData = [];
+    tmpData = [];
 
     var organisationName = ContactUtils.getFullTitleByContactId(recommendationSQLData[i][1])
     if(recommendationSQLData[i][2])
@@ -139,14 +139,14 @@ for( let i = 0; i < recommendationSQLData.length; i++)
     recommendationData.push(tmpData);
 }
 
-var monthly = datetime.ONE_DAY * 31;
-var semiannually = datetime.ONE_DAY * 183;
-var quarterly = datetime.ONE_DAY * 93;
-var yearly = datetime.ONE_DAY * 365;
+var monthly = parseInt(datetime.ONE_DAY * 31);
+var semiannually = parseInt(datetime.ONE_DAY * 183);
+var quarterly = parseInt(datetime.ONE_DAY * 93);
+var yearly = parseInt(datetime.ONE_DAY * 365);
 
-for (let i = 0; i < visitFrequencyData.length; i++)
+for (var i = 0; i < visitFrequencyData.length; i++)
 {
-    let tmpData = [];
+    tmpData = [];
     
     let title = "";
    
@@ -161,44 +161,45 @@ for (let i = 0; i < visitFrequencyData.length; i++)
     tmpData[3] = visitFrequencyData[i][2];                 //Address
     tmpData[5] = visitFrequencyData[i][4];                 //Source of Priority
     tmpData[8] = "";
-    tmpData[9] = visitFrequencyData[i][5];                 //CONTACT_ID
-    tmpData[2] = visitFrequencyData[i][6];                 //Date_Planned
+    tmpData[9] = visitFrequencyData[i][5];                 //last visit
+    tmpData[2] = visitFrequencyData[i][6];                 //CONTACT_ID
     var dueDate = "";
     var lastVisitDate = "";
 
-    if((visitFrequencyData[i][6]).length == 0)
+    if((visitFrequencyData[i][5]).length == 0)
     {
         dueDate = datetime.date();
     }
     else
     {
-        lastVisitDate = parseInt(visitFrequencyData[i][6]);
-        switch(visitFrequencyData[i][4])
+        lastVisitDate = visitFrequencyData[i][5];
+        switch(visitFrequencyData[i][3])
         {
             case $AttributeRegistry.visitPlanFrequency$monthly():
             {
-                dueDate = lastVisitDate + monthly;
+                dueDate = eMath.addInt(lastVisitDate, monthly);
                 break;
             }
             case $AttributeRegistry.visitPlanFrequency$quarterly():
             {
-                dueDate = lastVisitDate + quarterly;
+                dueDate = eMath.addInt(lastVisitDate, quarterly);
                 break;
             }
             case $AttributeRegistry.visitPlanFrequency$semiannually():
             {
-                dueDate = lastVisitDate + semiannually;
+                dueDate = eMath.addInt(lastVisitDate, semiannually);
                 break;
             }
             case $AttributeRegistry.visitPlanFrequency$yearly():
             {
-                dueDate = lastVisitDate + yearly;
+                dueDate = eMath.addInt(lastVisitDate, yearly);
                 break;
             }
             default:
             {
                 break;
             }
+
         }
     }
 
-- 
GitLab