mirror of
https://github.com/himool/HimoolERP.git
synced 2026-01-14 05:14:11 +08:00
86 lines
6.1 KiB
Python
86 lines
6.1 KiB
Python
from django.db import models
|
|
|
|
|
|
class Supplier(models.Model):
|
|
"""供应商"""
|
|
name = models.CharField(max_length=48, verbose_name='名称')
|
|
manager = models.CharField(max_length=24, null=True, blank=True, verbose_name='管理员')
|
|
phone = models.CharField(max_length=12, null=True, blank=True, verbose_name='手机号')
|
|
address = models.CharField(max_length=48, null=True, blank=True, verbose_name='地址')
|
|
email = models.CharField(max_length=48, null=True, blank=True, verbose_name='邮箱')
|
|
bank_account = models.CharField(max_length=24, null=True, blank=True, verbose_name='银行账户')
|
|
bank_name = models.CharField(max_length=24, null=True, blank=True, verbose_name='开户行')
|
|
url = models.CharField(max_length=128, null=True, blank=True, verbose_name='网址')
|
|
update_date = models.DateTimeField(auto_now=True, verbose_name='更新时间')
|
|
default_discount = models.IntegerField(default=100, verbose_name='默认折扣')
|
|
order = models.IntegerField(default=100, verbose_name='排序')
|
|
status = models.BooleanField(default=True, verbose_name='状态')
|
|
remark = models.CharField(max_length=64, null=True, blank=True, verbose_name='备注')
|
|
is_delete = models.BooleanField(default=False, verbose_name='删除状态')
|
|
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='supplier_set')
|
|
|
|
|
|
class PurchaseOrder(models.Model):
|
|
"""采购单/采购退货单"""
|
|
id = models.CharField(primary_key=True, max_length=20, verbose_name='编号')
|
|
supplier = models.ForeignKey('purchase.Supplier', models.CASCADE, related_name='purchase_order_set', verbose_name='供应商')
|
|
supplier_name = models.CharField(max_length=48, verbose_name='供应商名称')
|
|
warehouse = models.ForeignKey('warehouse.Warehouse', models.CASCADE, related_name='purchase_order_set', verbose_name='仓库')
|
|
warehouse_name = models.CharField(max_length=48, verbose_name='仓库名称')
|
|
warehouse_address = models.CharField(max_length=128, null=True, blank=True, verbose_name='仓库地址')
|
|
account = models.ForeignKey('account.Account', models.CASCADE, related_name='purchase_order_set', verbose_name='结算账户')
|
|
account_name = models.CharField(max_length=48, verbose_name='结算账户名称')
|
|
contacts = models.ForeignKey('user.User', models.CASCADE, related_name='purchase_order_set', verbose_name='联系人')
|
|
contacts_name = models.CharField(max_length=48, verbose_name='联系人名称')
|
|
contacts_phone = models.CharField(max_length=12, verbose_name='联系人电话')
|
|
amount = models.FloatField(default=0, verbose_name='实付金额')
|
|
total_amount = models.FloatField(default=0, verbose_name='应收金额')
|
|
total_quantity = models.FloatField(default=0, verbose_name='总数量')
|
|
date = models.DateField(verbose_name='日期')
|
|
remark = models.CharField(max_length=64, null=True, blank=True, verbose_name='备注')
|
|
is_done = models.BooleanField(default=False, verbose_name='完成状态')
|
|
is_return = models.BooleanField(default=False, verbose_name='退货状态')
|
|
purchase_order = models.ForeignKey('purchase.PurchaseOrder', models.CASCADE, related_name='return_order_set', null=True, verbose_name='采购单')
|
|
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='purchase_order_set')
|
|
|
|
|
|
class PurchaseGoods(models.Model):
|
|
"""采购商品"""
|
|
code = models.CharField(max_length=36, verbose_name='商品编号')
|
|
name = models.CharField(max_length=24, verbose_name='商品名称')
|
|
specification = models.CharField(max_length=32, null=True, blank=True, verbose_name='规格')
|
|
unit = models.CharField(max_length=16, null=True, blank=True, verbose_name='单位')
|
|
purchase_price = models.FloatField(default=0, verbose_name='采购价')
|
|
quantity = models.FloatField(default=0, verbose_name='数量')
|
|
discount = models.FloatField(default=0, verbose_name='折扣')
|
|
discount_price = models.FloatField(default=0, verbose_name='折扣价')
|
|
amount = models.FloatField(default=0, verbose_name='金额')
|
|
discount_amount = models.FloatField(default=0, verbose_name='折扣金额')
|
|
goods = models.ForeignKey('goods.Goods', models.CASCADE, related_name='purchase_goods_set', verbose_name='商品')
|
|
purchase_order = models.ForeignKey('purchase.PurchaseOrder', models.CASCADE, related_name='goods_set')
|
|
|
|
|
|
class PaymentRecord(models.Model):
|
|
"""付款记录"""
|
|
date = models.DateTimeField(auto_now_add=True, verbose_name='日期')
|
|
amount = models.FloatField(default=0, verbose_name='金额')
|
|
purchase_order = models.ForeignKey('purchase.PurchaseOrder', models.CASCADE, related_name='payment_records', verbose_name='采购单')
|
|
account = models.ForeignKey('account.Account', models.CASCADE, related_name='purchase_payment_records', verbose_name='结算账户')
|
|
account_name = models.CharField(max_length=48, verbose_name='结算账户名称')
|
|
remark = models.CharField(max_length=64, null=True, blank=True, verbose_name='备注')
|
|
|
|
|
|
class ChangeRecord(models.Model):
|
|
"""进价变更记录"""
|
|
create_datetime = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
|
|
goods = models.ForeignKey('goods.Goods', models.CASCADE, related_name='change_records', verbose_name='商品')
|
|
goods_code = models.CharField(max_length=36, verbose_name='商品编号')
|
|
goods_name = models.CharField(max_length=128, verbose_name='商品名称')
|
|
specification = models.CharField(max_length=32, null=True, blank=True, verbose_name='规格')
|
|
unit = models.CharField(max_length=16, null=True, blank=True, verbose_name='单位')
|
|
change_method = models.CharField(max_length=8, verbose_name='变更方式')
|
|
before_change = models.FloatField(verbose_name='改变前')
|
|
after_change = models.FloatField(verbose_name='改变后')
|
|
operator = models.ForeignKey('user.User', models.CASCADE, related_name='change_records', verbose_name='操作人')
|
|
relation_order = models.ForeignKey('purchase.PurchaseOrder', models.CASCADE, related_name='change_records', null=True, verbose_name='采购单')
|
|
teams = models.ForeignKey('user.Teams', models.CASCADE, related_name='change_records')
|