обновление от 2025-10-09 для ветки 19SEP

This commit is contained in:
2025-10-09 16:12:32 +03:00
parent 1b0bf6f122
commit 1cef990956
11 changed files with 1419 additions and 79 deletions

91
COLLISION_DEBUG.md Normal file
View File

@@ -0,0 +1,91 @@
# Диагностика сохранения коллизии
## 🔍 Добавлено подробное логирование для отладки коллизии
### **В консоли браузера (F12):**
#### **При изменении свойств объекта:**
```
🔧 Обновлены свойства объекта: {
name: "Название объекта",
organization_id: 2,
collidable: true, ← Проверьте это значение
interior_id: 101
}
```
#### **При сохранении объекта:**
```
🔍 Проверяем коллизию: {
'obj.userData.collidable': true, ← Значение в объекте
'objectData.collidable': true, ← Значение для сервера
'objectCollidable state': true ← Значение в состоянии
}
```
### **В консоли сервера:**
#### **При получении данных:**
```
🔍 Получены данные объекта: {
id: 110,
name: "Название объекта",
collidable: true, ← Проверьте это значение
city_id: 1
}
```
#### **При обновлении объекта:**
```
🔄 Обновляем существующий объект с ID: 110
🔍 Значение collidable для UPDATE: true ← Проверьте это значение
✅ Объект обновлен: { id: 110 }
```
#### **При создании объекта:**
```
🆕 Создаем новый объект
🔍 Значение collidable для INSERT: true ← Проверьте это значение
✅ Новый объект создан: { id: 111 }
```
## 🐛 Возможные проблемы:
### **1. Коллизия не обновляется в userData**
**Симптом:** `obj.userData.collidable` остается false
**Решение:** Проверьте, что вы нажали "Применить" после изменения коллизии
### **2. Коллизия не передается на сервер**
**Симптом:** `objectData.collidable` остается false
**Решение:** Проверьте, что `obj.userData.collidable` обновляется
### **3. Коллизия не сохраняется в БД**
**Симптом:** На сервере `collidable` остается false
**Решение:** Проверьте SQL запрос и значения параметров
## 🔧 Пошаговая диагностика:
### **Шаг 1: Измените коллизию**
1. Выберите объект
2. Поставьте/снимите галочку "Коллизия"
3. Нажмите "Применить"
4. Проверьте лог: `🔧 Обновлены свойства объекта`
### **Шаг 2: Сохраните объект**
1. Нажмите "Сохранить"
2. Проверьте лог: `🔍 Проверяем коллизию`
3. Все три значения должны быть одинаковыми
### **Шаг 3: Проверьте сервер**
1. Посмотрите логи сервера
2. Проверьте: `🔍 Получены данные объекта`
3. Проверьте: `🔍 Значение collidable для UPDATE/INSERT`
### **Шаг 4: Проверьте БД**
1. Выполните SQL запрос:
```sql
SELECT id, name, collidable FROM city_objects WHERE id = [ID_ОБЪЕКТА];
```
## ✅ Ожидаемый результат:
После выполнения всех шагов коллизия должна сохраняться в БД и загружаться при перезагрузке страницы.