From c3b7369772c3f41e3e3531392258b46574e51fe0 Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Thu, 24 Jan 2019 13:40:29 +0100 Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?= =?UTF-8?q?=201032242][Gruppierung=20-=20Eingagsdatum=20nur=20nach=20Tag?= =?UTF-8?q?=20bei=20Aktivit=C3=A4t]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entity/Activity_entity/Activity_entity.aod | 20 ++++ .../entrymonth.value/expression.js | 0 .../_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 + process/Sql_lib/process.js | 93 +++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index 4b06d1d2e1..f0afe7f83e 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -237,6 +237,18 @@ </entityParameter> </children> </entityOutgoingField> + <entityField> + <name>ENTRYMONTH</name> + <title>Month</title> + <contentType>DATE</contentType> + <resolution>MONTH</resolution> + <outputFormat>MMMM yyyy</outputFormat> + <groupable v="true" /> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + </onValueChangeTypes> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -288,6 +300,14 @@ <name>CATEGORY.value</name> <recordfield>ACTIVITY.CATEGORY</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ENTRYMONTH.value</name> + <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ENTRYMONTH.displayValue</name> + <recordfield>ACTIVITY.ENTRYDATE</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index bd9a6523db..3afab6b640 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -771,6 +771,10 @@ <key>Project decision</key> <value>Projektentscheidung</value> </entry> + <entry> + <key>Month</key> + <value>Monat</value> + </entry> <entry> <key>Lead</key> <value>Lead</value> diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js index 69e3b68521..98d834bfa9 100644 --- a/process/Sql_lib/process.js +++ b/process/Sql_lib/process.js @@ -857,6 +857,99 @@ SqlMaskingUtils.prototype.isNull = function(field, replaceWith) { return retSql; } +/** + * gets the day from a timestamp + * + * @param {String} pField timestamp to get the day from + * + * @return {String} sql expression that extracts the day from a timestamp + */ +SqlMaskingUtils.prototype.dayFromDate = function(pField) +{ + var retSql = ""; + + switch (this.dbType) + { + case db.DBTYPE_ORACLE10_CLUSTER: + case db.DBTYPE_ORACLE10_THIN: + case db.DBTYPE_ORACLE10_OCI: + retSql = "to_char(" + pField + ",'dd')"; + break; + case db.DBTYPE_DERBY10: + case db.DBTYPE_SQLSERVER2000: + case db.DBTYPE_MYSQL4: + case db.DBTYPE_MARIADB10: + retSql = "DAY(" + pField + ")"; + break; + case db.DBTYPE_POSTGRESQL8: + retSql = "EXTRACT (DAY from " + pField + ")"; + break; + } + return retSql; +} + +/** + * gets the month from a timestamp + * + * @param {String} pField timestamp to get the month from + * + * @return {String} sql expression that extracts the month from a timestamp + */ +SqlMaskingUtils.prototype.monthFromDate = function(pField) +{ + var retSql = ""; + + switch (this.dbType) + { + case db.DBTYPE_ORACLE10_CLUSTER: + case db.DBTYPE_ORACLE10_THIN: + case db.DBTYPE_ORACLE10_OCI: + retSql = "to_char(" + pField + ",'MM')"; + break; + case db.DBTYPE_DERBY10: + case db.DBTYPE_SQLSERVER2000: + case db.DBTYPE_MYSQL4: + case db.DBTYPE_MARIADB10: + retSql = "MONTH(" + pField + ")"; + break; + case db.DBTYPE_POSTGRESQL8: + retSql = "EXTRACT (MONTH FROM " + pField + ")"; + break; + } + return retSql; +} + +/** + * gets the year from a timestamp + * + * @param {String} pField timestamp to get the year from + * + * @return {String} sql expression that extracts the year from a timestamp + */ +SqlMaskingUtils.prototype.yearFromDate = function(pField) +{ + var retSql = ""; + + switch (this.dbType) + { + case db.DBTYPE_ORACLE10_CLUSTER: + case db.DBTYPE_ORACLE10_THIN: + case db.DBTYPE_ORACLE10_OCI: + retSql = "to_char(" + pField + ",'yyyy')"; + break; + case db.DBTYPE_DERBY10: + case db.DBTYPE_SQLSERVER2000: + case db.DBTYPE_MYSQL4: + case db.DBTYPE_MARIADB10: + retSql = "YEAR(" + pField + ")"; + break; + case db.DBTYPE_POSTGRESQL8: + retSql = "EXTRACT (YEAR FROM " + pField + ")"; + break; + } + return retSql; +} + function SqlUtils() {} SqlUtils.getSingleColumnType = function(fieldOrTableName, columnName, alias) { -- GitLab