From 7fef131626d4d211212b52e740774a0f2228f6ae Mon Sep 17 00:00:00 2001 From: Andre Loreth <a.loreth@adito.de> Date: Tue, 18 Feb 2020 14:11:57 +0100 Subject: [PATCH] #1051579: Order: Implement OrderReport_view --- entity/Order_entity/Order_entity.aod | 4 +++ .../order_report_data/valueProcess.js | 9 +++++++ neonContext/Order/Order.aod | 8 ++++++ .../OrderReport_view/OrderReport_view.aod | 17 +++++++++++++ process/Order_lib/process.js | 25 ++++++++++++++++--- 5 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 entity/Order_entity/entityfields/order_report_data/valueProcess.js create mode 100644 neonView/OrderReport_view/OrderReport_view.aod diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index e1b6705179..c548ee5a46 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -956,6 +956,10 @@ <name>REMINDER_REPORT_DATA</name> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/reminder_report_data/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>ORDER_REPORT_DATA</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/order_report_data/valueProcess.js</valueProcess> + </entityField> <entityConsumer> <name>Organisations</name> <dependency> diff --git a/entity/Order_entity/entityfields/order_report_data/valueProcess.js b/entity/Order_entity/entityfields/order_report_data/valueProcess.js new file mode 100644 index 0000000000..7a8f7a4091 --- /dev/null +++ b/entity/Order_entity/entityfields/order_report_data/valueProcess.js @@ -0,0 +1,9 @@ +import("system.result"); +import("system.vars"); +import("Order_lib"); + +var reportData = OrderUtils.buildOrderReport(vars.get("$field.SALESORDERID")); + +if(reportData != null) { + result.string(reportData[1]); +} \ No newline at end of file diff --git a/neonContext/Order/Order.aod b/neonContext/Order/Order.aod index 052d23b749..ea7e701bba 100644 --- a/neonContext/Order/Order.aod +++ b/neonContext/Order/Order.aod @@ -47,5 +47,13 @@ <name>5a70d5cf-d1d8-4773-900c-1376f5b9a988</name> <view>OrderPaid_view</view> </neonViewReference> + <neonViewReference> + <name>280d32c7-3ad2-4897-9123-a0e953a768ec</name> + <view>OrderReminderReport_view</view> + </neonViewReference> + <neonViewReference> + <name>99e9bf9f-3aa0-48c6-b136-6b0d81f602d4</name> + <view>OrderReport_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/OrderReport_view/OrderReport_view.aod b/neonView/OrderReport_view/OrderReport_view.aod new file mode 100644 index 0000000000..2d2b233882 --- /dev/null +++ b/neonView/OrderReport_view/OrderReport_view.aod @@ -0,0 +1,17 @@ +<?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.4" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.4"> + <name>OrderReport_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <reportViewTemplate> + <name>Report</name> + <reportData>ORDER_REPORT_DATA</reportData> + <entityField>#ENTITY</entityField> + </reportViewTemplate> + </children> +</neonView> diff --git a/process/Order_lib/process.js b/process/Order_lib/process.js index fda69211f4..8da722d44d 100644 --- a/process/Order_lib/process.js +++ b/process/Order_lib/process.js @@ -164,8 +164,14 @@ OrderUtils.copyOfferItemsToOrder = function (pSourceOfferId, pSourceOfferId) .updateData(true, "SALESORDER", cols, null, vals); } -OrderUtils.openOrderReport = function (pOrderID) -{ +/** + * Will build the order report for the given order. + * + * @param {String} pOrderID The ID of the order, for which the report shall be built. + * @return {Array} [filename, data] + */ +OrderUtils.buildOrderReport = function (pOrderID) +{ var orderReport = new Report("Salesorder_report"); var sqlUtil = new SqlMaskingUtils(); @@ -228,7 +234,7 @@ OrderUtils.openOrderReport = function (pOrderID) .table(); if (itemData.length == 0) - return; + return null; var fullPrice = 0; var itemSum = 0; @@ -368,7 +374,18 @@ OrderUtils.openOrderReport = function (pOrderID) "ORDERITEM.VAT" ]) .add(itemData)); - orderReport.openReport(); + + return orderReport.exportReport(); +} + +/** + * Will open the report for the given order. + * + * @param {String} pOrderID The ID of the order which shall be opened.l + */ +OrderUtils.openOrderReport = function (pOrderID) +{ + neon.openContext("Order", "OrderReport_view", [pOrderID], neon.OPERATINGSTATE_VIEW, null); } /** -- GitLab