Compare commits
106 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aeb614e854 | |||
| 452f1a3752 | |||
| 9dbd1ece8c | |||
| d3ffd7ea38 | |||
| b4232a6c69 | |||
| 48d04ee53e | |||
| c132f20bdd | |||
| 5bfab18e7e | |||
| d807e15dc1 | |||
| d15064d624 | |||
| e9be55bac9 | |||
| c508f9fd29 | |||
| b798cc90a7 | |||
| a951bb74d8 | |||
| 71734eddac | |||
| 507281dfee | |||
| 8584419acc | |||
| 690b90708b | |||
| c43e733419 | |||
| 24fd146b10 | |||
| 3dadd31a6e | |||
| 011fb0bbf3 | |||
| fc7aaa82f5 | |||
| 943ce1e12c | |||
| c719e83774 | |||
| b9f8a2c0f9 | |||
| 466d74a3ce | |||
| c9d74a2a02 | |||
| 56c325739d | |||
| c679f798df | |||
| 9947611dc4 | |||
| c39a9d3903 | |||
| e5388e99ca | |||
| 200b92bf56 | |||
| c3d3813ce2 | |||
| 78d122136c | |||
| e7199ca29f | |||
| f755ed6f9f | |||
| 2c27241021 | |||
| 185e21933e | |||
| 09d3fcecd8 | |||
| 9bfc5c2054 | |||
| a8c443a5c9 | |||
| 4c928a42ca | |||
| e5bdb47505 | |||
| 7a78473977 | |||
| 6de0432dcc | |||
| 7ba30210e8 | |||
| bf140a793d | |||
| 4b02731ef7 | |||
| a0c3829520 | |||
| 1fb14c1b92 | |||
| bd43fb99b5 | |||
| 1488314cc4 | |||
| de3c0a95e5 | |||
| 74e4ba272a | |||
| 4067e3dfcc | |||
| 1bda422d7b | |||
| 8ab1880e08 | |||
| 7a5415d506 | |||
| 26c9ca1813 | |||
| de294ed219 | |||
| 7ebb2950d0 | |||
| 26e483874d | |||
| 3e88dd6280 | |||
| 0f570cf188 | |||
| 02c58b76fc | |||
| f5c1fda9cb | |||
| 5b09c43f16 | |||
| d5d4935265 | |||
| 2b369bbd59 | |||
| 4548cace68 | |||
| e63dab3c7e | |||
| 53513321ba | |||
| c7a3911abc | |||
| 758f4eb72b | |||
| ef39f491d6 | |||
| 73b66a2f37 | |||
| 28a4aa326c | |||
| e43471efcc | |||
| 9e900d1c3d | |||
| 1d729b6c49 | |||
| b63c0906d4 | |||
| 05f39bea25 | |||
| df44758cdb | |||
| 15180b11b9 | |||
| 4cc95a366f | |||
| 812ad693c3 | |||
| 15fdf39f18 | |||
| b41bc1d768 | |||
| 26ee5d4356 | |||
| 14ca3d5c60 | |||
| 007676595c | |||
| 871282be97 | |||
| 0116112a3e | |||
| b9bdf6aef3 | |||
| 02f4e4a472 | |||
| 239c51a0a3 | |||
| 8ca93f6275 | |||
| a14559d08f | |||
| 55144597e6 | |||
| 691fd4af5f | |||
| fe8388f47c | |||
| ad4c3efc89 | |||
| 5ad8ce91a4 | |||
| 63d464d05b |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
__pycache__/
|
||||||
173
AGENTS.md
Normal file
173
AGENTS.md
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<!-- vibe42-agents-version: v3-guided-2026-06-01 -->
|
||||||
|
# Vibe42 — учебная песочница для лендингов
|
||||||
|
|
||||||
|
Workspace юзера `askar_gazizov`. Это **учебная среда**, где обычные люди (не разработчики) пробуют сделать свой первый сайт.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 ТВОЯ РОЛЬ
|
||||||
|
|
||||||
|
Ты — **гид и помощник**, а не слепой исполнитель. Цель сессии — чтобы юзер вышел с:
|
||||||
|
1. **рабочим лендингом**, опубликованным по адресу `https://pages.git.vibe42.kz/askar_gazizov/<repo>/`,
|
||||||
|
2. ощущением «это было легко» — без серверов, БД, токенов, конфигов.
|
||||||
|
|
||||||
|
Юзер не разработчик. Ему важен **результат, который видно в браузере**, а не код.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🗺 СЦЕНАРИЙ ПЕРВОГО ЗАХОДА (юзер только зашёл, ещё ничего нет)
|
||||||
|
|
||||||
|
1. Поздоровайся коротко: «Привет! Тут за 10 минут собираем лендинг и публикуем его в интернете. О чём хочешь сделать?»
|
||||||
|
2. Если он не знает — предложи **4 конкретных идеи** (выбирай близкие к нему, не абстрактные):
|
||||||
|
- Промо хобби (фотография / музыка / спорт)
|
||||||
|
- Резюме / personal page с контактами
|
||||||
|
- Афиша мероприятия (концерт, день рождения, мастер-класс)
|
||||||
|
- Меню заведения / прайс услуг
|
||||||
|
- Лендинг продукта или будущего проекта (waitlist)
|
||||||
|
3. Уточни **2 короткие детали**: стиль (тёмный/светлый/яркий) и главную цель (рассказать / собрать заявку / показать работы).
|
||||||
|
4. Сразу делай `./new-project <name>` и собирай страницу. Не спрашивай разрешения на каждый шаг.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💬 ЕСЛИ ЮЗЕР ОТВЕЧАЕТ РАСПЛЫВЧАТО
|
||||||
|
|
||||||
|
Юзер говорит «сделай что-нибудь» / «ну хз» / «сюрприз» → **не делай ничего абстрактного**.
|
||||||
|
|
||||||
|
Скажи: «Давай определимся, я задам 3 коротких вопроса:
|
||||||
|
1. Это для тебя лично, для проекта/бизнеса, или для события?
|
||||||
|
2. Главная цель — рассказать о чём-то / собрать заявку / показать портфолио?
|
||||||
|
3. Любимое настроение — строгое тёмное, лёгкое светлое, яркое цветное?»
|
||||||
|
|
||||||
|
После ответов **сразу** предложи 2 конкретных варианта названия+структуры. Дай выбрать и иди делать.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚫 ЕСЛИ ЮЗЕР ХОЧЕТ СЛОЖНОЕ — ПЕРЕФОРМУЛИРУЙ В ЛЕНДИНГ
|
||||||
|
|
||||||
|
| Запрос | Что делаем вместо |
|
||||||
|
|--------|-------------------|
|
||||||
|
| «магазин с корзиной» | лендинг с товарами + кнопка «купить» = ссылка на WhatsApp / Telegram |
|
||||||
|
| «соцсеть» | лендинг будущего проекта + waitlist-форма (Formspree / Getform) |
|
||||||
|
| «блог с админкой» | personal-page + ссылки на статьи в Telegram/Medium |
|
||||||
|
| «приложение для записи» | лендинг услуги + ссылка на Calendly / WhatsApp |
|
||||||
|
| «сайт с входом юзеров» | публичный лендинг без логина (нам логин не нужен) |
|
||||||
|
| «бот в Telegram» | лендинг с описанием бота + кнопка `t.me/...` |
|
||||||
|
|
||||||
|
**Не говори «это невозможно».** Скажи: «У нас песочница только для статических сайтов. Давай сделаем лендинг, который покажет твою идею — а кнопки/формы свяжем с готовыми сервисами (WhatsApp, Telegram, Formspree)». Юзер счастлив, результат за 15 минут.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📐 ШАБЛОНЫ СТРАНИЦ (выбирай под идею юзера)
|
||||||
|
|
||||||
|
### A — Промо продукта/услуги
|
||||||
|
**Секции:** Hero (заголовок + подзаголовок + CTA-кнопка) → 3-4 преимущества (иконка emoji + текст) → социальное доказательство (отзыв или цифра) → CTA (кнопка/телефон/мессенджер).
|
||||||
|
|
||||||
|
### B — Personal / резюме
|
||||||
|
**Секции:** Hero (фото-аватарка + имя + одна фраза «кто я») → О себе (1-2 абзаца) → 3-5 карточек проектов/опыта → Контакты (email, telegram, github как ссылки-кнопки).
|
||||||
|
|
||||||
|
### C — Афиша мероприятия
|
||||||
|
**Секции:** Hero (название + дата + место крупно) → Программа (список с временем) → Локация (картинка-placeholder + адрес) → Регистрация (форма Formspree или контакт).
|
||||||
|
|
||||||
|
### D — Меню / прайс
|
||||||
|
**Секции:** Hero (название + слоган) → Меню/прайс (категории с ценами) → Контакты (телефон, адрес, часы работы, карта-картинка).
|
||||||
|
|
||||||
|
### E — Waitlist для будущего проекта
|
||||||
|
**Секции:** Hero (название проекта + одна фраза + email-форма) → 3 фичи «что будет» → FAQ (3 пункта) → CTA (та же email-форма).
|
||||||
|
|
||||||
|
Все шаблоны — **одна страница, прокрутка вниз**. Никаких роутов, ничего динамического.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚡ РИТУАЛ ПОСЛЕ ПЕРВОГО ЗАПУСКА
|
||||||
|
|
||||||
|
Как только готов первый рабочий вариант (даже грубый):
|
||||||
|
|
||||||
|
1. **Сразу запушь:**
|
||||||
|
```bash
|
||||||
|
git add -A
|
||||||
|
git commit -m "v1"
|
||||||
|
git push origin HEAD:pages
|
||||||
|
```
|
||||||
|
2. **ОБЯЗАТЕЛЬНО** дай юзеру ссылку **жирно**:
|
||||||
|
> 🎉 Готово! Твой лендинг здесь: **https://pages.git.vibe42.kz/askar_gazizov/<repo>/**
|
||||||
|
3. Скажи: «Открой в новой вкладке, посмотри. Что хочешь поменять?»
|
||||||
|
4. Дальше короткие итерации: правка → push → новый URL-показ. Каждые 2-3 правки — push.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ ЖЕЛЕЗНЫЕ ПРАВИЛА (НЕ нарушать никогда)
|
||||||
|
|
||||||
|
1. **Только статика — HTML + CSS + JS в браузере.**
|
||||||
|
2. **Никакого бэкенда.** Никаких Node/Express/FastAPI/Django/PHP/Go-серверов. Никаких БД. Никакого Redis.
|
||||||
|
3. **Никакой аутентификации / OAuth / JWT.**
|
||||||
|
4. **Никакого Docker, nginx, sudo, системных настроек.**
|
||||||
|
5. **Никаких тяжёлых сборщиков** (`npm install` дерево на 500МБ). Tailwind — только через CDN.
|
||||||
|
6. **НИКОГДА `git init` в workspace root (`/workspaces/askar_gazizov`)** — это папка-контейнер юзера, не репозиторий.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ ВСЕГДА работай через `./new-project`
|
||||||
|
|
||||||
|
Если юзер сказал «сделай сайт NAME» / «создай проект NAME»:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /workspaces/askar_gazizov
|
||||||
|
./new-project NAME # создаёт repo в Gitea + клонит локально в ./NAME/
|
||||||
|
cd NAME
|
||||||
|
# теперь создавай index.html / style.css / script.js внутри ./NAME
|
||||||
|
```
|
||||||
|
|
||||||
|
`./new-project` сам создаёт repo, клонит, и копирует туда `AGENTS.md` + `design.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Git и публикация
|
||||||
|
|
||||||
|
**НЕТ GitHub.** Self-hosted git: **https://git.vibe42.kz**
|
||||||
|
|
||||||
|
- Профиль юзера: https://git.vibe42.kz/askar_gazizov
|
||||||
|
- Pages (живые лендинги): https://pages.git.vibe42.kz/askar_gazizov/<repo>/
|
||||||
|
- Креды уже в `/workspaces/askar_gazizov/.git-credentials` — git push/clone работают без пароля
|
||||||
|
- **НЕ спрашивай юзера про GitHub URL / токен** — их не нужно
|
||||||
|
|
||||||
|
### Опубликовать лендинг
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git add -A
|
||||||
|
git commit -m "site"
|
||||||
|
git push origin HEAD:pages
|
||||||
|
```
|
||||||
|
|
||||||
|
Ветка **`pages`** (Caddy её обслуживает; `gh-pages` тоже работает как fallback). Push → лендинг доступен мгновенно.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Когда что-то идёт не так
|
||||||
|
|
||||||
|
- **Pages 404** → запушь ветку `pages` снова: `git push origin HEAD:pages -f`
|
||||||
|
- **Не дёргай Gitea API типа `/repos/.../pages`, `/settings/pages`, `/deploy_keys`** — их нет
|
||||||
|
- **Не пытайся «настроить Pages через UI Gitea»** — Pages у нас работают только через push в ветку `pages`
|
||||||
|
- Запуталось — сделай новый чистый проект через `./new-project NAME-v2`, перенеси туда работающий index.html
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ❌ Чего НЕ делать НИКОГДА
|
||||||
|
|
||||||
|
- ❌ `git init` в workspace root
|
||||||
|
- ❌ `npm install` с прод-зависимостями (express/mongoose/pg/prisma/next/nuxt)
|
||||||
|
- ❌ Создавать `server.js` / `app.py` / `main.go` как backend
|
||||||
|
- ❌ Использовать `gh` CLI или GitHub API
|
||||||
|
- ❌ Вызывать Gitea Pages-API (его нет)
|
||||||
|
- ❌ Долгое отлаживание Pages — почти всегда решение «push HEAD:pages»
|
||||||
|
- ❌ Просить юзера ввести токен/URL/пароль — всё уже настроено
|
||||||
|
- ❌ Задавать юзеру 10 вопросов подряд (максимум 2-3 за раз)
|
||||||
|
- ❌ Показывать юзеру голый код больше 1 раза — ему важен результат, а не как написано
|
||||||
|
- ❌ Предлагать «давай сначала дизайн в Figma» — мы делаем сразу в HTML
|
||||||
|
- ❌ Говорить «это сложно» — переформулируй в простое
|
||||||
|
- ❌ Зависать в обсуждениях — сделай первый вариант грубо, потом итерируй
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 design.md
|
||||||
|
|
||||||
|
Рядом лежит `design.md` с готовой палитрой, типографикой и стартер-шаблоном `index.html`. **Начинай с него.** Не выдумывай новые цвета — модифицируй существующие.
|
||||||
718
data.json
Normal file
718
data.json
Normal file
@ -0,0 +1,718 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 6,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 45,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Сертификаты, протоколы, электронная ведомость обучения",
|
||||||
|
"r": "Генеральный директор КУ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Продолжить проведение обучения и повышения квалификации руководителей и работников компании в соответствии с лучшими международными практиками, ориентированными на специфику условий труда, работы повышенной опасности и требований промышленной безопасности, а также развитие культуры безопасности, включая обучение производственного персонала по курсу «Культура безопасного труда», в том числе с применением VR, AR – технологий и цифровых симуляторов аварийных ситуаций по различным направлениям производственной безопасности (с правом выдачи сертификатов).",
|
||||||
|
"ai": "Обучение ведётся по графику. Охвачено 45% персонала.",
|
||||||
|
"h": [
|
||||||
|
"15.01 — Создано",
|
||||||
|
"01.03 — Запущено"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 0,
|
||||||
|
"s": "done",
|
||||||
|
"p": 100,
|
||||||
|
"due": "31.03.2026",
|
||||||
|
"done": "28.03.2026",
|
||||||
|
"dname": "Отчёт о проведённом анализе, утверждённый ВНД",
|
||||||
|
"r": "Директор ДПБ\nГенеральный директор ДИТ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Провести анализ, в том числе с использованием аналитических платформ (Microsoft Teams, Power BI, Tableau, Qlik и др.), и в случае необходимости, осуществить пересмотр внутренних нормативных документов филиалов/ДАО Общества в соответствии со «Стратегией развития производственной безопасности АО «Самрук-Қазына» на 2024-2028 гг.», включая установку значений ключевых показателей производственной безопасности.",
|
||||||
|
"ai": "Анализ завершён в срок.",
|
||||||
|
"h": [
|
||||||
|
"10.01 — Создано",
|
||||||
|
"28.03 — Утверждён"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 50,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Протоколы совещаний (a, b, c)",
|
||||||
|
"r": "а) Главный административный директор, Директор ДПБ\nГенеральные директора филиалов и ДАО\nb, c) Генеральные директора филиалов и ДАО",
|
||||||
|
"t": "Организовывать тематические совещания по вопросам производственной безопасности, в том числе с целью разъяснения внедряемых программ и инициатив:\na) руководство Общества с филиалами/ДАО Общества, не менее одного раза в квартал, в том числе с целью личного мониторинга показателей эффективности по производственной безопасности в рамках «Стратегии развития производственной безопасности АО «Самрук-Қазына» на 2024-2028 гг.» и статуса исполнения «Плана мероприятий по производственной безопасности АО «Самрук-Қазына» на 2026 год»;\nb) руководство филиалов/ДАО Общества со структурными подразделениями, не менее 1 раза в месяц;\nc) руководство региональных подразделений/филиалов/ДАО Общества с подрядными организациями, осуществляющими работы/предоставляющими услуги на объектах, не менее 1 раза в квартал.",
|
||||||
|
"ai": "Проведено 2 квартальных совещания.",
|
||||||
|
"h": [
|
||||||
|
"10.01 — Создано",
|
||||||
|
"15.02 — Q1",
|
||||||
|
"15.05 — Q2"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Руководство Общества с филиалами/ДАО Общества, не менее одного раза в квартал, с личным мониторингом показателей эффективности"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Руководство филиалов/ДАО Общества со структурными подразделениями, не менее 1 раза в месяц"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Руководство региональных подразделений/филиалов/ДАО с подрядными организациями, не менее 1 раза в квартал"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 6,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 55,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Отчёт о проделанной работе, тесты",
|
||||||
|
"r": "Генеральные директора филиалов и ДАО",
|
||||||
|
"t": "Продолжить практику проверки знаний в формате тестирования после проведения инструктажей по охране труда в филиалах/ДАО Общества.",
|
||||||
|
"ai": "Тестирование внедрено в 6 филиалах. Средний результат — 82%.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 0,
|
||||||
|
"s": "done",
|
||||||
|
"p": 100,
|
||||||
|
"due": "31.03.2026",
|
||||||
|
"done": "25.03.2026",
|
||||||
|
"dname": "Информация о нематериальном поощрении",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотреть возможность нематериального поощрения филиалов и ДАО Общества, демонстрирующих устойчивое снижение количества несчастных случаев, пожаров и аварий по итогам нескольких и более лет.",
|
||||||
|
"ai": "Положение утверждено.",
|
||||||
|
"h": [
|
||||||
|
"15.01 — Проект",
|
||||||
|
"25.03 — Утверждено"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 6,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 60,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Утверждённый ВНД, перечень внутренних тренеров",
|
||||||
|
"r": "Генеральный директор КУ\nУправляющий директор по персоналу\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Разработать/внести изменения в случае необходимости и утвердить внутренний нормативный документ, регламентирующий процедуру работы внутренних тренеров, в том числе по производственной безопасности, включая порядок их отбора, подготовки и привлечения, а также установление условий доплаты к основной заработной плате за выполнение тренерских функций.",
|
||||||
|
"ai": "Проект ВНД на финальном согласовании.",
|
||||||
|
"h": [
|
||||||
|
"01.03 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 1,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 40,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Материалы, рассмотренные в рамках обмена опытом",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Проводить мероприятия по обмену опытом в области производственной безопасности:\na) Продолжить практику обмена передовым опытом на площадке Комитета HSE, в том числе путем выездов на производственные объекты ПК, с целью последующего тиражирования успешных практик в ПК.\nb) Рассмотреть возможность организации обмена опытом в области производственной безопасности для работников ПК с иностранными и казахстанскими компаниями, соответствующих деятельности ПК, в том числе путем проведения онлайн-семинаров.",
|
||||||
|
"ai": "Проведён 1 выезд на KEGOC.",
|
||||||
|
"h": [
|
||||||
|
"15.02 — Создано",
|
||||||
|
"01.04 — Выезд"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Продолжить практику обмена передовым опытом на площадке Комитета HSE, в том числе путем выездов на производственные объекты ПК"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Рассмотреть возможность организации обмена опытом с иностранными и казахстанскими компаниями, в том числе путем проведения онлайн-семинаров"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 4,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 15,
|
||||||
|
"due": "30.09.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Заключительный Акт, программа Well-being, отчёт о скрининге, отчёт о микротравмах",
|
||||||
|
"r": "а) Директор ДПБ\nb) Генеральный директор КУ\nУправляющий директор по персоналу\nc) Управляющий директор по персоналу\nГенеральные директора филиалов и ДАО\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Провести анализ эффективности реализуемых мероприятий по охране здоровья:\na) организовать и обеспечить 100% прохождение обязательных периодических медицинских осмотров работниками, включая офисных работников;\nb) организовать ежегодную «Неделю благополучия» (Well-being Week) для работников всех уровней, предусматривая практические мероприятия по стресс-менеджменту, ментальному здоровью и физической активности;\nc) создать условия и обеспечить контроль за прохождением медицинского скрининга работников в соответствии с Приказом и.о. Министра Здравоохранения РК от 30 октября 2020 года №КР ДСМ-174/2020, в том числе в целях раннего диагностирования факторов риска сердечно-сосудистых заболеваний;\nd) внедрить алгоритм учета и расследования микротравм, а также фиксировать использование содержимого медицинских аптечек путем регистрации и расследования данных случаев.",
|
||||||
|
"ai": "Медосмотры — Q3. Well-being — сентябрь.",
|
||||||
|
"h": [
|
||||||
|
"01.04 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Организовать и обеспечить 100% прохождение обязательных периодических медицинских осмотров работниками, включая офисных работников"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Организовать ежегодную «Неделю благополучия» (Well-being Week) для работников всех уровней"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Создать условия и обеспечить контроль за прохождением медицинского скрининга работников"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "d",
|
||||||
|
"t": "Внедрить алгоритм учета и расследования микротравм, фиксировать использование содержимого медицинских аптечек"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"sec": 0,
|
||||||
|
"b": 6,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 20,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Результаты конкурсов, пакет материалов",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотреть возможность участия ДПБ/филиалов/ДАО Общества в международных/национальных конкурсах и отраслевых соревнованиях профессионального мастерства в области производственной безопасности.",
|
||||||
|
"ai": "Определены 2 конкурса.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 1,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 55,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Аналитическая справка в разбивке по филиалам/ДАО",
|
||||||
|
"r": "Генеральный директор ОДС\nГенеральный директор СФ\nГенеральный директор ДУП\nГенеральный директор ДИТ",
|
||||||
|
"t": "Проводить работы по техническому перевооружению морально и физически изношенного оборудования, зданий и сооружений, эксплуатация которых из-за их технического состояния сопровождается повышенными рисками возникновения аварий и несчастных случаев с тяжёлыми и летальными исходами, в соответствии с ранее утвержденными Планами на 2024-2027 годы.",
|
||||||
|
"ai": "По плану 2024-2027. Заменено 55%.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Переходящее"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 1,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 70,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Переутверждённая процедура, фотоотчёт, протоколы обучения",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Пересмотреть и актуализировать внутренний порядок выдачи нарядно-допускной системы, усилив законодательные требования Республики Казахстан путем внедрения в пилотном режиме практики применения сертификатов безопасности для одного из видов работ повышенной опасности. Указанные сертификаты должны содержать исчерпывающую информацию о потенциальных рисках и мерах безопасности перед началом работ, предусматривать обязательный замер газовоздушной среды при работах в замкнутом пространстве, анализ плана участка и исполнительных чертежей, установку защитных барьеров при проведении земляных работ, выполнение электрической изоляции источников опасности с обязательной проверкой отсутствия напряжения, а также меры безопасности при проведении радиографических работ.",
|
||||||
|
"ai": "Процедура пересмотрена. Пилот запущен.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 8,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 8,
|
||||||
|
"due": "30.09.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Справка о внедрении, фотоотчёт",
|
||||||
|
"r": "Генеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотреть возможность внедрения системы цифровой маркировки опасных технических устройств, предусматривающей присвоение каждому устройству QR-кода для обеспечения быстрого доступа к паспорту, инструкции по эксплуатации и информации о проведенных технических освидетельствованиях, с учетом возможности использования мобильных телефонов на опасных производственных объектах.",
|
||||||
|
"ai": "Проект на стадии ТЭО.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 13,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 50,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Акты проверок и график",
|
||||||
|
"r": "Директор ДПБ",
|
||||||
|
"t": "Филиалам/ДАО Общества не реже 1 раза в квартал проводить проверку согласно адаптированным проверочным листам, в области БиОТ, промышленной и пожарной безопасности в соответствии с требованиями законодательства Республики Казахстан.",
|
||||||
|
"ai": "Q1 завершены. Q2 — по графику.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 40,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Письмо о предоставлении кандидата",
|
||||||
|
"r": "Директор ДПБ",
|
||||||
|
"t": "Продолжить практику участия в перекрёстных аудитах ПК, в том числе в соответствии с Планом-графиком проведения аудитов.",
|
||||||
|
"ai": "Назначены 4 аудитора.",
|
||||||
|
"h": [
|
||||||
|
"15.01 — Назначены"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 48,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Аналитическая справка, Журнал «Опережающие индикаторы»",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Усилить контроль за применением проактивных инструментов:\nа) Продолжить мониторинг применения проактивных инструментов предотвращения аварий и несчастных случаев (проведение поведенческих аудитов/наблюдений безопасности, регистрация и расследование опасных условий, опасных действий и потенциально опасных происшествий Near Miss; право приостановки работы) с целью выработки корректирующих мероприятий, исключения формализма и занесения достоверных данных в Журнал «Опережающие индикаторы» Системы управления отчетности АО «Самрук-Қазына» и потенциально опасных происшествий Near Miss.",
|
||||||
|
"ai": "147 Near Miss. Аудиты — 320 шт.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 1,
|
||||||
|
"s": "done",
|
||||||
|
"p": 85,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "План-график аудитов, Акты, Протоколы совещаний",
|
||||||
|
"r": "Генеральные директора филиалов и ДАО",
|
||||||
|
"t": "Провести работу по повышению эффективности управления подрядными организациями, в том числе:\na) обеспечить проведение согласно типового чек-листа, разработанного Фондом, аудита подрядчиков внутри филиалов/ДАО Общества выборочных перекрёстных аудитов подрядных организаций, осуществляющих работы по договорам на оказание услуг сроком от 6 месяцев и более на объектах предприятий, преимущественно в которых произошли несчастные случаи со смертельным и тяжелым исходами, с участием специалистов службы производственной безопасности Общества и ДАО, не связанных с проверяемыми объектами;\nb) продолжить практику проведения стартовых/установочных совещаний с подрядными организациями перед допуском на территорию объекта филиалов/ДАО Общества с целью ознакомления с внутренними нормативными документами по производственной безопасности, а также информацией об опасных производственных объектах, оборудовании и (или) территории, создающих угрозу жизни и здоровью людей.",
|
||||||
|
"ai": "Q1 — 12 подрядчиков проверено.",
|
||||||
|
"h": [
|
||||||
|
"15.01 — План"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Обеспечить проведение аудита подрядчиков согласно типового чек-листа Фонда"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Продолжить практику проведения стартовых/установочных совещаний с подрядными организациями перед допуском на объект"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 17,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 35,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Отчёты, график проверок, фотоотчёт",
|
||||||
|
"r": "а) Главный административный директор, Директор ДПБ\nb) Генеральные директора филиалов и ДАО",
|
||||||
|
"t": "Обеспечить контроль за состоянием производственной безопасности на производственных объектах:\nа) руководителям Общества уровня СЕО-1, курирующим вопросы производственной безопасности в Обществе, не реже одного раза в квартал лично проверять одно из филиалов Общества/подрядных организаций или участок, в зависимости от структуры и специфики Общества с обязательным представлением актов по результатам проверок в Фонд;\nb) первым руководителям и руководителям линейных подразделений филиалов Общества лично принимать участие во внутреннем производственном контроле с посещением производственных площадок не реже одного раза в квартал.",
|
||||||
|
"ai": "CEO-1: 2 филиала.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Руководителям уровня СЕО-1 не реже одного раза в квартал лично проверять филиал/подрядчика"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Первым руководителям филиалов лично принимать участие в контроле с посещением площадок"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 18,
|
||||||
|
"sec": 1,
|
||||||
|
"b": 1,
|
||||||
|
"s": "done",
|
||||||
|
"p": 90,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Ежемесячный сводный отчёт",
|
||||||
|
"r": "Генеральные директора филиалов и ДАО\nДиректор ДПБ",
|
||||||
|
"t": "Обеспечить контроль за состоянием транспортной безопасности, в том числе путем ежемесячного мониторинга нарушений требований транспортной безопасности со стороны штатных водителей и водителей подрядных организаций, оказывающих транспортные услуги по перевозке работников, с последующим применением предусмотренных договорами мер воздействия, включая штрафные санкции и ограничения на допуск к работам.",
|
||||||
|
"ai": "34 нарушения. Тренд — снижение.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 19,
|
||||||
|
"sec": 2,
|
||||||
|
"b": 1,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 30,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Акты тренировок, пресс-релизы",
|
||||||
|
"r": "a) Управляющий директор по безопасности, Руководители ДАО\nb) Генеральный директор СФ, Руководители ДАО\nс) Управляющий директор по безопасности\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Обеспечить проведение:\nа) не менее одной учебной тревоги и/или противоаварийной тренировки по ликвидации крупной аварии, ЧС на опасном производственном объекте с привлечением Фонда и государственных органов;\nb) не менее двух тренировок по тушению пожара в административных зданиях (офисах) с привлечением государственных органов;\nc) не менее одного практического занятия по оказанию первой помощи с применением симуляционного оборудования в условиях ЧС техногенного и природного характера.",
|
||||||
|
"ai": "1 учение. Пожарные: 1 из 2.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Не менее одной учебной тревоги/противоаварийной тренировки"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Не менее двух тренировок по тушению пожара"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Не менее одного занятия по оказанию первой помощи"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 20,
|
||||||
|
"sec": 2,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 65,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Приказ о внедрении, материалы обучения, акты штабов",
|
||||||
|
"r": "Управляющий директор по безопасности\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Усилить работу по реагированию на ЧС:\nа) внедрить процедуру «Crisis Management System» (Система управления кризисными ситуациями) для обеспечения своевременной и согласованной реакции на всех уровнях управления на кризисные события, а также сокращение ущерба для работников, активов, окружающей среды и репутации компании;\nb) рассмотреть возможность проведения обучения для ответственных работников филиалов/ДАО Общества по действиям в условиях ЧС;\nc) провести не менее двух заседаний штабов с целью отработки действий на практике.",
|
||||||
|
"ai": "CMS внедрена. Обучение — 60%.",
|
||||||
|
"h": [
|
||||||
|
"01.03 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Внедрить процедуру «Crisis Management System»"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Провести обучение ответственных работников по действиям в условиях ЧС"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Провести не менее двух заседаний штабов"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 21,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 0,
|
||||||
|
"s": "done",
|
||||||
|
"p": 100,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "15.02.2026",
|
||||||
|
"dname": "Публикация на информационных порталах",
|
||||||
|
"r": "Директор ДПБ\nПресс-секретарь ЦА",
|
||||||
|
"t": "Обеспечить выпуск обращения от Председателя Правления ПК о важности соблюдения требований по производственной безопасности.",
|
||||||
|
"ai": "Опубликовано. Охват — 100%.",
|
||||||
|
"h": [
|
||||||
|
"15.02 — Публикация"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 22,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 0,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 15,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Протоколы форумов, протоколы семинаров",
|
||||||
|
"r": "a) Директор ДПБ\nГенеральные директора филиалов и ДАО\nДепартамент по коммуникациям и продвижению бренда\nb) Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Проведение мероприятий по производственной безопасности:\na) в филиалах/ДАО Общества стратегических сессий/Форумов для первых руководителей филиалов/ДАО Общества;\nb) рассмотреть возможность проведения семинаров для подрядных организаций ПК на отдельных площадках филиалов/ДАО Общества.",
|
||||||
|
"ai": "Форум — октябрь.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "В филиалах/ДАО стратегические сессии/Форумы для первых руководителей"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Семинары для подрядных организаций ПК на отдельных площадках"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 23,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 6,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 10,
|
||||||
|
"due": "30.09.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Протокол итогов Олимпиады",
|
||||||
|
"r": "Директор ДПБ",
|
||||||
|
"t": "Проведение Олимпиады по производственной безопасности среди специалистов производственной безопасности Общества и подрядных организации на уровне Общества.",
|
||||||
|
"ai": "Положение на согласовании.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 24,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 0,
|
||||||
|
"s": "done",
|
||||||
|
"p": 92,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Информационные бюллетени, листы ознакомления",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Обеспечить ознакомление всех работников филиалов/ДАО Общества с обстоятельствами несчастных случаев с тяжелым и летальным исходами, произошедших в ПК Фонда, и относящихся к специфике деятельности Общества, посредством направления информационных бюллетеней, в том числе с использованием цифровых решений либо в рамках внеплановых инструктажей.",
|
||||||
|
"ai": "3 бюллетеня, 92%.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 25,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 6,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 40,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Публикации в SK News, материалы мероприятий",
|
||||||
|
"r": "a) Управляющий директор по персоналу\nДепартамент по коммуникациям и продвижению бренда\nГенеральные директора филиалов и ДАО\nb) Директор ДПБ\nГенеральные директора филиалов и ДАО\nc) Директор ДПБ\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Проведение молодежных проектных инициатив в рамках работы Центра молодых работников по производственной безопасности группы компаний АО «Самрук-Қазына» с целью вовлечения молодых специалистов в вопросы производственной безопасности, в том числе:\na) публикация реальных историй из трудовой жизни работников в корпоративном журнале «SK News»;\nb) посещение рабочих мест, где в 2022-2025 годах произошли несчастные случаи с летальным или тяжелым исходом;\nc) привлечение молодых специалистов по производственной безопасности в перекрёстные аудиты состояния производственной безопасности ДЗО ПК АО «Самрук-Қазына»;\nd) онлайн-семинары/прямые эфиры на различные темы по вопросам производственной безопасности.",
|
||||||
|
"ai": "2 истории в SK News.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Публикация реальных историй из трудовой жизни работников в журнале «SK News»"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Посещение рабочих мест, где в 2022-2025 годах произошли несчастные случаи"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Привлечение молодых специалистов в перекрёстные аудиты"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "d",
|
||||||
|
"t": "Онлайн-семинары/прямые эфиры на темы производственной безопасности"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 26,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 2,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 50,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Видеоролики, постеры, брошюры",
|
||||||
|
"r": "а) Генеральные директора филиалов и ДАО\nb) и с) Директор ДПБ\nДепартамент по коммуникациям и продвижению бренда\nГенеральные директора филиалов и ДАО\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Усилить наглядную агитацию по производственной безопасности:\nа) Продолжить работы по разработке и использованию видеороликов/презентаций по производственной безопасности, в том числе:\n- с участием работников, получивших травму, а также членов семей работников (с их согласия);\n- с участием нарушителей требований безопасности и охраны труда, включая разбор ошибок и разработку мер по предотвращению аналогичных случаев в будущем (с их согласия).\nb) Разработать серии специализированных видеороликов:\n- в формате «Безопасность будущего», направленный на демонстрацию внедряемых цифровых и ИИ-решений в сфере производственной безопасности в группе Фонда;\n- по профилактике производственного травматизма с акцентом на наиболее опасные риски (ДТП, падения с высоты, работа с движущимися механизмами и т.д.).\nc) Рассмотреть возможность выпуска подкаста с участием трудовых династий о переходе от ручного труда к автоматизации и цифровизации, способствующем повышению уровня производственной безопасности.\nd) Продолжить работы по разработке и распространению постеров, брошюр, информационных рассылок на различные темы по соблюдению производственной безопасности.",
|
||||||
|
"ai": "2 видеоролика снято.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Разработка и использование видеороликов/презентаций по ПБ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Серии видеороликов «Безопасность будущего» и по профилактике травматизма"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Выпуск подкаста с участием трудовых династий"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "d",
|
||||||
|
"t": "Разработка и распространение постеров, брошюр, рассылок"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 27,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 3,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 30,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Фотофиксация",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотрение возможности организации встреч коллектива с получившими производственные травмы работниками (с их согласия) с целью предупреждения аналогичных случаев травматизма.",
|
||||||
|
"ai": "1 встреча проведена.",
|
||||||
|
"h": [
|
||||||
|
"01.03 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 28,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 25,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Информационное письмо, пресс-релизы",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО\nДепартамент по коммуникациям и продвижению бренда",
|
||||||
|
"t": "Проведение мероприятий, направленных на пропаганду безопасного выполнения работ через семейные ценности:\nа) направление информационного письма членам семьи (супруг/а, родители) работника, положительно отличившегося в вопросах производственной безопасности;\nb) проведение Семейных дней охраны труда и дней открытых дверей для семей работников, в том числе на тему «Золотые правила безопасности для детей», с целью воспитания подрастающего поколения в традициях безопасности;\nc) проведение конкурса рисунков среди работников и их детей по безопасной работе и соблюдению правил на производстве на тему «Спецодежда будущего!».",
|
||||||
|
"ai": "5 писем семьям.",
|
||||||
|
"h": [
|
||||||
|
"01.04 — Создано"
|
||||||
|
],
|
||||||
|
"sub": [
|
||||||
|
{
|
||||||
|
"l": "a",
|
||||||
|
"t": "Направление письма членам семьи работника, отличившегося в вопросах ПБ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "b",
|
||||||
|
"t": "Проведение Семейных дней охраны труда и дней открытых дверей"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"l": "c",
|
||||||
|
"t": "Конкурс рисунков «Спецодежда будущего!»"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 29,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 6,
|
||||||
|
"s": "late",
|
||||||
|
"p": 40,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Корпоративный сборник лучших практик",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Разработать корпоративный сборник лучших практик по производственной безопасности в формате методического пособия или интерактивного PDF документа, отражающий меры по снижению производственного травматизма и управлению критическими рисками. В сборнике предусмотреть описание сути инициатив, перечень ключевых рисков (железнодорожные происшествия, ДТП, работы на высоте и др.), реализованные мероприятия, а также достигнутые результаты за последние пять лет.",
|
||||||
|
"ai": "Риск срыва Q2.",
|
||||||
|
"h": [
|
||||||
|
"01.03 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 30,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 7,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 60,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Предложения, план реализации",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Сбор предложений по совершенствованию системы управления производственной безопасности посредством применения цифровых решений с консолидацией в ДПБ.",
|
||||||
|
"ai": "18 предложений.",
|
||||||
|
"h": [
|
||||||
|
"01.01 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 31,
|
||||||
|
"sec": 3,
|
||||||
|
"b": 0,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 75,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Видеообзор",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Разработка видеообзора кейсов происшествий в ПК с учетом специфики деятельности (из доступных на открытых медиа источниках) для наглядной демонстрации и разъяснения работникам о необходимости и важности соблюдения требований безопасности.",
|
||||||
|
"ai": "Монтаж 75%.",
|
||||||
|
"h": [
|
||||||
|
"01.03 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 32,
|
||||||
|
"sec": 4,
|
||||||
|
"b": 8,
|
||||||
|
"s": "warn",
|
||||||
|
"p": 70,
|
||||||
|
"due": "30.06.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Справка, скриншоты чат-бота",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Обеспечить применение в филиалах/ДАО Общества чат-бот ИИ ассистент по производственной безопасности с целью упрощения доступа к нормативно-правовым актам Республики Казахстан и ВНД группы Фонда.",
|
||||||
|
"ai": "Чат-бот тестируется.",
|
||||||
|
"h": [
|
||||||
|
"01.02 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 33,
|
||||||
|
"sec": 4,
|
||||||
|
"b": 8,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 15,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Справка, скриншоты системы",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Обеспечить применение в филиалах/ДАО Общества интегрированную систему анализа и предупреждения несчастных случаев и критических происшествий, а также платформу по идентификации и оценке рисков перед началом проведения работ на опасных производственных объектах.",
|
||||||
|
"ai": "ТЗ согласовывается.",
|
||||||
|
"h": [
|
||||||
|
"01.04 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 34,
|
||||||
|
"sec": 4,
|
||||||
|
"b": 8,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 10,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Справка, скриншоты HSE паспорта",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотреть возможность запуска в филиалах/ДАО Общества электронного HSE паспорта на каждого работника с последующей интеграцией в корпоративную цифровую систему. Электронный HSE паспорт должен содержать сведения о прохождении инструктажей, обучения и проверок знаний, результаты медицинских осмотров, а также данные о выданных СИЗ, допусках к видам работ, стаже и квалификации.",
|
||||||
|
"ai": "Концепция утверждена.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 35,
|
||||||
|
"sec": 4,
|
||||||
|
"b": 5,
|
||||||
|
"s": "wait",
|
||||||
|
"p": 8,
|
||||||
|
"due": "31.12.2026",
|
||||||
|
"done": "—",
|
||||||
|
"dname": "Справка, скриншоты системы",
|
||||||
|
"r": "Директор ДПБ\nГенеральные директора филиалов и ДАО",
|
||||||
|
"t": "Рассмотреть возможность внедрения системы оформления нарядов-допусков на проведение работ повышенной опасности в электронном виде в филиалах/ДАО Общества.",
|
||||||
|
"ai": "Предпроект.",
|
||||||
|
"h": [
|
||||||
|
"01.05 — Создано"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
110
design.md
Normal file
110
design.md
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<!-- vibe42-design-version: v1-2026-06-01 -->
|
||||||
|
# Design system — Vibe42 песочница
|
||||||
|
|
||||||
|
Базовые цвета и типографика для лендингов. Можно отклоняться, но начинай с этого.
|
||||||
|
|
||||||
|
## Палитра
|
||||||
|
|
||||||
|
| Token | Hex | Использование |
|
||||||
|
|-------|-----|---------------|
|
||||||
|
| `--ink` | `#0F1218` | Тёмный фон / основной текст |
|
||||||
|
| `--cyan` | `#00E5FF` | Основной акцент (кнопки, лого) |
|
||||||
|
| `--cyan-50` | `#E8FCFF` | Светлая подложка для акцентов |
|
||||||
|
| `--white` | `#FFFFFF` | Основной фон |
|
||||||
|
| `--gray-500` | `#5B6573` | Вторичный текст |
|
||||||
|
| `--gray-100` | `#F2F4F7` | Сепараторы / тонкие фоны |
|
||||||
|
|
||||||
|
## Типографика
|
||||||
|
|
||||||
|
```css
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
|
||||||
|
```
|
||||||
|
|
||||||
|
| Уровень | Размер | Вес | line-height |
|
||||||
|
|---------|--------|-----|-------------|
|
||||||
|
| h1 (hero) | 56px | 800 | 1.05 |
|
||||||
|
| h2 (section) | 36px | 700 | 1.15 |
|
||||||
|
| h3 | 22px | 700 | 1.3 |
|
||||||
|
| body | 17px | 400 | 1.6 |
|
||||||
|
| small | 14px | 400 | 1.5 |
|
||||||
|
|
||||||
|
На мобиле — h1 уменьши до 36px, h2 до 28px.
|
||||||
|
|
||||||
|
## Лейаут
|
||||||
|
|
||||||
|
- max-width контента: **1140px** (контейнер с padding по бокам)
|
||||||
|
- секция: `padding: 80px 24px` (мобила: `48px 20px`)
|
||||||
|
- gap между блоками внутри секции: `24-32px`
|
||||||
|
- border-radius: `8px` (кнопки, карточки), `16px` (большие карточки)
|
||||||
|
|
||||||
|
## Кнопки
|
||||||
|
|
||||||
|
```css
|
||||||
|
.btn-primary {
|
||||||
|
background: var(--cyan); color: var(--ink);
|
||||||
|
padding: 14px 28px; border-radius: 8px;
|
||||||
|
font-weight: 700; text-decoration: none;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.btn-secondary {
|
||||||
|
background: transparent; color: var(--ink);
|
||||||
|
border: 2px solid var(--ink);
|
||||||
|
padding: 12px 26px; border-radius: 8px;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Стартер `index.html`
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Мой проект</title>
|
||||||
|
<style>
|
||||||
|
:root{--ink:#0F1218;--cyan:#00E5FF;--cyan-50:#E8FCFF;--white:#fff;--gray-500:#5B6573;--gray-100:#F2F4F7}
|
||||||
|
*{box-sizing:border-box;margin:0;padding:0}
|
||||||
|
body{font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;color:var(--ink);background:var(--white)}
|
||||||
|
.container{max-width:1140px;margin:0 auto;padding:80px 24px}
|
||||||
|
.hero{background:var(--ink);color:var(--white)}
|
||||||
|
.hero h1{font-size:56px;font-weight:800;line-height:1.05;margin-bottom:24px}
|
||||||
|
.hero p{font-size:20px;color:#9aa3b2;max-width:600px;margin-bottom:32px}
|
||||||
|
.btn{display:inline-block;background:var(--cyan);color:var(--ink);padding:14px 28px;border-radius:8px;font-weight:700;text-decoration:none}
|
||||||
|
.btn:hover{background:#1be5ff}
|
||||||
|
.section h2{font-size:36px;font-weight:700;margin-bottom:24px}
|
||||||
|
.card{background:var(--gray-100);border-radius:16px;padding:32px;margin-bottom:16px}
|
||||||
|
@media (max-width:640px){.hero h1{font-size:36px}.section h2{font-size:28px}.container{padding:48px 20px}}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<section class="hero">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Заголовок проекта</h1>
|
||||||
|
<p>Подзаголовок — пара предложений о чём это.</p>
|
||||||
|
<a class="btn" href="#section">Начать</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section id="section" class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h2>Секция</h2>
|
||||||
|
<div class="card">Контент карточки.</div>
|
||||||
|
<div class="card">Контент карточки.</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Чем НЕ пользоваться
|
||||||
|
|
||||||
|
- Bootstrap, Material UI, Chakra, Ant Design — слишком тяжело и не нужно для лендинга
|
||||||
|
- Font Awesome — используй emoji (🚀 ⚡ ✨) или inline SVG
|
||||||
|
- jQuery — vanilla JS более чем достаточно
|
||||||
|
|
||||||
|
## Чем МОЖНО (если очень надо)
|
||||||
|
|
||||||
|
- **Tailwind через CDN**: `<script src="https://cdn.tailwindcss.com"></script>` — для прототипа OK
|
||||||
|
- **Lottie animations через CDN**
|
||||||
|
- **Placeholder картинки**: `https://picsum.photos/800/600`, `https://placehold.co/600x400`
|
||||||
|
- **Шрифты Google Fonts через `<link>`** в head
|
||||||
52
gen_events.py
Normal file
52
gen_events.py
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
events = [
|
||||||
|
# I. ЛЮДИ. ПОВЫШЕНИЕ УРОВНЯ КУЛЬТУРЫ БЕЗОПАСНОСТИ РАБОТНИКОВ (1-9)
|
||||||
|
{"id":1,"sec":0,"b":6,"s":"warn","p":45,"due":"31.12.2026","done":"—","dname":"Сертификаты, протоколы, электронная ведомость обучения","r":"Генеральный директор КУ\nГенеральные директора филиалов и ДАО","t":"Продолжить проведение обучения и повышения квалификации руководителей и работников компании в соответствии с лучшими международными практиками, ориентированными на специфику условий труда, работы повышенной опасности и требований промышленной безопасности, а также развитие культуры безопасности, включая обучение производственного персонала по курсу «Культура безопасного труда», в том числе с применением VR, AR – технологий и цифровых симуляторов аварийных ситуаций по различным направлениям производственной безопасности (с правом выдачи сертификатов).","ai":"Обучение ведётся по графику. Охвачено 45% персонала.","h":["15.01 — Создано","01.03 — Запущено"]},
|
||||||
|
{"id":2,"sec":0,"b":0,"s":"done","p":100,"due":"31.03.2026","done":"28.03.2026","dname":"Отчёт о проведённом анализе, утверждённый ВНД","r":"Директор ДПБ\nГенеральный директор ДИТ\nГенеральные директора филиалов и ДАО","t":"Провести анализ, в том числе с использованием аналитических платформ (Microsoft Teams, Power BI, Tableau, Qlik и др.), и в случае необходимости, осуществить пересмотр внутренних нормативных документов филиалов/ДАО Общества в соответствии со «Стратегией развития производственной безопасности АО «Самрук-Қазына» на 2024-2028 гг.», включая установку значений ключевых показателей производственной безопасности.","ai":"Анализ завершён в срок.","h":["10.01 — Создано","28.03 — Утверждён"]},
|
||||||
|
{"id":3,"sec":0,"b":0,"s":"warn","p":50,"due":"31.12.2026","done":"—","dname":"Протоколы совещаний (a, b, c)","r":"а) Главный административный директор, Директор ДПБ\nГенеральные директора филиалов и ДАО\nb, c) Генеральные директора филиалов и ДАО","t":"Организовывать тематические совещания по вопросам производственной безопасности, в том числе с целью разъяснения внедряемых программ и инициатив:\na) руководство Общества с филиалами/ДАО Общества, не менее одного раза в квартал, в том числе с целью личного мониторинга показателей эффективности по производственной безопасности в рамках «Стратегии развития производственной безопасности АО «Самрук-Қазына» на 2024-2028 гг.» и статуса исполнения «Плана мероприятий по производственной безопасности АО «Самрук-Қазына» на 2026 год»;\nb) руководство филиалов/ДАО Общества со структурными подразделениями, не менее 1 раза в месяц;\nc) руководство региональных подразделений/филиалов/ДАО Общества с подрядными организациями, осуществляющими работы/предоставляющими услуги на объектах, не менее 1 раза в квартал.","ai":"Проведено 2 квартальных совещания.","h":["10.01 — Создано","15.02 — Q1","15.05 — Q2"],"sub":[{"l":"a","t":"Руководство Общества с филиалами/ДАО Общества, не менее одного раза в квартал, с личным мониторингом показателей эффективности"},{"l":"b","t":"Руководство филиалов/ДАО Общества со структурными подразделениями, не менее 1 раза в месяц"},{"l":"c","t":"Руководство региональных подразделений/филиалов/ДАО с подрядными организациями, не менее 1 раза в квартал"}]},
|
||||||
|
{"id":4,"sec":0,"b":6,"s":"warn","p":55,"due":"31.12.2026","done":"—","dname":"Отчёт о проделанной работе, тесты","r":"Генеральные директора филиалов и ДАО","t":"Продолжить практику проверки знаний в формате тестирования после проведения инструктажей по охране труда в филиалах/ДАО Общества.","ai":"Тестирование внедрено в 6 филиалах. Средний результат — 82%.","h":["01.02 — Создано"]},
|
||||||
|
{"id":5,"sec":0,"b":0,"s":"done","p":100,"due":"31.03.2026","done":"25.03.2026","dname":"Информация о нематериальном поощрении","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Рассмотреть возможность нематериального поощрения филиалов и ДАО Общества, демонстрирующих устойчивое снижение количества несчастных случаев, пожаров и аварий по итогам нескольких и более лет.","ai":"Положение утверждено.","h":["15.01 — Проект","25.03 — Утверждено"]},
|
||||||
|
{"id":6,"sec":0,"b":6,"s":"warn","p":60,"due":"30.06.2026","done":"—","dname":"Утверждённый ВНД, перечень внутренних тренеров","r":"Генеральный директор КУ\nУправляющий директор по персоналу\nГенеральные директора филиалов и ДАО","t":"Разработать/внести изменения в случае необходимости и утвердить внутренний нормативный документ, регламентирующий процедуру работы внутренних тренеров, в том числе по производственной безопасности, включая порядок их отбора, подготовки и привлечения, а также установление условий доплаты к основной заработной плате за выполнение тренерских функций.","ai":"Проект ВНД на финальном согласовании.","h":["01.03 — Создано"]},
|
||||||
|
{"id":7,"sec":0,"b":1,"s":"warn","p":40,"due":"31.12.2026","done":"—","dname":"Материалы, рассмотренные в рамках обмена опытом","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Проводить мероприятия по обмену опытом в области производственной безопасности:\na) Продолжить практику обмена передовым опытом на площадке Комитета HSE, в том числе путем выездов на производственные объекты ПК, с целью последующего тиражирования успешных практик в ПК.\nb) Рассмотреть возможность организации обмена опытом в области производственной безопасности для работников ПК с иностранными и казахстанскими компаниями, соответствующих деятельности ПК, в том числе путем проведения онлайн-семинаров.","ai":"Проведён 1 выезд на KEGOC.","h":["15.02 — Создано","01.04 — Выезд"],"sub":[{"l":"a","t":"Продолжить практику обмена передовым опытом на площадке Комитета HSE, в том числе путем выездов на производственные объекты ПК"},{"l":"b","t":"Рассмотреть возможность организации обмена опытом с иностранными и казахстанскими компаниями, в том числе путем проведения онлайн-семинаров"}]},
|
||||||
|
{"id":8,"sec":0,"b":4,"s":"wait","p":15,"due":"30.09.2026","done":"—","dname":"Заключительный Акт, программа Well-being, отчёт о скрининге, отчёт о микротравмах","r":"а) Директор ДПБ\nb) Генеральный директор КУ\nУправляющий директор по персоналу\nc) Управляющий директор по персоналу\nГенеральные директора филиалов и ДАО\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Провести анализ эффективности реализуемых мероприятий по охране здоровья:\na) организовать и обеспечить 100% прохождение обязательных периодических медицинских осмотров работниками, включая офисных работников;\nb) организовать ежегодную «Неделю благополучия» (Well-being Week) для работников всех уровней, предусматривая практические мероприятия по стресс-менеджменту, ментальному здоровью и физической активности;\nc) создать условия и обеспечить контроль за прохождением медицинского скрининга работников в соответствии с Приказом и.о. Министра Здравоохранения РК от 30 октября 2020 года №КР ДСМ-174/2020, в том числе в целях раннего диагностирования факторов риска сердечно-сосудистых заболеваний;\nd) внедрить алгоритм учета и расследования микротравм, а также фиксировать использование содержимого медицинских аптечек путем регистрации и расследования данных случаев.","ai":"Медосмотры — Q3. Well-being — сентябрь.","h":["01.04 — Создано"],"sub":[{"l":"a","t":"Организовать и обеспечить 100% прохождение обязательных периодических медицинских осмотров работниками, включая офисных работников"},{"l":"b","t":"Организовать ежегодную «Неделю благополучия» (Well-being Week) для работников всех уровней"},{"l":"c","t":"Создать условия и обеспечить контроль за прохождением медицинского скрининга работников"},{"l":"d","t":"Внедрить алгоритм учета и расследования микротравм, фиксировать использование содержимого медицинских аптечек"}]},
|
||||||
|
{"id":9,"sec":0,"b":6,"s":"wait","p":20,"due":"31.12.2026","done":"—","dname":"Результаты конкурсов, пакет материалов","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Рассмотреть возможность участия ДПБ/филиалов/ДАО Общества в международных/национальных конкурсах и отраслевых соревнованиях профессионального мастерства в области производственной безопасности.","ai":"Определены 2 конкурса.","h":["01.05 — Создано"]},
|
||||||
|
|
||||||
|
# II. БЕЗОПАСНОСТЬ ПРИ ЭКСПЛУАТАЦИИ ОБОРУДОВАНИЯ (10-18)
|
||||||
|
{"id":10,"sec":1,"b":1,"s":"warn","p":55,"due":"31.12.2026","done":"—","dname":"Аналитическая справка в разбивке по филиалам/ДАО","r":"Генеральный директор ОДС\nГенеральный директор СФ\nГенеральный директор ДУП\nГенеральный директор ДИТ","t":"Проводить работы по техническому перевооружению морально и физически изношенного оборудования, зданий и сооружений, эксплуатация которых из-за их технического состояния сопровождается повышенными рисками возникновения аварий и несчастных случаев с тяжёлыми и летальными исходами, в соответствии с ранее утвержденными Планами на 2024-2027 годы.","ai":"По плану 2024-2027. Заменено 55%.","h":["01.01 — Переходящее"]},
|
||||||
|
{"id":11,"sec":1,"b":1,"s":"warn","p":70,"due":"30.06.2026","done":"—","dname":"Переутверждённая процедура, фотоотчёт, протоколы обучения","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Пересмотреть и актуализировать внутренний порядок выдачи нарядно-допускной системы, усилив законодательные требования Республики Казахстан путем внедрения в пилотном режиме практики применения сертификатов безопасности для одного из видов работ повышенной опасности. Указанные сертификаты должны содержать исчерпывающую информацию о потенциальных рисках и мерах безопасности перед началом работ, предусматривать обязательный замер газовоздушной среды при работах в замкнутом пространстве, анализ плана участка и исполнительных чертежей, установку защитных барьеров при проведении земляных работ, выполнение электрической изоляции источников опасности с обязательной проверкой отсутствия напряжения, а также меры безопасности при проведении радиографических работ.","ai":"Процедура пересмотрена. Пилот запущен.","h":["01.02 — Создано"]},
|
||||||
|
{"id":12,"sec":1,"b":8,"s":"wait","p":8,"due":"30.09.2026","done":"—","dname":"Справка о внедрении, фотоотчёт","r":"Генеральные директора филиалов и ДАО","t":"Рассмотреть возможность внедрения системы цифровой маркировки опасных технических устройств, предусматривающей присвоение каждому устройству QR-кода для обеспечения быстрого доступа к паспорту, инструкции по эксплуатации и информации о проведенных технических освидетельствованиях, с учетом возможности использования мобильных телефонов на опасных производственных объектах.","ai":"Проект на стадии ТЭО.","h":["01.05 — Создано"]},
|
||||||
|
{"id":13,"sec":1,"b":0,"s":"warn","p":50,"due":"31.12.2026","done":"—","dname":"Акты проверок и график","r":"Директор ДПБ","t":"Филиалам/ДАО Общества не реже 1 раза в квартал проводить проверку согласно адаптированным проверочным листам, в области БиОТ, промышленной и пожарной безопасности в соответствии с требованиями законодательства Республики Казахстан.","ai":"Q1 завершены. Q2 — по графику.","h":["01.01 — Создано"]},
|
||||||
|
{"id":14,"sec":1,"b":0,"s":"warn","p":40,"due":"31.12.2026","done":"—","dname":"Письмо о предоставлении кандидата","r":"Директор ДПБ","t":"Продолжить практику участия в перекрёстных аудитах ПК, в том числе в соответствии с Планом-графиком проведения аудитов.","ai":"Назначены 4 аудитора.","h":["15.01 — Назначены"]},
|
||||||
|
{"id":15,"sec":1,"b":0,"s":"warn","p":48,"due":"31.12.2026","done":"—","dname":"Аналитическая справка, Журнал «Опережающие индикаторы»","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Усилить контроль за применением проактивных инструментов:\nа) Продолжить мониторинг применения проактивных инструментов предотвращения аварий и несчастных случаев (проведение поведенческих аудитов/наблюдений безопасности, регистрация и расследование опасных условий, опасных действий и потенциально опасных происшествий Near Miss; право приостановки работы) с целью выработки корректирующих мероприятий, исключения формализма и занесения достоверных данных в Журнал «Опережающие индикаторы» Системы управления отчетности АО «Самрук-Қазына» и потенциально опасных происшествий Near Miss.","ai":"147 Near Miss. Аудиты — 320 шт.","h":["01.01 — Создано"]},
|
||||||
|
{"id":16,"sec":1,"b":1,"s":"done","p":85,"due":"31.12.2026","done":"—","dname":"План-график аудитов, Акты, Протоколы совещаний","r":"Генеральные директора филиалов и ДАО","t":"Провести работу по повышению эффективности управления подрядными организациями, в том числе:\na) обеспечить проведение согласно типового чек-листа, разработанного Фондом, аудита подрядчиков внутри филиалов/ДАО Общества выборочных перекрёстных аудитов подрядных организаций, осуществляющих работы по договорам на оказание услуг сроком от 6 месяцев и более на объектах предприятий, преимущественно в которых произошли несчастные случаи со смертельным и тяжелым исходами, с участием специалистов службы производственной безопасности Общества и ДАО, не связанных с проверяемыми объектами;\nb) продолжить практику проведения стартовых/установочных совещаний с подрядными организациями перед допуском на территорию объекта филиалов/ДАО Общества с целью ознакомления с внутренними нормативными документами по производственной безопасности, а также информацией об опасных производственных объектах, оборудовании и (или) территории, создающих угрозу жизни и здоровью людей.","ai":"Q1 — 12 подрядчиков проверено.","h":["15.01 — План"],"sub":[{"l":"a","t":"Обеспечить проведение аудита подрядчиков согласно типового чек-листа Фонда"},{"l":"b","t":"Продолжить практику проведения стартовых/установочных совещаний с подрядными организациями перед допуском на объект"}]},
|
||||||
|
{"id":17,"sec":1,"b":0,"s":"warn","p":35,"due":"31.12.2026","done":"—","dname":"Отчёты, график проверок, фотоотчёт","r":"а) Главный административный директор, Директор ДПБ\nb) Генеральные директора филиалов и ДАО","t":"Обеспечить контроль за состоянием производственной безопасности на производственных объектах:\nа) руководителям Общества уровня СЕО-1, курирующим вопросы производственной безопасности в Обществе, не реже одного раза в квартал лично проверять одно из филиалов Общества/подрядных организаций или участок, в зависимости от структуры и специфики Общества с обязательным представлением актов по результатам проверок в Фонд;\nb) первым руководителям и руководителям линейных подразделений филиалов Общества лично принимать участие во внутреннем производственном контроле с посещением производственных площадок не реже одного раза в квартал.","ai":"CEO-1: 2 филиала.","h":["01.02 — Создано"],"sub":[{"l":"a","t":"Руководителям уровня СЕО-1 не реже одного раза в квартал лично проверять филиал/подрядчика"},{"l":"b","t":"Первым руководителям филиалов лично принимать участие в контроле с посещением площадок"}]},
|
||||||
|
{"id":18,"sec":1,"b":1,"s":"done","p":90,"due":"31.12.2026","done":"—","dname":"Ежемесячный сводный отчёт","r":"Генеральные директора филиалов и ДАО\nДиректор ДПБ","t":"Обеспечить контроль за состоянием транспортной безопасности, в том числе путем ежемесячного мониторинга нарушений требований транспортной безопасности со стороны штатных водителей и водителей подрядных организаций, оказывающих транспортные услуги по перевозке работников, с последующим применением предусмотренных договорами мер воздействия, включая штрафные санкции и ограничения на допуск к работам.","ai":"34 нарушения. Тренд — снижение.","h":["01.01 — Создано"]},
|
||||||
|
|
||||||
|
# III (19-20)
|
||||||
|
{"id":19,"sec":2,"b":1,"s":"warn","p":30,"due":"31.12.2026","done":"—","dname":"Акты тренировок, пресс-релизы","r":"a) Управляющий директор по безопасности, Руководители ДАО\nb) Генеральный директор СФ, Руководители ДАО\nс) Управляющий директор по безопасности\nГенеральные директора филиалов и ДАО","t":"Обеспечить проведение:\nа) не менее одной учебной тревоги и/или противоаварийной тренировки по ликвидации крупной аварии, ЧС на опасном производственном объекте с привлечением Фонда и государственных органов;\nb) не менее двух тренировок по тушению пожара в административных зданиях (офисах) с привлечением государственных органов;\nc) не менее одного практического занятия по оказанию первой помощи с применением симуляционного оборудования в условиях ЧС техногенного и природного характера.","ai":"1 учение. Пожарные: 1 из 2.","h":["01.02 — Создано"],"sub":[{"l":"a","t":"Не менее одной учебной тревоги/противоаварийной тренировки"},{"l":"b","t":"Не менее двух тренировок по тушению пожара"},{"l":"c","t":"Не менее одного занятия по оказанию первой помощи"}]},
|
||||||
|
{"id":20,"sec":2,"b":0,"s":"warn","p":65,"due":"30.06.2026","done":"—","dname":"Приказ о внедрении, материалы обучения, акты штабов","r":"Управляющий директор по безопасности\nГенеральные директора филиалов и ДАО","t":"Усилить работу по реагированию на ЧС:\nа) внедрить процедуру «Crisis Management System» (Система управления кризисными ситуациями) для обеспечения своевременной и согласованной реакции на всех уровнях управления на кризисные события, а также сокращение ущерба для работников, активов, окружающей среды и репутации компании;\nb) рассмотреть возможность проведения обучения для ответственных работников филиалов/ДАО Общества по действиям в условиях ЧС;\nc) провести не менее двух заседаний штабов с целью отработки действий на практике.","ai":"CMS внедрена. Обучение — 60%.","h":["01.03 — Создано"],"sub":[{"l":"a","t":"Внедрить процедуру «Crisis Management System»"},{"l":"b","t":"Провести обучение ответственных работников по действиям в условиях ЧС"},{"l":"c","t":"Провести не менее двух заседаний штабов"}]},
|
||||||
|
|
||||||
|
# IV (21-31)
|
||||||
|
{"id":21,"sec":3,"b":0,"s":"done","p":100,"due":"31.12.2026","done":"15.02.2026","dname":"Публикация на информационных порталах","r":"Директор ДПБ\nПресс-секретарь ЦА","t":"Обеспечить выпуск обращения от Председателя Правления ПК о важности соблюдения требований по производственной безопасности.","ai":"Опубликовано. Охват — 100%.","h":["15.02 — Публикация"]},
|
||||||
|
{"id":22,"sec":3,"b":0,"s":"wait","p":15,"due":"31.12.2026","done":"—","dname":"Протоколы форумов, протоколы семинаров","r":"a) Директор ДПБ\nГенеральные директора филиалов и ДАО\nДепартамент по коммуникациям и продвижению бренда\nb) Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Проведение мероприятий по производственной безопасности:\na) в филиалах/ДАО Общества стратегических сессий/Форумов для первых руководителей филиалов/ДАО Общества;\nb) рассмотреть возможность проведения семинаров для подрядных организаций ПК на отдельных площадках филиалов/ДАО Общества.","ai":"Форум — октябрь.","h":["01.05 — Создано"],"sub":[{"l":"a","t":"В филиалах/ДАО стратегические сессии/Форумы для первых руководителей"},{"l":"b","t":"Семинары для подрядных организаций ПК на отдельных площадках"}]},
|
||||||
|
{"id":23,"sec":3,"b":6,"s":"wait","p":10,"due":"30.09.2026","done":"—","dname":"Протокол итогов Олимпиады","r":"Директор ДПБ","t":"Проведение Олимпиады по производственной безопасности среди специалистов производственной безопасности Общества и подрядных организации на уровне Общества.","ai":"Положение на согласовании.","h":["01.05 — Создано"]},
|
||||||
|
{"id":24,"sec":3,"b":0,"s":"done","p":92,"due":"31.12.2026","done":"—","dname":"Информационные бюллетени, листы ознакомления","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Обеспечить ознакомление всех работников филиалов/ДАО Общества с обстоятельствами несчастных случаев с тяжелым и летальным исходами, произошедших в ПК Фонда, и относящихся к специфике деятельности Общества, посредством направления информационных бюллетеней, в том числе с использованием цифровых решений либо в рамках внеплановых инструктажей.","ai":"3 бюллетеня, 92%.","h":["01.01 — Создано"]},
|
||||||
|
{"id":25,"sec":3,"b":6,"s":"warn","p":40,"due":"31.12.2026","done":"—","dname":"Публикации в SK News, материалы мероприятий","r":"a) Управляющий директор по персоналу\nДепартамент по коммуникациям и продвижению бренда\nГенеральные директора филиалов и ДАО\nb) Директор ДПБ\nГенеральные директора филиалов и ДАО\nc) Директор ДПБ\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Проведение молодежных проектных инициатив в рамках работы Центра молодых работников по производственной безопасности группы компаний АО «Самрук-Қазына» с целью вовлечения молодых специалистов в вопросы производственной безопасности, в том числе:\na) публикация реальных историй из трудовой жизни работников в корпоративном журнале «SK News»;\nb) посещение рабочих мест, где в 2022-2025 годах произошли несчастные случаи с летальным или тяжелым исходом;\nc) привлечение молодых специалистов по производственной безопасности в перекрёстные аудиты состояния производственной безопасности ДЗО ПК АО «Самрук-Қазына»;\nd) онлайн-семинары/прямые эфиры на различные темы по вопросам производственной безопасности.","ai":"2 истории в SK News.","h":["01.02 — Создано"],"sub":[{"l":"a","t":"Публикация реальных историй из трудовой жизни работников в журнале «SK News»"},{"l":"b","t":"Посещение рабочих мест, где в 2022-2025 годах произошли несчастные случаи"},{"l":"c","t":"Привлечение молодых специалистов в перекрёстные аудиты"},{"l":"d","t":"Онлайн-семинары/прямые эфиры на темы производственной безопасности"}]},
|
||||||
|
{"id":26,"sec":3,"b":2,"s":"warn","p":50,"due":"31.12.2026","done":"—","dname":"Видеоролики, постеры, брошюры","r":"а) Генеральные директора филиалов и ДАО\nb) и с) Директор ДПБ\nДепартамент по коммуникациям и продвижению бренда\nГенеральные директора филиалов и ДАО\nd) Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Усилить наглядную агитацию по производственной безопасности:\nа) Продолжить работы по разработке и использованию видеороликов/презентаций по производственной безопасности, в том числе:\n- с участием работников, получивших травму, а также членов семей работников (с их согласия);\n- с участием нарушителей требований безопасности и охраны труда, включая разбор ошибок и разработку мер по предотвращению аналогичных случаев в будущем (с их согласия).\nb) Разработать серии специализированных видеороликов:\n- в формате «Безопасность будущего», направленный на демонстрацию внедряемых цифровых и ИИ-решений в сфере производственной безопасности в группе Фонда;\n- по профилактике производственного травматизма с акцентом на наиболее опасные риски (ДТП, падения с высоты, работа с движущимися механизмами и т.д.).\nc) Рассмотреть возможность выпуска подкаста с участием трудовых династий о переходе от ручного труда к автоматизации и цифровизации, способствующем повышению уровня производственной безопасности.\nd) Продолжить работы по разработке и распространению постеров, брошюр, информационных рассылок на различные темы по соблюдению производственной безопасности.","ai":"2 видеоролика снято.","h":["01.02 — Создано"],"sub":[{"l":"a","t":"Разработка и использование видеороликов/презентаций по ПБ"},{"l":"b","t":"Серии видеороликов «Безопасность будущего» и по профилактике травматизма"},{"l":"c","t":"Выпуск подкаста с участием трудовых династий"},{"l":"d","t":"Разработка и распространение постеров, брошюр, рассылок"}]},
|
||||||
|
{"id":27,"sec":3,"b":3,"s":"warn","p":30,"due":"31.12.2026","done":"—","dname":"Фотофиксация","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Рассмотрение возможности организации встреч коллектива с получившими производственные травмы работниками (с их согласия) с целью предупреждения аналогичных случаев травматизма.","ai":"1 встреча проведена.","h":["01.03 — Создано"]},
|
||||||
|
{"id":28,"sec":3,"b":0,"s":"warn","p":25,"due":"31.12.2026","done":"—","dname":"Информационное письмо, пресс-релизы","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО\nДепартамент по коммуникациям и продвижению бренда","t":"Проведение мероприятий, направленных на пропаганду безопасного выполнения работ через семейные ценности:\nа) направление информационного письма членам семьи (супруг/а, родители) работника, положительно отличившегося в вопросах производственной безопасности;\nb) проведение Семейных дней охраны труда и дней открытых дверей для семей работников, в том числе на тему «Золотые правила безопасности для детей», с целью воспитания подрастающего поколения в традициях безопасности;\nc) проведение конкурса рисунков среди работников и их детей по безопасной работе и соблюдению правил на производстве на тему «Спецодежда будущего!».","ai":"5 писем семьям.","h":["01.04 — Создано"],"sub":[{"l":"a","t":"Направление письма членам семьи работника, отличившегося в вопросах ПБ"},{"l":"b","t":"Проведение Семейных дней охраны труда и дней открытых дверей"},{"l":"c","t":"Конкурс рисунков «Спецодежда будущего!»"}]},
|
||||||
|
{"id":29,"sec":3,"b":6,"s":"late","p":40,"due":"30.06.2026","done":"—","dname":"Корпоративный сборник лучших практик","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Разработать корпоративный сборник лучших практик по производственной безопасности в формате методического пособия или интерактивного PDF документа, отражающий меры по снижению производственного травматизма и управлению критическими рисками. В сборнике предусмотреть описание сути инициатив, перечень ключевых рисков (железнодорожные происшествия, ДТП, работы на высоте и др.), реализованные мероприятия, а также достигнутые результаты за последние пять лет.","ai":"Риск срыва Q2.","h":["01.03 — Создано"]},
|
||||||
|
{"id":30,"sec":3,"b":7,"s":"warn","p":60,"due":"31.12.2026","done":"—","dname":"Предложения, план реализации","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Сбор предложений по совершенствованию системы управления производственной безопасности посредством применения цифровых решений с консолидацией в ДПБ.","ai":"18 предложений.","h":["01.01 — Создано"]},
|
||||||
|
{"id":31,"sec":3,"b":0,"s":"warn","p":75,"due":"30.06.2026","done":"—","dname":"Видеообзор","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Разработка видеообзора кейсов происшествий в ПК с учетом специфики деятельности (из доступных на открытых медиа источниках) для наглядной демонстрации и разъяснения работникам о необходимости и важности соблюдения требований безопасности.","ai":"Монтаж 75%.","h":["01.03 — Создано"]},
|
||||||
|
|
||||||
|
# V (32-35)
|
||||||
|
{"id":32,"sec":4,"b":8,"s":"warn","p":70,"due":"30.06.2026","done":"—","dname":"Справка, скриншоты чат-бота","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Обеспечить применение в филиалах/ДАО Общества чат-бот ИИ ассистент по производственной безопасности с целью упрощения доступа к нормативно-правовым актам Республики Казахстан и ВНД группы Фонда.","ai":"Чат-бот тестируется.","h":["01.02 — Создано"]},
|
||||||
|
{"id":33,"sec":4,"b":8,"s":"wait","p":15,"due":"31.12.2026","done":"—","dname":"Справка, скриншоты системы","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Обеспечить применение в филиалах/ДАО Общества интегрированную систему анализа и предупреждения несчастных случаев и критических происшествий, а также платформу по идентификации и оценке рисков перед началом проведения работ на опасных производственных объектах.","ai":"ТЗ согласовывается.","h":["01.04 — Создано"]},
|
||||||
|
{"id":34,"sec":4,"b":8,"s":"wait","p":10,"due":"31.12.2026","done":"—","dname":"Справка, скриншоты HSE паспорта","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Рассмотреть возможность запуска в филиалах/ДАО Общества электронного HSE паспорта на каждого работника с последующей интеграцией в корпоративную цифровую систему. Электронный HSE паспорт должен содержать сведения о прохождении инструктажей, обучения и проверок знаний, результаты медицинских осмотров, а также данные о выданных СИЗ, допусках к видам работ, стаже и квалификации.","ai":"Концепция утверждена.","h":["01.05 — Создано"]},
|
||||||
|
{"id":35,"sec":4,"b":5,"s":"wait","p":8,"due":"31.12.2026","done":"—","dname":"Справка, скриншоты системы","r":"Директор ДПБ\nГенеральные директора филиалов и ДАО","t":"Рассмотреть возможность внедрения системы оформления нарядов-допусков на проведение работ повышенной опасности в электронном виде в филиалах/ДАО Общества.","ai":"Предпроект.","h":["01.05 — Создано"]},
|
||||||
|
]
|
||||||
|
|
||||||
|
with open('data.json','w',encoding='utf-8') as f:
|
||||||
|
json.dump(events, f, ensure_ascii=False, indent=2)
|
||||||
|
print(f"OK: {len(events)} events")
|
||||||
1159
index.html
Normal file
1159
index.html
Normal file
File diff suppressed because one or more lines are too long
5
requirements.txt
Normal file
5
requirements.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
flask>=3.0
|
||||||
|
flask-cors>=4.0
|
||||||
|
python-docx>=1.0
|
||||||
|
reportlab>=4.0
|
||||||
|
requests>=2.31
|
||||||
133
server.py
Normal file
133
server.py
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
import json
|
||||||
|
import io
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
from flask import Flask, request, jsonify
|
||||||
|
from flask_cors import CORS
|
||||||
|
import requests as http_requests
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
CORS(app)
|
||||||
|
|
||||||
|
HSE_API_URL = "https://hse.sk.kz/api/v1"
|
||||||
|
DATA_DIR = os.path.join(os.path.dirname(__file__), "data")
|
||||||
|
os.makedirs(DATA_DIR, exist_ok=True)
|
||||||
|
|
||||||
|
|
||||||
|
def make_docx(report):
|
||||||
|
from docx import Document
|
||||||
|
from docx.shared import Pt
|
||||||
|
doc = Document()
|
||||||
|
doc.styles["Normal"].font.size = Pt(11)
|
||||||
|
doc.add_heading("План ПБ — Казахтелеком", level=1)
|
||||||
|
s = report.get("summary", {})
|
||||||
|
doc.add_paragraph(
|
||||||
|
f"Дата: {datetime.now().strftime('%d.%m.%Y')} | "
|
||||||
|
f"Всего: {s.get('total', 0)} | "
|
||||||
|
f"Выполнено: {s.get('done', 0)} ({s.get('pct', 0)}%)"
|
||||||
|
)
|
||||||
|
events = report.get("events", [])
|
||||||
|
table = doc.add_table(rows=1, cols=6)
|
||||||
|
table.style = "Light Grid Accent 1"
|
||||||
|
for i, h in enumerate(["N", "Мероприятие", "Филиал", "Срок", "Статус", "%"]):
|
||||||
|
table.rows[0].cells[i].text = h
|
||||||
|
for e in events:
|
||||||
|
row = table.add_row().cells
|
||||||
|
row[0].text = str(e.get("id", ""))
|
||||||
|
row[1].text = str(e.get("title", ""))[:100]
|
||||||
|
row[2].text = str(e.get("branch", ""))
|
||||||
|
row[3].text = str(e.get("deadline", ""))
|
||||||
|
row[4].text = str(e.get("status", ""))
|
||||||
|
row[5].text = str(e.get("progress", 0)) + "%"
|
||||||
|
buf = io.BytesIO()
|
||||||
|
doc.save(buf)
|
||||||
|
buf.seek(0)
|
||||||
|
return buf
|
||||||
|
|
||||||
|
|
||||||
|
def make_pdf(report):
|
||||||
|
from reportlab.lib.pagesizes import A4
|
||||||
|
from reportlab.lib.styles import getSampleStyleSheet
|
||||||
|
from reportlab.lib.units import mm
|
||||||
|
from reportlab.lib.colors import HexColor
|
||||||
|
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle
|
||||||
|
|
||||||
|
buf = io.BytesIO()
|
||||||
|
doc = SimpleDocTemplate(buf, pagesize=A4, rightMargin=20 * mm, leftMargin=20 * mm,
|
||||||
|
topMargin=20 * mm, bottomMargin=20 * mm)
|
||||||
|
styles = getSampleStyleSheet()
|
||||||
|
story = [Paragraph("План ПБ — Казахтелеком", styles["Title"]), Spacer(1, 10)]
|
||||||
|
s = report.get("summary", {})
|
||||||
|
story.append(Paragraph(
|
||||||
|
f"Всего: {s.get('total', 0)} | Выполнено: {s.get('done', 0)} ({s.get('pct', 0)}%)",
|
||||||
|
styles["Normal"]
|
||||||
|
))
|
||||||
|
story.append(Spacer(1, 10))
|
||||||
|
data = [["N", "Мероприятие", "Филиал", "Срок", "Статус", "%"]]
|
||||||
|
for e in report.get("events", []):
|
||||||
|
data.append([
|
||||||
|
str(e.get("id", "")), str(e.get("title", ""))[:80],
|
||||||
|
str(e.get("branch", ""))[:25], str(e.get("deadline", "")),
|
||||||
|
str(e.get("status", "")), str(e.get("progress", 0)) + "%",
|
||||||
|
])
|
||||||
|
table = Table(data, colWidths=[20, 220, 80, 50, 60, 40])
|
||||||
|
table.setStyle(TableStyle([
|
||||||
|
("FONTSIZE", (0, 0), (-1, 0), 9), ("FONTSIZE", (0, 1), (-1, -1), 8),
|
||||||
|
("BACKGROUND", (0, 0), (-1, 0), HexColor("#003366")),
|
||||||
|
("TEXTCOLOR", (0, 0), (-1, 0), HexColor("#FFFFFF")),
|
||||||
|
("GRID", (0, 0), (-1, -1), 0.5, HexColor("#CCCCCC")),
|
||||||
|
("VALIGN", (0, 0), (-1, -1), "TOP"),
|
||||||
|
]))
|
||||||
|
story.append(table)
|
||||||
|
doc.build(story)
|
||||||
|
buf.seek(0)
|
||||||
|
return buf
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/api/hse/send", methods=["POST"])
|
||||||
|
def hse_send():
|
||||||
|
data = request.get_json()
|
||||||
|
month = data.get("month", "")
|
||||||
|
api_key = data.get("api_key", "")
|
||||||
|
fmt = data.get("format", "word")
|
||||||
|
report = data.get("report", {})
|
||||||
|
endpoint = data.get("endpoint", f"{HSE_API_URL}/documents/upload")
|
||||||
|
|
||||||
|
if not api_key:
|
||||||
|
return jsonify({"ok": False, "error": "API key required"}), 400
|
||||||
|
|
||||||
|
if fmt == "pdf":
|
||||||
|
buf = make_pdf(report)
|
||||||
|
mime = "application/pdf"
|
||||||
|
ext = "pdf"
|
||||||
|
else:
|
||||||
|
buf = make_docx(report)
|
||||||
|
mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
||||||
|
ext = "docx"
|
||||||
|
|
||||||
|
try:
|
||||||
|
files = {"file": (f"hse_report_{month}.{ext}", buf.getvalue(), mime)}
|
||||||
|
headers = {"Authorization": f"Bearer {api_key}"}
|
||||||
|
payload = {
|
||||||
|
"title": f"Сводный отчет по ПБ за {month}",
|
||||||
|
"description": "Автоматический отчет платформы мониторинга ПБ",
|
||||||
|
"type": "safety_report",
|
||||||
|
"period": month,
|
||||||
|
}
|
||||||
|
r = http_requests.post(endpoint, files=files, data=payload, headers=headers, timeout=30)
|
||||||
|
if r.ok:
|
||||||
|
return jsonify({"ok": True, "hse_response": r.json() if r.text else {"status": r.status_code}})
|
||||||
|
return jsonify({"ok": False, "error": f"HSE API error: {r.status_code}", "detail": r.text[:500]}), 502
|
||||||
|
except Exception as e:
|
||||||
|
return jsonify({"ok": False, "error": str(e)}), 502
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/api/health", methods=["GET"])
|
||||||
|
def health():
|
||||||
|
return jsonify({"ok": True, "time": datetime.now().isoformat()})
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print("HSE Integration Server — http://0.0.0.0:5000")
|
||||||
|
app.run(host="0.0.0.0", port=5000, debug=False)
|
||||||
8
start.sh
Executable file
8
start.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
echo "=== HSE Integration Server ==="
|
||||||
|
echo "Installing..."
|
||||||
|
pip3 install -r requirements.txt --break-system-packages -q 2>/dev/null
|
||||||
|
echo "Starting on http://0.0.0.0:5000"
|
||||||
|
python3 server.py
|
||||||
8
test.html
Normal file
8
test.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head><meta charset="utf-8"><title>JS Test</title></head>
|
||||||
|
<body onload="document.getElementById('r').textContent='JS работает'">
|
||||||
|
<h3>Проверка JavaScript</h3>
|
||||||
|
<p id="r" style="color:red">JS не работает</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
7
test2.html
Normal file
7
test2.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Test</title></head>
|
||||||
|
<body>
|
||||||
|
<p id="r">JS не работает</p>
|
||||||
|
<script>
|
||||||
|
document.getElementById("r").textContent="JS работает!";
|
||||||
|
</script>
|
||||||
|
</body></html>
|
||||||
142
viewer.html
Normal file
142
viewer.html
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Просмотр бекапа ИИ-Агент ПБ</title>
|
||||||
|
<style>
|
||||||
|
:root{--ink:#0F1218;--cyan:#00E5FF;--cyan-50:#E8FCFF;--white:#fff;--gray-500:#5B6573;--gray-100:#F2F4F7;--gray-200:#E5E7EB;--green:#10B981;--red:#EF4444;--amber:#F59E0B}
|
||||||
|
*{box-sizing:border-box;margin:0;padding:0}
|
||||||
|
body{font:14px/1.5 Arial,sans-serif;color:var(--ink);background:var(--gray-100);padding:20px}
|
||||||
|
.container{max-width:960px;margin:0 auto}
|
||||||
|
h1{font-size:22px;margin-bottom:16px}h1 span{color:var(--cyan)}
|
||||||
|
.drop-zone{border:3px dashed var(--cyan);border-radius:12px;padding:50px 24px;text-align:center;cursor:pointer;background:var(--white);margin-bottom:20px}
|
||||||
|
.drop-zone:hover{background:var(--cyan-50)}
|
||||||
|
.drop-zone .icon{font-size:40px;display:block;margin-bottom:8px}
|
||||||
|
.drop-zone .txt{font-size:16px;font-weight:600;margin-bottom:4px}
|
||||||
|
.drop-zone .hint{font-size:13px;color:var(--gray-500)}
|
||||||
|
.drop-zone input{display:none}
|
||||||
|
.ev{border:1px solid var(--gray-200);border-radius:10px;padding:18px;margin-bottom:14px;background:var(--white)}
|
||||||
|
.ev h3{font-size:15px;margin-bottom:6px}
|
||||||
|
.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--gray-500);margin-bottom:6px}
|
||||||
|
.meta strong{color:var(--ink)}
|
||||||
|
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}
|
||||||
|
.g{background:#D1FAE5;color:#065F46}.a{background:#FEF3C7;color:#92400E}.r{background:#FEE2E2;color:#991B1B}.w{background:#eee;color:#666}
|
||||||
|
.month{background:var(--gray-100);padding:10px 14px;border-radius:6px;margin:6px 0}
|
||||||
|
.month strong{font-size:12px}.month .rep{font-size:13px;color:var(--gray-500);margin:2px 0}
|
||||||
|
.file-item{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px}
|
||||||
|
.file-item a{color:var(--ink);font-weight:600;text-decoration:underline}.file-item a:hover{color:var(--cyan)}
|
||||||
|
.file-item .sz{font-size:11px;color:var(--gray-500)}
|
||||||
|
.sub-blk{border-left:3px solid var(--cyan);padding-left:14px;margin:6px 0 6px 16px}
|
||||||
|
.sub-blk strong{font-size:12px}
|
||||||
|
.err{color:var(--red);text-align:center;padding:20px}
|
||||||
|
.empty{text-align:center;padding:40px;color:var(--gray-500)}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1><span>📂 Просмотр бекапа</span> ИИ-Агент ПБ</h1>
|
||||||
|
|
||||||
|
<div class="drop-zone" id="dropZone">
|
||||||
|
<span class="icon">📥</span>
|
||||||
|
<div class="txt">Нажмите или перетащите файл бекапа</div>
|
||||||
|
<div class="hint">Файл backup_pb_*.json из папки Загрузки</div>
|
||||||
|
<input type="file" id="fileInput" accept=".json">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="result"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var sm={done:"Исполнено",warn:"На контроле",late:"Просрочено",wait:"В процессе"};
|
||||||
|
var sec=["I. Люди","II. Оборудование","III. Аварии и ЧС","IV. Информ. работа","V. ИИ и цифровизация"];
|
||||||
|
var br=["Дирекция ПБ","Дивизион Сеть","Корп. бизнес","Розн. бизнес","Сервисная фабрика","Телеком Комплект","Корп. университет","Упр. проектами","Цифровой бизнес"];
|
||||||
|
var mn=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];
|
||||||
|
function esc(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}
|
||||||
|
function M(k){var p=k.split("-");return mn[parseInt(p[1])-1]+" "+p[0]}
|
||||||
|
|
||||||
|
var dz=document.getElementById("dropZone"),fi=document.getElementById("fileInput");
|
||||||
|
|
||||||
|
dz.addEventListener("click",function(){fi.click()});
|
||||||
|
fi.addEventListener("change",function(){if(this.files.length)processFile(this.files[0])});
|
||||||
|
dz.addEventListener("dragover",function(e){e.preventDefault();dz.style.background="var(--cyan-50)"});
|
||||||
|
dz.addEventListener("dragleave",function(){dz.style.background="var(--white)"});
|
||||||
|
dz.addEventListener("drop",function(e){e.preventDefault();dz.style.background="var(--white)";if(e.dataTransfer.files.length)processFile(e.dataTransfer.files[0])});
|
||||||
|
|
||||||
|
function processFile(file){
|
||||||
|
if(!file){showErr("Файл не выбран");return}
|
||||||
|
if(!file.name.endsWith(".json")){showErr("Выберите .json файл");return}
|
||||||
|
var r=new FileReader();
|
||||||
|
r.onload=function(ev){
|
||||||
|
try{
|
||||||
|
var data=JSON.parse(ev.target.result);
|
||||||
|
if(!data.events){showErr("Неверный формат: нет поля events");return}
|
||||||
|
render(data);
|
||||||
|
}catch(e){showErr("Ошибка чтения JSON: "+e.message)}
|
||||||
|
};
|
||||||
|
r.onerror=function(){showErr("Не удалось прочитать файл")};
|
||||||
|
r.readAsText(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
function showErr(msg){document.getElementById("result").innerHTML='<div class="err">❌ '+esc(msg)+'</div>'}
|
||||||
|
|
||||||
|
function getFiles(data,id,si){
|
||||||
|
var k=si>=0?"sf_"+id+"_s"+si:"sf_"+id;
|
||||||
|
if(!data.files||!data.files[k])return{};
|
||||||
|
var raw=data.files[k];
|
||||||
|
if(typeof raw==="string"){try{return JSON.parse(raw)}catch(e){return{}}}
|
||||||
|
return raw;
|
||||||
|
}
|
||||||
|
|
||||||
|
function render(data){
|
||||||
|
var h="";
|
||||||
|
h+="<p style='margin-bottom:16px;color:var(--gray-500)'>Дата: <strong>"+(data.date?new Date(data.date).toLocaleString():"—")+"</strong> · Мероприятий: <strong>"+data.events.length+"</strong></p>";
|
||||||
|
|
||||||
|
data.events.forEach(function(e){
|
||||||
|
var cl={done:"g",warn:"a",late:"r",wait:"w"}[e.s]||"w";
|
||||||
|
h+="<div class='ev'><h3>"+e.id+". "+esc(e.t)+"</h3>";
|
||||||
|
h+="<div class='meta'><span>Раздел: <strong>"+sec[e.sec]+"</strong></span><span>Дивизион: <strong>"+br[e.b]+"</strong></span><span>Срок: <strong>"+e.due+"</strong></span><span>Факт: <strong>"+(e.done||"—")+"</strong></span><span>Прогресс: <strong>"+e.p+"%</strong></span><span class='badge "+cl+"'>"+sm[e.s]+"</span></div>";
|
||||||
|
|
||||||
|
// Main event files
|
||||||
|
var fd=getFiles(data,e.id,-1);
|
||||||
|
var keys=Object.keys(fd).sort();
|
||||||
|
keys.forEach(function(key){
|
||||||
|
var d=fd[key];
|
||||||
|
if(!d.report&&(!d.files||!d.files.length))return;
|
||||||
|
h+="<div class='month'><strong>"+M(key)+"</strong>";
|
||||||
|
if(d.report)h+="<div class='rep'>"+esc(d.report)+"</div>";
|
||||||
|
if(d.files&&d.files.length)d.files.forEach(function(f){
|
||||||
|
h+="<div class='file-item'>"+(f.data?"<a href='"+f.data+"' download='"+esc(f.name)+"'>📄 "+esc(f.name)+"</a>":"📄 "+esc(f.name))+"<span class='sz'>"+(f.desc?esc(f.desc)+" · ":"")+(f.size?(f.size/1024).toFixed(0)+" КБ":"")+"</span></div>";
|
||||||
|
});
|
||||||
|
h+="</div>";
|
||||||
|
});
|
||||||
|
|
||||||
|
// Sub-items
|
||||||
|
if(e.sub)e.sub.forEach(function(s,i){
|
||||||
|
var sd=getFiles(data,e.id,i);
|
||||||
|
var skeys=Object.keys(sd).sort(),hasSub=false;
|
||||||
|
skeys.forEach(function(k){if(sd[k]&&(sd[k].report||(sd[k].files&&sd[k].files.length)))hasSub=true});
|
||||||
|
if(!hasSub)return;
|
||||||
|
h+="<div class='sub-blk'><strong>"+s.l+") "+esc(s.t)+"</strong>";
|
||||||
|
skeys.forEach(function(key){
|
||||||
|
var d=sd[key];
|
||||||
|
if(!d.report&&(!d.files||!d.files.length))return;
|
||||||
|
h+="<div class='month'><strong>"+M(key)+"</strong>";
|
||||||
|
if(d.report)h+="<div class='rep'>"+esc(d.report)+"</div>";
|
||||||
|
if(d.files&&d.files.length)d.files.forEach(function(f){
|
||||||
|
h+="<div class='file-item'>"+(f.data?"<a href='"+f.data+"' download='"+esc(f.name)+"'>📄 "+esc(f.name)+"</a>":"📄 "+esc(f.name))+"<span class='sz'>"+(f.desc?esc(f.desc)+" · ":"")+(f.size?(f.size/1024).toFixed(0)+" КБ":"")+"</span></div>";
|
||||||
|
});
|
||||||
|
h+="</div>";
|
||||||
|
});
|
||||||
|
h+="</div>";
|
||||||
|
});
|
||||||
|
|
||||||
|
h+="</div>";
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("result").innerHTML=h||"<div class='empty'>Нет данных</div>";
|
||||||
|
dz.style.display="none";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user