mirror of
https://github.com/himool/HimoolERP.git
synced 2025-02-26 15:14:31 +08:00
76 lines
4 KiB
Python
76 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')
|