| <#-- |
| 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. |
| --> |
| |
| <script language="JavaScript" type="text/javascript"> |
| function clearLine(facilityId, orderId, orderItemSeqId, productId, shipGroupSeqId, inventoryItemId, packageSeqId) { |
| document.clearPackLineForm.facilityId.value = facilityId; |
| document.clearPackLineForm.orderId.value = orderId; |
| document.clearPackLineForm.orderItemSeqId.value = orderItemSeqId; |
| document.clearPackLineForm.productId.value = productId; |
| document.clearPackLineForm.shipGroupSeqId.value = shipGroupSeqId; |
| document.clearPackLineForm.inventoryItemId.value = inventoryItemId; |
| document.clearPackLineForm.packageSeqId.value = packageSeqId; |
| document.clearPackLineForm.submit(); |
| } |
| </script> |
| |
| <#if security.hasEntityPermission("FACILITY", "_VIEW", session)> |
| <#assign showInput = requestParameters.showInput?default("Y")> |
| <#assign hideGrid = requestParameters.hideGrid?default("N")> |
| |
| <#if (requestParameters.forceComplete?has_content && !invoiceIds?has_content)> |
| <#assign forceComplete = "true"> |
| <#assign showInput = "Y"> |
| </#if> |
| |
| <div class="screenlet"> |
| <div class="screenlet-title-bar"> |
| <ul> |
| <li class="h3">${uiLabelMap.ProductPackOrder} in ${facility.facilityName!} [${facilityId!}]</li> |
| </ul> |
| <br class="clear"/> |
| </div> |
| <div class="screenlet-body"> |
| <#if invoiceIds?has_content> |
| <div> |
| ${uiLabelMap.CommonView} <a href="<@ofbizUrl>/PackingSlip.pdf?shipmentId=${shipmentId}</@ofbizUrl>" target="_blank" class="buttontext">${uiLabelMap.ProductPackingSlip}</a> ${uiLabelMap.CommonOr} |
| ${uiLabelMap.CommonView} <a href="<@ofbizUrl>/ShipmentBarCode.pdf?shipmentId=${shipmentId}</@ofbizUrl>" target="_blank" class="buttontext">${uiLabelMap.ProductBarcode}</a> ${uiLabelMap.CommonFor} ${uiLabelMap.ProductShipmentId} <a href="<@ofbizUrl>/ViewShipment?shipmentId=${shipmentId}</@ofbizUrl>" class="buttontext">${shipmentId}</a> |
| </div> |
| <#if invoiceIds?exists && invoiceIds?has_content> |
| <div> |
| <p>${uiLabelMap.AccountingInvoices}:</p> |
| <ul> |
| <#list invoiceIds as invoiceId> |
| <li> |
| ${uiLabelMap.CommonNbr}<a href="/accounting/control/invoiceOverview?invoiceId=${invoiceId}${StringUtil.wrapString(externalKeyParam)}" target="_blank" class="buttontext">${invoiceId}</a> |
| (<a href="/accounting/control/invoice.pdf?invoiceId=${invoiceId}${StringUtil.wrapString(externalKeyParam)}" target="_blank" class="buttontext">PDF</a>) |
| </li> |
| </#list> |
| </ul> |
| </div> |
| </#if> |
| </#if> |
| <br /> |
| |
| <!-- select order form --> |
| <form name="selectOrderForm" method="post" action="<@ofbizUrl>PackOrder</@ofbizUrl>"> |
| <input type="hidden" name="facilityId" value="${facilityId!}" /> |
| <table cellspacing="0" class="basic-table"> |
| <tr> |
| <td width="25%" align="right"><span class="label">${uiLabelMap.ProductOrderId}</span></td> |
| <td width="1"> </td> |
| <td width="25%"> |
| <input type="text" name="orderId" size="20" maxlength="20" value="${orderId!}"/> |
| / |
| <input type="text" name="shipGroupSeqId" size="6" maxlength="6" value="${shipGroupSeqId?default("00001")}"/> |
| </td> |
| <td><label><span class="label">${uiLabelMap.ProductHideGrid}</span> <input type="checkbox" name="hideGrid" value="Y" <#if (hideGrid == "Y")>checked=""</#if> /></label></td> |
| <td> </td> |
| </tr> |
| <tr> |
| <td colspan="2"> </td> |
| <td colspan="2"> |
| <input type="image" src="<@ofbizContentUrl>/images/spacer.gif</@ofbizContentUrl>" onclick="javascript:document.selectOrderForm.submit();" /> |
| <a href="javascript:document.selectOrderForm.submit();" class="buttontext">${uiLabelMap.ProductPackOrder}</a> |
| <a href="javascript:document.selectOrderForm.action='<@ofbizUrl>WeightPackageOnly</@ofbizUrl>';document.selectOrderForm.submit();" class="buttontext">${uiLabelMap.ProductWeighPackageOnly}</a> |
| </td> |
| </tr> |
| </table> |
| </form> |
| <br /> |
| |
| <!-- select picklist bin form --> |
| <form name="selectPicklistBinForm" method="post" action="<@ofbizUrl>PackOrder</@ofbizUrl>" style="margin: 0;"> |
| <input type="hidden" name="facilityId" value="${facilityId!}" /> |
| <table cellspacing="0" class="basic-table"> |
| <tr> |
| <td width="25%" align='right'><span class="label">${uiLabelMap.FormFieldTitle_picklistBinId}</span></td> |
| <td width="1"> </td> |
| <td width="25%"> |
| <input type="text" name="picklistBinId" size="29" maxlength="60" value="${picklistBinId!}"/> |
| </td> |
| <td><label><span class="label">${uiLabelMap.ProductHideGrid}</span> <input type="checkbox" name="hideGrid" value="Y" <#if (hideGrid == "Y")>checked=""</#if> /></label></td> |
| <td> </td> |
| </tr> |
| <tr> |
| <td colspan="2"> </td> |
| <td colspan="1"> |
| <input type="image" src="<@ofbizContentUrl>/images/spacer.gif</@ofbizContentUrl>" onclick="javascript:document.selectPicklistBinForm.submit();" /> |
| <a href="javascript:document.selectPicklistBinForm.submit();" class="buttontext">${uiLabelMap.ProductPackOrder}</a> |
| <a href="javascript:document.selectPicklistBinForm.action='<@ofbizUrl>WeightPackageOnly</@ofbizUrl>';document.selectPicklistBinForm.submit();" class="buttontext">${uiLabelMap.ProductWeighPackageOnly}</a> |
| </td> |
| </tr> |
| </table> |
| </form> |
| <form name="clearPackForm" method="post" action="<@ofbizUrl>ClearPackAll</@ofbizUrl>"> |
| <input type="hidden" name="orderId" value="${orderId!}"/> |
| <input type="hidden" name="shipGroupSeqId" value="${shipGroupSeqId!}"/> |
| <input type="hidden" name="facilityId" value="${facilityId!}"/> |
| </form> |
| <form name="incPkgSeq" method="post" action="<@ofbizUrl>SetNextPackageSeq</@ofbizUrl>"> |
| <input type="hidden" name="orderId" value="${orderId!}"/> |
| <input type="hidden" name="shipGroupSeqId" value="${shipGroupSeqId!}"/> |
| <input type="hidden" name="facilityId" value="${facilityId!}"/> |
| </form> |
| <form name="clearPackLineForm" method="post" action="<@ofbizUrl>ClearPackLine</@ofbizUrl>"> |
| <input type="hidden" name="facilityId"/> |
| <input type="hidden" name="orderId"/> |
| <input type="hidden" name="orderItemSeqId"/> |
| <input type="hidden" name="productId"/> |
| <input type="hidden" name="shipGroupSeqId"/> |
| <input type="hidden" name="inventoryItemId"/> |
| <input type="hidden" name="packageSeqId"/> |
| </form> |
| </div> |
| </div> |
| |
| <#if showInput != "N" && ((orderHeader?exists && orderHeader?has_content))> |
| <div class="screenlet"> |
| <div class="screenlet-title-bar"> |
| <ul> |
| <li class="h3">${uiLabelMap.ProductOrderId} ${uiLabelMap.CommonNbr}<a href="/ordermgr/control/orderview?orderId=${orderId}">${orderId}</a> / ${uiLabelMap.ProductOrderShipGroupId} #${shipGroupSeqId}</li> |
| </ul> |
| <br class="clear"/> |
| </div> |
| <div class="screenlet-body"> |
| <#if orderItemShipGroup?has_content> |
| <#if (orderItemShipGroup.contactMechId)?has_content> |
| <#assign postalAddress = orderItemShipGroup.getRelatedOne("PostalAddress", false)> |
| </#if> |
| <#assign carrier = orderItemShipGroup.carrierPartyId?default("N/A")> |
| <table cellpadding="4" cellspacing="4" class="basic-table"> |
| <tr> |
| <td valign="top"> |
| <#if postalAddress?exists > |
| <span class="label">${uiLabelMap.ProductShipToAddress}</span> |
| <br /> |
| ${uiLabelMap.CommonTo}: ${postalAddress.toName?default("")} |
| <br /> |
| <#if postalAddress.attnName?has_content> |
| ${uiLabelMap.CommonAttn}: ${postalAddress.attnName} |
| <br /> |
| </#if> |
| ${postalAddress.address1} |
| <br /> |
| <#if postalAddress.address2?has_content> |
| ${postalAddress.address2} |
| <br /> |
| </#if> |
| ${postalAddress.city!}, ${postalAddress.stateProvinceGeoId!} ${postalAddress.postalCode!} |
| <br /> |
| ${postalAddress.countryGeoId!} |
| <br /> |
| </#if> |
| </td> |
| <td> </td> |
| <td valign="top"> |
| <span class="label">${uiLabelMap.ProductCarrierShipmentMethod}</span> |
| <br /> |
| <#if carrier == "USPS"> |
| <#assign color = "red"> |
| <#elseif carrier == "UPS"> |
| <#assign color = "green"> |
| <#else> |
| <#assign color = "black"> |
| </#if> |
| <#if carrier != "_NA_"> |
| <font color="${color}">${carrier}</font> |
| |
| </#if> |
| <#assign description = (delegator.findOne("ShipmentMethodType", {"shipmentMethodTypeId":orderItemShipGroup.shipmentMethodTypeId}, false)).description> |
| ${description!"??"} |
| <br /> |
| <span class="label">${uiLabelMap.ProductEstimatedShipCostForShipGroup}</span> |
| <br /> |
| <#if shipmentCostEstimateForShipGroup?exists> |
| <@ofbizCurrency amount=shipmentCostEstimateForShipGroup isoCode=orderReadHelper.getCurrency()!/> |
| <br /> |
| </#if> |
| </td> |
| <td> </td> |
| <td valign="top"> |
| <span class="label">${uiLabelMap.OrderInstructions}</span> |
| <br /> |
| ${orderItemShipGroup.shippingInstructions?default("(${uiLabelMap.CommonNone})")} |
| </td> |
| </tr> |
| </table> |
| </#if> |
| |
| <!-- manual per item form --> |
| <#if showInput != "N"> |
| <hr /> |
| <form name="singlePackForm" method="post" action="<@ofbizUrl>ProcessPackOrder</@ofbizUrl>"> |
| <input type="hidden" name="packageSeq" value="${packingSession.getCurrentPackageSeq()}"/> |
| <input type="hidden" name="orderId" value="${orderId}"/> |
| <input type="hidden" name="shipGroupSeqId" value="${shipGroupSeqId}"/> |
| <input type="hidden" name="facilityId" value="${facilityId!}"/> |
| <input type="hidden" name="hideGrid" value="${hideGrid}"/> |
| <table cellpadding="2" cellspacing="0" class="basic-table"> |
| <tr> |
| <td> |
| <div> |
| <span class="label">${uiLabelMap.ProductProductNumber}</span> |
| <input type="text" name="productId" size="20" maxlength="20" value=""/> |
| @ |
| <input type="text" name="quantity" size="6" maxlength="6" value="1"/> |
| <a href="javascript:document.singlePackForm.submit();" class="buttontext">${uiLabelMap.ProductPackItem}</a> |
| </div> |
| </td> |
| <td> |
| <span class="label">${uiLabelMap.ProductCurrentPackageSequence}</span> |
| ${packingSession.getCurrentPackageSeq()} |
| <input type="button" value="${uiLabelMap.ProductNextPackage}" onclick="javascript:document.incPkgSeq.submit();" /> |
| </td> |
| </tr> |
| </table> |
| </form> |
| </#if> |
| |
| <!-- auto grid form --> |
| <#assign itemInfos = packingSession.getItemInfos()!> |
| <#if showInput != "N" && hideGrid != "Y" && itemInfos?has_content> |
| <br /> |
| <form name="multiPackForm" method="post" action="<@ofbizUrl>ProcessBulkPackOrder</@ofbizUrl>"> |
| <input type="hidden" name="facilityId" value="${facilityId!}" /> |
| <input type="hidden" name="orderId" value="${orderId!}" /> |
| <input type="hidden" name="shipGroupSeqId" value="${shipGroupSeqId!}" /> |
| <input type="hidden" name="originFacilityId" value="${facilityId!}" /> |
| <input type="hidden" name="hideGrid" value="${hideGrid}"/> |
| |
| <table class="basic-table" cellspacing='0'> |
| <tr class="header-row"> |
| <td> </td> |
| <td>${uiLabelMap.ProductItem} ${uiLabelMap.CommonNbr}</td> |
| <td>${uiLabelMap.ProductProductId}</td> |
| <td>${uiLabelMap.ProductInternalName}</td> |
| <td align="right">${uiLabelMap.ProductOrderedQuantity}</td> |
| <td align="right">${uiLabelMap.ProductQuantityShipped}</td> |
| <td align="right">${uiLabelMap.ProductPackedQty}</td> |
| <td> </td> |
| <td align="center">${uiLabelMap.ProductPackQty}</td> |
| <td align="center">${uiLabelMap.ProductPackedWeight} (${("uiLabelMap.ProductShipmentUomAbbreviation_" + defaultWeightUomId)?eval})</td> |
| <td align="center">${uiLabelMap.ProductPackage}</td> |
| <td align="right"> <b>*</b> ${uiLabelMap.ProductPackages}</td> |
| </tr> |
| |
| <#if (itemInfos?has_content)> |
| <#assign rowKey = 1> |
| <#list itemInfos as itemInfo> |
| <#assign orderItem = itemInfo.orderItem/> |
| <#assign shippedQuantity = orderReadHelper.getItemShippedQuantity(orderItem)!> |
| <#assign orderItemQuantity = itemInfo.quantity/> |
| <#assign orderProduct = orderItem.getRelatedOne("Product", false)!/> |
| <#assign product = Static["org.apache.ofbiz.product.product.ProductWorker"].findProduct(delegator, itemInfo.productId)!/> |
| <#assign inputQty = orderItemQuantity - packingSession.getPackedQuantity(orderId, orderItem.orderItemSeqId, shipGroupSeqId, itemInfo.productId)> |
| <tr> |
| <td><input type="checkbox" name="sel_${rowKey}" value="Y" <#if (inputQty >0)>checked=""</#if>/></td> |
| <td>${orderItem.orderItemSeqId}</td> |
| <td> |
| ${orderProduct.productId?default("N/A")} |
| <#if orderProduct.productId != product.productId> |
| ${product.productId?default("N/A")} |
| </#if> |
| </td> |
| <td> |
| <a href="/catalog/control/EditProduct?productId=${orderProduct.productId!}${StringUtil.wrapString(externalKeyParam)}" class="buttontext" target="_blank">${(orderProduct.internalName)!}</a> |
| <#if orderProduct.productId != product.productId> |
| [<a href="/catalog/control/EditProduct?productId=${product.productId!}${StringUtil.wrapString(externalKeyParam)}" class="buttontext" target="_blank">${(product.internalName)!}</a>] |
| </#if> |
| </td> |
| <td align="right">${orderItemQuantity}</td> |
| <td align="right">${shippedQuantity?default(0)}</td> |
| <td align="right">${packingSession.getPackedQuantity(orderId, orderItem.orderItemSeqId, shipGroupSeqId, itemInfo.productId)}</td> |
| <td> </td> |
| <td align="center"> |
| <input type="text" size="7" name="qty_${rowKey}" value="${inputQty}" /> |
| </td> |
| <td align="center"> |
| <input type="text" size="7" name="wgt_${rowKey}" value="" /> |
| </td> |
| <td align="center"> |
| <select name="pkg_${rowKey}"> |
| <#if packingSession.getPackageSeqIds()?exists> |
| <#list packingSession.getPackageSeqIds() as packageSeqId> |
| <option value="${packageSeqId}">${uiLabelMap.ProductPackage} ${packageSeqId}</option> |
| </#list> |
| <#assign nextPackageSeqId = packingSession.getPackageSeqIds().size() + 1> |
| <option value="${nextPackageSeqId}">${uiLabelMap.ProductNextPackage}</option> |
| <#else> |
| <option value="1">${uiLabelMap.ProductPackage} 1</option> |
| <option value="2">${uiLabelMap.ProductPackage} 2</option> |
| <option value="3">${uiLabelMap.ProductPackage} 3</option> |
| <option value="4">${uiLabelMap.ProductPackage} 4</option> |
| <option value="5">${uiLabelMap.ProductPackage} 5</option> |
| </#if> |
| </select> |
| </td> |
| <td align="right"> |
| <input type="text" size="7" name="numPackages_${rowKey}" value="1" /> |
| </td> |
| <input type="hidden" name="prd_${rowKey}" value="${itemInfo.productId!}"/> |
| <input type="hidden" name="ite_${rowKey}" value="${orderItem.orderItemSeqId}"/> |
| </tr> |
| <#assign rowKey = rowKey + 1> |
| </#list> |
| </#if> |
| <tr><td colspan="10"> </td></tr> |
| <tr> |
| <td colspan="12" align="right"> |
| <input type="submit" value="${uiLabelMap.ProductPackItem}" /> |
| |
| <input type="button" value="${uiLabelMap.CommonClear} (${uiLabelMap.CommonAll})" onclick="javascript:document.clearPackForm.submit();"/> |
| </td> |
| </tr> |
| </table> |
| </form> |
| <br /> |
| </#if> |
| |
| <!-- complete form --> |
| <#if showInput != "N"> |
| <form name="completePackForm" method="post" action="<@ofbizUrl>CompletePack</@ofbizUrl>"> |
| <input type="hidden" name="orderId" value="${orderId!}"/> |
| <input type="hidden" name="shipGroupSeqId" value="${shipGroupSeqId!}"/> |
| <input type="hidden" name="facilityId" value="${facilityId!}"/> |
| <input type="hidden" name="forceComplete" value="${forceComplete?default('false')}"/> |
| <input type="hidden" name="weightUomId" value="${defaultWeightUomId}"/> |
| <input type="hidden" name="showInput" value="N"/> |
| <hr/> |
| <table class="basic-table" cellpadding="2" cellspacing='0'> |
| <tr> |
| <#assign packageSeqIds = packingSession.getPackageSeqIds()/> |
| <#if packageSeqIds?has_content> |
| <td> |
| <span class="label">${uiLabelMap.ProductPackedWeight} (${("uiLabelMap.ProductShipmentUomAbbreviation_" + defaultWeightUomId)?eval}):</span> |
| <br /> |
| <#list packageSeqIds as packageSeqId> |
| ${uiLabelMap.ProductPackage} ${packageSeqId} |
| <input type="text" size="7" name="packageWeight_${packageSeqId}" value="${packingSession.getPackageWeight(packageSeqId?int)!}" /> |
| <br /> |
| </#list> |
| <#if orderItemShipGroup?has_content> |
| <input type="hidden" name="shippingContactMechId" value="${orderItemShipGroup.contactMechId!}"/> |
| <input type="hidden" name="shipmentMethodTypeId" value="${orderItemShipGroup.shipmentMethodTypeId!}"/> |
| <input type="hidden" name="carrierPartyId" value="${orderItemShipGroup.carrierPartyId!}"/> |
| <input type="hidden" name="carrierRoleTypeId" value="${orderItemShipGroup.carrierRoleTypeId!}"/> |
| <input type="hidden" name="productStoreId" value="${productStoreId!}"/> |
| </#if> |
| </td> |
| <#if carrierShipmentBoxTypes?has_content> |
| <td> |
| <span class="label">${uiLabelMap.ProductShipmentBoxType}</span> |
| <br/> |
| <#list packageSeqIds as packageSeqId> |
| <select name="boxType_${packageSeqId}"> |
| <option value=""></option> |
| <#list carrierShipmentBoxTypes as carrierShipmentBoxType> |
| <#assign shipmentBoxType = carrierShipmentBoxType.getRelatedOne("ShipmentBoxType", false) /> |
| <option value="${shipmentBoxType.shipmentBoxTypeId}">${shipmentBoxType.description?default(shipmentBoxType.shipmentBoxTypeId)}</option> |
| </#list> |
| </select> |
| <br/> |
| </#list> |
| </td> |
| </#if> |
| </#if> |
| <td nowrap="nowrap"> |
| <span class="label">${uiLabelMap.ProductAdditionalShippingCharge}:</span> |
| <br /> |
| <input type="text" name="additionalShippingCharge" value="${packingSession.getAdditionalShippingCharge()!}" size="20"/> |
| <#if packageSeqIds?has_content> |
| <a href="javascript:document.completePackForm.action='<@ofbizUrl>calcPackSessionAdditionalShippingCharge</@ofbizUrl>';document.completePackForm.submit();" class="buttontext">${uiLabelMap.ProductEstimateShipCost}</a> |
| <br /> |
| </#if> |
| </td> |
| <td> |
| <span class="label">${uiLabelMap.ProductHandlingInstructions}:</span> |
| <br /> |
| <textarea name="handlingInstructions" rows="2" cols="30">${packingSession.getHandlingInstructions()!}</textarea> |
| </td> |
| <td align="right"> |
| <div> |
| <#assign buttonName = "${uiLabelMap.ProductComplete}"> |
| <#if forceComplete?default("false") == "true"> |
| <#assign buttonName = "${uiLabelMap.ProductCompleteForce}"> |
| </#if> |
| <input type="button" value="${buttonName}" onclick="javascript:document.completePackForm.submit();"/> |
| </div> |
| </td> |
| </tr> |
| </table> |
| <br /> |
| </form> |
| </#if> |
| </div> |
| </div> |
| |
| <!-- display items in packages, per packed package and in order --> |
| <#assign linesByPackageResultMap = packingSession.getPackingSessionLinesByPackage()!> |
| <#assign packageMap = linesByPackageResultMap.get("packageMap")!> |
| <#assign sortedKeys = linesByPackageResultMap.get("sortedKeys")!> |
| <#if ((packageMap?has_content) && (sortedKeys?has_content))> |
| <div class="screenlet"> |
| <div class="screenlet-title-bar"> |
| <ul> |
| <li class="h3">${uiLabelMap.ProductPackages} : ${sortedKeys.size()!}</li> |
| </ul> |
| <br class="clear"/> |
| </div> |
| <div class="screenlet-body"> |
| <#list sortedKeys as key> |
| <#assign packedLines = packageMap.get(key)> |
| <#if packedLines?has_content> |
| <br /> |
| <#assign packedLine = packedLines.get(0)!> |
| <span class="label" style="font-size:1.2em">${uiLabelMap.ProductPackage} ${packedLine.getPackageSeq()!}</span> |
| <br /> |
| <table class="basic-table" cellspacing='0'> |
| <tr class="header-row"> |
| <td>${uiLabelMap.ProductItem} ${uiLabelMap.CommonNbr}</td> |
| <td>${uiLabelMap.ProductProductId}</td> |
| <td>${uiLabelMap.ProductProductDescription}</td> |
| <td>${uiLabelMap.ProductInventoryItem} ${uiLabelMap.CommonNbr}</td> |
| <td align="right">${uiLabelMap.ProductPackedQty}</td> |
| <td align="right">${uiLabelMap.ProductPackedWeight} (${("uiLabelMap.ProductShipmentUomAbbreviation_" + defaultWeightUomId)?eval}) (${uiLabelMap.ProductPackage})</td> |
| <td align="right">${uiLabelMap.ProductPackage} ${uiLabelMap.CommonNbr}</td> |
| <td> </td> |
| </tr> |
| <#list packedLines as line> |
| <#assign product = Static["org.apache.ofbiz.product.product.ProductWorker"].findProduct(delegator, line.getProductId())/> |
| <tr> |
| <td>${line.getOrderItemSeqId()}</td> |
| <td>${line.getProductId()?default("N/A")}</td> |
| <td> |
| <a href="/catalog/control/EditProduct?productId=${line.getProductId()!}${StringUtil.wrapString(externalKeyParam)}" class="buttontext" target="_blank">${product.internalName!?default("[N/A]")}</a> |
| </td> |
| <td>${line.getInventoryItemId()}</td> |
| <td align="right">${line.getQuantity()}</td> |
| <td align="right">${line.getWeight()} (${packingSession.getPackageWeight(line.getPackageSeq()?int)!})</td> |
| <td align="right">${line.getPackageSeq()}</td> |
| <td align="right"><a href="javascript:clearLine('${facilityId}', '${line.getOrderId()}', '${line.getOrderItemSeqId()}', '${line.getProductId()?default("")}', '${line.getShipGroupSeqId()}', '${line.getInventoryItemId()}', '${line.getPackageSeq()}')" class="buttontext">${uiLabelMap.CommonClear}</a></td> |
| </tr> |
| </#list> |
| </table> |
| </#if> |
| </#list> |
| </div> |
| </div> |
| </#if> |
| |
| <!-- packed items display --> |
| <#assign packedLines = packingSession.getLines()!> |
| <#if packedLines?has_content> |
| <div class="screenlet"> |
| <div class="screenlet-title-bar"> |
| <ul> |
| <li class="h3">${uiLabelMap.ProductItems} (${uiLabelMap.ProductPackages}): ${packedLines.size()!}</li> |
| </ul> |
| <br class="clear"/> |
| </div> |
| <div class="screenlet-body"> |
| <table class="basic-table" cellspacing='0'> |
| <tr class="header-row"> |
| <td>${uiLabelMap.ProductItem} ${uiLabelMap.CommonNbr}</td> |
| <td>${uiLabelMap.ProductProductId}</td> |
| <td>${uiLabelMap.ProductProductDescription}</td> |
| <td>${uiLabelMap.ProductInventoryItem} ${uiLabelMap.CommonNbr}</td> |
| <td align="right">${uiLabelMap.ProductPackedQty}</td> |
| <td align="right">${uiLabelMap.ProductPackedWeight} (${("uiLabelMap.ProductShipmentUomAbbreviation_" + defaultWeightUomId)?eval}) (${uiLabelMap.ProductPackage})</td> |
| <td align="right">${uiLabelMap.ProductPackage} ${uiLabelMap.CommonNbr}</td> |
| <td> </td> |
| </tr> |
| <#list packedLines as line> |
| <#assign product = Static["org.apache.ofbiz.product.product.ProductWorker"].findProduct(delegator, line.getProductId())/> |
| <tr> |
| <td>${line.getOrderItemSeqId()}</td> |
| <td>${line.getProductId()?default("N/A")}</td> |
| <td> |
| <a href="/catalog/control/EditProduct?productId=${line.getProductId()!}${StringUtil.wrapString(externalKeyParam)}" class="buttontext" target="_blank">${product.internalName!?default("[N/A]")}</a> |
| </td> |
| <td>${line.getInventoryItemId()}</td> |
| <td align="right">${line.getQuantity()}</td> |
| <td align="right">${line.getWeight()} (${packingSession.getPackageWeight(line.getPackageSeq()?int)!})</td> |
| <td align="right">${line.getPackageSeq()}</td> |
| <td align="right"><a href="javascript:clearLine('${facilityId}', '${line.getOrderId()}', '${line.getOrderItemSeqId()}', '${line.getProductId()?default("")}', '${line.getShipGroupSeqId()}', '${line.getInventoryItemId()}', '${line.getPackageSeq()}')" class="buttontext">${uiLabelMap.CommonClear}</a></td> |
| </tr> |
| </#list> |
| </table> |
| </div> |
| </div> |
| </#if> |
| </#if> |
| |
| <#if orderId?has_content> |
| <script language="javascript" type="text/javascript"> |
| document.singlePackForm.productId.focus(); |
| </script> |
| <#else> |
| <script language="javascript" type="text/javascript"> |
| document.selectOrderForm.orderId.focus(); |
| </script> |
| </#if> |
| <#else> |
| <h3>${uiLabelMap.ProductFacilityViewPermissionError}</h3> |
| </#if> |