ilscipio/scipio-erp

View on GitHub
applications/product/webapp/facility/WEB-INF/actions/shipment/ShipmentManifest.groovy

Summary

Maintainability
Test Coverage
/*
 * 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.ofbiz.entity.*
import org.ofbiz.base.util.*
import org.ofbiz.content.report.*

shipmentId = request.getParameter("shipmentId");
shipment = from("Shipment").where("shipmentId", shipmentId).queryOne();

if (shipment) {
    shipmentPackageRouteSegs = shipment.getRelated("ShipmentPackageRouteSeg", null, ['shipmentRouteSegmentId', 'shipmentPackageSeqId'], false);
    shipmentPackageDatas = [] as LinkedList;
    if (shipmentPackageRouteSegs) {
        shipmentPackageRouteSegs.each { shipmentPackageRouteSeg ->
            shipmentPackages = shipmentPackageRouteSeg.getRelated("ShipmentPackage", null, ['shipmentPackageSeqId'], false);
            shipmentRouteSegment = shipmentPackageRouteSeg.getRelatedOne("ShipmentRouteSegment", false);
            if (shipmentPackages) {
                shipmentPackages.each { shipmentPackage ->
                    shipmentItemsDatas = [] as LinkedList;
                    shipmentPackageContents = shipmentPackage.getRelated("ShipmentPackageContent", null, ['shipmentItemSeqId'], false);
                    if (shipmentPackageContents) {
                        shipmentPackageContents.each { shipmentPackageContent ->
                            shipmentItemsData = [:];
                            packageQuantity = shipmentPackageContent.getDouble("quantity");
                            shipmentItem = shipmentPackageContent.getRelatedOne("ShipmentItem", false);
                            if (shipmentItem) {
                                shippedQuantity = shipmentItem.getDouble("quantity");
                                shipmentItemsData.shipmentItem = shipmentItem;
                                shipmentItemsData.shippedQuantity = shippedQuantity;
                                shipmentItemsData.packageQuantity = packageQuantity;
                                shipmentItemsDatas.add(shipmentItemsData);
                            }
                        }
                    }
                    shipmentPackageData = [:];
                    shipmentPackageData.shipmentPackage = shipmentPackage;
                    shipmentPackageData.shipmentRouteSegment = shipmentRouteSegment;
                    shipmentPackageData.shipmentItemsDatas = shipmentItemsDatas;
                    shipmentPackageDatas.add(shipmentPackageData);
                }
            }
        }
    }
    context.shipmentPackageDatas = shipmentPackageDatas;
}
context.shipmentId = shipmentId;
context.shipment = shipment;