Files
site_aegisone/service/docs/Дашборд инженера.md
T
2026-05-17 05:22:06 +03:00

537 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Ниже — полноценная модель **“Дашборд инженера (тимлид / руководитель техников)”** для AegisOne Engineering.
Это ключевой слой между:
- техник → (исполнение)
- директор → (управление системой)
Инженер тут не “старший техник”, а:
> операционный контроллер SLA, качества и рисков на объектах
---
# 1. РОЛЬ ИНЖЕНЕРА В СИСТЕМЕ
## 1.1 Основная функция
```text
Инженер = управление качеством исполнения SLA + распределение нагрузки + контроль рисков объектов
```
---
## 1.2 Он НЕ делает:
- не чинит оборудование (это техник)
- не продаёт SLA (это коммерция)
- не ведёт бухгалтерию
---
## 1.3 Он ДЕЛАЕТ:
- распределяет заявки
- контролирует SLA
- проверяет качество работ
- снижает инциденты
- управляет техниками
- влияет на SHS
---
# 2. АРХИТЕКТУРА DASHBOARD ИНЖЕНЕРА
```text
CEO DASHBOARD
ENGINEER DASHBOARD
TECHNICIAN DASHBOARD
OBJECT SYSTEMS
```
---
# 3. DASHBOARD ИНЖЕНЕРА (REAL-TIME)
## 3.1 Главные блоки интерфейса
### Блок 1 — SLA контроль региона
- SLA compliance (%)
- просроченные заявки
- риск нарушения SLA
- критические объекты
---
### Блок 2 — команда техников
- загрузка каждого техника
- эффективность
- ошибки / reopen rate
- скорость реакции
---
### Блок 3 — инциденты
- P1 / P2 / P3
- открытые критические
- повторяющиеся аварии
---
### Блок 4 — объекты
- риск-уровень (Risk Score)
- SHS влияние объекта
- проблемные системы
---
### Блок 5 — KPI инженера
- качество управления SLA
- распределение нагрузки
- снижение инцидентов
- эффективность команды
---
# 4. PHP АРХИТЕКТУРА
---
## 4.1 API инженера
```php
<?php
header('Content-Type: application/json');
$pdo = new PDO("mysql:host=localhost;dbname=aegisone","user","pass");
$data = $pdo->query("
SELECT
e.id,
e.name,
AVG(t.sla_compliance) as sla,
COUNT(i.id) as incidents,
AVG(t.response_time) as response_time
FROM engineers e
LEFT JOIN tasks t ON t.engineer_id = e.id
LEFT JOIN incidents i ON i.engineer_id = e.id
GROUP BY e.id
")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
?>
```
---
## 4.2 SHS ENGINEER IMPACT API
```php
<?php
header('Content-Type: application/json');
$pdo = new PDO("mysql:host=localhost;dbname=aegisone","user","pass");
$k = $pdo->query("
SELECT
AVG(sla_compliance) as sla,
AVG(response_time) as rt,
AVG(reopen_rate) as rr
FROM tasks
")->fetch(PDO::FETCH_ASSOC);
/* Engineer Impact on SHS */
$EIS =
(0.5 * $k['sla']) +
(0.3 * (1 - $k['rr'])) +
(0.2 * (1 - $k['rt']/10));
echo json_encode([
"ENGINEER_IMPACT_SCORE" => round($EIS * 100, 2)
]);
?>
```
---
# 5. ФОРМУЛЫ ИНЖЕНЕРА (КРИТИЧЕСКИЕ KPI)
---
## 5.1 ENGINEER CONTROL SCORE (ECS)
```text
ECS =
(0.30 × SLA Compliance Control)
+ (0.25 × Task Distribution Efficiency)
+ (0.20 × Incident Reduction Rate)
+ (0.15 × Team Performance Score)
+ (0.10 × Response Coordination Speed)
```
---
## 5.2 SLA CONTROL INDEX
```text
SCI = closed_tasks_in_SLA / total_tasks
```
---
## 5.3 TEAM LOAD BALANCE
```text
TLB = std_dev(tasks_per_engineer)
```
👉 чем меньше → тем лучше распределение
---
## 5.4 INCIDENT REDUCTION RATE
```text
IRR = (incidents_previous - incidents_current) / incidents_previous
```
---
## 5.5 ESCALATION RATE
```text
ER = escalated_tasks / total_tasks
```
---
# 6. DASHBOARD (HTML + JS)
---
## 6.1 HTML
```html
<!DOCTYPE html>
<html>
<head>
<title>Engineer Control Panel</title>
<style>
body { background:#0f172a; color:white; font-family:Arial; }
.grid {
display:grid;
grid-template-columns: repeat(3, 1fr);
gap:15px;
padding:20px;
}
.card {
background:#1e293b;
padding:15px;
border-radius:12px;
}
.big { font-size:28px; font-weight:bold; }
.green { color:#22c55e; }
.yellow { color:#facc15; }
.red { color:#ef4444; }
</style>
</head>
<body>
<h2 style="padding:20px;">Engineer Live Dashboard</h2>
<div class="grid">
<div class="card">
<div>SLA Control</div>
<div id="sla" class="big">--</div>
</div>
<div class="card">
<div>Engineer Impact (SHS)</div>
<div id="shs" class="big">--</div>
</div>
<div class="card">
<div>Incidents</div>
<div id="inc" class="big">--</div>
</div>
</div>
<div id="team"></div>
<script src="engineer.js"></script>
</body>
</html>
```
---
## 6.2 JS realtime
```javascript
async function loadEngineer(){
const res = await fetch('/api/engineer.php');
const data = await res.json();
let sla = 0;
let inc = 0;
let html = "";
data.forEach(e => {
sla += parseFloat(e.sla);
inc += parseInt(e.incidents);
let color =
e.sla > 0.9 ? "green" :
e.sla > 0.75 ? "yellow" : "red";
html += `
<div class="card">
<h3>${e.name}</h3>
<p>SLA: <b class="${color}">
${(e.sla * 100).toFixed(1)}%
</b></p>
<p>Incidents: ${e.incidents}</p>
<p>Response: ${e.response_time}</p>
</div>
`;
});
document.getElementById("team").innerHTML = html;
document.getElementById("sla").innerText =
((sla / data.length) * 100).toFixed(1) + "%";
document.getElementById("inc").innerText = inc;
let shs = (sla / data.length) * 100 - inc * 0.5;
document.getElementById("shs").innerText =
shs.toFixed(1);
}
setInterval(loadEngineer, 15000);
loadEngineer();
```
---
# 7. ДОКУМЕНТЫ ИНЖЕНЕРА (ОБЯЗАТЕЛЬНЫЕ)
---
## 7.1 РЕГЛАМЕНТ ИНЖЕНЕРА
```text
AegisOne Engineering
Engineer Operational Standard
1. Назначение
Инженер отвечает за выполнение SLA и контроль качества работ техников.
---
2. Обязанности
- распределение заявок
- контроль SLA выполнения
- контроль качества диагностики
- управление инцидентами
- предотвращение повторных аварий
---
3. Запрещено
- закрывать задачи без проверки
- игнорировать SLA нарушения
- делегировать без фиксации
```
---
## 7.2 ESCALATION MATRIX
```text
P1 → инженер → директор (немедленно)
P2 → инженер → инженер контроль
P3 → техник
Если SLA риск > 80%:
→ обязательная эскалация
```
---
## 7.3 ЧЕК-ЛИСТ ИНЖЕНЕРА
```text
AegisOne Engineering
Engineer Control Checklist
[ ] Все заявки распределены
[ ] SLA риск оценён
[ ] Техники назначены
[ ] P1 инциденты закрыты
[ ] Повторные аварии проанализированы
[ ] Отчёты проверены
```
---
## 7.4 ОТЧЁТ ИНЖЕНЕРА
```text
Engineer Report
Период:
Инженер:
---
1. SLA состояние:
-
2. Проблемные объекты:
-
3. Инциденты:
-
4. Перегруз команды:
-
5. Принятые меры:
-
6. Риски:
-
```
---
# 8. ЧТО ИНЖЕНЕР ДОЛЖЕН ИМЕТЬ В СИСТЕМЕ
---
## ОБЯЗАТЕЛЬНО:
- SLA статус всех объектов
- список техников
- инциденты P1P3
- риск объектов
- SHS влияние
---
## РЕКОМЕНДУЕМО:
- история объектов
- схемы систем
- фото оборудования
- прошлые ремонты
- нагрузка по часам
---
# 9. ЧТО ЕМУ НЕЛЬЗЯ ДАВАТЬ
---
## КАТЕГОРИЧЕСКИ НЕ НУЖНО:
- прямые продажи
- финансовые данные прибыли
- доступ к CRM сделкам
- доступ к договорам без SLA слоя
- административные функции директора
---
# 10. РИСКИ СИСТЕМЫ
---
## РИСК 1 — инженер превращается в диспетчера
👉 решение:
- оставить KPI, а не “ручное управление”
---
## РИСК 2 — перегруз инженера
👉 решение:
- TLB (load balance)
---
## РИСК 3 — потеря SLA контроля
👉 решение:
- SHS alert system
---
# 11. ГЛАВНАЯ ЛОГИКА
```text
Техник → выполняет
Инженер → управляет качеством
Директор → управляет системой
```
---
# 12. ИТОГ
Ты получаешь:
> управляемый слой контроля SLA между исполнением и бизнесом
---
# 13. ЕСЛИ РАЗВИВАТЬ ДАЛЬШЕ
Я могу собрать:
- автораспределение заявок (AI dispatch)
- прогноз поломок объектов
- система “умного SLA риска”
- мобильный кабинет инженера
- интеграция с Telegram уведомлениями
---
Если коротко:
👉 это уже не “дашборд”
👉 это уровень операционной системы инженерного бизнеса (mini-SAP под твою нишу)