|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
Здравствуйте, помогите, пожалуйста, никак не могу сообразить как назначить пользователям задачи, так, что бы одному пользователю одна задача. Есть 3 таблицы: user_group (id, priority) - приоритет групп users (group_id, user_id, lvl) - пользователь может быть в разных user_group tickets(id, group_id, position, last_user_activity) - last_user_activity последний пользователь который работал с тикетом (если есть такой пользователь нужно как то соединить с тикетом ) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Нужно получить ticket_id user_id 1 1 2 2 5 3 - Сортировка: сначала всех пользователей которые работали с тикетом, потом по приоритету тикета и групп. Буду рад любым предложениям. Версия PG 12.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 13:59 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
Наверно на форуме есть решение, но я не могу найти ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 14:11 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
возможно лучше это сделать на plpgsql ? проблема что это будет раз в 1 сек срабатывать ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 14:45 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
igor.n, авторэто будет раз в 1 сек срабатывать Ээээ... Ты собираешься пересчитывать или только проверять необходимость пересчета? Последняя у тебя только при изменении исходных данных... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:28 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
не вникал, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:47 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
Извините. Плохо описал задачу. Есть таблица tickets, она совсем маленькая 1-1000 записей, это задачи которые система распределила и ждет пока, будет свободный пользователь что бы обработать этот тикет, например поступил входящий звонок или смс. Здесь не все поля, по сути мне нужно сделать апдейт tickets и заполнить user_activity пользователем который попал в распределение. Выборка tickets с условием user_activity isnull, а поле last_user_activity это чтобы соединить пользователя (если есть) с большем приоритетом. Это по сути распределитель задач на пользователей которые сейчас свободные. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:52 |
|
Распределить задачи на пользователей
|
|||
---|---|---|---|
#18+
Victor Nevsky, Спасибо за ответ. Нужно что бы тикеты не пересекались на пользователей. Если tickets.id = 5 сделать last_user_activity = null, тогда получиться что 3 тикет уйдет на 2, 3 пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:57 |
|
|
start [/forum/topic.php?fid=53&tid=1994879]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 259ms |
total: | 386ms |
0 / 0 |