feat: extract floor/building/room/trailer from asset names
Adds scripts/extract_asset_location_data.py which: - Extracts floor, building_number, room, trailer_number, building_name from names - Detects and removes duplicated name segments - Updates both assets (1848) and locations (364) tables - Dry-run mode by default, --apply to write changes
This commit is contained in:
+9
-6
@@ -925,7 +925,7 @@
|
||||
<div class="card-title">Create New Asset</div>
|
||||
<input id="newMachineId" type="text" class="input-field" placeholder="Machine ID" readonly>
|
||||
<input id="newName" type="text" class="input-field" placeholder="Asset name *" required>
|
||||
<textarea id="newDesc" class="input-field" placeholder="Description (optional)" rows="2"></textarea>
|
||||
<textarea id="newDesc" class="input-field" placeholder="Telemetry ID (optional)" rows="2"></textarea>
|
||||
<div class="form-row" style="margin-bottom:8px;">
|
||||
<select id="newCatSelect" class="input-field">
|
||||
<option value="">Category</option>
|
||||
@@ -1003,7 +1003,7 @@
|
||||
<input id="manMachineId" type="text" class="input-field" placeholder="Machine ID *" required>
|
||||
<input id="manSerialNumber" type="text" class="input-field" placeholder="Serial Number">
|
||||
<input id="manName" type="text" class="input-field" placeholder="Asset Name *" required>
|
||||
<textarea id="manDescription" class="input-field" placeholder="Description" rows="2"></textarea>
|
||||
<textarea id="manDescription" class="input-field" placeholder="Telemetry ID" rows="2"></textarea>
|
||||
|
||||
<div class="form-row" style="margin-bottom:8px;">
|
||||
<select id="manCatSelect" class="input-field">
|
||||
@@ -1129,7 +1129,7 @@
|
||||
<!-- ── List View ────────────────────────────────────────────────────── -->
|
||||
<div id="assetsListView">
|
||||
<div class="search-bar">
|
||||
<input id="assetSearch" type="text" class="input-field" placeholder="Search name, machine ID, serial, description..." oninput="loadAssets()">
|
||||
<input id="assetSearch" type="text" class="input-field" placeholder="Search name, machine ID, serial, telemetry ID..." oninput="loadAssets()">
|
||||
<button class="clear-btn" id="clearSearch" onclick="clearAssetSearch()">✕</button>
|
||||
</div>
|
||||
<div style="display:flex;gap:6px;align-items:flex-start;margin-bottom:8px;">
|
||||
@@ -1287,7 +1287,7 @@
|
||||
<div class="card" id="editFormCard">
|
||||
<input id="editBarcode" type="text" class="input-field" placeholder="Machine ID *">
|
||||
<input id="editName" type="text" class="input-field" placeholder="Asset name *">
|
||||
<textarea id="editDesc" class="input-field" placeholder="Description" rows="2"></textarea>
|
||||
<textarea id="editDesc" class="input-field" placeholder="Telemetry ID" rows="2"></textarea>
|
||||
<div class="form-row" style="margin-bottom:8px;">
|
||||
<select id="editCategory" class="input-field">
|
||||
<option value="">Category</option>
|
||||
@@ -3172,6 +3172,9 @@
|
||||
'Food': { icon: '🍔', color: '#d35400' },
|
||||
'Equipment': { icon: '🔧', color: '#2c3e50' },
|
||||
'Furniture': { icon: '🪑', color: '#8e44ad' },
|
||||
'Appliances': { icon: '🔌', color: '#3b82f6' },
|
||||
'Unknown': { icon: '❓', color: '#6b7280' },
|
||||
'GF Bev': { icon: '🥤', color: '#0a7ab5' },
|
||||
};
|
||||
|
||||
const PARK_ICONS = {'magic-kingdom':'🏰','epcot':'🌍','hollywood-studios':'🎬','animal-kingdom':'🌿','disney-springs':'🛍️','resort':'🏨','office':'🏢','other':'📍'};
|
||||
@@ -3809,7 +3812,7 @@
|
||||
df('Machine ID', a.machine_id, true),
|
||||
df('Name', a.name),
|
||||
df('Serial Number', a.serial_number, true),
|
||||
df('Description', a.description),
|
||||
df('Telemetry ID', a.description),
|
||||
df('Category', catLabel(a.category)),
|
||||
df('Make', a.make),
|
||||
df('Model', a.model),
|
||||
@@ -4194,7 +4197,7 @@
|
||||
<input id="editMachineId" type="text" class="input-field" placeholder="Machine ID *" value="${esc(a.machine_id)}">
|
||||
<input id="editName" type="text" class="input-field" placeholder="Asset name *" value="${esc(a.name)}">
|
||||
<input id="editSerialNumber" type="text" class="input-field" placeholder="Serial number" value="${esc(a.serial_number || '')}">
|
||||
<textarea id="editDesc" class="input-field" placeholder="Description" rows="2">${esc(a.description || '')}</textarea>
|
||||
<textarea id="editDesc" class="input-field" placeholder="Telemetry ID" rows="2">${esc(a.description || '')}</textarea>
|
||||
<div class="form-row">
|
||||
<input id="editCategory" type="text" class="input-field" placeholder="Category" value="${esc(a.category || '')}" list="catList">
|
||||
<input id="editMake" type="text" class="input-field" placeholder="Make" value="${esc(a.make || '')}">
|
||||
|
||||
Reference in New Issue
Block a user