|
|
from django.db import models
|
|
|
|
|
|
|
|
|
class ModelManager(models.Manager):
|
|
|
def get_queryset(self):
|
|
|
return super(ModelManager, self).get_queryset().filter(isValid=1)
|
|
|
|
|
|
|
|
|
class Customer(models.Model):
|
|
|
# 主键
|
|
|
id = models.AutoField(primary_key=True)
|
|
|
# 客户编号 KH + 日期
|
|
|
khno = models.CharField(max_length=20, unique=True)
|
|
|
# 客户名称
|
|
|
name = models.CharField(max_length=20)
|
|
|
# 客户所在地区
|
|
|
area = models.CharField(max_length=20)
|
|
|
# 客户经理
|
|
|
cusManager = models.CharField(max_length=30, db_column='cus_manager')
|
|
|
# 客户等级
|
|
|
level = models.CharField(max_length=30)
|
|
|
# 满意度
|
|
|
myd = models.CharField(max_length=30)
|
|
|
# 信用度
|
|
|
xyd = models.CharField(max_length=30)
|
|
|
# 地址
|
|
|
address = models.CharField(max_length=100)
|
|
|
# 邮编
|
|
|
postCode = models.CharField(max_length=10, db_column='post_code')
|
|
|
# 联系电话
|
|
|
phone = models.CharField(max_length=18)
|
|
|
# 传真
|
|
|
fax = models.CharField(max_length=20)
|
|
|
# 网址
|
|
|
website = models.CharField(max_length=50, db_column='web_site')
|
|
|
# 营业注册号
|
|
|
yyzzzch = models.CharField(max_length=50)
|
|
|
# 法人
|
|
|
fr = models.CharField(max_length=20)
|
|
|
# 注册资金
|
|
|
zczj = models.CharField(max_length=20)
|
|
|
# 年营业额
|
|
|
nyye = models.CharField(max_length=20)
|
|
|
# 开户银行
|
|
|
khyh = models.CharField(max_length=20)
|
|
|
# 开户账号
|
|
|
khzh = models.CharField(max_length=20)
|
|
|
# 地税
|
|
|
dsdjh = models.CharField(max_length=20)
|
|
|
# 国税
|
|
|
gsdjh = models.CharField(max_length=20)
|
|
|
# 状态0=正常 1=暂时流失 2=真正流失
|
|
|
state = models.IntegerField(default=0)
|
|
|
isValid = models.IntegerField(db_column='is_valid', default=1)
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
all = models.Manager()
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_customer'
|
|
|
|
|
|
|
|
|
# 客户联系人
|
|
|
class LinkMan(models.Model):
|
|
|
# 客户id,外键
|
|
|
cusId = models.IntegerField(db_column='cus_id')
|
|
|
linkName = models.CharField(max_length=20, db_column='link_name')
|
|
|
sex = models.CharField(max_length=4)
|
|
|
zhiwei = models.CharField(max_length=20, db_column='zhiwei')
|
|
|
officePhone = models.CharField(max_length=20, db_column='office_phone')
|
|
|
phone = models.CharField(max_length=20, db_column='phone')
|
|
|
isValid = models.IntegerField(db_column='is_valid', default=1)
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_customer_linkman'
|
|
|
|
|
|
|
|
|
# 客户订单
|
|
|
class CustomerOrders(models.Model):
|
|
|
# 关联的客户
|
|
|
customer = models.ForeignKey(Customer, db_column='cus_id',
|
|
|
on_delete=models.DO_NOTHING)
|
|
|
# 订单编号
|
|
|
orderNo = models.DateTimeField(db_column='order_no')
|
|
|
# 下单日期
|
|
|
orderDate = models.DateTimeField(db_column='order_date', auto_now_add=True)
|
|
|
# 收货地址
|
|
|
address = models.CharField(max_length=120, db_column='address')
|
|
|
# 订单总金额
|
|
|
totalPrice = models.FloatField(db_column='total_price')
|
|
|
# 0=未回款 1=已回款
|
|
|
state_choices = [
|
|
|
(0, '未回款'),
|
|
|
(1, '已回款')
|
|
|
]
|
|
|
state = models.IntegerField(choices=state_choices)
|
|
|
isValid = models.IntegerField(db_column='is_valid')
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_customer_order'
|
|
|
|
|
|
|
|
|
# 订单详情表
|
|
|
class OrdersDetail(models.Model):
|
|
|
# 关联订单
|
|
|
order = models.ForeignKey(CustomerOrders, db_column='order_id',
|
|
|
on_delete=models.DO_NOTHING)
|
|
|
# 商品名称
|
|
|
goodsName = models.CharField(max_length=100, db_column='goods_name')
|
|
|
# 商品数量
|
|
|
goodsNum = models.IntegerField(db_column='goods_num')
|
|
|
# 单位
|
|
|
unit = models.CharField(max_length=10, db_column='unit')
|
|
|
# 单价
|
|
|
price = models.FloatField(db_column='price')
|
|
|
# 总价
|
|
|
sum = models.FloatField(db_column='sum')
|
|
|
isValid = models.IntegerField(db_column='is_valid')
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_order_details'
|
|
|
|
|
|
|
|
|
# 客户流失表
|
|
|
class CustomerLoss(models.Model):
|
|
|
# 客户编号
|
|
|
cusNo = models.CharField(max_length=40, db_column='cus_no')
|
|
|
# 客户名称
|
|
|
cusName = models.CharField(max_length=20, db_column='cus_name')
|
|
|
# 客户经理
|
|
|
cusManager = models.CharField(max_length=20, db_column='cus_manager')
|
|
|
# 上次下单日期
|
|
|
lastOrderTime = models.DateTimeField(db_column='last_order_time')
|
|
|
# 确认流失日期
|
|
|
confirmLossTime = models.DateTimeField(db_column='confirm_loss_time')
|
|
|
# 状态 0=暂缓流失 1=确认流失
|
|
|
state = models.IntegerField()
|
|
|
# 流失原因
|
|
|
lossReason = models.CharField(max_length=1000, db_column='loss_reason')
|
|
|
isValid = models.IntegerField(db_column='is_valid', default=1)
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_customer_loss'
|
|
|
|
|
|
|
|
|
# 流失暂缓措施
|
|
|
class CustomerReprieve(models.Model):
|
|
|
customerLoss = models.ForeignKey(CustomerLoss, db_column='loss_id',
|
|
|
db_constraint=False, on_delete=models.DO_NOTHING)
|
|
|
# 采取措施
|
|
|
measure = models.CharField(max_length=1000, db_column='measure')
|
|
|
isValid = models.IntegerField(db_column='is_valid', default=1)
|
|
|
createDate = models.DateTimeField(db_column='create_date', auto_now_add=True)
|
|
|
updateDate = models.DateTimeField(db_column='update_date', auto_now_add=True)
|
|
|
objects = ModelManager()
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 't_customer_reprieve'
|