From 1a38550e22810b898ef3c895eb722e5c535322c9 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Wed, 17 Apr 2019 17:04:51 +0200 Subject: [PATCH] salesproject Meilensteine als zwei charts --- .../SalesprojectMilestone_entity.aod | 59 +++++++++++++++---- .../children/type_param/valueProcess.js | 3 + .../children/type_param/valueProcess.js | 3 + .../entityfields/value/titleProcess.js | 10 ++++ .../recordcontainers/db/conditionProcess.js | 5 +- .../titleProcess.js | 10 ++++ .../Salesproject_entity.aod | 15 ++++- .../salesprojectid_param/valueProcess.js | 0 neonContext/Salesproject/Salesproject.aod | 4 ++ .../SalesprojectMain_view.aod | 8 +-- .../SalesprojectMilestone_view.aod | 23 ++++++++ 11 files changed, 121 insertions(+), 19 deletions(-) create mode 100644 entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js create mode 100644 entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js create mode 100644 entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js create mode 100644 entity/SalesprojectMilestone_entity/titleProcess.js rename entity/Salesproject_entity/entityfields/{salesprojectmilestones => salesprojectphasemilestones}/children/salesprojectid_param/valueProcess.js (100%) create mode 100644 neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod diff --git a/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod index d390c31108e..34def483f6a 100644 --- a/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod +++ b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> <name>SalesprojectMilestone_entity</name> - <title>Milestones</title> + <title></title> <majorModelMode>DISTRIBUTED</majorModelMode> + <titleProcess>%aditoprj%/entity/SalesprojectMilestone_entity/titleProcess.js</titleProcess> <recordContainer>db</recordContainer> <entityFields> <entityProvider> @@ -41,9 +42,9 @@ </entityField> <entityField> <name>VALUE</name> - <title>Milestone</title> <consumer>Keywords</consumer> <mandatory v="true" /> + <titleProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js</titleProcess> <displayValueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/value/displayValueProcess.js</displayValueProcess> </entityField> <entityParameter> @@ -57,19 +58,15 @@ <name>SalesprojectMilestones</name> <fieldType>DEPENDENCY_IN</fieldType> <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>b05e2bdf-5d8b-4ba2-8dba-a8560c255470</name> - <entityName>Salesproject_entity</entityName> - <fieldName>SalesprojectMilestones</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> <children> <entityParameter> <name>SalesprojectId_param</name> <expose v="true" /> </entityParameter> + <entityParameter> + <name>Type_param</name> + <expose v="false" /> + </entityParameter> </children> </entityProvider> <entityField> @@ -95,6 +92,48 @@ </entityParameter> </children> </entityConsumer> + <entityParameter> + <name>Type_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityProvider> + <name>StateMilestones</name> + <fieldType>DEPENDENCY_IN</fieldType> + <dependencies> + <entityDependency> + <name>da87708b-e998-4694-81ae-d0068f789a89</name> + <entityName>Salesproject_entity</entityName> + <fieldName>SalesprojectStateMilestones</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>Type_param</name> + <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityProvider> + <entityProvider> + <name>PhaseMilestones</name> + <fieldType>DEPENDENCY_IN</fieldType> + <dependencies> + <entityDependency> + <name>b132527b-990c-416a-b2d6-ddbe6f4397e2</name> + <entityName>Salesproject_entity</entityName> + <fieldName>SalesprojectPhaseMilestones</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>Type_param</name> + <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js new file mode 100644 index 00000000000..5b8076cef45 --- /dev/null +++ b/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("SalesprojectPhase"); \ No newline at end of file diff --git a/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js new file mode 100644 index 00000000000..1a1b3322838 --- /dev/null +++ b/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("SalesprojectState"); \ No newline at end of file diff --git a/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js b/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js new file mode 100644 index 00000000000..658e8105ef1 --- /dev/null +++ b/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +if (vars.exists("$field.TYPE") && vars.get("$field.TYPE")) +{ + result.string(translate.text("Milestones") + " " + translate.text(vars.get("$field.TYPE"))); +} +else + result.string(translate.text("Milestones")); \ No newline at end of file diff --git a/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js index 7711ad471a8..e0aa733ba87 100644 --- a/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js +++ b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js @@ -3,8 +3,9 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var cond = new SqlCondition(); -cond.andPrepareVars("SALESPROJECT_MILESTONE.SALESPROJECT_ID", "$param.SalesprojectId_param"); +var cond = SqlCondition.begin() + .andPrepareVars("SALESPROJECT_MILESTONE.SALESPROJECT_ID", "$param.SalesprojectId_param") + .andPrepareVars("SALESPROJECT_MILESTONE.TYPE", "$param.Type_param"); //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/SalesprojectMilestone_entity/titleProcess.js b/entity/SalesprojectMilestone_entity/titleProcess.js new file mode 100644 index 00000000000..658e8105ef1 --- /dev/null +++ b/entity/SalesprojectMilestone_entity/titleProcess.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +if (vars.exists("$field.TYPE") && vars.get("$field.TYPE")) +{ + result.string(translate.text("Milestones") + " " + translate.text(vars.get("$field.TYPE"))); +} +else + result.string(translate.text("Milestones")); \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 122da5bbb42..49c7559a789 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -135,18 +135,18 @@ </children> </entityConsumer> <entityConsumer> - <name>SalesprojectMilestones</name> + <name>SalesprojectPhaseMilestones</name> <title>Milestone</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> <entityName>SalesprojectMilestone_entity</entityName> - <fieldName>SalesprojectMilestones</fieldName> + <fieldName>PhaseMilestones</fieldName> </dependency> <children> <entityParameter> <name>SalesprojectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectmilestones/children/salesprojectid_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectphasemilestones/children/salesprojectid_param/valueProcess.js</valueProcess> <triggerRecalculation v="true" /> </entityParameter> </children> @@ -547,6 +547,15 @@ <expose v="true" /> <description>PARAMETER</description> </entityParameter> + <entityConsumer> + <name>SalesprojectStateMilestones</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>SalesprojectMilestone_entity</entityName> + <fieldName>StateMilestones</fieldName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Salesproject_entity/entityfields/salesprojectmilestones/children/salesprojectid_param/valueProcess.js b/entity/Salesproject_entity/entityfields/salesprojectphasemilestones/children/salesprojectid_param/valueProcess.js similarity index 100% rename from entity/Salesproject_entity/entityfields/salesprojectmilestones/children/salesprojectid_param/valueProcess.js rename to entity/Salesproject_entity/entityfields/salesprojectphasemilestones/children/salesprojectid_param/valueProcess.js diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod index a5422082d26..918124f5577 100644 --- a/neonContext/Salesproject/Salesproject.aod +++ b/neonContext/Salesproject/Salesproject.aod @@ -26,5 +26,9 @@ <name>c35cc718-94a8-43cf-afe4-f02d251d4e9f</name> <view>SalesprojectEdit_view</view> </neonViewReference> + <neonViewReference> + <name>9d4603e0-6e0e-4c9e-af97-f5c059debe9e</name> + <view>SalesprojectMilestone_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index 9ea49e77d55..2ac8547b5b4 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -29,10 +29,10 @@ <entityField>SalesprojectForecasts</entityField> <view>SalesprojectForecastFilter_view</view> </neonViewReference> - <neonViewReference> - <name>349a82ad-4a83-4718-b37e-b0adf1ddb0b2</name> - <entityField>SalesprojectMilestones</entityField> - <view>SalesprojectMilestoneChart_view</view> + <neonViewReference> + <name>8986df12-88fc-49a8-9e48-f4c1f371532f</name> + <entityField>#ENTITY</entityField> + <view>SalesprojectMilestone_view</view> </neonViewReference> <neonViewReference> <name>5d7248e8-3f3e-4262-8f13-6d5eff7165c1</name> diff --git a/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod b/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod new file mode 100644 index 00000000000..603dfb9ffa5 --- /dev/null +++ b/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>SalesprojectMilestone_view</name> + <title>Milestones</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <neonViewReference> + <name>30c775ea-7488-4dfd-8e6d-c65b7982849d</name> + <entityField>SalesprojectStateMilestones</entityField> + <view>SalesprojectMilestoneChart_view</view> + </neonViewReference> + <neonViewReference> + <name>cc8f1469-805f-4e2c-aa4f-d55f932c6deb</name> + <entityField>SalesprojectPhaseMilestones</entityField> + <view>SalesprojectMilestoneChart_view</view> + </neonViewReference> + </children> +</neonView> -- GitLab