servicetype.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. from .template import Template
  2. class ServiceType(models.Model):
  3. """
  4. Перечень типов услуг
  5. """
  6. id = models.IntegerField(
  7. primary_key=True
  8. )
  9. # ID METASERVICE
  10. id_metaservice = models.PositiveIntegerField(
  11. help_text=" уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер."
  12. )
  13. # DATA
  14. codename = models.CharField(
  15. max_length=255,
  16. help_text="латинское наименование услуги в системе"
  17. )
  18. requirements = models.CharField(
  19. max_length=300,
  20. help_text="код требований на основе вспомогательных таблиц-справочников"
  21. )
  22. status = models.CharField(
  23. max_length=150,
  24. help_text="активность на основе системы заявок"
  25. )
  26. caption = models.CharField(
  27. max_length=255,
  28. help_text="наименование услуги для отображения пользователю"
  29. )
  30. description = models.TextField(
  31. blank=True,
  32. help_text="текстовое описание услуги"
  33. )
  34. link_agreement = models.CharField(
  35. max_length=400,
  36. help_text="ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп)"
  37. )
  38. price_type = models.CharField(
  39. max_length=150,
  40. help_text="ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу)"
  41. )
  42. company_comission = models.FloatField(
  43. help_text="Коммисия сервиса"
  44. )
  45. # OTHER
  46. is_global = models.CharField(
  47. max_length=1,
  48. default="f",
  49. help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
  50. )
  51. is_visible = models.CharField(
  52. max_length=1,
  53. default="f",
  54. help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных"
  55. )
  56. # FK
  57. ticket_status = models.ForeignKey(
  58. Ticket,
  59. on_delete=models.DO_NOTHING,
  60. null=True,
  61. help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
  62. )