From 1c8937843a17ac45e8d9319c27a4e97584d9aa2c Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Mon, 11 Feb 2019 17:00:37 +0100 Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?= =?UTF-8?q?=201032312][Keywords=20f=C3=BCr=20bestehende=20Module=20anlegen?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entity/Keyword_entity/Keyword_entity.aod | 12 ++++++++ .../SalesprojectCompetition_entity.aod | 21 ++++++++++++- .../children/containername_param/code.js | 4 +++ .../reason/possibleItemsProcess.js | 7 ----- .../reason.displayvalue/expression.js | 5 ++++ entity/Stock_entity/Stock_entity.aod | 21 ++++++++++++- .../children/containername_param/code.js | 4 +++ .../warehouse/possibleItemsProcess.js | 7 ----- .../warehouse.displayvalue/expression.js | 5 ++++ .../data/example_product/PRODUCT_42154311.xml | 8 ++--- .../create_salesproject_competition.xml | 2 +- .../data_alias/struct/create_stock.xml | 2 +- process/Keyword_lib/process.js | 30 ++++--------------- 13 files changed, 81 insertions(+), 47 deletions(-) create mode 100644 entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/code.js delete mode 100644 entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js create mode 100644 entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/reason.displayvalue/expression.js create mode 100644 entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/code.js delete mode 100644 entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js create mode 100644 entity/Stock_entity/recordcontainers/db/recordfieldmappings/warehouse.displayvalue/expression.js diff --git a/entity/Keyword_entity/Keyword_entity.aod b/entity/Keyword_entity/Keyword_entity.aod index fef0c9e712..dcce9447b4 100644 --- a/entity/Keyword_entity/Keyword_entity.aod +++ b/entity/Keyword_entity/Keyword_entity.aod @@ -214,6 +214,18 @@ <fieldName>KeywordStates</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>59546343-9f48-4437-a829-e7715e860a7d</name> + <entityName>SalesprojectCompetition_entity</entityName> + <fieldName>KeywordWonLost</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>e2041dea-8647-49e9-aacf-4481b75b76ff</name> + <entityName>Stock_entity</entityName> + <fieldName>KeywordWarehouses</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod index fedbaa221c..1e4c35e49e 100644 --- a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod +++ b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod @@ -21,7 +21,7 @@ <entityField> <name>REASON</name> <title>Reason</title> - <possibleItemsProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js</possibleItemsProcess> + <consumer>KeywordWonLost</consumer> <onValidation>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/reason/onValidation.js</onValidation> </entityField> <entityField> @@ -117,6 +117,21 @@ <fieldName>#PROVIDER</fieldName> </dependency> </entityConsumer> + <entityConsumer> + <name>KeywordWonLost</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Keyword_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>containerName_param</name> + <code>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/code.js</code> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -193,6 +208,10 @@ <name>RELATION_ID.displayValue</name> <recordfield>ORG.NAME</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REASON.displayValue</name> + <expression>%aditoprj%/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/reason.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/code.js b/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/code.js new file mode 100644 index 0000000000..b855b77f90 --- /dev/null +++ b/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Keyword_lib"); + +result.string($KeywordRegistry.get.SalesprojectWonLost); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js b/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js deleted file mode 100644 index 01a1170142..0000000000 --- a/entity/SalesprojectCompetition_entity/entityfields/reason/possibleItemsProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.result"); -import("Keyword_lib"); - -var items; - -items = KeywordUtils.getStandardArray("SALESPROJECT.WONLOST"); -result.object(items); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/reason.displayvalue/expression.js b/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/reason.displayvalue/expression.js new file mode 100644 index 0000000000..f3ca32ff03 --- /dev/null +++ b/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/reason.displayvalue/expression.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.SalesprojectWonLost, "SALESPROJECT_COMPETITION.REASON"); +result.string(sql); diff --git a/entity/Stock_entity/Stock_entity.aod b/entity/Stock_entity/Stock_entity.aod index 2dc4b520d5..baea0e3691 100644 --- a/entity/Stock_entity/Stock_entity.aod +++ b/entity/Stock_entity/Stock_entity.aod @@ -43,8 +43,8 @@ <entityField> <name>WAREHOUSE</name> <title>Warehouse</title> + <consumer>KeywordWarehouses</consumer> <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityProvider> <name>Stocks</name> @@ -85,6 +85,21 @@ <entityProvider> <name>#PROVIDER</name> </entityProvider> + <entityConsumer> + <name>KeywordWarehouses</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Keyword_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>containerName_param</name> + <code>%aditoprj%/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/code.js</code> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -131,6 +146,10 @@ <name>WAREHOUSE.value</name> <recordfield>STOCK.WAREHOUSE</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>WAREHOUSE.displayValue</name> + <expression>%aditoprj%/entity/Stock_entity/recordcontainers/db/recordfieldmappings/warehouse.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/code.js b/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/code.js new file mode 100644 index 0000000000..e26a2604ef --- /dev/null +++ b/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Keyword_lib"); + +result.string($KeywordRegistry.get.StockWarehouse); \ No newline at end of file diff --git a/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js b/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js deleted file mode 100644 index 6c5c453086..0000000000 --- a/entity/Stock_entity/entityfields/warehouse/possibleItemsProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.result"); -import("Keyword_lib"); - -var items; - -items = KeywordUtils.getStandardArray("STOCK.WAREHOUSE"); -result.object(items); \ No newline at end of file diff --git a/entity/Stock_entity/recordcontainers/db/recordfieldmappings/warehouse.displayvalue/expression.js b/entity/Stock_entity/recordcontainers/db/recordfieldmappings/warehouse.displayvalue/expression.js new file mode 100644 index 0000000000..ffecade2a1 --- /dev/null +++ b/entity/Stock_entity/recordcontainers/db/recordfieldmappings/warehouse.displayvalue/expression.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.StockWarehouse, "STOCK.WAREHOUSE"); +result.string(sql); diff --git a/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml b/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml index 1a5dedcbe3..ca0d647143 100644 --- a/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml +++ b/others/db_changes/data_alias/data/example_product/PRODUCT_42154311.xml @@ -208,7 +208,7 @@ <column name="QUANTITY" valueNumeric="30"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="ENTRYDATE" valueDate="2018-11-22T00:00:00"/> - <column name="WAREHOUSE" valueNumeric="1"/> + <column name="WAREHOUSE" value="7885caba-8d58-4fe5-9774-1872fbad1dbe"/> </insert> <insert tableName="STOCK"> <column name="STOCKID" value="a90a8aba-76bb-40b1-a4ab-ef39508296cb"/> @@ -216,7 +216,7 @@ <column name="QUANTITY" valueNumeric="25"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="ENTRYDATE" valueDate="2018-11-15T00:00:00"/> - <column name="WAREHOUSE" valueNumeric="1"/> + <column name="WAREHOUSE" value="7885caba-8d58-4fe5-9774-1872fbad1dbe"/> </insert> <insert tableName="STOCK"> <column name="STOCKID" value="bd4c1a16-1b80-4b3e-aa67-306f387a62df"/> @@ -224,7 +224,7 @@ <column name="QUANTITY" valueNumeric="23"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="ENTRYDATE" valueDate="2018-11-22T00:00:00"/> - <column name="WAREHOUSE" valueNumeric="1"/> + <column name="WAREHOUSE" value="7885caba-8d58-4fe5-9774-1872fbad1dbe"/> </insert> <insert tableName="STOCK"> <column name="STOCKID" value="3caba278-9d38-485c-9d78-11ea969b832c"/> @@ -232,7 +232,7 @@ <column name="QUANTITY" valueNumeric="17"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="ENTRYDATE" valueDate="2018-11-15T00:00:00"/> - <column name="WAREHOUSE" valueNumeric="1"/> + <column name="WAREHOUSE" value="7885caba-8d58-4fe5-9774-1872fbad1dbe"/> </insert> </changeSet> diff --git a/others/db_changes/data_alias/struct/create_salesproject_competition.xml b/others/db_changes/data_alias/struct/create_salesproject_competition.xml index 308f9b0cae..219f5d3e34 100644 --- a/others/db_changes/data_alias/struct/create_salesproject_competition.xml +++ b/others/db_changes/data_alias/struct/create_salesproject_competition.xml @@ -13,7 +13,7 @@ </column> <column name="DATE_CANCELLED" type="TIMESTAMP"/> <column name="INFO" type="NCLOB"/> - <column name="REASON" type="INTEGER"/> + <column name="REASON" type="CHAR(36)"/> <column name="STATUS" type="INTEGER"/> </createTable> diff --git a/others/db_changes/data_alias/struct/create_stock.xml b/others/db_changes/data_alias/struct/create_stock.xml index fec96be53f..13b95322b8 100644 --- a/others/db_changes/data_alias/struct/create_stock.xml +++ b/others/db_changes/data_alias/struct/create_stock.xml @@ -14,7 +14,7 @@ <constraints nullable="false" foreignKeyName="FK_STOCK_PRODUCT_ID" references="PRODUCT(PRODUCTID)"/> </column> <column name="ENTRYDATE" type="TIMESTAMP"/> - <column name="WAREHOUSE" type="INTEGER"/> + <column name="WAREHOUSE" type="CHAR(36)"/> </createTable> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js index 57705e0db0..2ecca3916b 100644 --- a/process/Keyword_lib/process.js +++ b/process/Keyword_lib/process.js @@ -12,6 +12,9 @@ import("Sql_lib"); * the reason behind this is that the registry is initalized at the position of the Keyword_lib-import; * That means, if a value of the registry is used before the import of the Keyword_lib the registry is not set * + * Not every KeywordContainer that exists has to be listed here (e.g. dynamic created keywords) but every keyword-container-name that is used within + * JDito code should be listed here + * * This is a very special case of an object and should not be used as a refernece for own implementations since the requirements will be different * * @class @@ -37,6 +40,8 @@ $KeywordRegistry.get = { SalesprojectMemberRole: "SalesprojectMemberRole", SalesprojectSource: "SalesprojectSource", SalesorderState: "SalesorderState", + SalesprojectWonLost: "SalesprojectWonLost", + StockWarehouse: "StockWarehouse", "null": null }; @@ -219,13 +224,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL ,_createKeywordEntry("6", translate.text("Service", locale)) ]); break; - case "STOCK.WAREHOUSE": - valueContainer = _createKeywordEntriesContainer([ - _createKeywordEntry("1", translate.text("Warehouse 1", locale)) - ,_createKeywordEntry("2", translate.text("Warehouse 2", locale)) - ,_createKeywordEntry("3", translate.text("Warehouse 3", locale)) - ]); - break; case "SALESPROJECT.PRICE_POLITICS": valueContainer = _createKeywordEntriesContainer([ _createKeywordEntry("1", translate.text("Abomodel", locale)) @@ -285,24 +283,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL ,_createKeywordEntry("1", translate.text("Lead", locale)) ]); break; - case "SALESPROJECT.WONLOST": - valueContainer = _createKeywordEntriesContainer([ - _createKeywordEntry("1", translate.text("Project_volume", locale)) - ,_createKeywordEntry("2", translate.text("Project_duration", locale)) - ,_createKeywordEntry("3", translate.text("Project_reference", locale)) - ,_createKeywordEntry("4", translate.text("Product_technic", locale)) - ,_createKeywordEntry("5", translate.text("Product_flexibility", locale)) - ,_createKeywordEntry("6", translate.text("Product_GUI", locale)) - ,_createKeywordEntry("7", translate.text("Product_functionality", locale)) - ,_createKeywordEntry("8", translate.text("Product_industry knowhow", locale)) - ,_createKeywordEntry("9", translate.text("Product_mobile use", locale)) - ,_createKeywordEntry("10", translate.text("Company_size", locale)) - ,_createKeywordEntry("11", translate.text("Company_internationality", locale)) - ,_createKeywordEntry("12", translate.text("Company_industry knowhow", locale)) - ,_createKeywordEntry("13", translate.text("Other_existing Customer", locale)) - ,_createKeywordEntry("14", translate.text("Other_unknown", locale)) - ]); - break; case "SALESPROJECT.CYCLE.TYPE": valueContainer = _createKeywordEntriesContainer([ _createKeywordEntry("1", translate.text("Phase", locale), null, {keyword: "SALESPROJECT.PHASE"}) -- GitLab