Rev 10864 | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 03-Dec-2012@author: Amar'''from elixir.entity import Entityfrom elixir.fields import Fieldfrom elixir.options import using_options, using_table_optionsfrom shop2020.thriftpy.purchase.ttypes import PurchaseReturn as TPurchaseReturn, PurchaseReturnInventoryType, SettlementType, PrReasonTypefrom shop2020.utils.Utils import to_java_datefrom sqlalchemy.types import Integer, Float, DateTime, Boolean, Enum, Stringimport datetimeclass PurchaseReturn(Entity):'''classdocs'''id = Field(Integer, primary_key=True, autoincrement=True)vendorId = Field(Integer)amount = Field(Float)returnTimestamp = Field(DateTime)isSettled = Field(Boolean)type = Field(Enum('REAL', 'VIRTUAL'), default = 'REAL', server_default='REAL')returnInventoryType = Field(Enum('GOOD', 'BAD'), default = 'GOOD', server_default='GOOD')currentSettlementType = Field(Enum('CREDIT_NOTE','REPLACEMENT','AGAINST_GRN'))latestSettlementDate = Field(DateTime)purchaseReturnType = Field(Enum('WRONG_GRN','ACTUAL_PR','REPLACEMENT'))reasonText = Field(String(1024))documentNumber = Field(String(1024))createdBy = Field(String(255))unsettledAmount = Field(Float)using_options(shortnames=True)using_table_options(mysql_engine="InnoDB")def __init__(self, vendorId, amount):'''Constructor'''self.vendorId = vendorIdself.amount = amountself.returnTimestamp = datetime.datetime.now()self.isSettled = Falsedef to_thrift_object(self):t_purchaseReturn = TPurchaseReturn()t_purchaseReturn.id = self.idt_purchaseReturn.vendorId = self.vendorIdt_purchaseReturn.amount = self.amountt_purchaseReturn.returnTimestamp = to_java_date(self.returnTimestamp)t_purchaseReturn.isSettled = self.isSettledt_purchaseReturn.returnInventoryType = PurchaseReturnInventoryType._NAMES_TO_VALUES[self.returnInventoryType]if self.currentSettlementType:t_purchaseReturn.currentSettlementType = SettlementType._NAMES_TO_VALUES[self.currentSettlementType]if self.latestSettlementDate:t_purchaseReturn.latestSettlementDate = to_java_date(self.latestSettlementDate)if self.purchaseReturnType:t_purchaseReturn.purchaseReturnType = PrReasonType._NAMES_TO_VALUES[self.purchaseReturnType]if self.reasonText:t_purchaseReturn.reasonText = self.reasonTextif self.documentNumber:t_purchaseReturn.documentNumber = self.documentNumberif self.createdBy:t_purchaseReturn.createdBy = self.createdByif self.unsettledAmount:t_purchaseReturn.unsettledAmount = self.unsettledAmountreturn t_purchaseReturn