From 47cf446dda6165b97bd8ca6a8edd027a1ffb67e6 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Wed, 30 Jan 2019 13:57:54 +0100 Subject: [PATCH] fixes for offer productitem list --- entity/Offeritem_entity/onDBDelete.js | 2 +- entity/Offeritem_entity/onDBInsert.js | 2 +- entity/Offeritem_entity/onDBUpdate.js | 2 +- .../recordcontainers/db/onDBDelete.js | 2 +- .../recordcontainers/db/onDBInsert.js | 2 +- .../recordcontainers/db/onDBUpdate.js | 2 +- .../recordcontainers/db/onDBDelete.js | 2 +- .../recordcontainers/db/onDBInsert.js | 2 +- .../recordcontainers/db/onDBUpdate.js | 2 +- process/OfferOrder_lib/process.js | 29 +++++++++++++------ 10 files changed, 29 insertions(+), 18 deletions(-) diff --git a/entity/Offeritem_entity/onDBDelete.js b/entity/Offeritem_entity/onDBDelete.js index 9190f702bee..2acb846c670 100644 --- a/entity/Offeritem_entity/onDBDelete.js +++ b/entity/Offeritem_entity/onDBDelete.js @@ -17,5 +17,5 @@ if(oid != "") db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Offeritem_entity/onDBInsert.js b/entity/Offeritem_entity/onDBInsert.js index 54792d1a095..048025fe9d9 100644 --- a/entity/Offeritem_entity/onDBInsert.js +++ b/entity/Offeritem_entity/onDBInsert.js @@ -22,5 +22,5 @@ if(oid != "") db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Offeritem_entity/onDBUpdate.js b/entity/Offeritem_entity/onDBUpdate.js index c25fed571f8..7441937d9ef 100644 --- a/entity/Offeritem_entity/onDBUpdate.js +++ b/entity/Offeritem_entity/onDBUpdate.js @@ -12,5 +12,5 @@ if(oid != "") db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Offeritem_entity/recordcontainers/db/onDBDelete.js b/entity/Offeritem_entity/recordcontainers/db/onDBDelete.js index 3d3da26d0f8..568700b2157 100644 --- a/entity/Offeritem_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Offeritem_entity/recordcontainers/db/onDBDelete.js @@ -19,5 +19,5 @@ if(oid != "") db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js b/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js index faad425ccbc..33f35dd3c95 100644 --- a/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js @@ -23,5 +23,5 @@ if(oid != "") db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Offeritem_entity/recordcontainers/db/onDBUpdate.js b/entity/Offeritem_entity/recordcontainers/db/onDBUpdate.js index 23ce07486b0..8c333d3d4bb 100644 --- a/entity/Offeritem_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Offeritem_entity/recordcontainers/db/onDBUpdate.js @@ -12,5 +12,5 @@ if(oid != "") db.updateData("OFFER", cols, null, oiUtils.getNetAndVat(), SqlCondition.equals("OFFER.OFFERID", oid, "1 = 2")); - neon.refresh("Offer_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Orderitem_entity/recordcontainers/db/onDBDelete.js b/entity/Orderitem_entity/recordcontainers/db/onDBDelete.js index 9b55b013181..1893bf1fa14 100644 --- a/entity/Orderitem_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Orderitem_entity/recordcontainers/db/onDBDelete.js @@ -18,5 +18,5 @@ if(oid != "") db.updateData("SALESORDER", cols, null, vals, SqlCondition.equals("SALESORDER.SALESORDERID", oid, "1 = 2")); - neon.refresh("Order_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js b/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js index ba73df2fc7d..e564c8123b9 100644 --- a/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js @@ -23,5 +23,5 @@ if(oid != "") db.updateData("SALESORDER", cols, null, vals, SqlCondition.equals("SALESORDER.SALESORDERID", oid, "1 = 2")); - neon.refresh("Order_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js b/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js index bf481974b15..cd1ddcfae6c 100644 --- a/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js @@ -13,5 +13,5 @@ if(oid != "") db.updateData("SALESORDER", cols, null, vals, SqlCondition.equals("SALESORDER.SALESORDERID", oid, "1 = 2")); - neon.refresh("Order_entity"); + neon.refresh(); } \ No newline at end of file diff --git a/process/OfferOrder_lib/process.js b/process/OfferOrder_lib/process.js index 78375a40824..d2b44d92d67 100644 --- a/process/OfferOrder_lib/process.js +++ b/process/OfferOrder_lib/process.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.translate"); import("system.text"); import("system.vars"); @@ -140,12 +141,16 @@ function ItemUtils(pOfferOrderId, pTableName) { * get a new SqlCondition Object with tablename + "ITEM." + tablename + "ITEMID" = pItemId * * @param {String} pItemId item id + * @param {String} [pTableName=this.tableName] table name, if this is not available * * @return {SqlCondition} */ -ItemUtils.prototype.getNewItemIdCondition = function(pItemId) +ItemUtils.prototype.getNewItemIdCondition = function(pItemId, pTableName) { - return SqlCondition.begin().andPrepare(this.tableName + "ITEM." + this.tableName + "ITEMID", pItemId); + if (pTableName == undefined) + pTableName = this.tableName; + logging.log("hää" + pTableName) + return SqlCondition.begin().andPrepare(pTableName + "ITEM." + pTableName + "ITEMID", pItemId); } /** @@ -168,7 +173,7 @@ ItemUtils.prototype.getNetAndVat = function(itemIds) { itemIds.forEach(function(pItem) { condition.andPrepare(this.tableName + "ITEM." + this.tableName + "ITEMID", pItem, "# <> ?"); - }); + }, this); } var orderItems = db.table(condition.buildSql("select QUANTITY, PRICE, DISCOUNT, VAT, OPTIONAL from " + this.tableName + "ITEM", "1 = 0")); @@ -280,8 +285,9 @@ ItemUtils.prototype.insertPartsList = function(columns, productId, assignedTo, c columns = columns.concat(additionalProductInfo.map(function(item) {return item[0]})); var colTypes = db.getColumnTypes(table, columns); - - __itemInsertStatement(partsList.root, assignedTo, currency, relationId); + logging.log(partsList.toSource()) + // partsList[rootProdId] = root node + __itemInsertStatement(partsList[rootProdId], assignedTo, currency, relationId); if (statements.length > 0) db.inserts(statements); @@ -332,7 +338,8 @@ ItemUtils.prototype.insertPartsList = function(columns, productId, assignedTo, c statements.push([table, columns, colTypes, vals]); insertedItemIds.push(newid); - + + logging.log(p2pid) __itemInsertStatement(partsList[p2pid], newid); } } @@ -352,7 +359,7 @@ ItemUtils.prototype.deletePartsList = function(itemId) { //save address for this here to get class variables in recursive sub function __itemDeleteStatement var self = this; - + logging.log("1 " + self.tableName) var statements = []; __itemDeleteStatement(itemId); @@ -366,11 +373,15 @@ ItemUtils.prototype.deletePartsList = function(itemId) { //recursive function for building item delete statements function __itemDeleteStatement(itemId) { - var itemsToDelete = self.ItemTree[itemId].ids; + logging.log("2 " + self.tableName) + var itemsToDelete = self.ItemTree[itemId].ids; + logging.log("__ " + self.tableName) + logging.log(itemsToDelete.toSource()) for (var i = 0; i < itemsToDelete.length; i++) { //unshift due to foreign key constraints (Delete hierarchically starting at the bottom) - statements.unshift(self.getNewItemIdCondition(itemsToDelete[i]).build("1 = 2")); + logging.log("3 " + self.tableName) + statements.unshift(self.getNewItemIdCondition(itemsToDelete[i], self.tableName).build("1 = 2")); deletedItemIds.push(itemsToDelete[i]); __itemDeleteStatement(itemsToDelete[i]); } -- GitLab