company.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from tickets.models import Ticket
  4. from dbsynce.docs.database.company import Company as HelpTexts
  5. from core.settings_vars import METASERVICE_ID
  6. class Company(models.Model):
  7. """
  8. Company - это таблица с партнерами сервисов. Партнер сервиса -
  9. юридическое лицо или ИП, которое непосредственно организует работу с
  10. исполнителями и отвечает перед клиентами и перед сервисом за качество
  11. оказанных услуг. Юридически это лица, фактически оказывающие услуги
  12. по договору.
  13. """
  14. # ID METASERVICE
  15. # FIXME: id_metaservice должно принимать текущий идентификатор метасервиса, на котором происходит создание записи
  16. id_metaservice = models.PositiveIntegerField(
  17. default=METASERVICE_ID,
  18. help_text=HelpTexts.id_metaservice
  19. )
  20. # DATA
  21. requirements = models.CharField(
  22. "Ограничения",
  23. max_length=150,
  24. default="DS01y04y05y06y07yMPUCS13MPUB",
  25. help_text=HelpTexts.requirements
  26. )
  27. status = models.CharField(
  28. "Статус",
  29. max_length=1,
  30. default="1",
  31. help_text=HelpTexts.status
  32. )
  33. legal_name = models.CharField(
  34. "Название организации",
  35. max_length=150,
  36. help_text=HelpTexts.legal_name
  37. )
  38. address = models.CharField(
  39. "Юридический адрес",
  40. max_length=150,
  41. help_text=HelpTexts.address
  42. )
  43. inn = models.CharField(
  44. "ИНН компании",
  45. #min_length=10,
  46. max_length=12,
  47. unique=True,
  48. help_text=HelpTexts.inn
  49. )
  50. kpp = models.CharField(
  51. "КПП компании",
  52. #min_length=9,
  53. max_length=9,
  54. help_text=HelpTexts.kpp
  55. )
  56. ogrn = models.CharField(
  57. "ОГРН компании",
  58. max_length=15,
  59. #min_length=13,
  60. help_text=HelpTexts.ogrn
  61. )
  62. bank_name = models.CharField(
  63. "Название банка",
  64. max_length=150,
  65. help_text=HelpTexts.bank_name
  66. )
  67. bik = models.CharField(
  68. "БИК",
  69. max_length=9,
  70. #min_length=9,
  71. help_text=HelpTexts.bik
  72. )
  73. rs = models.CharField(
  74. "Расчетный счет",
  75. max_length=20,
  76. #min_length=20,
  77. help_text=HelpTexts.rs
  78. )
  79. ks = models.CharField(
  80. "Корреспондентский счет",
  81. max_length=20,
  82. #min_length=20,
  83. help_text=HelpTexts.ks
  84. )
  85. tax_method = models.IntegerField(
  86. help_text=HelpTexts.tax_method
  87. )
  88. # OTHER
  89. is_global = models.CharField(
  90. max_length=1,
  91. default="f",
  92. help_text="Доступно ли для хранения в глобальном сервисе / Нужна синхронизация данных"
  93. )
  94. is_visible = models.CharField(
  95. max_length=1,
  96. default="f",
  97. help_text="Доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
  98. )
  99. # FK
  100. repr = models.ForeignKey(
  101. get_user_model(),
  102. blank=True,
  103. verbose_name="Представитель организации",
  104. on_delete=models.DO_NOTHING,
  105. help_text="Уникальный идентификатор представителя компании"
  106. )
  107. ticket_status = models.ForeignKey(
  108. Ticket,
  109. on_delete=models.SET_NULL,
  110. blank=True,
  111. null=True,
  112. help_text="ID заявки, привязанной к текущей записи",
  113. verbose_name="Связанный тикет"
  114. )
  115. def deactivate(self):
  116. self.status = "deactivated"
  117. self.save()
  118. class Meta:
  119. db_table = "company"
  120. verbose_name = "Компания"
  121. verbose_name_plural = "Компании"