blob: 7e0a45e9266c1a1ef523c6efea2449d51fe274e0 [file] [log] [blame]
/*
* 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"