Author: jleroux
Date: Mon Mar 28 11:10:43 2016 New Revision: 1736867 URL: http://svn.apache.org/viewvc?rev=1736867&view=rev Log: A patch from Pierre Smits for <<relocate .ftl files in the manufacturing component>> https://issues.apache.org/jira/browse/OFBIZ-6817 Added: ofbiz/trunk/applications/manufacturing/template/ ofbiz/trunk/applications/manufacturing/template/bom/ ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl (with props) ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy (with props) ofbiz/trunk/applications/manufacturing/template/mrp/ ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/ ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/PRunsInfoAndOrder.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/PRunsProductsAndOrder.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/PRunsProductsByFeature.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/PRunsProductsStacks.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/PackageContentsAndOrder.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/ShipmentLabel.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/ShipmentPlanStockReport.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/reports/ShipmentWorkEffortTasks.fo.ftl (with props) ofbiz/trunk/applications/manufacturing/template/routing/ ofbiz/trunk/applications/manufacturing/template/routing/EditCalendar.ftl (with props) ofbiz/trunk/applications/manufacturing/template/routing/EditCalendarExceptionDay.ftl (with props) ofbiz/trunk/applications/manufacturing/template/routing/EditCalendarExceptionWeek.ftl (with props) ofbiz/trunk/applications/manufacturing/template/routing/EditRoutingTaskAssoc.ftl (with props) Removed: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/bom/BomSimulation.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/bom/EditProductBom.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/CuttingListReport.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/MrpReports.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRun.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunCosts.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunTasksInfo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ShowProductionRun.groovy ofbiz/trunk/applications/manufacturing/webapp/manufacturing/mrp/findInventoryEventPlan.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PRunsComponentsByFeature.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PRunsInfoAndOrder.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PRunsProductsAndOrder.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PRunsProductsByFeature.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PRunsProductsStacks.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/PackageContentsAndOrder.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/ShipmentLabel.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/ShipmentPlanStockReport.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/reports/ShipmentWorkEffortTasks.fo.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/routing/EditCalendar.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/routing/EditCalendarExceptionDay.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/routing/EditCalendarExceptionWeek.ftl ofbiz/trunk/applications/manufacturing/webapp/manufacturing/routing/EditRoutingTaskAssoc.ftl Modified: ofbiz/trunk/applications/manufacturing/widget/manufacturing/BomScreens.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/CalendarScreens.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/MrpScreens.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/ReportScreens.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/RoutingScreens.xml Added: ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,143 @@ +<#-- +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. +--> + +<#if requestParameters.lookupFlag?default("N") == "Y"> + <#if selectedFeatures?has_content> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.ManufacturingSelectedFeatures}</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> + <#list selectedFeatures as selectedFeature> + <p>${selectedFeature.productFeatureTypeId} = ${selectedFeature.description!} [${selectedFeature.productFeatureId}]</p> + </#list> +<#else> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.ManufacturingBomSimulation}</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> +</#if> + <table class="basic-table" cellspacing="0"> + <tr class="header-row"> + <td width="10%">${uiLabelMap.ManufacturingProductLevel}</td> + <td width="20%">${uiLabelMap.ProductProductId}</td> + <td width="10%">${uiLabelMap.ManufacturingProductVirtual}</td> + <td width="40%">${uiLabelMap.ProductProductName}</td> + <td width="10%" align="right">${uiLabelMap.CommonQuantity}</td> + <td width="10%" align="right"> </td> + </tr> + <#if tree?has_content> + <#assign alt_row = false> + <#list tree as node> + <tr valign="middle"<#if alt_row> class="alternate-row"</#if>> + <td> + <table cellspacing="1"> + <tr> + <td>${node.depth}</td> + <#list 0..(node.depth) as level> + <td bgcolor="red"> </td> + </#list> + </tr> + </table> + </td> + <td> + <table cellspacing="1"> + <tr> + <#list 0..(node.depth) as level> + <td> </td> + </#list> + <td> + ${node.product.productId} + </td> + </tr> + </table> + </td> + <td> + <#if node.product.isVirtual?default("N") == "Y"> + ${node.product.isVirtual} + </#if> + ${(node.ruleApplied.ruleId)!} + </td> + <td>${node.product.internalName?default(" ")}</td> + <td align="right">${node.quantity}</td> + <td align="right"><a href="<@ofbizUrl>EditProductBom?productId=${(node.product.productId)!}&productAssocTypeId=${(node.bomTypeId)!}</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonEdit}</a></td> + </tr> + <#-- toggle the row color --> + <#assign alt_row = !alt_row> + </#list> + <#else> + <tr> + <td colspan="6">${uiLabelMap.CommonNoElementFound}.</td> + </tr> + </#if> + </table> + <br /> + <table class="basic-table" cellspacing="0"> + <tr class="header-row"> + <td width="20%">${uiLabelMap.ProductProductId}</td> + <td width="50%">${uiLabelMap.ProductProductName}</td> + <td width="6%" align="right">${uiLabelMap.CommonQuantity}</td> + <td width="6%" align="right">${uiLabelMap.ProductQoh}</td> + <td width="6%" align="right">${uiLabelMap.ProductWeight}</td> + <td width="6%" align="right">${uiLabelMap.FormFieldTitle_cost}</td> + <td width="6%" align="right">${uiLabelMap.CommonTotalCost}</td> + </tr> + <#if productsData?has_content> + <#assign alt_row = false> + <#list productsData as productData> + <#assign node = productData.node> + <tr valign="middle"<#if alt_row> class="alternate-row"</#if>> + <td><a href="/catalog/control/EditProduct?productId=${node.product.productId}${StringUtil.wrapString(externalKeyParam)}" class="buttontext">${node.product.productId}</a></td> + <td>${node.product.internalName?default(" ")}</td> + <td align="right">${node.quantity}</td> + <td align="right">${productData.qoh!}</td> + <td align="right">${node.product.productWeight!}</td> + <#if productData.unitCost?? && (productData.unitCost > 0)> + <td align="right">${productData.unitCost!}</td> + <#else> + <td align="right"><a href="/catalog/control/EditProductCosts?productId=${node.product.productId}${StringUtil.wrapString(externalKeyParam)}" class="buttontext">NA</a></td> + </#if> + <td align="right">${productData.totalCost!}</td> + </tr> + <#-- toggle the row color --> + <#assign alt_row = !alt_row> + </#list> + <#-- + <#if grandTotalCost??> + <tr> + <td colspan="6" align="right">${grandTotalCost}</td> + </tr> + </#if> + --> + <#else> + <tr> + <td colspan="6">${uiLabelMap.CommonNoElementFound}.</td> + </tr> + </#if> + </table> + </div> +</div> +</#if> Propchange: ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/bom/BomSimulation.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,330 @@ +<#-- +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 lookupBom() { + document.searchbom.productId.value=document.editProductAssocForm.productId.value; + document.searchbom.productAssocTypeId.value=document.editProductAssocForm.productAssocTypeId.options[document.editProductAssocForm.productAssocTypeId.selectedIndex].value; + document.searchbom.submit(); +} +// --> +</script> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.PageTitleEditProductBom} <#if product??>${(product.internalName)!}</#if> [${uiLabelMap.CommonId} ${productId!}]</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> + <#if product?has_content> + <a href="<@ofbizUrl>BomSimulation</@ofbizUrl>?productId=${productId}&bomType=${productAssocTypeId}" class="buttontext">${uiLabelMap.ManufacturingBomSimulation}</a> + </#if> + <br /> + <br /> + <form name="searchform" action="<@ofbizUrl>UpdateProductBom</@ofbizUrl>#topform" method="post"> + <input type="hidden" name="UPDATE_MODE" value=""/> + + <table class="basic-table" cellspacing="0"> + <tr> + <td align="right">${uiLabelMap.ManufacturingBomType}</td> + <td> <a name="topform"/></td> + <td> + <select name="productAssocTypeId" size="1"> + <#if productAssocTypeId?has_content> + <#assign curAssocType = delegator.findOne("ProductAssocType", Static["org.ofbiz.base.util.UtilMisc"].toMap("productAssocTypeId", productAssocTypeId), false)> + <#if curAssocType??> + <option selected="selected" value="${(curAssocType.productAssocTypeId)!}">${(curAssocType.get("description",locale))!}</option> + <option value="${(curAssocType.productAssocTypeId)!}"></option> + </#if> + </#if> + <#list assocTypes as assocType> + <option value="${(assocType.productAssocTypeId)!}">${(assocType.get("description",locale))!}</option> + </#list> + </select> + </td> + <td align="right">${uiLabelMap.ProductProductId}</td> + <td> </td> + <td> + <@htmlTemplate.lookupField value="${productId!}" formName="searchform" name="productId" id="productId" fieldFormName="LookupProduct"/> + <span><a href="javascript:document.searchform.submit();" class="buttontext">${uiLabelMap.ManufacturingShowBOMAssocs}</a></span> + </td> + </tr> + <tr> + <td colspan='3'> + + </td> + <td align="right">${uiLabelMap.ManufacturingCopyToProductId}</td> + <td> </td> + <td> + <@htmlTemplate.lookupField formName="searchform" name="copyToProductId" id="copyToProductId" fieldFormName="LookupProduct"/> + <span><a href="javascript:document.searchform.UPDATE_MODE.value='COPY';document.searchform.submit();" class="buttontext">${uiLabelMap.ManufacturingCopyBOMAssocs}</a></span> + </td> + </tr> + </table> + </form> + <hr /> + <form action="<@ofbizUrl>UpdateProductBom</@ofbizUrl>" method="post" name="editProductAssocForm"> + <#if !(productAssoc??)> + <input type="hidden" name="UPDATE_MODE" value="CREATE"/> + <table class="basic-table" cellspacing="0"> + <tr> + <td align="right">${uiLabelMap.ManufacturingBomType}</td> + <td> </td> + <td> + <select name="productAssocTypeId" size="1"> + <#if productAssocTypeId?has_content> + <#assign curAssocType = delegator.findOne("ProductAssocType", Static["org.ofbiz.base.util.UtilMisc"].toMap("productAssocTypeId", productAssocTypeId), false)> + <#if curAssocType??> + <option selected="selected" value="${(curAssocType.productAssocTypeId)!}">${(curAssocType.get("description",locale))!}</option> + <option value="${(curAssocType.productAssocTypeId)!}"></option> + </#if> + </#if> + <#list assocTypes as assocType> + <option value="${(assocType.productAssocTypeId)!}">${(assocType.get("description",locale))!}</option> + </#list> + </select> + </td> + </tr> + <tr> + <td align="right">${uiLabelMap.ProductProductId}</td> + <td> </td> + <td> + <@htmlTemplate.lookupField value="${productId!}" formName="editProductAssocForm" name="productId" id="productId2" fieldFormName="LookupProduct"/> + </td> + </tr> + <tr> + <td align="right">${uiLabelMap.ManufacturingProductIdTo}</td> + <td> </td> + <td> + <@htmlTemplate.lookupField value="${productIdTo!}" formName="editProductAssocForm" name="productIdTo" id="productIdTo" fieldFormName="LookupProduct"/> + </td> + </tr> + <tr> + <td align="right">${uiLabelMap.CommonFromDate}</td> + <td> </td> + <td> + <@htmlTemplate.renderDateTimeField name="fromDate" event="" action="" className="" alert="" title="Format: yyyy-MM-dd HH:mm:ss.SSS" value="" size="25" maxlength="50" id="fromDate_1" dateType="date" shortDateInput=false timeDropdownParamName="" defaultDateTimeString="" localizedIconTitle="" timeDropdown="" timeHourName="" classString="" hour1="" hour2="" timeMinutesName="" minutes="" isTwelveHour="" ampmName="" amSelected="" pmSelected="" compositeType="" formName=""/> + <span class="tooltip">(${uiLabelMap.ManufacturingWillBeSetToNow})</span> + </td> + </tr> + <#else> + <#assign curProductAssocType = productAssoc.getRelatedOne("ProductAssocType", true)> + <input type="hidden" name="UPDATE_MODE" value="UPDATE"/> + <input type="hidden" name="productId" value="${productId!}"/> + <input type="hidden" name="productIdTo" value="${productIdTo!}"/> + <input type="hidden" name="productAssocTypeId" value="${productAssocTypeId!}"/> + <input type="hidden" name="fromDate" value="${fromDate!}"/> + <table class="basic-table" cellspacing="0"> + <tr> + <td align="right">${uiLabelMap.ProductProductId}</td> + <td> </td> + <td>${productId!}</td> + </tr> + <tr> + <td align="right">${uiLabelMap.ManufacturingProductIdTo}</td> + <td> </td> + <td>${productIdTo!}</td> + </tr> + <tr> + <td align="right">${uiLabelMap.ManufacturingBomType}</td> + <td> </td> + <td><#if curProductAssocType??>${(curProductAssocType.get("description",locale))!}<#else> ${productAssocTypeId!}</#if></td> + </tr> + <tr> + <td align="right">${uiLabelMap.CommonFromDate}</td> + <td> </td> + <td>${fromDate!}</td> + </tr> + </#if> + <tr> + <td width="26%" align="right">${uiLabelMap.CommonThruDate}</td> + <td> </td> + <td width="74%"> + <#if useValues> + <#assign value= productAssoc.thruDate!> + <#else> + <#assign value= request.getParameter("thruDate")!> + </#if> + <@htmlTemplate.renderDateTimeField value="${value!''}" name="thruDate" className="" event="" action="" alert="" title="Format: yyyy-MM-dd HH:mm:ss.SSS" size="30" maxlength="30" id="fromDate_2" dateType="date" shortDateInput=false timeDropdownParamName="" defaultDateTimeString="" localizedIconTitle="" timeDropdown="" timeHourName="" classString="" hour1="" hour2="" timeMinutesName="" minutes="" isTwelveHour="" ampmName="" amSelected="" pmSelected="" compositeType="" formName=""/> + </td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.CommonSequenceNum}</td> + <td> </td> + <td width="74%"><input type="text" name="sequenceNum" <#if useValues>value="${(productAssoc.sequenceNum)!}"<#else>value="${(request.getParameter("sequenceNum"))!}"</#if> size="5" maxlength="10"/></td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingReason}</td> + <td> </td> + <td width="74%"><input type="text" name="reason" <#if useValues>value="${(productAssoc.reason)!}"<#else>value="${(request.getParameter("reason"))!}"</#if> size="60" maxlength="255"/></td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingInstruction}</td> + <td> </td> + <td width="74%"><input type="text" name="instruction" <#if useValues>value="${(productAssoc.instruction)!}"<#else>value="${(request.getParameter("instruction"))!}"</#if> size="60" maxlength="255"/></td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingQuantity}</td> + <td> </td> + <td width="74%"><input type="text" name="quantity" <#if useValues>value="${(productAssoc.quantity)!}"<#else>value="${(request.getParameter("quantity"))!}"</#if> size="10" maxlength="15"/></td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingScrapFactor}</td> + <td> </td> + <td width="74%"><input type="text" name="scrapFactor" <#if useValues>value="${(productAssoc.scrapFactor)!}"<#else>value="${(request.getParameter("scrapFactor"))!}"</#if> size="10" maxlength="15"/></td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingFormula}</td> + <td> </td> + <td width="74%"> + <select name="estimateCalcMethod"> + <option value=""> </option> + <#assign selectedFormula = ""> + <#if useValues> + <#assign selectedFormula = (productAssoc.estimateCalcMethod)!> + <#else> + <#assign selectedFormula = (request.getParameter("estimateCalcMethod"))!> + </#if> + <#list formulae as formula> + <option value="${formula.customMethodId}" <#if selectedFormula = formula.customMethodId>selected="selected"</#if>>${formula.get("description",locale)!}</option> + </#list> + </select> + </td> + </tr> + <tr> + <td width="26%" align="right">${uiLabelMap.ManufacturingRoutingTask}</td> + <td> </td> + <td width="74%"> + <#if useValues> + <#assign value = productAssoc.routingWorkEffortId!> + <#else> + <#assign value = request.getParameter("routingWorkEffortId")!> + </#if> + <#if value?has_content> + <@htmlTemplate.lookupField value="${value}" formName="editProductAssocForm" name="routingWorkEffortId" id="routingWorkEffortId" fieldFormName="LookupRoutingTask"/> + <#else> + <@htmlTemplate.lookupField formName="editProductAssocForm" name="routingWorkEffortId" id="routingWorkEffortId" fieldFormName="LookupRoutingTask"/> + </#if> + </td> + </tr> + <tr> + <td colspan="2"> </td> + <td><input type="submit" <#if !(productAssoc??)>value="${uiLabelMap.CommonAdd}"<#else>value="${uiLabelMap.CommonEdit}"</#if>/></td> + </tr> + </table> + </form> + </div> +</div> +<#if productId?? && product??> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.ManufacturingProductComponents}</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> + <a name="components"></a> + <table class="basic-table" cellspacing="0"> + <tr class="header-row"> + <td>${uiLabelMap.ProductProductId}</td> + <td>${uiLabelMap.ProductProductName}</td> + <td>${uiLabelMap.CommonFromDate}</td> + <td>${uiLabelMap.CommonThruDate}</td> + <td>${uiLabelMap.CommonSequenceNum}</td> + <td>${uiLabelMap.CommonQuantity}</td> + <td>${uiLabelMap.ManufacturingScrapFactor}</td> + <td>${uiLabelMap.ManufacturingFormula}</td> + <td>${uiLabelMap.ManufacturingRoutingTask}</td> + <td> </td> + <td> </td> + </tr> + <#assign alt_row = false> + <#list assocFromProducts! as assocFromProduct> + <#assign listToProduct = assocFromProduct.getRelatedOne("AssocProduct", true)> + <#assign curProductAssocType = assocFromProduct.getRelatedOne("ProductAssocType", true)> + <tr valign="middle"<#if alt_row> class="alternate-row"</#if>> + <td><a href="<@ofbizUrl>EditProductBom?productId=${(assocFromProduct.productIdTo)!}&productAssocTypeId=${(assocFromProduct.productAssocTypeId)!}#components</@ofbizUrl>" class="buttontext">${(assocFromProduct.productIdTo)!}</a></td> + <td><#if listToProduct??><a href="<@ofbizUrl>EditProductBom?productId=${(assocFromProduct.productIdTo)!}&productAssocTypeId=${(assocFromProduct.productAssocTypeId)!}#components</@ofbizUrl>" class="buttontext">${(listToProduct.internalName)!}</a></#if> </td> + <td<#if (assocFromProduct.getTimestamp("fromDate"))?? && nowDate.before(assocFromProduct.getTimestamp("fromDate"))> class="alert"</#if>> + ${(assocFromProduct.fromDate)!} </td> + <td<#if (assocFromProduct.getTimestamp("thruDate"))?? && nowDate.after(assocFromProduct.getTimestamp("thruDate"))> class="alert"</#if>> + ${(assocFromProduct.thruDate)!} </td> + <td> ${(assocFromProduct.sequenceNum)!}</td> + <td> ${(assocFromProduct.quantity)!}</td> + <td> ${(assocFromProduct.scrapFactor)!}</td> + <td> ${(assocFromProduct.estimateCalcMethod)!}</td> + <td> ${(assocFromProduct.routingWorkEffortId)!}</td> + <td> + <a href="<@ofbizUrl>UpdateProductBom?UPDATE_MODE=DELETE&productId=${productId}&productIdTo=${(assocFromProduct.productIdTo)!}&productAssocTypeId=${(assocFromProduct.productAssocTypeId)!}&fromDate=${(assocFromProduct.fromDate)!}&useValues=true</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonDelete}</a> + </td> + <td> + <a href="<@ofbizUrl>EditProductBom?productId=${productId}&productIdTo=${(assocFromProduct.productIdTo)!}&productAssocTypeId=${(assocFromProduct.productAssocTypeId)!}&fromDate=${(assocFromProduct.fromDate)!}&useValues=true</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonEdit}</a> + </td> + </tr> + <#-- toggle the row color --> + <#assign alt_row = !alt_row> + </#list> + </table> + </div> +</div> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.ManufacturingProductComponentOf}</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> + <table class="basic-table" cellspacing="0"> + <tr class="header-row"> + <td>${uiLabelMap.ProductProductId}</td> + <td>${uiLabelMap.ProductProductName}</td> + <td>${uiLabelMap.CommonFromDate}</td> + <td>${uiLabelMap.CommonThruDate}</td> + <td>${uiLabelMap.CommonQuantity}</td> + <td> </td> + </tr> + <#assign alt_row = false> + <#list assocToProducts! as assocToProduct> + <#assign listToProduct = assocToProduct.getRelatedOne("MainProduct", true)> + <#assign curProductAssocType = assocToProduct.getRelatedOne("ProductAssocType", true)> + <tr valign="middle"<#if alt_row> class="alternate-row"</#if>> + <td><a href="<@ofbizUrl>EditProductBom?productId=${(assocToProduct.productId)!}&productAssocTypeId=${(assocToProduct.productAssocTypeId)!}#components</@ofbizUrl>" class="buttontext">${(assocToProduct.productId)!}</a></td> +<!-- <td><#if listToProduct??><a href="<@ofbizUrl>EditProduct?productId=${(assocToProduct.productId)!}</@ofbizUrl>" class="buttontext">${(listToProduct.internalName)!}</a></#if></td> --> + <td><#if listToProduct??><a href="<@ofbizUrl>EditProductBom?productId=${(assocToProduct.productId)!}&productAssocTypeId=${(assocToProduct.productAssocTypeId)!}#components</@ofbizUrl>" class="buttontext">${(listToProduct.internalName)!}</a></#if></td> + <td>${(assocToProduct.getTimestamp("fromDate"))!} </td> + <td>${(assocToProduct.getTimestamp("thruDate"))!} </td> + <td>${(assocToProduct.quantity)!} </td> + <td> + <a href="<@ofbizUrl>UpdateProductBom?UPDATE_MODE=DELETE&productId=${(assocToProduct.productId)!}&productIdTo=${(assocToProduct.productIdTo)!}&productAssocTypeId=${(assocToProduct.productAssocTypeId)!}&fromDate=${Static["org.ofbiz.base.util.UtilFormatOut"].encodeQueryValue(assocToProduct.getTimestamp("fromDate").toString())}&useValues=true</@ofbizUrl>" class="buttontext"> + ${uiLabelMap.CommonDelete}</a> + </td> + </tr> + <#-- toggle the row color --> + <#assign alt_row = !alt_row> + </#list> + </table> + <br /> + ${uiLabelMap.CommonNote}: <b class="alert">${uiLabelMap.CommonRed}</b> ${uiLabelMap.ManufacturingNote1} <b style="color: red;">${uiLabelMap.CommonRed}</b>${uiLabelMap.ManufacturingNote2} <b style="color: red;">${uiLabelMap.CommonRed}</b>${uiLabelMap.ManufacturingNote3} + </div> +</div> +</#if> Propchange: ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/bom/EditProductBom.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,120 @@ +<#-- +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. +--> + +<#escape x as x?xml> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> +<#-- do not display columns associated with values specified in the request, ie constraint values --> +<#--<#assign showProductStore = !parameters.productStoreId?has_content>--> +<fo:layout-master-set> + <fo:simple-page-master master-name="main" page-height="11in" page-width="8.5in" + margin-top="0.5in" margin-bottom="1in" margin-left="0.5in" margin-right="0.5in"> + <fo:region-body margin-top="1in"/> + <fo:region-before extent="1in"/> + <fo:region-after extent="1in"/> + </fo:simple-page-master> +</fo:layout-master-set> +<#if security.hasEntityPermission("MANUFACTURING", "_VIEW", session)> + +<#if cuttingList?has_content> + <fo:page-sequence master-reference="main"> + <fo:flow flow-name="xsl-region-body" font-family="Helvetica"> + <fo:block font-size="16pt">${uiLabelMap.ManufacturingCuttingList}</fo:block> + <fo:block font-size="12pt">${uiLabelMap.ProductShipmentPlan}: ${shipmentId} ${uiLabelMap.ManufacturingDeliveryDate}: ${shipment.estimatedShipDate!}</fo:block> + <fo:block space-after.optimum="10pt" font-size="10pt"> + <fo:table> + <fo:table-column column-width="60pt"/> + <fo:table-column column-width="60pt"/> + <fo:table-column column-width="80pt"/> + <fo:table-column column-width="120pt"/> + <fo:table-column column-width="180pt"/> + <fo:table-header> + <fo:table-row font-weight="bold"> + <fo:table-cell border-bottom="thin solid grey"><fo:block>${uiLabelMap.ProductWidth}</fo:block></fo:table-cell> + <fo:table-cell border-bottom="thin solid grey"><fo:block>${uiLabelMap.ProductHeight}</fo:block></fo:table-cell> + <fo:table-cell border-bottom="thin solid grey"><fo:block>${uiLabelMap.ProductQuantity}</fo:block></fo:table-cell> + <fo:table-cell border-bottom="thin solid grey"><fo:block>${uiLabelMap.ProductProduct}</fo:block></fo:table-cell> + <fo:table-cell border-bottom="thin solid grey"><fo:block>${uiLabelMap.ProductProductDescription}</fo:block></fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <#assign dimColor = "#D4D0C8"> + <#assign rowColor = "white"> + + <#list cuttingList as dimension> + <fo:table-row> + <fo:table-cell padding="2pt" background-color="${dimColor}"> + <fo:block>${dimension.width!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${dimColor}"> + <fo:block>${dimension.height!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${dimColor}"> + <fo:block>${dimension.quantity!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${dimColor}"> + <fo:block></fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${dimColor}"> + <fo:block></fo:block> + </fo:table-cell> + </fo:table-row> + <#assign products = dimension.products> + <#list products as product> + <fo:table-row> + <fo:table-cell padding="2pt" background-color="${rowColor}"> + <fo:block></fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${rowColor}"> + <fo:block></fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${rowColor}"> + <fo:block>${product.quantity!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${rowColor}"> + <fo:block>${product.product.productId!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt" background-color="${rowColor}"> + <fo:block>${product.product.internalName!}</fo:block> + </fo:table-cell> + </fo:table-row> + </#list> + </#list> + </fo:table-body> + </fo:table> + </fo:block> + </fo:flow> + </fo:page-sequence> +<#else> + <fo:page-sequence master-reference="main"> + <fo:flow flow-name="xsl-region-body" font-family="Helvetica"> + <fo:block font-size="14pt"> + ${uiLabelMap.ManufacturingNoDataAvailable} + </fo:block> + </fo:flow> + </fo:page-sequence> +</#if> + +<#else> + <fo:block font-size="14pt"> + ${uiLabelMap.ManufacturingViewPermissionError} + </fo:block> +</#if> + +</fo:root> +</#escape> Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/CuttingListReport.fo.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,22 @@ +<#-- +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. +--> + +<#if mrpName??> + <h1>${uiLabelMap.ManufacturingMrpName} ${mrpName!}</h1> +</#if> \ No newline at end of file Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/MrpReports.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,195 @@ +<#-- +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. +--> +<#escape x as x?xml> +<#if productionRunId?has_content> + <fo:list-block provisional-distance-between-starts="40mm"> + <fo:list-item> + <fo:list-item-label><fo:block font-size="12">${uiLabelMap.ManufacturingProductionRunId}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><fo:inline font-size="14" font-weight="bold" space-end="5mm">${productionRunData.workEffortId!}</fo:inline><#if productionRunData.productionRunName??> ${productionRunData.productionRunName}</#if></fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item> + <fo:list-item-label><fo:block font-size="12">${uiLabelMap.ProductProductId}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><fo:inline font-size="14" font-weight="bold" space-end="5mm">${productionRunData.productId!}</fo:inline><#if productionRunData.product.productName??> ${productionRunData.product.productName}</#if></fo:block></fo:list-item-body> + </fo:list-item> + </fo:list-block> + <fo:block><fo:leader leader-length="100%" leader-pattern="rule" rule-style="solid" rule-thickness="0.1mm" color="black"/></fo:block> + <fo:table> + <fo:table-column column-width="9cm"/> + <fo:table-column column-width="9cm"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell padding="2pt"> + <fo:list-block provisional-distance-between-starts="50mm"> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingQuantityToProduce}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block>${productionRunData.quantityToProduce!}</fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item space-after="5mm"> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingQuantityRemaining}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block>${quantityRemaining!}</fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingEstimatedStartDate}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><#if productionRunData.estimatedStartDate??>${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(productionRunData.estimatedStartDate, "dd/MM/yyyy")}</#if></fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingEstimatedCompletionDate}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><#if productionRunData.estimatedCompletionDate??>${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(productionRunData.estimatedCompletionDate, "dd/MM/yyyy")}</#if></fo:block></fo:list-item-body> + </fo:list-item> + </fo:list-block> + </fo:table-cell> + <fo:table-cell padding="2pt"> + <fo:list-block provisional-distance-between-starts="50mm"> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingQuantityProduced}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block>${productionRunData.quantityProduced!}</fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item space-after="5mm"> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingQuantityRejected}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block>${quantityRejected!}</fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.CommonStartDate}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><#if productionRunData.actualStartDate??>${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(productionRunData.actualStartDate, "dd/MM/yyyy")}</#if></fo:block></fo:list-item-body> + </fo:list-item> + <fo:list-item> + <fo:list-item-label><fo:block>${uiLabelMap.ManufacturingActualCompletionDate}</fo:block></fo:list-item-label> + <fo:list-item-body start-indent="body-start()"><fo:block><#if productionRunData.actualCompletionDate??>${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(productionRunData.actualCompletionDate, "dd/MM/yyyy")}</#if></fo:block></fo:list-item-body> + </fo:list-item> + </fo:list-block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block space-after.optimum="0.3cm"><fo:leader leader-length="100%" leader-pattern="rule" rule-style="solid" rule-thickness="0.1mm" color="black"/></fo:block> + + <#-- Components --> + <#if productionRunComponentsData?has_content> + <fo:table table-layout="fixed" width="22cm"> + <fo:table-column column-width="20%"/> + <fo:table-column column-width="40%"/> + <fo:table-column column-width="10%"/> + <fo:table-column column-width="10%"/> + <fo:table-column column-width="10%"/> + <fo:table-header> + <fo:table-row font-weight="bold"> + <fo:table-cell><fo:block>${uiLabelMap.ProductProductId}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.CommonDescription}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingQuantity}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingIssuedQuantity}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingQuantityRemaining}</fo:block></fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <#list productionRunComponentsData as productionRunComponentData> + + <#assign resQuantityComp = productionRunComponentData.estimatedQuantity - productionRunComponentData.issuedQuantity> + + <fo:table-row> + <fo:table-cell> + <fo:block>${productionRunComponentData.productId!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunComponentData.internalName!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunComponentData.estimatedQuantity!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunComponentData.issuedQuantity!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${resQuantityComp!}</fo:block> + </fo:table-cell> + </fo:table-row> + </#list> + </fo:table-body> + </fo:table> + </#if> + <fo:block space-after.optimum="0.3cm"><fo:leader leader-length="100%" leader-pattern="rule" rule-style="solid" rule-thickness="0.1mm" color="black"/></fo:block> + + <#-- Tasks --> + <#if productionRunRoutingTasks?has_content> + <fo:table table-layout="fixed" width="100%"> + <fo:table-column column-width="20%"/> + <fo:table-column column-width="30%"/> + <fo:table-column column-width="30%"/> + <fo:table-column column-width="10%"/> + <fo:table-column column-width="10%"/> + <fo:table-header> + <fo:table-row font-weight="bold"> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingProductionRunFixedAssets}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingRoutingTask}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.CommonDescription}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingTaskEstimatedSetupMillis}</fo:block></fo:table-cell> + <fo:table-cell><fo:block>${uiLabelMap.ManufacturingTaskEstimatedMilliSeconds}</fo:block></fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <#list productionRunRoutingTasks as productionRunRoutingTask> + <fo:table-row> + <fo:table-cell> + <fo:block>${productionRunRoutingTask.fixedAssetId!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunRoutingTask.workEffortName!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunRoutingTask.description!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunRoutingTask.estimatedSetupMillis!}</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>${productionRunRoutingTask.estimatedMilliSeconds!}</fo:block> + </fo:table-cell> + </fo:table-row> + </#list> + </fo:table-body> + </fo:table> + </#if> + <fo:block space-after.optimum="0.3cm"><fo:leader leader-length="100%" leader-pattern="rule" rule-style="solid" rule-thickness="0.1mm" color="black"/></fo:block> + + <#if productionRunContents?has_content> + <fo:block space-after.optimum="0.3cm"></fo:block> + <fo:table> + <fo:table-column column-width="9cm"/> + <fo:table-column column-width="9cm"/> + <fo:table-header> + <fo:table-row font-weight="bold"> + <fo:table-cell><fo:block>Documents</fo:block></fo:table-cell> + <fo:table-cell><fo:block>Link</fo:block></fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <#list productionRunContents as productionRunContent> + <fo:table-row> + <fo:table-cell padding="2pt"> + <fo:block>${productionRunContent.contentName!}</fo:block> + </fo:table-cell> + <fo:table-cell padding="2pt"> + <fo:block><fo:basic-link background-color="lightblue" external-destination="<@ofbizContentUrl>/content/control/ViewBinaryDataResource?dataResourceId=${productionRunContent.drDataResourceId}</@ofbizContentUrl>">${uiLabelMap.CommonView}</fo:basic-link></fo:block> + </fo:table-cell> + </fo:table-row> + </#list> + </fo:table-body> + </fo:table> + </#if> +</#if> +</#escape> Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRun.fo.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,31 @@ +<#-- +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. +--> + +<#list taskCosts as taskCost> + <div class="screenlet"> + <div class="screenlet-title-bar"> + <#assign task = taskCost.task> + <h3>${uiLabelMap.ManufacturingActualCosts} ${task.workEffortName!} [${task.workEffortId}]</h3> + </div> + <div class="screenlet-body"> + <#assign costsForm = taskCost.costsForm> + ${costsForm.renderFormString(context)} + </div> + </div> +</#list> \ No newline at end of file Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunCosts.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,31 @@ +<#-- +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. +--> + +<#list taskInfos as taskInfo> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <#assign task = taskInfo.task> + <#assign taskForm = taskInfo.taskForm> + <h3>${task.workEffortName!} [${task.workEffortId}]</h3> + </div> + <div class="screenlet-body"> + ${taskForm.renderFormString(context)} + </div> +</div> +</#list> \ No newline at end of file Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ProductionRunTasksInfo.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy (added) +++ ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy Mon Mar 28 11:10:43 2016 @@ -0,0 +1,59 @@ +/* + * 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. + */ + +// The only required parameter is "productionRunId". + +import java.util.*; +import org.ofbiz.entity.*; +import org.ofbiz.entity.util.EntityUtil; +import org.ofbiz.base.util.*; +import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.widget.renderer.html.HtmlFormWrapper; +import org.ofbiz.manufacturing.jobshopmgt.ProductionRun; + +delegator = request.getAttribute("delegator"); + +productionRunId = request.getParameter("productionRunId"); +if (UtilValidate.isEmpty(productionRunId)) { + productionRunId = request.getParameter("workEffortId"); +} +if (UtilValidate.isNotEmpty(productionRunId)) { + + GenericValue productionRun = delegator.findOne("WorkEffort", UtilMisc.toMap("workEffortId", productionRunId), false); + if (UtilValidate.isNotEmpty(productionRun)) { + // If this is a task, get the parent production run + if (productionRun.getString("workEffortTypeId") != null && "PROD_ORDER_TASK".equals(productionRun.getString("workEffortTypeId"))) { + productionRun = delegator.findOne("WorkEffort", UtilMisc.toMap("workEffortId", productionRun.getString("workEffortParentId")), false); + } + } + + if (UtilValidate.isEmpty(productionRun)) { + return "error"; + } + if ("PRUN_CREATED".equals(productionRun.getString("currentStatusId")) || + "PRUN_SCHEDULED".equals(productionRun.getString("currentStatusId")) || + "PRUN_CANCELLED".equals(productionRun.getString("currentStatusId"))) { + return "docs_not_printed"; + } else { + return "docs_printed"; + } +} + +return "error"; Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/jobshopmgt/ShowProductionRun.groovy ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,232 @@ +<#-- +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 lookupInventory() { + document.lookupinventory.submit(); +} +// --> +</script> +<div class="screenlet"> + <div class="screenlet-title-bar"> + <ul> + <li class="h3">${uiLabelMap.PageTitleFindInventoryEventPlan}</li> + </ul> + <br class="clear"/> + </div> + <div class="screenlet-body"> + <form method="post" name="lookupinventory" action="<@ofbizUrl>FindInventoryEventPlan</@ofbizUrl>"> + <input type="hidden" name="lookupFlag" value="Y"/> + <input type="hidden" name="hideFields" value="Y"/> + <table class="basic-table" cellspacing="0"> + <tr> + <td width='100%'> + <table class="basic-table" cellspacing="0"> + <tr> + <td></td> + <td align='right'> + <p> + <#if requestParameters.hideFields?default("N") == "Y"> + <a href="<@ofbizUrl>FindInventoryEventPlan?hideFields=N${paramList}</@ofbizUrl>" class="smallSubmit">${uiLabelMap.CommonShowLookupFields}</a> + <#else> + <#if inventoryList??> + <a href="<@ofbizUrl>FindInventoryEventPlan?hideFields=Y${paramList}</@ofbizUrl>" class="smallSubmit">${uiLabelMap.CommonHideFields}</a> + </#if> + </#if> + </p> + </td> + </tr> + </table> + <#if requestParameters.hideFields?default("N") != "Y"> + <table class="basic-table" cellspacing="0"> + <tr> + <td align='center' width='100%'> + <table class="basic-table" cellspacing="0"> + <tr> + <td width='20%' align='right' class="label">${uiLabelMap.ManufacturingProductId}</td> + <td width='5%'> </td> + <td> + <span> + <@htmlTemplate.lookupField value='${requestParameters.productId!}' formName="lookupinventory" name="productId" id="productId" fieldFormName="LookupProduct"/> + </span> + </td> + </tr> + <tr> + <td width='20%' align='right' class="label">${uiLabelMap.CommonFromDate}</td> + <td width='5%'> </td> + <td> + <@htmlTemplate.renderDateTimeField name="eventDate" event="" action="" className="" alert="" title="Format: yyyy-MM-dd HH:mm:ss.SSS" value="${requestParameters.eventDate!}" size="25" maxlength="30" id="fromDate_2" dateType="date" shortDateInput=false timeDropdownParamName="" defaultDateTimeString="" localizedIconTitle="" timeDropdown="" timeHourName="" classString="" hour1="" hour2="" timeMinutesName="" minutes="" isTwelveHour="" ampmName="" amSelected="" pmSelected="" compositeType="" formName=""/> + </td> + </tr> + <tr> + <td width="20%" align="center" valign="top"> </td> + <td width="5%"> </td> + <td width="75%"> <a href="javascript:lookupInventory();" class="smallSubmit"> ${uiLabelMap.CommonFind} </a></td> + </tr> + </table> + </td> + </tr> + </table> + </#if> + </td> + </tr> + </table> + </form> + </div> +</div> + +<#if requestParameters.hideFields?default("N") != "Y"> +<script language="JavaScript" type="text/javascript"> +<!--// +document.lookupinventory.productId.focus(); +//--> +</script> +</#if> +<#if requestParameters.lookupFlag?default("N") == "Y"> +<table class="basic-table" cellspacing="0"> + <tr> + <td width='100%'> + <#if inventoryList?has_content> + <#assign rowClass = "alternate-row"> + <table class="basic-table" cellspacing="0"> + <tr> + <td width="50%" class="boxhead">${uiLabelMap.CommonElementsFound}</td> + <td width="50%"> + <div class="boxhead" align="right"> + + <#if 0 < viewIndex> + <a href="<@ofbizUrl>FindInventoryEventPlan?VIEW_SIZE=${viewSize}&VIEW_INDEX=${viewIndex-1}&hideFields=${requestParameters.hideFields?default("N")}${paramList}</@ofbizUrl>" class="submenutext">${uiLabelMap.CommonPrevious}</a> + <#else> + <span class="submenutextdisabled">${uiLabelMap.CommonPrevious}</span> + </#if> + <#if 0 < listSize> + <span class="submenutextinfo">${lowIndex+1} - ${highIndex} ${uiLabelMap.CommonOf} ${listSize}</span> + </#if> + <#if highIndex < listSize> + <a href="<@ofbizUrl>FindInventoryEventPlan?VIEW_SIZE=${viewSize}&VIEW_INDEX=${viewIndex+1}&hideFields=${requestParameters.hideFields?default("N")}${paramList}</@ofbizUrl>" class="submenutextright">${uiLabelMap.CommonNext}</a> + <#else> + <span class="submenutextrightdisabled">${uiLabelMap.CommonNext}</span> + </#if> + + + </div> + </td> + </tr> + </table> + + <table class="basic-table" cellspacing="0"> + <tr class="header-row"> + <td>${uiLabelMap.CommonType}</td> + <td align="center"> </td> + <td>${uiLabelMap.CommonDescription}</td> + <td>${uiLabelMap.CommonDate}</td> + <td align="center"> </td> + <td align="right">${uiLabelMap.CommonQuantity}</td> + <td align="right">${uiLabelMap.ManufacturingTotalQuantity}</td> + </tr> + <tr> + <td colspan="7"><hr /></td> + </tr> + <#assign count = lowIndex> + <#assign productTmp = ""> + <#list inventoryList[lowIndex..highIndex-1] as inven> + <#assign product = inven.getRelatedOne("Product", false)> + <#if facilityId?has_content> + </#if> + <#if ! product.equals( productTmp )> + <#assign quantityAvailableAtDate = 0> + <#assign errorEvents = delegator.findByAnd("MrpEvent", Static["org.ofbiz.base.util.UtilMisc"].toMap("mrpEventTypeId", "ERROR", "productId", inven.productId), null, false)> + <#assign qohEvents = delegator.findByAnd("MrpEvent", Static["org.ofbiz.base.util.UtilMisc"].toMap("mrpEventTypeId", "INITIAL_QOH", "productId", inven.productId), null, false)> + <#assign additionalErrorMessage = ""> + <#assign initialQohEvent = ""> + <#assign productFacility = ""> + <#if qohEvents?has_content> + <#assign initialQohEvent = Static["org.ofbiz.entity.util.EntityUtil"].getFirst(qohEvents)> + </#if> + <#if initialQohEvent?has_content> + <#if initialQohEvent.quantity?has_content> + <#assign quantityAvailableAtDate = initialQohEvent.quantity> + </#if> + <#if initialQohEvent.facilityId?has_content> + <#assign productFacility = delegator.findOne("ProductFacility", Static["org.ofbiz.base.util.UtilMisc"].toMap("facilityId", initialQohEvent.facilityId, "productId", inven.productId), false)!> + </#if> + <#else> + <#assign additionalErrorMessage = "No QOH information found, assuming 0."> + </#if> + <tr bgcolor="lightblue"> + <th> + <b>[${inven.productId}]</b> ${product.internalName!} + </th> + <td> + <#if productFacility?has_content> + <div> + <b>${uiLabelMap.ProductFacility}:</b> ${productFacility.facilityId!} + </div> + <div> + <b>${uiLabelMap.ProductMinimumStock}:</b> ${productFacility.minimumStock!} + </div> + <div> + <b>${uiLabelMap.ProductReorderQuantity}:</b> ${productFacility.reorderQuantity!} + </div> + <div> + <b>${uiLabelMap.ProductDaysToShip}:</b> ${productFacility.daysToShip!} + </div> + </#if> + </td> + <td colspan="5" align="right"> + <big><b>${quantityAvailableAtDate}</b></big> + </td> + </tr> + <#if additionalErrorMessage?has_content> + <tr> + <th colspan="7"><font color="red">${additionalErrorMessage}</font></th> + </tr> + </#if> + <#list errorEvents as errorEvent> + <tr> + <th colspan="7"><font color="red">${errorEvent.eventName!}</font></td> + </tr> + </#list> + </#if> + <#assign quantityAvailableAtDate = quantityAvailableAtDate?default(0) + inven.getBigDecimal("quantity")> + <#assign productTmp = product> + <#assign MrpEventType = inven.getRelatedOne("MrpEventType", false)> + <tr class="${rowClass}"> + <td>${MrpEventType.get("description",locale)}</td> + <td> </td> + <td>${inven.eventName!}</td> + <td><font <#if inven.isLate?default("N") == "Y">color='red'</#if>>${inven.getString("eventDate")}</font></td> + <td> </td> + <td align="right">${inven.getString("quantity")}</td> + <td align="right">${quantityAvailableAtDate!}</td> + </tr> + <#assign count=count+1> + </#list> + + </table> + <#else> + <br /> + <div align="center">${uiLabelMap.CommonNoElementFound}</div> + <br /> + </#if> + </td> + </tr> +</table> +</#if> Propchange: ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/mrp/findInventoryEventPlan.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl?rev=1736867&view=auto ============================================================================== --- ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl (added) +++ ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl Mon Mar 28 11:10:43 2016 @@ -0,0 +1,227 @@ +<!-- +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. +--> +<#escape x as x?xml> + +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xml.apache.org/fop/extensions"> + <fo:layout-master-set> + <fo:simple-page-master margin-right="2.0cm" margin-left="2.0cm" margin-bottom="1.0cm" margin-top="1.0cm" page-width="21cm" page-height="29.7cm" master-name="first"> + <fo:region-before extent="1.5cm"/> + <fo:region-body margin-bottom="1.5cm" margin-top="1.5cm"/> + <fo:region-after extent="1.0cm"/> + </fo:simple-page-master> + </fo:layout-master-set> + +<#list features as feature> + <#assign productList = feature.productList> + <fo:page-sequence master-reference="first" language="en" hyphenate="true"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block line-height="10pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + <#if showLocation == "Y"> + <#if mrpName??> + Doc.F0 + <#else> + Doc.F2 + </#if> + <#else> + <#if mrpName??> + Doc.F1 + <#else> + Doc.F3 + </#if> + </#if> + </fo:block> + </fo:static-content> + + <fo:static-content flow-name="xsl-region-after"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${uiLabelMap.CommonPage} <fo:page-number/> + </fo:block> + </fo:static-content> + + <fo:flow flow-name="xsl-region-body"> + <fo:block line-height="12pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + + <fo:block line-height="20pt" font-weight="bold" font-size="18pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="center"> + ${uiLabelMap.ManufacturingPickingListFx} + </fo:block> + + <fo:table text-align="left" table-layout="fixed"> + <fo:table-column column-width="10.15cm"/> + <fo:table-column column-width="6.15cm"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block line-height="13pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="start"> + <#if mrpName??> + <fo:inline font-size="10pt">${uiLabelMap.ManufacturingPlan}:</fo:inline> + <fo:inline font-weight="bold" font-size="10pt">${mrpName}</fo:inline> + <#else> + <fo:inline font-size="10pt">${uiLabelMap.ProductShipmentPlan}:</fo:inline> + <fo:inline font-weight="bold" font-size="10pt">${shipment.shipmentId}</fo:inline> + </#if> + </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block line-height="12pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="end"> + <fo:inline font-size="10pt">${uiLabelMap.ProductProductCategory}:</fo:inline> + <fo:inline font-weight="bold" font-size="10pt"><#if category??>${category.description!}</#if></fo:inline> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + + <fo:table text-align="left" table-layout="fixed"> + <fo:table-column column-width="10.15cm"/> + <fo:table-column column-width="6.15cm"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block line-height="12pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="start"> + <fo:inline font-size="10pt">${uiLabelMap.ManufacturingPrintoutDate}:</fo:inline> + <fo:inline font-weight="bold" font-size="10pt">${nowTimestamp}</fo:inline> + </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block line-height="13pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="end"> + <fo:inline font-size="10pt"><#if featureType??>${featureType.get("description",locale)!}: </#if></fo:inline> + <fo:inline font-weight="bold" font-size="10pt"><#if feature.productFeature??>${feature.productFeature.description!}</#if></fo:inline> + </fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + + <fo:table text-align="left" table-layout="fixed"> + <fo:table-column column-width="10.15cm"/> + <fo:table-column column-width="6.15cm"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell> + <fo:block line-height="12pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="start"> + <#if mrpName??> + <fo:inline font-size="10pt">${uiLabelMap.ManufacturingPickingPeriod} :</fo:inline> + <fo:inline font-weight="bold" font-size="10pt">${mrpName!}</fo:inline> + <#else> + <fo:inline font-size="10pt">${uiLabelMap.ManufacturingPickingDate} :</fo:inline> + <fo:inline font-weight="bold" font-size="10pt">${shipment.estimatedShipDate!}</fo:inline> + </#if> + </fo:block> + </fo:table-cell> + <fo:table-cell> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + + <fo:inline white-space-collapse="false"> + </fo:inline> + +<fo:table text-align="left" table-layout="fixed"> +<fo:table-column column-width="0.90cm"/> +<fo:table-column column-width="3.50cm"/> +<fo:table-column column-width="6.50cm"/> +<fo:table-column column-width="2.00cm"/> +<fo:table-column column-width="2.50cm"/> +<fo:table-body> + <fo:table-row> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${uiLabelMap.CommonLine} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${uiLabelMap.ProductProductId} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${uiLabelMap.CommonDescription} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="center"> + <#if showLocation == "Y"> + ${uiLabelMap.ManufacturingQtyM2} + <#else> + ${uiLabelMap.CommonQuantity} + </#if> + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="8pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="center"> + <#if showLocation == "Y"> + ${uiLabelMap.ManufacturingPanelNumber} + <#else> + ${uiLabelMap.ProductFacilityLocation} + </#if> + </fo:block> + </fo:table-cell> + </fo:table-row> + + <#assign row = 0> + <#list productList as product> + <#assign row = row + 1> + <fo:table-row> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="end"> + ${row} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${product.product.productId} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always"> + ${product.product.internalName!} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="end"> + ${product.quantity} + </fo:block> + </fo:table-cell> + <fo:table-cell border-style="solid" border-color="black" border-width="1pt"> + <fo:block line-height="12pt" font-size="10pt" space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" text-align="end"> + <#if showLocation == "Y"> + ${product.panelQuantity!} + <#else> + ${product.Location!} + </#if> + </fo:block> + </fo:table-cell> + </fo:table-row> + </#list> +</fo:table-body> +</fo:table> +<!-- +<fo:block space-before.optimum="1.5pt" space-after.optimum="1.5pt" keep-together="always" id="LastPage" line-height="1pt" font-size="1pt"> +</fo:block> +--> +</fo:block> + +</fo:flow> +</fo:page-sequence> +</#list> +</fo:root> +</#escape> + Propchange: ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/applications/manufacturing/template/reports/PRunsComponentsByFeature.fo.ftl ------------------------------------------------------------------------------ svn:mime-type = text/plain |
Free forum by Nabble | Edit this page |