Nessuna descrizione

models.py 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. # -*- coding: utf-8 -*-
  2. from django.db import models
  3. from django.utils.translation import ugettext_lazy as _
  4. from django_models_ext import BaseModelMixin, upload_path
  5. from mch.models import ModelInfo
  6. class SaleclerkIntegralIncomeExpensesInfo(BaseModelMixin):
  7. INCOME = 0
  8. EXPENSE = 1
  9. UNFREEZE = 2
  10. TYPE = (
  11. (INCOME, u'收入'),
  12. (EXPENSE, u'支出'),
  13. (UNFREEZE, u'解冻'),
  14. )
  15. clerk_id = models.CharField(_(u'clerk_id'), max_length=32, blank=True, null=True, help_text=u'店员唯一标识', db_index=True)
  16. type = models.IntegerField(_(u'type'), choices=TYPE, default=INCOME, help_text=u'收支类别', db_index=True)
  17. brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
  18. brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
  19. model_id = models.CharField(_(u'model_id'), max_length=32, blank=True, null=True, help_text=u'型号唯一标识', db_index=True)
  20. model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称')
  21. distributor_id = models.CharField(_(u'distributor_id'), max_length=32, blank=True, null=True, help_text=u'经销商唯一标识', db_index=True)
  22. distributor_name = models.CharField(_(u'distributor_name'), max_length=255, blank=True, null=True, help_text=u'经销商名称')
  23. code = models.CharField(_(u'code'), max_length=32, blank=True, null=True, help_text=u'机身码', db_index=True)
  24. consumer_name = models.CharField(_(u'consumer_name'), max_length=32, blank=True, null=True, help_text=u'消费者姓名')
  25. consumer_phone = models.CharField(_(u'consumer_phone'), max_length=32, blank=True, null=True, help_text=u'消费者手机号')
  26. lat = models.FloatField(_(u'lat'), default=1.0, help_text=u'纬度')
  27. lon = models.FloatField(_(u'lon'), default=1.0, help_text=u'经度')
  28. image = models.FileField(_(u'image'), upload_to=upload_path, blank=True, null=True, help_text=u'图片')
  29. integral = models.IntegerField(_(u'integral'), default=0, help_text=u'增减积分')
  30. left_integral = models.IntegerField(_(u'left_integral'), default=0, help_text=u'积分增减后数量(分)')
  31. remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')
  32. test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)
  33. class Meta:
  34. verbose_name = _(u'saleclerkintegralincomeexpensesinfo')
  35. verbose_name_plural = _(u'saleclerkintegralincomeexpensesinfo')
  36. def __unicode__(self):
  37. return unicode(self.pk)
  38. @property
  39. def model_info(self):
  40. try:
  41. info = ModelInfo.objects.get(model_id=self.model_id).fulldata
  42. except ModelInfo.DoesNotExist:
  43. info = {}
  44. return info
  45. @property
  46. def data(self):
  47. return {
  48. 'type': self.type,
  49. 'integral': self.integral,
  50. 'model_info': self.model_info,
  51. 'modelName': self.model_name,
  52. 'serialNo': self.code,
  53. 'created_at': self.created_at,
  54. }
  55. class SaleclerkSubmitLogInfo(BaseModelMixin):
  56. brand_pk = models.IntegerField(_(u'brand_pk'), default=0, help_text=u'品牌PK', db_index=True)
  57. brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
  58. model_pk = models.IntegerField(_(u'model_pk'), default=0, help_text=u'型号PK', db_index=True)
  59. model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称')
  60. model_uni_name = models.CharField(_(u'model_uni_name'), max_length=255, blank=True, null=True, help_text=u'型号统称')
  61. distributor_pk = models.IntegerField(_(u'distributor_pk'), default=0, help_text=u'经销商PK', db_index=True)
  62. distributor_name = models.CharField(_(u'distributor_name'), max_length=32, blank=True, null=True, help_text=u'经销商名称')
  63. clerk_id = models.CharField(_(u'clerk_id'), max_length=32, blank=True, null=True, help_text=u'店员唯一标识', db_index=True)
  64. clerk_name = models.CharField(_(u'clerk_name'), max_length=32, blank=True, null=True, help_text=u'店员名称')
  65. code = models.CharField(_(u'code'), max_length=32, blank=True, null=True, help_text=u'机身码', db_index=True)
  66. consumer_name = models.CharField(_(u'consumer_name'), max_length=32, blank=True, null=True, help_text=u'消费者姓名')
  67. consumer_phone = models.CharField(_(u'consumer_phone'), max_length=32, blank=True, null=True, help_text=u'消费者手机号')
  68. lat = models.FloatField(_(u'lat'), default=1.0, help_text=u'纬度')
  69. lon = models.FloatField(_(u'lon'), default=1.0, help_text=u'经度')
  70. image = models.FileField(_(u'image'), upload_to=upload_path, blank=True, null=True, help_text=u'图片')
  71. has_scan = models.BooleanField(_(u'has_scan'), default=False, help_text=_(u'是否被消费者扫过'), db_index=True)
  72. remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')
  73. dupload = models.BooleanField(_(u'dupload'), default=False, help_text=_(u'是否为重复提交'), db_index=True)
  74. test_user = models.BooleanField(_(u'test_user'), default=False, help_text=_(u'是否为测试用户'), db_index=True)
  75. test_sn = models.BooleanField(_(u'test_sn'), default=False, help_text=_(u'是否为测试序列号'), db_index=True)
  76. ym = models.IntegerField(_(u'ym'), default=0, help_text=u'年月', db_index=True) # 例:201712, tc.local_string(format='%Y%m')
  77. ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True) # 例:20171208, tc.local_string(format='%Y%m%d')
  78. trackingNo = models.CharField(_(u'trackingNo'), max_length=32, blank=True, null=True, help_text=u'快递单号')
  79. is_wxwork = models.BooleanField(_(u'is_wxwork'), default=False, help_text=_(u'是否为企业微信端'), db_index=True)
  80. is_staff_delete = models.BooleanField(_(u'is_staff_delete'), default=False, help_text=_(u'是否管理员删除'), db_index=True)
  81. code_version = models.IntegerField(_(u'code_version'), default=1, help_text=_(u'统览码版本'), db_index=True)
  82. class Meta:
  83. verbose_name = _(u'销售员扫码出库记录')
  84. verbose_name_plural = _(u'销售员扫码出库记录')
  85. def __unicode__(self):
  86. return unicode(self.pk)