Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "{!reductionOrderItemNumbersMap[orderItem.originalorderItemId]}"
- <apex:page tabStyle="Order" controller="OrderProductController">
- <apex:form >
- <apex:pageBlock>
- <div>
- <apex:pageBlockTable id="orderTable" value="{!orderItems}" var="orderItem" styleClass="list" headerClass="headerRow">
- <apex:column >
- <apex:facet name="header">
- <b><u>{!$Label.ORDER_NUMBER}</u></b>
- </apex:facet>
- <apex:outputText value="{!orderItem.Order.OrderNumber}"/>
- </apex:column>
- <apex:column >
- <apex:facet name="header" >
- <b><u>{!$Label.ORDER_PRODUCT_NUMBER}</u></b>
- </apex:facet>
- <apex:outputText value="{!reductionOrderItemNumbersMap}"/>
- </apex:column>
- </apex:pageBlockTable>
- <div/>
- </apex:pageBlock>
- </apex:form>
- </apex:page>
- public with sharing class OrderProductController {
- private Id orderId;
- private List<OrderItem> newOrderItems = new List<OrderItem>();
- private Order reductionOrder = null;
- private Map<Id, OrderItem> reductionOrigOrderItemsMap;
- public Map<Id, String> reductionOrderItemNumbersMap{get;set;}
- public OrderProductController(Id orderId) {
- this.orderId = orderId;
- getRO();
- getOrderItems();
- }
- public Order getRO() {
- if(reductionOrder == null) {
- reductionOrigOrderItemsMap = new Map<Id, OrderItem>();
- reductionOrder = [SELECT ContractId, OrderNumber,Pricebook2Id,Contract.CurrencyIsoCode,
- (SELECT Id, Order.Id, Order.ContractId, Order.OrderNumber,
- OrderItemNumber,OriginalOrderItemId FROM OrderItems)
- FROM Order WHERE Id =: orderId];
- for(OrderItem oi : reductionOrder.OrderItems) {
- reductionOrigOrderItemsMap.put(oi.OriginalOrderItemId, oi);
- System.debug('****reductionOrigOrderItemsMap'+reductionOrigOrderItemsMap);
- }
- }
- return reductionOrder;
- }
- public List<OrderItem> getOrderItems() {
- reductionOrder = getRO();
- reductionOrderItemNumbersMap = new Map<Id, String>();
- System.debug('###reductionOrder:'+reductionOrder);
- if((newOrderItems == null || newOrderItems.size() == 0) && reductionOrder != null) {
- newOrderItems = new List<OrderItem>();
- List<OrderItem> origOrderItems = new List<OrderItem>();
- Set<Id> origOrderItemIds = new Set<Id>();
- if(reductionOrigOrderItemsMap != null && reductionOrigOrderItemsMap.keySet().size() > 0) {
- origOrderItemIds = reductionOrigOrderItemsMap.keySet();
- }
- System.debug('###reductionOrigOrderItemsMap:'+reductionOrigOrderItemsMap);
- System.debug('###origOrderItemIds:'+origOrderItemIds);
- origOrderItems = [SELECT Id, Order.Id, Order.ContractId, Order.OrderNumber, OrderItemNumber,sfbase__AvailableQuantity__c,sfbase__OrderItemEffectiveDate__c,
- PricebookEntry.Pricebook2Id, PricebookEntry.Product2Id
- FROM OrderItem
- WHERE sfbase__AvailableQuantity__c > 0
- AND Order.ContractId =: reductionOrder.ContractId
- AND (Order.StatusCode = 'A' OR Order.StatusCode = 'E')
- AND Id NOT IN : origOrderItemIds
- ORDER BY Order.OrderNumber, sfbase__OrderItemEffectiveDate__c];
- }
- for(OrderItem oi : origOrderItems) {
- reductionOrderItemNumbersMap.put(sglOrderItem.Id,sglOrderItem.OrderItemNumber);
- Double qty = null;
- if(reductionOrigOrderItemsMap.get(oi.Id) != null) {
- qty = (-1) * reductionOrigOrderItemsMap.get(oi.Id).Quantity;
- } else {
- continue;
- }
- OrderItem orderItem = new OrderItem(Id = oi.Id,
- OriginalOrderItemId = oi.Id,
- UnitPrice = oi.UnitPrice,
- sfbase__AvailableQuantity__c = oi.sfbase__AvailableQuantity__c,
- Quantity = qty);
- orderItem.Order = oi.Order;
- newOrderItems.add(orderItem);
- }
- System.debug('###reductionOrigOrderItemNumbersMap:'+reductionOrderItemNumbersMap);
- System.debug('###newOrderItems:'+newOrderItems);
- return newOrderItems;
- }
- }
Add Comment
Please, Sign In to add comment