from .coupon import SaleCouponModel from .items import ItemModel from .payment import PaymentModel from orm import fields, model class SaleModel(model.Model): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.customer = fields.FixedValue(value=3475) self.vendor = fields.FixedValue(value=587) self.uuid = fields.ThisModelValue(db_column='OrderUUID') self.branch = fields.ThisModelValue(db_column='Location_Code') self.pos = fields.NullValue() self.order_num = fields.ThisModelValue(db_column='Order_Number') self.doc_type = fields.FixedValue(value=4) self.generated_dt = fields.ThisModelDateTimeValue(db_column='Added') self.shift_dt = fields.ThisModelDateTimeValue(db_column='Order_Date') self.cost = fields.ThisModelDecimalValue( db_column='OrderIdealFoodCost', decimal_places=4 ) self.net_amt = fields.ThisModelDecimalValue( db_column='SubTotal', decimal_places=4 ) self.tax_amt = fields.ThisModelDecimalValue( db_column='Sales_Tax1', decimal_places=4 ) self.total_amt = fields.ThisModelDecimalValue( db_column='OrderFinalPrice', decimal_places=4 ) self.discounts_amt = fields.ThisModelDecimalValue( db_column='OrderLineDiscountAmt', decimal_places=4 ) self.official_doc = fields.One2OneValue( db_column='ReceiptNumber', db_table='GovernmentReceipt.dbo.ReceiptHistory', join=( ('Order_Number', 'OrderNumber'), ('Order_Date', 'OrderDate'), ('Location_Code', 'LocationCode') ), raise_not_found_error=False ) self.delivery_channel = fields.One2OneValue( db_column='Description', db_table='pos.dbo.ServiceMethods', join=( ('Location_Code', 'Location_Code'), ('Order_Type_Code', 'ServiceMethodCode') ) ) self.payments = PaymentModel( ['Location_Code', 'Order_Date', 'Order_Number'] ) self.items = ItemModel( ['Location_Code', 'Order_Date', 'Order_Number'] ) self.discounts = SaleCouponModel( ['Location_Code', 'Order_Date', 'Order_Number'], raise_not_found_error=False ) class Conf: db_table = 'pos.dbo.Orders' filters = ('Location_Code', 'Order_Date', 'Order_Number') log_table = 'pos.dbo.hive_sales'