Rev 4500 | Rev 5110 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.warehouse.domain;import in.shop2020.purchase.LineItem;import in.shop2020.purchase.PurchaseOrder;import in.shop2020.purchase.PurchaseService.Client;import in.shop2020.thrift.clients.PurchaseClient;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.thrift.TException;import org.apache.thrift.transport.TTransportException;/*** @author mandeep**/public class InventoryItem {private static Log logger = LogFactory.getLog(InventoryItem.class);private long id;private long itemId;private String itemNumber;private String serialNumber;private long initialQuantity;private long currentQuantity;private long purchaseId;public static InventoryItem create(in.shop2020.warehouse.InventoryItem thriftInventoryItem) {InventoryItem inventoryItem = new InventoryItem();inventoryItem.id = thriftInventoryItem.getId();inventoryItem.itemId = thriftInventoryItem.getItemId();inventoryItem.itemNumber = thriftInventoryItem.getItemNumber();inventoryItem.serialNumber = thriftInventoryItem.getSerialNumber();inventoryItem.initialQuantity = thriftInventoryItem.getInitialQuantity();inventoryItem.currentQuantity = thriftInventoryItem.getCurrentQuantity();inventoryItem.purchaseId = thriftInventoryItem.getPurchaseId();return inventoryItem;}public in.shop2020.warehouse.InventoryItem convert() {in.shop2020.warehouse.InventoryItem inventoryItem = new in.shop2020.warehouse.InventoryItem();inventoryItem.setId(id);inventoryItem.setItemId(itemId);inventoryItem.setCurrentQuantity(currentQuantity);inventoryItem.setInitialQuantity(initialQuantity);inventoryItem.setItemNumber(itemNumber);inventoryItem.setPurchaseId(purchaseId);inventoryItem.setSerialNumber(serialNumber);// Setting derived fieldstry {Client client = new PurchaseClient().getClient();PurchaseOrder purchaseOrder = client.getPurchaseOrderForPurchase(purchaseId);inventoryItem.setSupplierId(purchaseOrder.getSupplierId());for (LineItem lineItem : purchaseOrder.getLineitems()) {if (lineItem.getItemId() == itemId) {inventoryItem.setUnitPrice(lineItem.getUnitPrice());break;}}} catch (TTransportException e) {logger.error("Could not fetch purchase order for purchase id: " + purchaseId, e);} catch (TException e) {logger.error("Could not fetch purchase order for purchase id: " + purchaseId, e);}return inventoryItem;}public long getId() {return id;}public void setId(long id) {this.id = id;}public long getItemId() {return itemId;}public void setItemId(long itemId) {this.itemId = itemId;}public String getItemNumber() {return itemNumber;}public void setItemNumber(String itemNumber) {this.itemNumber = itemNumber;}public String getSerialNumber() {return serialNumber;}public void setSerialNumber(String serialNumber) {this.serialNumber = serialNumber;}public long getInitialQuantity() {return initialQuantity;}public void setInitialQuantity(long initialQuantity) {this.initialQuantity = initialQuantity;}public long getCurrentQuantity() {return currentQuantity;}public void setCurrentQuantity(long currentQuantity) {this.currentQuantity = currentQuantity;}public long getPurchaseId() {return purchaseId;}public void setPurchaseId(long purchaseId) {this.purchaseId = purchaseId;}}