67 lines
2.5 KiB
Python
67 lines
2.5 KiB
Python
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'
|