| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.apache.ofbiz.entity.condition.EntityCondition; |
| import org.apache.ofbiz.entity.condition.EntityOperator; |
| |
| orderId = parameters.orderId; |
| context.orderId = orderId; |
| |
| orderHeader = null; |
| if (orderId) { |
| orderHeader = from("OrderHeader").where(orderId : orderId).queryOne(); |
| } |
| |
| if (orderHeader) { |
| shipmentMethodCond = [EntityCondition.makeCondition("changedEntityName", EntityOperator.EQUALS, "OrderItemShipGroup"), |
| EntityCondition.makeCondition("changedFieldName", EntityOperator.EQUALS, "shipmentMethodTypeId"), |
| EntityCondition.makeCondition("pkCombinedValueText", EntityOperator.LIKE, orderId + "%")]; |
| shipmentMethodHistories = from("EntityAuditLog").where(shipmentMethodCond).orderBy("-changedDate").queryList(); |
| |
| carrierPartyCond = [EntityCondition.makeCondition("changedEntityName", EntityOperator.EQUALS, "OrderItemShipGroup"), |
| EntityCondition.makeCondition("changedFieldName", EntityOperator.EQUALS, "carrierPartyId"), |
| EntityCondition.makeCondition("pkCombinedValueText", EntityOperator.LIKE, orderId + "%")]; |
| carrierPartyHistories = from("EntityAuditLog").where(carrierPartyCond).queryList(); |
| |
| orderShipmentHistories = []; |
| shipmentMethodHistories.each { shipmentMethodHistory -> |
| orderShipmentHistory = [:]; |
| if ("shipmentMethodTypeId".equals(shipmentMethodHistory.changedFieldName)) { |
| shipmentMethodType = from("ShipmentMethodType").where("shipmentMethodTypeId", shipmentMethodHistory.newValueText).queryOne(); |
| if (shipmentMethodType != null){ |
| carrierPartyHistories.each { carrierPartyHistory -> |
| if (carrierPartyHistory.lastUpdatedTxStamp == shipmentMethodHistory.lastUpdatedTxStamp) { |
| if ("_NA_".equals(carrierPartyHistory.newValueText)) { |
| orderShipmentHistory.shipmentMethod = shipmentMethodType.description; |
| } else { |
| orderShipmentHistory.shipmentMethod = carrierPartyHistory.newValueText + " " + shipmentMethodType.description; |
| } |
| } |
| } |
| } |
| orderShipmentHistory.lastUpdated = shipmentMethodHistory.lastUpdatedTxStamp; |
| orderShipmentHistory.changedDate = shipmentMethodHistory.changedDate; |
| orderShipmentHistory.changedByUser = shipmentMethodHistory.changedByInfo; |
| orderShipmentHistories.add(orderShipmentHistory); |
| } |
| } |
| context.orderShipmentHistories = orderShipmentHistories; |
| |
| changedByInfoCond = [EntityCondition.makeCondition("changedEntityName", EntityOperator.EQUALS, "OrderItem"), |
| EntityCondition.makeCondition("changedFieldName", EntityOperator.EQUALS, "changeByUserLoginId"), |
| EntityCondition.makeCondition("pkCombinedValueText", EntityOperator.LIKE, orderId + "%")]; |
| changedByInfoHistories = from("EntityAuditLog").where(changedByInfoCond).orderBy("-changedDate").queryList(); |
| |
| orderUnitPriceHistories = []; |
| unitPriceCond = [EntityCondition.makeCondition("changedEntityName", EntityOperator.EQUALS, "OrderItem"), |
| EntityCondition.makeCondition("changedFieldName", EntityOperator.EQUALS, "unitPrice"), |
| EntityCondition.makeCondition("pkCombinedValueText", EntityOperator.LIKE, orderId + "%")]; |
| unitPriceHistories = from("EntityAuditLog").where(unitPriceCond).orderBy("-changedDate").queryList(); |
| unitPriceHistories.each { unitPriceHistory -> |
| orderUnitPriceHistory = [:]; |
| if ((unitPriceHistory.oldValueText) && (unitPriceHistory.newValueText)) { |
| if ((Float.valueOf(unitPriceHistory.oldValueText)).compareTo(Float.valueOf(unitPriceHistory.newValueText)) != 0) { |
| orderUnitPriceHistory.oldValue = unitPriceHistory.oldValueText; |
| orderUnitPriceHistory.newValue = unitPriceHistory.newValueText; |
| orderUnitPriceHistory.changedDate = unitPriceHistory.changedDate; |
| orderItemSeqId = (unitPriceHistory.pkCombinedValueText).substring((unitPriceHistory.pkCombinedValueText).indexOf("::") + 2, (unitPriceHistory.pkCombinedValueText).length()); |
| orderItem = from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne(); |
| orderUnitPriceHistory.productId = orderItem.productId; |
| changedByInfoHistories.each { changedByInfoHistory -> |
| if (changedByInfoHistory.lastUpdatedTxStamp == unitPriceHistory.lastUpdatedTxStamp) { |
| if (changedByInfoHistory.newValueText) { |
| orderUnitPriceHistory.changedByUser = changedByInfoHistory.newValueText; |
| } else { |
| orderUnitPriceHistory.changedByUser = changedByInfoHistory.oldValueText; |
| } |
| } |
| } |
| orderUnitPriceHistories.add(orderUnitPriceHistory); |
| } |
| } |
| } |
| |
| context.orderUnitPriceHistories = orderUnitPriceHistories; |
| orderQuantityHistories = []; |
| quantityCond = [EntityCondition.makeCondition("changedEntityName", EntityOperator.EQUALS, "OrderItem"), |
| EntityCondition.makeCondition("changedFieldName", EntityOperator.EQUALS, "quantity"), |
| EntityCondition.makeCondition("pkCombinedValueText", EntityOperator.LIKE, orderId + "%")]; |
| quantityHistories = from("EntityAuditLog").where(quantityCond).orderBy("-changedDate").queryList(); |
| quantityHistories.each { quantityHistory -> |
| orderQuantityHistory = [:]; |
| if ((quantityHistory.oldValueText) && (quantityHistory.newValueText)) { |
| if ((Float.valueOf(quantityHistory.oldValueText)).compareTo(Float.valueOf(quantityHistory.newValueText)) != 0) { |
| orderQuantityHistory.oldValue = new BigDecimal(quantityHistory.oldValueText); |
| orderQuantityHistory.newValue = quantityHistory.newValueText; |
| orderQuantityHistory.changedDate = quantityHistory.changedDate; |
| orderItemSeqId = (quantityHistory.pkCombinedValueText).substring((quantityHistory.pkCombinedValueText).indexOf("::") + 2, (quantityHistory.pkCombinedValueText).length()); |
| orderItem = from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne(); |
| orderQuantityHistory.productId = orderItem.productId; |
| changedByInfoHistories.each { changedByInfoHistory -> |
| if (changedByInfoHistory.lastUpdatedTxStamp == quantityHistory.lastUpdatedTxStamp) { |
| if(changedByInfoHistory.newValueText) { |
| orderQuantityHistory.changedByUser = changedByInfoHistory.newValueText; |
| } else { |
| orderQuantityHistory.changedByUser = changedByInfoHistory.oldValueText; |
| } |
| } |
| } |
| orderQuantityHistories.add(orderQuantityHistory); |
| } |
| } |
| } |
| context.orderQuantityHistories = orderQuantityHistories; |
| } |