diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index 4b06d1d2e18d1f2fae72c73363091b50ec7e9526..f0afe7f83e83dab36a2dbc05584550b54e3035e5 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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index bd9a6523dbc222728f1b701dc14195fd024d023d..3afab6b640314593a91bff646aa1d356d66732dd 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 69e3b685213653d6ac3b2d8d08406032a6ef204a..98d834bfa9ad8ce865cd75264e9f550717bee9ff 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) {