From b8a45e71c893bc0895b65c4b6d6054dc09c507de Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Tue, 12 Feb 2019 10:23:06 +0100 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1034270][Vertriebsprojekt - Es soll ein Feld Aufwand geben] --- .../Salesproject_entity.aod | 6 ++++++ .../timetrackingsum/valueProcess.js | 13 +++++++++++++ .../_____LANGUAGE_EXTRA.aod | 3 +++ language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 8 ++++++++ language/_____LANGUAGE_en/_____LANGUAGE_en.aod | 3 +++ .../SalesprojectPreview_view.aod | 4 ++++ process/Salesproject_lib/process.js | 18 ++++++++++++++++++ 7 files changed, 55 insertions(+) create mode 100644 entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 45455a0fb3..9bdcd9e87f 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -303,6 +303,12 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>TIMETRACKINGSUM</name> + <title>Time expenses</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js b/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js new file mode 100644 index 0000000000..91a3e076d0 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js @@ -0,0 +1,13 @@ +import("system.eMath"); +import("system.translate"); +import("system.result"); +import("system.vars"); +import("Salesproject_lib"); + +var objectId = ContextUtils.getCurrentContextId(); +var rowId = vars.getString("$field.SALESPROJECTID"); + +var hrs = Salesproject.getTotalTrackingTime(objectId, rowId) / 60; +hrs = eMath.roundDec(hrs, 2, eMath.ROUND_HALF_UP); + +result.string(hrs + " " + translate.text("hrs")); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 0220c356e4..1961ad30ca 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -1530,6 +1530,9 @@ <entry> <key>Swiss franc</key> </entry> + <entry> + <key>hrs</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 6ebf2d3938..8f281a95a4 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -78,6 +78,10 @@ <key>Customercode</key> <value>Kundennummer</value> </entry> + <entry> + <key>Time expenses</key> + <value>Aufwand</value> + </entry> <entry> <key>Norwegian</key> <value>Norwegisch</value> @@ -711,6 +715,10 @@ <key>Salesproject</key> <value>Vertriebsprojekt</value> </entry> + <entry> + <key>hrs</key> + <value>Std.</value> + </entry> <entry> <key>Rollout</key> <value>Roll Out</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 5fb077d32a..cb879eadc3 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -1556,6 +1556,9 @@ <entry> <key>Swiss franc</key> </entry> + <entry> + <key>hrs</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod index dfa8042e8a..5ae0e4ce87 100644 --- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod +++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod @@ -52,6 +52,10 @@ <name>774ab565-a5e0-4b31-a77a-39143534f9a8</name> <entityField>ESTIMATION</entityField> </entityFieldLink> + <entityFieldLink> + <name>bf7ecf7a-3d7f-4ec8-867a-c10ced346343</name> + <entityField>TIMETRACKINGSUM</entityField> + </entityFieldLink> </fields> </genericViewTemplate> <genericViewTemplate> diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js index 20b3bac23f..393cc72188 100644 --- a/process/Salesproject_lib/process.js +++ b/process/Salesproject_lib/process.js @@ -81,4 +81,22 @@ Salesproject.getSalesProjectTitleById = function(pSalesProjectId) return db.cell( SqlCondition.begin() .andPrepare("SALESPROJECT.SALESPROJECTID", pSalesProjectId) .buildSql("select PROJECTTITLE from SALESPROJECT", "1=0")); +} + +/** + * calculates the total time of all time trackings of the object + * + * @param {String} pObjectId the objectId + * @param {String} pRowId the rowId + * + * @return {Number} total time in minutes + */ +Salesproject.getTotalTrackingTime = function (pObjectId, pRowId) +{ + var totalMinutes = db.cell(SqlCondition.begin() + .andPrepare("TIMETRACKING.OBJECT_ID", pObjectId) + .andPrepare("TIMETRACKING.ROW_ID", pRowId) + .buildSql("select sum(MINUTES) from TIMETRACKING", "1=0")); + + return Number(totalMinutes); } \ No newline at end of file -- GitLab