From 742cc8d6385506b3e2b16644faef5ab24b17ed08 Mon Sep 17 00:00:00 2001 From: "a.voegl" <a.voegl@adito.de> Date: Wed, 17 Jun 2020 09:37:42 +0200 Subject: [PATCH] OrderRefactoring --- entity/Order_entity/Order_entity.aod | 82 +------------------ entity/Order_entity/afterUiInit.js | 4 + .../entityfields/dunningtext/valueProcess.js | 9 +- .../documentation.adoc | 1 - .../orderlanguage_param/valueProcess.js | 8 -- .../documentation.adoc | 1 - .../entityfields/paydate/valueProcess.js | 7 ++ .../salesordercode/valueProcess.js | 7 +- process/Offer_lib/process.js | 30 ++++--- process/Order_lib/process.js | 13 ++- 10 files changed, 42 insertions(+), 120 deletions(-) delete mode 100644 entity/Order_entity/entityfields/orderdeliveryaddress_param/documentation.adoc delete mode 100644 entity/Order_entity/entityfields/orderlanguage_param/valueProcess.js delete mode 100644 entity/Order_entity/entityfields/orderpaymentaddress_param/documentation.adoc create mode 100644 entity/Order_entity/entityfields/paydate/valueProcess.js diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index 5050ba95850..e725eb70edf 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -269,25 +269,6 @@ </entityParameter> </children> </entityConsumer> - <entityParameter> - <name>OrderCurrency_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderLanguage_param</name> - <valueProcess>%aditoprj%/entity/Order_entity/entityfields/orderlanguage_param/valueProcess.js</valueProcess> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderHeader_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> <entityConsumer> <name>Languages</name> <dependency> @@ -469,6 +450,7 @@ <contentType>DATE</contentType> <resolution>DAY</resolution> <stateProcess>%aditoprj%/entity/Order_entity/entityfields/paydate/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/paydate/valueProcess.js</valueProcess> </entityField> <entityField> <name>PAYDUEDATE</name> @@ -673,16 +655,6 @@ <stateProcess>%aditoprj%/entity/Order_entity/entityfields/dunningtext/stateProcess.js</stateProcess> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/dunningtext/valueProcess.js</valueProcess> </entityField> - <entityParameter> - <name>OrderPaymentTerm_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderDeliveryTerm_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> <entityConsumer> <name>Offers</name> <dependency> @@ -743,31 +715,6 @@ <title>Choose Footer</title> <consumer>DocumentTemplateTexFooter</consumer> </entityField> - <entityParameter> - <name>OrderFooter_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderDunningDate_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderDunningLevel_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderType_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderCancellation_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> <entityField> <name>ChosenPaymentAddress</name> <documentation>%aditoprj%/entity/Order_entity/entityfields/chosenpaymentaddress/documentation.adoc</documentation> @@ -796,33 +743,6 @@ <element>PROCESS_SETVALUE</element> </onValueChangeTypes> </entityField> - <entityParameter> - <name>OrderCode_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderStatus_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderVersnr_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderPaymentAddress_param</name> - <expose v="true" /> - <documentation>%aditoprj%/entity/Order_entity/entityfields/orderpaymentaddress_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OrderDeliveryAddress_param</name> - <expose v="true" /> - <documentation>%aditoprj%/entity/Order_entity/entityfields/orderdeliveryaddress_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> <entityActionField> <name>newOrder</name> <documentation>%aditoprj%/entity/Order_entity/entityfields/neworder/documentation.adoc</documentation> diff --git a/entity/Order_entity/afterUiInit.js b/entity/Order_entity/afterUiInit.js index e30b0b283b2..8170933d28b 100644 --- a/entity/Order_entity/afterUiInit.js +++ b/entity/Order_entity/afterUiInit.js @@ -6,4 +6,8 @@ import("Attribute_lib"); if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) { AttributeRelationUtils.presetMandatoryAttributes(ContextUtils.getCurrentContextId(), "Attributes"); + + if(vars.get("$param.Copy_param")) + neon.setFieldValues(JSON.parse(vars.get("$param.Copy_param"))) } + diff --git a/entity/Order_entity/entityfields/dunningtext/valueProcess.js b/entity/Order_entity/entityfields/dunningtext/valueProcess.js index 6ceea69e5f3..4751e50c645 100644 --- a/entity/Order_entity/entityfields/dunningtext/valueProcess.js +++ b/entity/Order_entity/entityfields/dunningtext/valueProcess.js @@ -4,12 +4,5 @@ import("system.result"); import("system.neon"); import("Date_lib"); - -if (vars.get("$this.value") == null){ - -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")|| neon.OPERATINGSTATE_NEW ){ - +if((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || neon.OPERATINGSTATE_NEW) && vars.get("$this.value") == null) result.string(translate.text("Please pay the outstanding amount,this is you first/second reminder.")) -} - -} \ No newline at end of file diff --git a/entity/Order_entity/entityfields/orderdeliveryaddress_param/documentation.adoc b/entity/Order_entity/entityfields/orderdeliveryaddress_param/documentation.adoc deleted file mode 100644 index b50a32de3db..00000000000 --- a/entity/Order_entity/entityfields/orderdeliveryaddress_param/documentation.adoc +++ /dev/null @@ -1 +0,0 @@ -Carries the delivery address of the receipt. Can also be set from the offer if a receipt is to be created from a specified offer. \ No newline at end of file diff --git a/entity/Order_entity/entityfields/orderlanguage_param/valueProcess.js b/entity/Order_entity/entityfields/orderlanguage_param/valueProcess.js deleted file mode 100644 index 28676a75cab..00000000000 --- a/entity/Order_entity/entityfields/orderlanguage_param/valueProcess.js +++ /dev/null @@ -1,8 +0,0 @@ -import("system.logging"); -import("system.vars"); -import("system.db"); -import("system.result"); - -var salesorderid = vars.get("$field.SALESORDERID") -if(salesorderid) -result.string(db.cell("select ISOLANGUAGE from SALESORDER where SALESORDERID = '" + salesorderid + "'")) \ No newline at end of file diff --git a/entity/Order_entity/entityfields/orderpaymentaddress_param/documentation.adoc b/entity/Order_entity/entityfields/orderpaymentaddress_param/documentation.adoc deleted file mode 100644 index 43cd09315c3..00000000000 --- a/entity/Order_entity/entityfields/orderpaymentaddress_param/documentation.adoc +++ /dev/null @@ -1 +0,0 @@ -Carries the main address of the receipt. Can also be set from the offer if a receipt is to be created from a specified offer. \ No newline at end of file diff --git a/entity/Order_entity/entityfields/paydate/valueProcess.js b/entity/Order_entity/entityfields/paydate/valueProcess.js new file mode 100644 index 00000000000..2b9e8729819 --- /dev/null +++ b/entity/Order_entity/entityfields/paydate/valueProcess.js @@ -0,0 +1,7 @@ +import("system.logging"); +import("system.neon"); +import("system.vars"); +import("system.result"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT && vars.get("$this.value") == "")//we need "", because we are in EditMode + result.string(vars.get("$sys.date")); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/salesordercode/valueProcess.js b/entity/Order_entity/entityfields/salesordercode/valueProcess.js index ccfc41b24a6..1282b4c9159 100644 --- a/entity/Order_entity/entityfields/salesordercode/valueProcess.js +++ b/entity/Order_entity/entityfields/salesordercode/valueProcess.js @@ -4,9 +4,4 @@ import("system.neon"); import("Order_lib"); if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) -{ - if (vars.exists("$param.OrderCode_param") && vars.get("$param.OrderCode_param")) - result.string(vars.get("$param.OrderCode_param")); - else - result.string(OrderUtils.getNextOrderNumber()); -} \ No newline at end of file + result.string(OrderUtils.getNextOrderNumber()); diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js index 8b12e56fdbc..0c256379c13 100644 --- a/process/Offer_lib/process.js +++ b/process/Offer_lib/process.js @@ -387,18 +387,24 @@ OfferUtils.copyOfferItems = function (pSourceOfferId, pTargetOfferId) * @param pHeader {String} [header=""] */ OfferUtils.copyToOrder = function (pOfferId, pContextId, pRowId, pContactId, pLanguage, pCurrency, pAddress, pHeader) -{ - var params = { - "ContactId_param" : pContactId, - "ObjectRowId_param" : pRowId, - "ObjectType_param" : pContextId, - "OrderLanguage_param" : pLanguage, - "OfferId_param" : pOfferId, - "OrderCurrency_param" : pCurrency || "", - "OrderPaymentAddress_param" : pAddress || "", - "OrderHeader_param" : pHeader || "" - }; - neon.openContext("Order", null, null, neon.OPERATINGSTATE_NEW, params); +{ + var fieldparams = + { + "$field.CONTACT_ID" : pContactId, + "$field.ISOLANGUAGE" : pLanguage, + "$field.OFFER_ID" : pOfferId, + "$field.CURRENCY" : pCurrency || "", + "$field.HEADER" : pHeader || "", + "$field.PAYMENTADDRESS" : pAddress || "", + "$field.OBJECT_TYPE" : pContextId || "", + "$field.OBJECT_ROWID" : pRowId || "" + }; + + var params = {}; + params["Copy_param"] = JSON.stringify(fieldparams); + params["OfferId_param"] = pOfferId; + + neon.openContext("Order", null, null, neon.OPERATINGSTATE_NEW, params); } /** diff --git a/process/Order_lib/process.js b/process/Order_lib/process.js index ecac0704d5f..22e824f24db 100644 --- a/process/Order_lib/process.js +++ b/process/Order_lib/process.js @@ -79,15 +79,20 @@ OrderUtils.isDeletable = function(status) { OrderUtils.createNewOrder = function(pContextId, pRowId, pRelationId) { var params = {}; + var fieldparams = {}; if (pRowId && pContextId) { - params["ObjectRowId_param"] = pRowId; - params["ObjectType_param"] = pContextId; + fieldparams["$field.OBJECT_TYPE"] = pContextId || "", + fieldparams["$field.OBJECT_ROWID"] = pRowId || "" } if (pRelationId) + { + fieldparams["$field.CONTACT_ID"] = pRelationId; params["ContactId_param"] = pRelationId; + } + params["Copy_param"] = JSON.stringify(fieldparams); neon.openContext("Order", null, null, neon.OPERATINGSTATE_NEW, params); } @@ -116,8 +121,9 @@ OrderUtils.copyOrder = function (pSourceOfferId, pContactId, pOrderType, pLangua "$field.ORDERSTATUS" : pOrderStatus || "" }; - var params = {} + var params = {}; params["Copy_param"] = JSON.stringify(fieldparams); + params["OfferId_param"] = pSourceOfferId; neon.openContext("Order", null, null, neon.OPERATINGSTATE_NEW, params); } @@ -441,6 +447,7 @@ OrderUtils.buildReminderReport = function (pOrderID) orderData[7] = datetime.toDate(orderData[7], translate.text("dd.MM.yyyy", language)); orderData[18] = datetime.toDate(orderData[18], translate.text("dd.MM.yyyy", language)); + orderData[19] = KeywordUtils.getViewValue("DunningLevel", orderData[19]); var orderItemFields = [ "SALESORDERITEM.INFO", -- GitLab