|
@@ -4,6 +4,7 @@ from metaservicesynced.models.client import Client
|
|
|
from metaservicesynced.models.provider import Provider
|
|
|
from metaservicesynced.models.service import Service
|
|
|
from metaservicesynced.models.servicetype import ServiceType
|
|
|
+from tickets.models import Task
|
|
|
|
|
|
class Orders(models.Model):
|
|
|
"""
|
|
@@ -12,7 +13,7 @@ class Orders(models.Model):
|
|
|
|
|
|
|
|
|
service = models.ForeignKey(Service, null=True, on_delete=models.DO_NOTHING, help_text="спецификатор услуги провайдера, нужен для установления цены (id_service - уникальный идентификатор шаблона услуги, необходим для установления цены и исполнителей.")
|
|
|
- service_type = models.ForeignKey(ServiceType, on_delete=models.DO_NOTHING, help_text="тип заказа по классификатору услу")
|
|
|
+ service_type = models.ForeignKey(ServiceType, null=True, on_delete=models.DO_NOTHING, help_text="тип заказа по классификатору услу")
|
|
|
state = models.CharField(max_length=150, help_text="текущий статус заказа из возможных на платформе")
|
|
|
id_metaservice = models.BigIntegerField(null=True, help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false.")
|
|
|
provider = models.ForeignKey(Provider, null=True, on_delete=models.DO_NOTHING, help_text="уникальный идентификатор поставщика услуги/аккаунта, который оказывает услугу. Если несколько провайдеров собираются мета-сервисом в цепочку, где на уровне связи с клиентом нельзя установить одно ответственное лицо, то указывается вспомогательный мета-провайдер сервиса, и это означает, что мета-сервис несет ответственность перед пользователем за сборку услуги воедино.")
|
|
@@ -20,10 +21,12 @@ class Orders(models.Model):
|
|
|
client_id = models.ForeignKey(Client, null=True, on_delete=models.DO_NOTHING, help_text="клиент/аккаунт, который оплачивает все оказанные услуги")
|
|
|
time_created = models.DateTimeField(auto_now_add=True, help_text="время создания заказа")
|
|
|
time_placed = models.DateTimeField(help_text="время размещения заказа")
|
|
|
- time_start = models.DateTimeField(help_text="время начала оказания услуги")
|
|
|
+ time_start = models.DateTimeField(null=True, help_text="время начала оказания услуги")
|
|
|
+ time_start_real = models.DateTimeField(null=True, help_text="")
|
|
|
+ time_start_predicted = models.DateTimeField(null=True, help_text="")
|
|
|
time_finish_predicted = models.DateTimeField(help_text="предварительное/расчетное время до окончания оказания услуги")
|
|
|
time_finish_real = models.DateTimeField(null=True, help_text="фактическое время окончания (точное установленное время)")
|
|
|
- ticket = models.IntegerField(help_text="", null=True)
|
|
|
+ ticket = models.ForeignKey(Task, null=True, on_delete=models.DO_NOTHING)
|
|
|
predicted_price = models.FloatField(help_text="расчетная цена с учетом тарифа поставщика услуг")
|
|
|
real_price = models.FloatField(help_text="цена с учетом тарифа поставщика услуг по факту оказания услуги")
|
|
|
is_global = models.BooleanField(default=False, help_text="доступна ли информация по заказу для хранения в глобальном сервисе/нужна синхронизация данных. Если is_global = false, то и is_visible для заказа и вглубь по цепочке для всех исполнителей и ресурсов - тоже false.")
|