From abf4a50a3fe480b4d08c1248cbce2747011e2ac0 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Fri, 10 May 2019 16:37:40 +0200 Subject: [PATCH] classification validierungen --- .../ClassificationScore_entity.aod | 6 ++++ .../entityfields/maxvalue/valueProcess.js | 20 +++++++++++ .../entityfields/score/onValidation.js | 8 +++++ .../onValidation.js | 10 ++++++ .../Classification_entity.aod | 2 +- .../_____LANGUAGE_EXTRA.aod | 3 ++ .../_____LANGUAGE_de/_____LANGUAGE_de.aod | 29 ++++++++++++++++ .../_____LANGUAGE_en/_____LANGUAGE_en.aod | 34 +++++++++++++++++++ 8 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js create mode 100644 entity/ClassificationScore_entity/onValidation.js diff --git a/entity/ClassificationScore_entity/ClassificationScore_entity.aod b/entity/ClassificationScore_entity/ClassificationScore_entity.aod index 2f09c0518f..0933b3602c 100644 --- a/entity/ClassificationScore_entity/ClassificationScore_entity.aod +++ b/entity/ClassificationScore_entity/ClassificationScore_entity.aod @@ -4,6 +4,7 @@ <majorModelMode>DISTRIBUTED</majorModelMode> <title>Possible Values</title> <contentTitleProcess>%aditoprj%/entity/ClassificationScore_entity/contentTitleProcess.js</contentTitleProcess> + <onValidation>%aditoprj%/entity/ClassificationScore_entity/onValidation.js</onValidation> <recordContainer>db</recordContainer> <entityFields> <entityProvider> @@ -28,6 +29,7 @@ <entityField> <name>SCORE</name> <title>Score</title> + <onValidation>%aditoprj%/entity/ClassificationScore_entity/entityfields/score/onValidation.js</onValidation> </entityField> <entityProvider> <name>ClassificationScores</name> @@ -53,6 +55,10 @@ <triggerRecalculation v="true" /> <description>PARAMETER</description> </entityParameter> + <entityField> + <name>MaxValue</name> + <valueProcess>%aditoprj%/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js b/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js new file mode 100644 index 0000000000..9da24ed56a --- /dev/null +++ b/entity/ClassificationScore_entity/entityfields/maxvalue/valueProcess.js @@ -0,0 +1,20 @@ +import("system.logging"); +import("system.vars"); +import("system.result"); +import("system.db"); +import("Sql_lib"); + +if (!vars.get("$this.value")) +{ + var scoreType = vars.get("$param.Scoretype_param"); + + result.string(db.cell( + SqlCondition.begin() + .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", scoreType, "# <> ?") + .and("CLASSIFICATIONTYPE.CLASSIFICATIONNUMBER = " + db.translateStatement(SqlCondition.begin() + .andPrepare("CLASSIFICATIONTYPE.SCORETYPE", scoreType, "# = ?") + .buildSql("(select CLASSIFICATIONNUMBER from CLASSIFICATIONTYPE", "1=2", ")"))) + .buildSql("select 100.0 - sum(maxScore) from ( \n\ + select max(SCORE) maxScore from CLASSIFICATIONTYPE \n\ + join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE.scoretype = CLASSIFICATIONTYPE.scoretype", "1=2", "group by CLASSIFICATIONTYPE.scoretype) maxScores"))) +} \ No newline at end of file diff --git a/entity/ClassificationScore_entity/entityfields/score/onValidation.js b/entity/ClassificationScore_entity/entityfields/score/onValidation.js index e69de29bb2..be6e415743 100644 --- a/entity/ClassificationScore_entity/entityfields/score/onValidation.js +++ b/entity/ClassificationScore_entity/entityfields/score/onValidation.js @@ -0,0 +1,8 @@ +import("Entity_lib"); +import("system.translate"); +import("system.result"); +import("system.vars"); + +var max = parseFloat(vars.getString("$field.MaxValue")); +if (parseFloat(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.SCORE"))) > max) + result.string(translate.withArguments("${HIGHER_THAN_MAX} max: %0", [max])); \ No newline at end of file diff --git a/entity/ClassificationScore_entity/onValidation.js b/entity/ClassificationScore_entity/onValidation.js new file mode 100644 index 0000000000..10a616168f --- /dev/null +++ b/entity/ClassificationScore_entity/onValidation.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("system.logging"); + + +logging.log("aaaaaaaaaaaaaa") +logging.log(vars.get("$param.Scoretype_param")) +logging.log(vars.get("$sys.recordstate")) + +/*select CLASSIFICATIONTYPE.scoretype, max(score) from CLASSIFICATIONTYPE +join CLASSIFICATIONSCORE on CLASSIFICATIONSCORE.scoretype = CLASSIFICATIONTYPE.scoretype where CLASSIFICATIONNUMBER = 2 group by CLASSIFICATIONTYPE.scoretype;*/ \ No newline at end of file diff --git a/entity/Classification_entity/Classification_entity.aod b/entity/Classification_entity/Classification_entity.aod index cfc568e196..410357d231 100644 --- a/entity/Classification_entity/Classification_entity.aod +++ b/entity/Classification_entity/Classification_entity.aod @@ -159,7 +159,7 @@ </entityParameter> <entityField> <name>Info</name> - <title>Rating: </title> + <title>Rating</title> <contentType>HTML</contentType> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Classification_entity/entityfields/info/valueProcess.js</valueProcess> diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 69957fadc9..25a34db25a 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -75,6 +75,9 @@ <entry> <key>Office address</key> </entry> + <entry> + <key>${HIGHER_THAN_MAX} max: %0</key> + </entry> <entry> <key>Contact</key> </entry> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 00d47f10ad..51533a49d4 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -4736,6 +4736,7 @@ </entry> <entry> <key>Scoretype</key> + <value>Bewertungstyp</value> </entry> <entry> <key>aaaaaaaaaaaaa</key> @@ -4755,6 +4756,7 @@ </entry> <entry> <key>Classification number</key> + <value>Klassifizierungsnummer</value> </entry> <entry> <key>dasgf</key> @@ -4763,6 +4765,33 @@ <key>Possible values</key> <value>Mögliche Werte</value> </entry> + <entry> + <key>ARCHIEVED</key> + </entry> + <entry> + <key>e</key> + </entry> + <entry> + <key>${HIGHER_THAN_MAX} max: %0</key> + <value>Der eingegebene Wert ist über dem Maximalwert %0.</value> + </entry> + <entry> + <key>huhu</key> + </entry> + <entry> + <key>Rating</key> + <value>Bewertung</value> + </entry> + <entry> + <key>sum</key> + <value>Summe</value> + </entry> + <entry> + <key>A: 75 < </key> + </entry> + <entry> + <key>Possible Values</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 433c18dfaa..a43bb22183 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -3854,6 +3854,40 @@ <entry> <key>Possible values</key> </entry> + <entry> + <key>ARCHIVE</key> + </entry> + <entry> + <key>archieve</key> + </entry> + <entry> + <key>setUnread</key> + </entry> + <entry> + <key>setRead</key> + </entry> + <entry> + <key>e</key> + </entry> + <entry> + <key>${HIGHER_THAN_MAX} max: %0</key> + <value>The value is greater than the allowed max-value %0.</value> + </entry> + <entry> + <key>huhu</key> + </entry> + <entry> + <key>Rating</key> + </entry> + <entry> + <key>sum</key> + </entry> + <entry> + <key>A: 75 < </key> + </entry> + <entry> + <key>Possible Values</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> -- GitLab