Author: jleroux
Date: Thu Nov 9 07:28:24 2006 New Revision: 472948 URL: http://svn.apache.org/viewvc?view=rev&rev=472948 Log: Filter on Inventory Problems check boxes return in Find Orders & Order List screens New options in Find Orders & Order List screens to filter POs on . Past ETA . Partially Received . Rejected items French and english corresponding labels Modified: incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties incubator/ofbiz/trunk/applications/order/config/OrderUiLabels_fr.properties incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl Modified: incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties (original) +++ incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties Thu Nov 9 07:28:24 2006 @@ -31,6 +31,7 @@ FacilityShippingAndHandling=Shipping and Handling FacilitySpecialInstructions=Special Instructions FacilityWaitEntireOrderReady=Please wait until the entire order is ready before shipping. +FormFieldTitle_billToCustomerPartyId=Bill To Customer Party Id FormFieldTitle_billingAccountId=Billing Account Id FormFieldTitle_carrierPartyId=Carrier Party Id FormFieldTitle_carrierRoleTypeId=Carrier Role Type Id @@ -58,6 +59,7 @@ FormFieldTitle_fixedAssetId=Fixed Asset Id FormFieldTitle_grandTotal=Grand Total FormFieldTitle_internalCode=Internal Code +FormFieldTitle_internalName=internal Name FormFieldTitle_isActive=Is Active FormFieldTitle_isPromo=Is Promo FormFieldTitle_isPublic=Is Public @@ -93,6 +95,7 @@ FormFieldTitle_remove=remove FormFieldTitle_requestsLink=Requests Link FormFieldTitle_requiredByDate=Required By Date +FormFieldTitle_requirementByDate=requirement By Date FormFieldTitle_requirementId=Requirement Id FormFieldTitle_requirementTypeId=Requirement Type Id FormFieldTitle_responseRequiredDate=Response Required Date @@ -117,15 +120,12 @@ FormFieldTitle_totalWeight=Total Weight FormFieldTitle_totalWeightUomId=Weight Measurement FormFieldTitle_transactionId=Transaction Id +FormFieldTitle_unassignedRequirements=unassigned Requirements FormFieldTitle_unitsPieces=Units Pieces FormFieldTitle_useCase=Use Case FormFieldTitle_visitId=Visit Id FormFieldTitle_visitorId=Visitor Id FormFieldTitle_webSiteId=Web Site Id -FormFieldTitle_billToCustomerPartyId=Bill To Customer Party Id -FormFieldTitle_unassignedRequirements=unassigned Requirements -FormFieldTitle_requirementByDate=requirement By Date -FormFieldTitle_internalName=internal Name OrderAddCode=Add Code OrderAddNote=Add Note OrderAddOrderToShoppingList=Add Order Items to Shopping List @@ -193,7 +193,12 @@ OrderErrorFacilityHaveNoAdress=Error : the facility does not have addresses OrderExemptAmount=Exempt Amount OrderExternalId=External ID -OrderFilterOnInventoryProblems=Filter on inventory problems +OrderFilterOn=Filter on +OrderFilterPOs=purchase orders +OrderFilterInventoryProblems=Inventory problems +OrderFilterPOsOpenPastTheirETA=open past their ETA +OrderFilterPOsWithRejectedItems=with rejected items +OrderFilterPartiallyReceivedPOs=Partially Received OrderFinalizeOrder=Finalize Order OrderFinalizeOrderDefault=Finalize Order With Default Options OrderFindOrder=Find Orders Modified: incubator/ofbiz/trunk/applications/order/config/OrderUiLabels_fr.properties URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/config/OrderUiLabels_fr.properties?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/config/OrderUiLabels_fr.properties (original) +++ incubator/ofbiz/trunk/applications/order/config/OrderUiLabels_fr.properties Thu Nov 9 07:28:24 2006 @@ -168,7 +168,13 @@ OrderErrorFacilityHaveNoAdress=Erreur : le magasin n'a pas d'adresses OrderExemptAmount=Montant exempt\u00E9 OrderExternalId=R\u00E9f. externe -OrderFilterOnInventoryProblems=Filtrer sur les probl\u00E8mes d'inventaire +OrderFilterAuthProblems=Probl\u00E8mes d'autorisation CB +OrderFilterOn=Filtrer sur +OrderFilterPOs=ordres d'achat +OrderFilterInventoryProblems=Probl\u00E8mes d'inventaire +OrderFilterPOsOpenPastTheirETA=dont la date de r\u00E9ception est d\u00E9pass\u00E9e +OrderFilterPOsWithRejectedItems=ayant des lignes rejet\u00E9es +OrderFilterPartiallyReceivedPOs=re\u00E7us partiellement OrderFinalizeOrder=Finaliser la commande OrderFinalizeOrderDefault=Terminer la commande avec les options par d\u00E9faut OrderFindOrder=Recherche de commande(s) @@ -408,8 +414,6 @@ OrderWithPromoCode=avec le code promo. OrderWorkflow=Workflow (S\u00E9quence de travail) OrderYTD=Total annuel -OrderfilterAuthProblems=Probl\u00E8mes d'autorisation CB -OrderfilterInventoryProblems=Probl\u00E8mes d'inventaire PageTitleListRequirementOrders= PageTitleLogin=Connexion PageTitleLookupCustomerRequest=Consulter la demande du client Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java (original) +++ incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java Thu Nov 9 07:28:24 2006 @@ -1363,8 +1363,8 @@ return EntityUtil.filterByAnd(getOrderItems(), exprs); } - public boolean getPastEtaOrderItems() { - List exprs = UtilMisc.toList(new EntityExpr("statusId", EntityOperator.EQUALS, "ITEM_APPROVED")); + public boolean getPastEtaOrderItems(String orderId) { + /*List exprs = UtilMisc.toList(new EntityExpr("statusId", EntityOperator.EQUALS, "ITEM_APPROVED")); List itemsApproved = EntityUtil.filterByAnd(getOrderItems(), exprs); Iterator i = itemsApproved.iterator(); while (i.hasNext()) { @@ -1375,6 +1375,21 @@ } } return false; + }*/ + GenericDelegator delegator = orderHeader.getDelegator(); + GenericValue orderDeliverySchedule = null; + try { + orderDeliverySchedule = delegator.findByPrimaryKey("OrderDeliverySchedule", UtilMisc.toMap("orderId", orderId, "orderItemSeqId", "_NA_")); + } catch (GenericEntityException e) { + } + Timestamp estimatedShipDate = null; + if (orderDeliverySchedule != null && orderDeliverySchedule.get("estimatedReadyDate") != null) { + estimatedShipDate = orderDeliverySchedule.getTimestamp("estimatedReadyDate"); + } + if (estimatedShipDate != null && UtilDateTime.nowTimestamp().after(estimatedShipDate)) { + return true; + } + return false; } public boolean getRejectedOrderItems() { @@ -1403,7 +1418,7 @@ } public boolean getPartiallyReceivedItems() { - List exprs = UtilMisc.toList(new EntityExpr("statusId", EntityOperator.EQUALS, "ITEM_APPROVED")); + /*List exprs = UtilMisc.toList(new EntityExpr("statusId", EntityOperator.EQUALS, "ITEM_APPROVED")); List itemsApproved = EntityUtil.filterByAnd(getOrderItems(), exprs); Iterator i = itemsApproved.iterator(); while (i.hasNext()) { @@ -1413,6 +1428,30 @@ if (shippedQuantity != orderedQuantity.intValue() && shippedQuantity > 0) { return true; } + } + return false; + }*/ + List items = getOrderItems(); + Iterator i = items.iterator(); + while (i.hasNext()) { + GenericValue item = (GenericValue) i.next(); + List receipts = null; + try { + receipts = item.getRelated("ShipmentReceipt"); + } catch (GenericEntityException e) { + Debug.logWarning(e, module); + } + if (receipts != null && receipts.size() > 0) { + Iterator recIter = receipts.iterator(); + while (recIter.hasNext()) { + GenericValue rec = (GenericValue) recIter.next(); + Double acceptedQuantity = rec.getDouble("quantityAccepted"); + Double orderedQuantity = (Double) item.get("quantity"); + if (acceptedQuantity.intValue() != orderedQuantity.intValue() && acceptedQuantity.intValue() > 0) { + return true; + } + } + } } return false; } Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh Thu Nov 9 07:28:24 2006 @@ -21,13 +21,26 @@ import org.ofbiz.order.order.OrderReadHelper; import org.ofbiz.product.store.ProductStoreWorker; - orderHeaderList = context.remove("orderHeaderList"); productStore = ProductStoreWorker.getProductStore(request); +List filteredList = new ArrayList(); + if ("Y".equals(requestParameters.get("filterInventoryProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { + for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { + orderHeader = (GenericValue) ohi.next(); + orderReadHelper = OrderReadHelper.getHelper(orderHeader); + backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); + if (backorderQty.compareTo(new BigDecimal("0")) == 1) { + filteredList.add(orderHeader); + } + } +} - List filteredList = new ArrayList(); +if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && + UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); facilityId = orderHeader.getString("originFacilityId"); @@ -35,35 +48,29 @@ facilityId = productStore.getString("inventoryFacilityId"); } orderReadHelper = OrderReadHelper.getHelper(orderHeader); - backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); - if (backorderQty.compareTo(new BigDecimal("0")) == 1) { - filteredList.add(orderHeader); - continue; - } if ("PURCHASE_ORDER".equals(orderHeader.getString("orderTypeId"))) { - if (orderReadHelper.getRejectedOrderItems()) { + if (orderReadHelper.getRejectedOrderItems() && + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { filteredList.add(orderHeader); continue; } - if (orderReadHelper.getPastEtaOrderItems()) { + if (orderReadHelper.getPastEtaOrderItems(orderHeader.get("orderId")) && + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { filteredList.add(orderHeader); continue; } - if (orderReadHelper.getPartiallyReceivedItems()) { + if (orderReadHelper.getPartiallyReceivedItems() && + "Y".equals(requestParameters.get("filterPartiallyReceivedPOs"))) { filteredList.add(orderHeader); continue; } } } - orderHeaderList = filteredList; } if ("Y".equals(requestParameters.get("filterAuthProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { - - List filteredList = new ArrayList(); for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); - orderReadHelper = OrderReadHelper.getHelper(orderHeader); List paymentPrefList = orderReadHelper.getPaymentPreferences(); for (Iterator ppi = paymentPrefList.iterator(); ppi.hasNext();) { @@ -73,6 +80,13 @@ } } } +} + +if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems")) || + "Y".equals(requestParameters.get("filterAuthProblems")) || + "Y".equals(requestParameters.get("filterInventoryProblems")))) { orderHeaderList = filteredList; } Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh Thu Nov 9 07:28:24 2006 @@ -202,12 +202,21 @@ } hasBackOrders = request.getParameter("hasBackOrders"); - if (hasBackOrders != null && "Y".equals(hasBackOrders)) { - paramList = paramList + "&hasBackOrders=Y"; + if (hasBackOrders != null){ + paramList = paramList + "&hasBackOrders=" + hasBackOrders; + if ("Y".equals(hasBackOrders)) { + // Y = only show backorders entityName = "OrderHeaderItemAndInvRoles"; andExprs.add(new EntityExpr("quantityNotAvailable", EntityOperator.NOT_EQUAL, null)); andExprs.add(new EntityExpr("quantityNotAvailable", EntityOperator.GREATER_THAN, new Double(0))); + } else if ("N".equals(hasBackOrders)) { + // N = exclude backorders... we might also need to include and OR condition: qty not available == 0 + entityName = "OrderHeaderItemAndInvRoles"; + andExprs.add(new EntityExpr("quantityNotAvailable", EntityOperator.EQUALS, null)); } + } + + // define the main condition mainCond = null; @@ -374,10 +383,23 @@ } productStore = ProductStoreWorker.getProductStore(request); + List filteredList = new ArrayList(); if ("Y".equals(requestParameters.get("filterInventoryProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { - - List filteredList = new ArrayList(); + for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { + orderHeader = (GenericValue) ohi.next(); + orderReadHelper = OrderReadHelper.getHelper(orderHeader); + backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); + if (backorderQty.compareTo(new BigDecimal("0")) == 1) { + filteredList.add(orderHeader); + } + } + } + + if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && + UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); facilityId = orderHeader.getString("originFacilityId"); @@ -385,31 +407,35 @@ facilityId = productStore.getString("inventoryFacilityId"); } orderReadHelper = OrderReadHelper.getHelper(orderHeader); - backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); - if (backorderQty.compareTo(new BigDecimal("0")) == 1) { + if ("PURCHASE_ORDER".equals(orderHeader.getString("orderTypeId"))) { + if (orderReadHelper.getRejectedOrderItems() && + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { filteredList.add(orderHeader); continue; } - if ("PURCHASE_ORDER".equals(orderHeader.getString("orderTypeId"))) { - if (orderReadHelper.getRejectedOrderItems()) { + if (orderReadHelper.getPastEtaOrderItems(orderHeader.get("orderId")) && + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { filteredList.add(orderHeader); continue; } - if (orderReadHelper.getPastEtaOrderItems()) { + if (orderReadHelper.getPartiallyReceivedItems() && + "Y".equals(requestParameters.get("filterPartiallyReceivedPOs"))) { filteredList.add(orderHeader); continue; } - if (orderReadHelper.getPartiallyReceivedItems()) { - filteredList.add(orderHeader); - continue; } } } + + if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems")) || + "Y".equals(requestParameters.get("filterInventoryProblems")))) { orderHeaderList = filteredList; } context.put("orderHeaderList", orderHeaderList); - context.put("orderHeaderListSize", orderHeaderListSize); + context.put("orderHeaderListSize", orderHeaderListSize); // TODO : orderHeaderListSize here is not reactualized. Date from "if user doesn't have it, only SALES_ORDER" comment above... if (lookupErrorMessage != null) { context.put("lookupErrorMessage", lookupErrorMessage); Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl Thu Nov 9 07:28:24 2006 @@ -273,7 +273,7 @@ </tr> <tr> <td width='25%' align='right'> - <div class='tableheadtext'>${uiLabelMap.OrderFilterOnInventoryProblems}</div> + <div class='tableheadtext'>${uiLabelMap.OrderFilterOn} ${uiLabelMap.OrderFilterInventoryProblems}</div> </td> <td width='5%'> </td> <td> @@ -282,6 +282,53 @@ <td nowrap> <input type="checkbox" name="filterInventoryProblems" value="Y" <#if requestParameters.filterInventoryProblems?default("N") == "Y">checked="checked"</#if> /> + </td> + </tr> + </table> + </td> + </tr> + <td width='25%' align='right'> + <div class='tableheadtext'>${uiLabelMap.OrderFilterOn} ${uiLabelMap.OrderFilterPOs} ${uiLabelMap.OrderFilterPartiallyReceivedPOs}</div> + </td> + <td width='5%'> </td> + <td> + <table border='0' cellspacing='0' cellpadding='0'> + <tr> + <td nowrap> + <input type="checkbox" name="filterPartiallyReceivedPOs" value="Y" + <#if requestParameters.filterPartiallyReceivedPOs?default("N") == "Y">checked="checked"</#if> /> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td width='25%' align='right'> + <div class='tableheadtext'>${uiLabelMap.OrderFilterOn} ${uiLabelMap.OrderFilterPOs} ${uiLabelMap.OrderFilterPOsOpenPastTheirETA}</div> + </td> + <td width='5%'> </td> + <td> + <table border='0' cellspacing='0' cellpadding='0'> + <tr> + <td nowrap> + <input type="checkbox" name="filterPOsOpenPastTheirETA" value="Y" + <#if requestParameters.filterPOsOpenPastTheirETA?default("N") == "Y">checked="checked"</#if> /> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td width='25%' align='right'> + <div class='tableheadtext'>${uiLabelMap.OrderFilterOn} ${uiLabelMap.OrderFilterPOs} ${uiLabelMap.OrderFilterPOsWithRejectedItems}</div> + </td> + <td width='5%'> </td> + <td> + <table border='0' cellspacing='0' cellpadding='0'> + <tr> + <td nowrap> + <input type="checkbox" name="filterPOsWithRejectedItems" value="Y" + <#if requestParameters.filterPOsWithRejectedItems?default("N") == "Y">checked="checked"</#if> /> </td> </tr> </table> Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl?view=diff&rev=472948&r1=472947&r2=472948 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl Thu Nov 9 07:28:24 2006 @@ -77,10 +77,27 @@ <div class="tabletext"> <input type="checkbox" name="filterInventoryProblems" value="Y" <#if requestParameters.filterInventoryProblems?default("N") == "Y">checked="checked"</#if>/> - ${uiLabelMap.OrderfilterInventoryProblems} + ${uiLabelMap.OrderFilterInventoryProblems} <input type="checkbox" name="filterAuthProblems" value="Y" <#if requestParameters.filterAuthProblems?default("N") == "Y">checked="checked"</#if>/> - ${uiLabelMap.OrderfilterAuthProblems} + ${uiLabelMap.OrderFilterAuthProblems} + </div> + </td> + </tr> + <tr> + <td><div class="tableheadtext">${uiLabelMap.CommonFilter} (${uiLabelMap.OrderFilterPOs}):</div></td> + <td> </td> + <td nowrap> + <div class="tabletext"> + <input type="checkbox" name="filterPartiallyReceivedPOs" value="Y" + <#if requestParameters.filterPartiallyReceivedPOs?default("N") == "Y">checked="checked"</#if>/> + ${uiLabelMap.OrderFilterPartiallyReceivedPOs} + <input type="checkbox" name="filterPOsOpenPastTheirETA" value="Y" + <#if requestParameters.filterPOsOpenPastTheirETA?default("N") == "Y">checked="checked"</#if>/> + ${uiLabelMap.OrderFilterPOsOpenPastTheirETA} + <input type="checkbox" name="filterPOsWithRejectedItems" value="Y" + <#if requestParameters.filterPOsWithRejectedItems?default("N") == "Y">checked="checked"</#if>/> + ${uiLabelMap.OrderFilterPOsWithRejectedItems} </div> </td> </tr> |
Free forum by Nabble | Edit this page |