diff --git a/entity/SalesprojectChart_entity/SalesprojectChart_entity.aod b/entity/SalesprojectChart_entity/SalesprojectChart_entity.aod index bd720b911e0df833870cc7fba1691111c00b827d..865b7466894815272dfcdbde917159a2b7c5897f 100644 --- a/entity/SalesprojectChart_entity/SalesprojectChart_entity.aod +++ b/entity/SalesprojectChart_entity/SalesprojectChart_entity.aod @@ -1,5 +1,5 @@ <?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.0"> +<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>SalesprojectChart_entity</name> <title>Salesproject Charts</title> <majorModelMode>DISTRIBUTED</majorModelMode> @@ -14,7 +14,7 @@ <name>UID</name> </entityField> <entityField> - <name>PARENT</name> + <name>SORTING</name> <title>Parent</title> </entityField> <entityField> @@ -35,7 +35,7 @@ <element>UID.value</element> <element>X_PHASE.value</element> <element>Y_COUNT.value</element> - <element>PARENT.value</element> + <element>SORTING.value</element> </recordFields> </jDitoRecordContainer> </recordContainers> diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index fc82706d6730f269f6bb3b6e4c086aa88e2ae458..4f929d040cf0b4b30f03dc2c0b6eacddca0f23c6 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -517,6 +517,34 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>OVERALL_TURNOVER</name> + <title>Turnover actual year</title> + <contentType>NUMBER</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/overall_turnover/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OVERALL_FORECAST</name> + <title>Forecast actual year</title> + <contentType>NUMBER</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/overall_forecast/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OPEN_SALEPROJECTS</name> + <title>Open salesprojects</title> + <contentType>NUMBER</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/open_saleprojects/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>SENT_OFFERS</name> + <title>Sent offers</title> + <contentType>NUMBER</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/sent_offers/valueProcess.js</valueProcess> + </entityField> <entityProvider> <name>openSalesprojects</name> <fieldType>DEPENDENCY_IN</fieldType> diff --git a/entity/Salesproject_entity/entityfields/open_saleprojects/valueProcess.js b/entity/Salesproject_entity/entityfields/open_saleprojects/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5bad01babc8817805c68c096d802ff22e6c93488 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/open_saleprojects/valueProcess.js @@ -0,0 +1,14 @@ +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("system.logging"); +import("Sql_lib"); +import("system.SQLTYPES") + +var opensp = db.cell("select count(STATE) from SALESPROJECT \n\ +join AB_KEYWORD_ENTRY on KEYID = STATE and CONTAINER = 'SalesprojectState' and TITLE = 'Open' \n\ +group by KEYID, AB_KEYWORD_ENTRY.TITLE"); + +result.string(opensp); diff --git a/entity/Salesproject_entity/entityfields/overall_forecast/valueProcess.js b/entity/Salesproject_entity/entityfields/overall_forecast/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..55161154b7b13e9c517b1167da8a2899c7a51a11 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/overall_forecast/valueProcess.js @@ -0,0 +1,14 @@ +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("system.logging"); +import("Sql_lib"); +import("system.SQLTYPES") + +var forecast = db.cell(SqlCondition.begin() + .andPrepare("SALESPROJECT_FORECAST.DATE_START", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) + .buildSql("select sum(VOLUME * 1000) from SALESPROJECT_FORECAST", "1=2")); + +result.string(forecast); diff --git a/entity/Salesproject_entity/entityfields/overall_turnover/valueProcess.js b/entity/Salesproject_entity/entityfields/overall_turnover/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1a9825c1ad37a8abfa994b446b0eef293a6eb0ca --- /dev/null +++ b/entity/Salesproject_entity/entityfields/overall_turnover/valueProcess.js @@ -0,0 +1,14 @@ +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("system.logging"); +import("Sql_lib"); +import("system.SQLTYPES") + +var turnover = db.cell(SqlCondition.begin() + .andPrepare("SALESORDER.SALESORDERDATE", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) + .buildSql("select sum(NET + VAT) from SALESORDER", "1=2")); + +result.string(turnover); diff --git a/entity/Salesproject_entity/entityfields/sent_offers/valueProcess.js b/entity/Salesproject_entity/entityfields/sent_offers/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c415d73135ceb0683dd670668442589b62e5660a --- /dev/null +++ b/entity/Salesproject_entity/entityfields/sent_offers/valueProcess.js @@ -0,0 +1,13 @@ +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("system.logging"); +import("Sql_lib"); +import("system.SQLTYPES") + +var sentoffer = db.cell("select count(STATUS) from OFFER join AB_KEYWORD_ENTRY \n\ +on KEYID = STATUS and CONTAINER = 'OfferStatus' and TITLE = 'Sent' group by KEYID, AB_KEYWORD_ENTRY.TITLE"); + +result.string(sentoffer); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 7f1bc7254aa657561ec6407f869201491d8fa22a..cbab88eb793cfc0110ac49ba9028e0888d7a847f 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2685,6 +2685,15 @@ <entry> <key>Username already exists!</key> </entry> + <entry> + <key>Salesproject Phases</key> + </entry> + <entry> + <key>Turnover actual year</key> + </entry> + <entry> + <key>Forecast actual year</key> + </entry> <entry> <key>This private person doeas already exist and can not be created once more.</key> </entry> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 4a8fb2f9726764031ce846240eb71589540ab586..c565c0d19b70392368d0ed2438ef243ae34092fb 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -30,6 +30,10 @@ <key>Entrydate (Day)</key> <value>Eingangsdatum (Tag)</value> </entry> + <entry> + <key>Salesproject Phases</key> + <value>Vertriebsprojektphasen</value> + </entry> <entry> <key>Turnover</key> <value>Umsatz</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 7226f426ca415090b274d3b3bff1eef16c5dd092..55aa1f3290b63fcf617d332326a3536d38100df6 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -2721,6 +2721,15 @@ <entry> <key>Username already exists!</key> </entry> + <entry> + <key>Salesproject Phases</key> + </entry> + <entry> + <key>Turnover actual year</key> + </entry> + <entry> + <key>Forecast actual year</key> + </entry> <entry> <key>This private person doeas already exist and can not be created once more.</key> </entry> diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod index feef4560535219df0acd527d75fd4d3a46569d5c..fe73d71fbb68466f3694046457afb8365698187d 100644 --- a/neonContext/Salesproject/Salesproject.aod +++ b/neonContext/Salesproject/Salesproject.aod @@ -30,5 +30,9 @@ <name>d7fb7e2b-c932-4b96-be2c-ae5ec3d36beb</name> <view>SalesprojectCycle_view</view> </neonViewReference> + <neonViewReference> + <name>f93ffaae-a097-41d6-8ca8-fad02323a909</name> + <view>SalesprojectScoreCard_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..642117e5d6747dcd2dbd529f0ec29d1f332094a0 --- /dev/null +++ b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod @@ -0,0 +1,50 @@ +<?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>SalesprojectScoreCard_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <dashletConfigurations> + <neonDashletConfiguration> + <name>KeyFigures</name> + <title>Key figures</title> + <description>Kennzahlen</description> + <fragment>Salesproject/full</fragment> + <singleton v="false" /> + <icon>VAADIN:GRID_BIG</icon> + <categories> + <neonDashletCategory> + <name>salesproject</name> + <title>Salesproject</title> + </neonDashletCategory> + </categories> + </neonDashletConfiguration> + </dashletConfigurations> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <scoreCardViewTemplate> + <name>KeyFigures</name> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>9c2ca675-1a37-4ceb-ad49-279bddc1150b</name> + <entityField>OVERALL_TURNOVER</entityField> + </entityFieldLink> + <entityFieldLink> + <name>23433d4d-94cb-4a25-99c1-88df451fcc34</name> + <entityField>OVERALL_FORECAST</entityField> + </entityFieldLink> + <entityFieldLink> + <name>da6c1a0b-723c-43d4-a168-1732ebe3bd34</name> + <entityField>OPEN_SALEPROJECTS</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c376674f-fe29-4527-a2b3-db67e1dca085</name> + <entityField>SENT_OFFERS</entityField> + </entityFieldLink> + </fields> + </scoreCardViewTemplate> + </children> +</neonView>