HimoolERP/apps/sales/models.py
2020-09-27 18:43:01 +08:00

75 lines
4 KiB
Python

from django.db import models
class SalesOrder(models.Model):
"""销售单"""
id = models.CharField(primary_key=True, max_length=20)
date = models.DateTimeField()
seller = models.ForeignKey('user.User', models.CASCADE, related_name='sales_order_set') # 销售员
seller_name = models.CharField(max_length=48)
warehouse = models.ForeignKey('warehouse.Warehouse', models.CASCADE, related_name='sales_order_set')
warehouse_name = models.CharField(max_length=48)
account = models.ForeignKey('account.Account', models.CASCADE, related_name='sales_order_set') # 结算账户
account_name = models.CharField(max_length=48)
discount = models.FloatField(default=100) # 整单折扣
amount = models.FloatField(default=0) # 实收金额
total_amount = models.FloatField(default=0) # 应收金额
total_quantity = models.FloatField(default=0) # 总数量
client = models.ForeignKey('sales.Client', models.CASCADE, related_name='sales_order_set', null=True)
client_phone = models.CharField(max_length=16, null=True, blank=True) # 客户电话
client_contacts = models.CharField(max_length=16, null=True, blank=True) # 客户联系人
client_name = models.CharField(max_length=16, null=True, blank=True)
client_address = models.CharField(max_length=64, null=True, blank=True)
remark = models.CharField(max_length=64, null=True, blank=True)
is_done = models.BooleanField(default=False)
is_return = models.BooleanField(default=False) # 退货单
sales_order = models.ForeignKey('sales.SalesOrder', models.CASCADE, related_name='return_order_set', null=True)
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='sales_order_set')
class SalesGoods(models.Model):
"""销售商品"""
code = models.CharField(max_length=36)
name = models.CharField(max_length=24)
specification = models.CharField(max_length=32, null=True, blank=True) # 规格型号
unit = models.CharField(max_length=16, null=True, blank=True) # 单位
quantity = models.FloatField(default=0)
purchase_price = models.FloatField(default=0)
retail_price = models.FloatField(default=0) # 单价
amount = models.FloatField(default=0) # 金额
remark = models.CharField(max_length=64, null=True, blank=True)
goods = models.ForeignKey('goods.Goods', models.CASCADE, related_name='sales_goods_set')
sales_order = models.ForeignKey('sales.SalesOrder', models.CASCADE, related_name='goods_set')
class PaymentRecord(models.Model):
"""付款记录"""
date = models.DateTimeField(auto_now_add=True)
amount = models.FloatField(default=0)
sales_order = models.ForeignKey('sales.SalesOrder', models.CASCADE, related_name='payment_records')
account = models.ForeignKey('account.Account', models.CASCADE, related_name='sales_payment_records') # 结算账户
account_name = models.CharField(max_length=48)
remark = models.CharField(max_length=64, null=True, blank=True)
class SalesTask(models.Model):
"""销售任务"""
goods = models.ForeignKey('goods.Goods', models.CASCADE, related_name='sales_tasks')
warehouse = models.ForeignKey('warehouse.Warehouse', models.CASCADE, related_name='sales_tasks')
quantity = models.FloatField(default=0) # 任务数量
start_date = models.DateTimeField()
end_date = models.DateTimeField()
create_date = models.DateTimeField(auto_now_add=True)
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='sales_tasks')
class Client(models.Model):
"""客户"""
phone = models.CharField(max_length=16)
name = models.CharField(max_length=24, null=True, blank=True) # 客户名称
contacts = models.CharField(max_length=24, null=True, blank=True) # 联系人
address = models.CharField(max_length=64, null=True, blank=True)
mailbox = models.CharField(max_length=48, null=True, blank=True)
create_date = models.DateTimeField(auto_now_add=True)
is_delete = models.BooleanField(default=False)
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='clients')