package crmdna.inventory; import crmdna.common.UnitUtils; import crmdna.common.Utils.Currency; import java.util.*; import static crmdna.common.AssertUtils.ensureNotNull; import static crmdna.common.OfyService.ofy; public class InventoryCheckOutProp { public long checkOutId; public Date timestamp; public long inventoryItemId; public double qtyInDefaultUnit; public double avgPricePerDefaultUnit; public Currency ccy; public List<CheckOutDetail> checkOutDetails; public String login; public Set<String> tags; // dependents public double qtyInReportingUnit; public double avgPricePerReportingUnit; // consider removing this public static void populateDependents_not_used(String client, List<InventoryCheckOutProp> props) { ensureNotNull(props, "props is null"); List<Long> inventoryItemIds = new ArrayList<>(); for (InventoryCheckOutProp prop : props) { inventoryItemIds.add(prop.inventoryItemId); } Map<Long, InventoryItemEntity> map = ofy(client).load().type(InventoryItemEntity.class).ids(inventoryItemIds); for (InventoryCheckOutProp prop : props) { if (!map.containsKey(prop.inventoryItemId)) { // should never happen continue; } InventoryItemEntity inventoryItemEntity = map.get(prop.inventoryItemId); prop.qtyInReportingUnit = UnitUtils.safeGetQtyInReportingUnit(inventoryItemEntity.physicalQuantity, prop.qtyInDefaultUnit, inventoryItemEntity.reportingUnit); prop.avgPricePerReportingUnit = UnitUtils.safeGetPricePerReportingUnit(inventoryItemEntity.physicalQuantity, prop.avgPricePerDefaultUnit, inventoryItemEntity.reportingUnit); } } }