| /* |
| * 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.util.EntityUtil |
| import org.apache.ofbiz.order.order.OrderReadHelper |
| |
| shipmentId = parameters.shipmentId |
| shipment = from("Shipment").where("shipmentId", shipmentId).queryOne() |
| |
| context.shipmentIdPar = shipment.shipmentId |
| |
| if (shipment) { |
| shipmentPackages = from("ShipmentPackage").where("shipmentId", shipmentId).queryList() |
| records = [] |
| orderReaders = [:] |
| shipmentPackages.each { shipmentPackage -> |
| shipmentPackageComponents = from("ShipmentPackageContent").where("shipmentId", shipmentId, "shipmentPackageSeqId", shipmentPackage.shipmentPackageSeqId).queryList() |
| shipmentPackageComponents.each { shipmentPackageComponent -> |
| shipmentItem = shipmentPackageComponent.getRelatedOne("ShipmentItem", false) |
| orderShipments = shipmentItem.getRelated("OrderShipment", null, null, false) |
| orderShipment = EntityUtil.getFirst(orderShipments) |
| |
| String orderId = null |
| String orderItemSeqId = null |
| if (orderShipment) { |
| orderId = orderShipment.orderId |
| orderItemSeqId = orderShipment.orderItemSeqId |
| } |
| |
| record = [:] |
| if (shipmentPackageComponent.subProductId) { |
| record.productId = shipmentPackageComponent.subProductId |
| record.quantity = shipmentPackageComponent.subQuantity |
| } else { |
| record.productId = shipmentItem.productId |
| record.quantity = shipmentPackageComponent.quantity |
| } |
| record.shipmentPackageSeqId = shipmentPackageComponent.shipmentPackageSeqId |
| record.orderId = orderId |
| record.orderItemSeqId = orderItemSeqId |
| product = from("Product").where("productId", record.productId).queryOne() |
| record.productName = product.internalName |
| record.shipDate = shipment.estimatedShipDate |
| // --- |
| orderReadHelper = null |
| if (orderReaders.containsKey(orderId)) { |
| orderReadHelper = (OrderReadHelper)orderReaders.get(orderId) |
| } else { |
| orderHeader = from("OrderHeader").where("orderId", orderId).queryOne() |
| orderReadHelper = new OrderReadHelper(orderHeader) |
| orderReaders.put(orderId, orderReadHelper) |
| } |
| displayParty = orderReadHelper.getPlacingParty() |
| shippingAddress = orderReadHelper.getShippingAddress() |
| record.shippingAddressName = shippingAddress.toName |
| record.shippingAddressAddress = shippingAddress.address1 |
| record.shippingAddressCity = shippingAddress.city |
| record.shippingAddressPostalCode = shippingAddress.postalCode |
| record.shippingAddressCountry = shippingAddress.countryGeoId |
| records.add(record) |
| } |
| } |
| context.records = records |
| |
| // check permission |
| hasPermission = false |
| if (security.hasEntityPermission("MANUFACTURING", "_VIEW", session)) { |
| hasPermission = true |
| } |
| context.hasPermission = hasPermission |
| } |
| |
| return "success" |