models.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # coding=utf-8
  2. from django.db import models
  3. from django.conf import settings
  4. from django.db.models import Q
  5. from utils.exceptions import CustomError
  6. class Tenant(models.Model):
  7. REPAIR_ORDER = 1
  8. INSPECTION_ORDER = 2
  9. ORDER_TYPE = (
  10. (REPAIR_ORDER, '报修工单'),
  11. (INSPECTION_ORDER, '巡检转报修工单')
  12. )
  13. company_no = models.CharField(max_length=10, verbose_name=u'单位编号')
  14. company_name = models.CharField(max_length=200, verbose_name=u'单位名称')
  15. organ_code = models.CharField(max_length=200, verbose_name=u'组织代码')
  16. # images = models.ForeignKey(Upload, verbose_name='营业执照图片',on_delete=models.PROTECT, blank=True)
  17. name = models.CharField(max_length=20, verbose_name=u'联系人名称')
  18. tel = models.CharField(max_length=20, verbose_name=u'联系人电话')
  19. create_time = models.DateTimeField(verbose_name=u'申请时间', auto_now_add=True, editable=False)
  20. end_date = models.DateField(verbose_name=u'到期时间', editable=False)
  21. status = models.PositiveSmallIntegerField(choices=settings.CHECK_STATE_CHOICES, verbose_name=u'审核状态',
  22. default=REPAIR_ORDER)
  23. delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
  24. class Meta:
  25. db_table = 'tenant'
  26. ordering = ['-id']
  27. verbose_name = '租户'
  28. default_permissions = ()
  29. @staticmethod
  30. def is_exist(company_name, exclude_id=None):
  31. rows = Tenant.objects.filter(delete=False, company_name=company_name)
  32. if exclude_id:
  33. rows = rows.filter(~Q(id=exclude_id))
  34. return rows.count()
  35. @staticmethod
  36. def getById(id):
  37. try:
  38. id = int(id)
  39. except:
  40. raise CustomError(u'无效的租户id!')
  41. tenant = Tenant.objects.filter(id=id,delete=False).first()
  42. if not tenant:
  43. raise CustomError(u'未找到相应的租户信息!')
  44. return tenant