0001_initial.py 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. <<<<<<< HEAD
  2. # Generated by Django 4.1.3 on 2023-03-31 19:43
  3. from django.db import migrations, models
  4. =======
  5. # Generated by Django 4.1.3 on 2023-03-28 09:31
  6. from django.db import migrations, models
  7. import django.db.models.deletion
  8. >>>>>>> dan/metaservicesynced
  9. class Migration(migrations.Migration):
  10. initial = True
  11. <<<<<<< HEAD
  12. dependencies = []
  13. operations = [
  14. migrations.CreateModel(
  15. name="Client",
  16. fields=[
  17. (
  18. "id",
  19. models.BigAutoField(
  20. auto_created=True,
  21. primary_key=True,
  22. serialize=False,
  23. verbose_name="ID",
  24. ),
  25. ),
  26. ("requirements", models.CharField(max_length=150)),
  27. (
  28. "status",
  29. models.CharField(
  30. help_text="активность на основе системы заявок", max_length=150
  31. ),
  32. ),
  33. (
  34. "id_metaservice",
  35. models.BigIntegerField(
  36. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false.",
  37. null=True,
  38. ),
  39. ),
  40. ("is_global", models.CharField(max_length=1)),
  41. ("is_visible", models.CharField(max_length=1)),
  42. ],
  43. options={
  44. "db_table": "client",
  45. },
  46. ),
  47. migrations.CreateModel(
  48. =======
  49. dependencies = [
  50. ("tickets", "0001_initial"),
  51. ]
  52. operations = [
  53. migrations.CreateModel(
  54. >>>>>>> dan/metaservicesynced
  55. name="Documents",
  56. fields=[
  57. (
  58. "id",
  59. models.BigAutoField(
  60. auto_created=True,
  61. primary_key=True,
  62. serialize=False,
  63. verbose_name="ID",
  64. ),
  65. ),
  66. <<<<<<< HEAD
  67. ("check_date", models.DateTimeField(help_text="timestamp проверки")),
  68. (
  69. "check_level",
  70. models.IntegerField(
  71. help_text="информация об уровне проверки. Документ может быть проверен как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Документ, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки. Информацию об уровнях проверки можно посмотреть по словарю Requirements. В данной таблице хранится информация о наиболее высоком уровне проверки."
  72. ),
  73. ),
  74. (
  75. "expire_date",
  76. models.DateTimeField(
  77. help_text="срок окончания действия документа.", null=True
  78. ),
  79. ),
  80. (
  81. "id_metaservice",
  82. models.BigIntegerField(
  83. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false.",
  84. null=True,
  85. ),
  86. ),
  87. ("requirements", models.CharField(max_length=150)),
  88. (
  89. "status",
  90. models.CharField(
  91. help_text="активность на основе системы заявок", max_length=150
  92. ),
  93. ),
  94. (
  95. "datalink",
  96. models.TextField(
  97. blank=True,
  98. help_text="адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД.",
  99. ),
  100. ),
  101. (
  102. "doc_type",
  103. models.CharField(
  104. help_text="тип документа (паспорт/паспорт 1 страница и т д) в соответствии с классификатором типов документов (см описание в Requirements)",
  105. max_length=150,
  106. ),
  107. ),
  108. (
  109. "is_global",
  110. models.CharField(
  111. help_text="доступны ли документы для хранения в глобальном сервисе/нужна синхронизация",
  112. max_length=1,
  113. ),
  114. ),
  115. (
  116. "is_visible",
  117. models.CharField(
  118. help_text="доступна ли информация о наличии документов для планирования в цепочке с другими услугами в глобальном сервисе",
  119. max_length=1,
  120. =======
  121. ("check_date", models.DateTimeField()),
  122. ("check_level", models.IntegerField()),
  123. ("expire_date", models.DateTimeField()),
  124. ("id_metaservice", models.BigIntegerField()),
  125. ("requirements", models.CharField(max_length=150)),
  126. ("status", models.CharField(max_length=150)),
  127. (
  128. "ticket_status",
  129. models.ForeignKey(
  130. on_delete=django.db.models.deletion.DO_NOTHING,
  131. to="tickets.task",
  132. >>>>>>> dan/metaservicesynced
  133. ),
  134. ),
  135. ],
  136. options={
  137. "db_table": "documents",
  138. },
  139. ),
  140. <<<<<<< HEAD
  141. migrations.CreateModel(
  142. name="Orders",
  143. fields=[
  144. (
  145. "id",
  146. models.BigAutoField(
  147. auto_created=True,
  148. primary_key=True,
  149. serialize=False,
  150. verbose_name="ID",
  151. ),
  152. ),
  153. ("state", models.CharField(max_length=150)),
  154. (
  155. "id_metaservice",
  156. models.BigIntegerField(
  157. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false.",
  158. null=True,
  159. ),
  160. ),
  161. ("time_created", models.DateTimeField(auto_now_add=True)),
  162. ("time_placed", models.DateTimeField()),
  163. ("time_start", models.DateTimeField()),
  164. ("time_finish_predicted", models.DateTimeField()),
  165. ("time_finish_real", models.DateTimeField(null=True)),
  166. ("ticket", models.IntegerField()),
  167. ("predicted_price", models.FloatField()),
  168. ("real_price", models.FloatField()),
  169. ("is_global", models.CharField(max_length=1)),
  170. ("is_visible", models.CharField(max_length=1)),
  171. ],
  172. options={
  173. "db_table": "orders",
  174. },
  175. ),
  176. migrations.CreateModel(
  177. name="Permissions",
  178. fields=[
  179. (
  180. "id",
  181. models.BigAutoField(
  182. auto_created=True,
  183. primary_key=True,
  184. serialize=False,
  185. verbose_name="ID",
  186. ),
  187. ),
  188. (
  189. "check_date",
  190. models.DateTimeField(help_text="timestamp проверки", null=True),
  191. ),
  192. (
  193. "id_permissions",
  194. models.BigIntegerField(
  195. help_text="уникальный идентификатор определяющий наличие разрешения из множества в словаре - выданных пользователю/клиенту/аккаунту"
  196. ),
  197. ),
  198. (
  199. "check_level",
  200. models.CharField(
  201. help_text="тип проверки в соответствии с классификатором проверок.",
  202. max_length=10,
  203. ),
  204. ),
  205. (
  206. "status",
  207. models.CharField(
  208. help_text="статус обработки заявки в системе заявок",
  209. max_length=150,
  210. ),
  211. ),
  212. (
  213. "id_metaservice",
  214. models.BigIntegerField(
  215. help_text=" уникальный идентификатор мета-сервиса, необходимый для синхронизации данных."
  216. ),
  217. ),
  218. (
  219. "is_global",
  220. models.CharField(
  221. help_text="доступна ли информация для хранения в глобальном сервисе/нужна синхронизация",
  222. max_length=1,
  223. ),
  224. ),
  225. (
  226. "is_visible",
  227. models.CharField(
  228. help_text="доступна ли информация о наличии разрешения для планирования в цепочке с другими услугами в глобальном сервисе",
  229. max_length=1,
  230. ),
  231. ),
  232. ],
  233. options={
  234. "db_table": "permissions",
  235. },
  236. ),
  237. migrations.CreateModel(
  238. name="Provider",
  239. fields=[
  240. (
  241. "id",
  242. models.BigAutoField(
  243. auto_created=True,
  244. primary_key=True,
  245. serialize=False,
  246. verbose_name="ID",
  247. ),
  248. ),
  249. (
  250. "type",
  251. models.CharField(
  252. help_text="тип поставщика (партнер/ответственное лицо/поставщик услуг). Смысл такой - провайдер это статус пользователя, который, в зависимости от применения, может нести разный смысл и подразумевает под собой какой-то тип действия. Обычные исполнители - это провайдеры услуг (код 3). Ответственные за какое-то имущество, которые сдают его в аренду - это тоже провайдеры (код 2). Ответственные за набор услуг перед метасервисом (фактически - назначенные админы) - это провайдеры-партнеры (код 1)",
  253. max_length=150,
  254. ),
  255. ),
  256. (
  257. "id_metaservice",
  258. models.BigIntegerField(
  259. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.",
  260. null=True,
  261. ),
  262. ),
  263. (
  264. "requirements",
  265. models.CharField(
  266. help_text="требования для того, чтобы можно было предоставлять услуги любые в этом метасервисе в целом (самые строгие)",
  267. max_length=300,
  268. ),
  269. ),
  270. (
  271. "status",
  272. models.CharField(
  273. help_text="статус пользователя в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт.",
  274. max_length=150,
  275. ),
  276. ),
  277. (
  278. "location_type",
  279. models.CharField(
  280. help_text="статическая или динамическая локация оказания услуги. Если статическая, а исполнитель находится существенно за пределами локации - то тогда статус автоматом оффлайн для приема новых заявок.",
  281. max_length=300,
  282. ),
  283. ),
  284. (
  285. "default_location",
  286. models.CharField(
  287. help_text="локация по умолчанию для объекта.", max_length=300
  288. ),
  289. ),
  290. (
  291. "is_global",
  292. models.CharField(
  293. help_text="(аккаунт поставщика услуг) – доступен для планирования в цепочке с другими услугами в глобальном сервисе",
  294. max_length=1,
  295. ),
  296. ),
  297. (
  298. "is_visible",
  299. models.CharField(
  300. help_text="(аккаунт поставщика услуг) – доступен для хранения в глобальном сервисе/необходима синхронизация",
  301. max_length=1,
  302. ),
  303. ),
  304. ],
  305. options={
  306. "db_table": "provider",
  307. },
  308. ),
  309. migrations.CreateModel(
  310. name="Relationship",
  311. fields=[
  312. (
  313. "id",
  314. models.BigAutoField(
  315. auto_created=True,
  316. primary_key=True,
  317. serialize=False,
  318. verbose_name="ID",
  319. ),
  320. ),
  321. ("neg_type", models.IntegerField()),
  322. (
  323. "id_metaservice",
  324. models.BigIntegerField(
  325. help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false.",
  326. null=True,
  327. ),
  328. ),
  329. ("requirements", models.CharField(max_length=150)),
  330. ("status", models.CharField(max_length=150)),
  331. ("is_global", models.CharField(max_length=1)),
  332. ("is_visible", models.CharField(max_length=1)),
  333. ],
  334. options={
  335. "db_table": "relationship",
  336. },
  337. ),
  338. migrations.CreateModel(
  339. name="ServiceType",
  340. fields=[
  341. (
  342. "id",
  343. models.BigAutoField(
  344. auto_created=True,
  345. primary_key=True,
  346. serialize=False,
  347. verbose_name="ID",
  348. ),
  349. ),
  350. (
  351. "codename",
  352. models.CharField(
  353. help_text="латинское наименование услуги в системе",
  354. max_length=255,
  355. ),
  356. ),
  357. (
  358. "caption",
  359. models.CharField(
  360. help_text="наименование услуги для отображения пользователю",
  361. max_length=255,
  362. ),
  363. ),
  364. (
  365. "description",
  366. models.TextField(blank=True, help_text="текстовое описание услуги"),
  367. ),
  368. (
  369. "requirements",
  370. models.CharField(
  371. help_text="код требований на основе вспомогательных таблиц-справочников",
  372. max_length=300,
  373. ),
  374. ),
  375. (
  376. "price_type",
  377. models.CharField(
  378. help_text="ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу)",
  379. max_length=150,
  380. ),
  381. ),
  382. (
  383. "status",
  384. models.CharField(
  385. help_text="активность на основе системы заявок", max_length=150
  386. ),
  387. ),
  388. (
  389. "id_metaservice",
  390. models.BigIntegerField(
  391. help_text=" уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер."
  392. ),
  393. ),
  394. (
  395. "link_agreement",
  396. models.CharField(
  397. help_text="ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп)",
  398. max_length=400,
  399. ),
  400. ),
  401. (
  402. "is_global",
  403. models.CharField(
  404. help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе",
  405. max_length=1,
  406. ),
  407. ),
  408. (
  409. "is_visible",
  410. models.CharField(
  411. help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных",
  412. max_length=1,
  413. ),
  414. ),
  415. ],
  416. options={
  417. "db_table": "servicetype",
  418. },
  419. ),
  420. =======
  421. >>>>>>> dan/metaservicesynced
  422. ]