фикс статистики 3
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
dv 2026-04-15 10:40:38 +03:00
parent 347b1db9ae
commit b88001909f

View file

@ -835,31 +835,17 @@ function renderClientLastTicketCard() {
}).join('')}</div>`;
}
function getTaskCreator(task) {
// Ищем создателя по lifetime: самая ранняя запись с usertype=20 (внешний/клиент).
// lifetime.data отсортирован по убыванию (новые первые), поэтому ищем с конца.
const entries = task.lifetime?.data || [];
// Сначала ищем внешнего пользователя (клиента)
for (let i = entries.length - 1; i >= 0; i--) {
if (entries[i].usertype === 20 && entries[i].username) return entries[i].username;
}
// Fallback: последняя запись (самая ранняя) с любым username
for (let i = entries.length - 1; i >= 0; i--) {
if (entries[i].username) return entries[i].username;
}
return null;
}
function renderClientUsersCard() {
const wrap = document.getElementById('stats-client-users-wrap');
if (!wrap) return;
// Собираем: организация → { total, users: { creator → count } }
// createdby — строка с именем создателя, приходит прямо из API
// Собираем: организация → { total, users: { createdby → count } }
const cMap = {};
allData.forEach((item) => {
const t = item.task;
const org = t._clientname || t.clientname || 'Неизвестно';
const creator = getTaskCreator(t) || '—';
const creator = t.createdby || '—';
if (!cMap[org]) cMap[org] = { total: 0, users: {} };
cMap[org].total++;
cMap[org].users[creator] = (cMap[org].users[creator] || 0) + 1;