fix: single-photo analyze now looks up 5+ digit matches in canteen DB instead of showing warning

When OCR finds 5+ digits (match_5plus) but no 5-6 pattern, the frontend
now extracts the first 5 digits as the candidate machine ID, shows it,
and calls lookupAsset() to check the canteen DB — same behavior as the
5dash6 path. Eliminates the confusing '(no 5-6 pattern)' message.
This commit is contained in:
2026-05-25 20:14:49 -04:00
parent 3c3c06bd56
commit 5cda952072
4 changed files with 50 additions and 1 deletions
Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDDzCCAfegAwIBAgIUTMk1vbgkzEdrEigpPEoDj6CJ/hwwDQYJKoZIhvcNAQEL
BQAwFzEVMBMGA1UEAwwMRXhpZlRlc3RQcm9kMB4XDTI2MDUyNTIzNTQ1OVoXDTM2
MDUyMjIzNTQ1OVowFzEVMBMGA1UEAwwMRXhpZlRlc3RQcm9kMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxozQ9T3ulrf73pUEQIjT+5OHiTNBuFhYqbKR
e1ozACZ1aN23kXcwU2FUG/I2K632pTjAKU48A5CspIYKkvzFSXmf1R1GxIJIqEz2
DokrGeHSzSPWGOumLlLw1xB2iU72uIe3wrKkiCz0yY6mk49Ma5R786yIiCOh2k/e
GyrJorKcCL5SWJwKBfK1BcjZetegOoPTD9Vg26WWMQ3QbQSSkVFMd3vhcnlIm99i
LrV6fdRohFzkY7Yy+DMNyS1kBwSx6y+8cO8ypihTW7N7hWnPojuch6ukeSRg84vt
HVrAZc7JmRZlHeNeSGVdlRf9l6rpDzCTNaRuQW5zkPEnmQ9vLQIDAQABo1MwUTAd
BgNVHQ4EFgQUZfi+GNP/rC5S84sSxCqCcH2rVScwHwYDVR0jBBgwFoAUZfi+GNP/
rC5S84sSxCqCcH2rVScwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
AQEAVtE2bewddjCuTx2sB3CgS4FzuPbd+hQN/lXDuiKoDNTFLNZ73RmSt72Sl/N5
0M/y/lsHfhJfM6fNrh+b5w9eHefR8GSt4TYnFcbXXUVP9XQRCrng6+tHcDh0HaYJ
O1UjyqWhysyDWFh/lIMyPQRxrpYP17XYWQ2eaxgHrs3JkFS4eIO1dcw1T7FpJPlU
g6f6jUpL+MVnwfa1QRFxZxrd3b7Q5KMXWZ1oZimHzZeA4VHKO8noYYPYBMRITW2v
WfrxfAmwR7/9LObLpPfKzPsVIyklCLdWwQe4HRhmZLYbI41XpPVl6feSmjpdwEv8
THlUH+p4QdXME2w5r0KFhPlTag==
-----END CERTIFICATE-----
+28
View File
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDGjND1Pe6Wt/ve
lQRAiNP7k4eJM0G4WFipspF7WjMAJnVo3beRdzBTYVQb8jYrrfalOMApTjwDkKyk
hgqS/MVJeZ/VHUbEgkioTPYOiSsZ4dLNI9YY66YuUvDXEHaJTva4h7fCsqSILPTJ
jqaTj0xrlHvzrIiII6HaT94bKsmispwIvlJYnAoF8rUFyNl616A6g9MP1WDbpZYx
DdBtBJKRUUx3e+FyeUib32IutXp91GiEXORjtjL4Mw3JLWQHBLHrL7xw7zKmKFNb
s3uFac+iO5yHq6R5JGDzi+0dWsBlzsmZFmUd415IZV2VF/2XqukPMJM1pG5BbnOQ
8SeZD28tAgMBAAECggEAEeCqC/r4ma+VSTRnvpvTYoqlIJBx8XRa/2Spvs6fWvsb
hUa5eaqeulNALIgBoqs2Uygp/U4jDzseoG3FU/jYlsYRwzGwpo8IlcbgPOzS6bCw
t3HrnDDTtMYZE3RTCAgJJRJrVGebcvuBSwjCLPUxL1qeUpGNdZynvS2F1TJkF3cO
9TLYlbLiNO3imf0414oI3USd6P4FxSBdpJ2ry9MyHtFbZx6apdAo/+UHAUDj4VRO
r2QbmtRc4Ax7xnowORX5WKTjy9tABYgvsqglZkBrAf7KXighHbSXAqwbpObkzjti
FxLBFR84NQrGY+wY53Wggxi8UZiJHxu78fNxRQ0HLQKBgQDuneUD8FvtxWk8/uLI
vQxWWZ8KymFKJNflvO31j/ybo6cpmUnNbBnfAucWm2bbGPepPPR5axtdjXbHJsau
Kat/pwzkAM9uqHt0IUrmEKxi4t588ZlRkguEqBEC5eHchqPTKOV0a0oNkUvNOq62
pTGreCZHm6CQ2yicN7NTk9nA3wKBgQDVA7Ge5sbcRWRPeEPHZFhDnkfcM2jGtdfZ
zEOVj2B3mafIstAWWXVfRSdem686x89BLd1VdMRR8z6awTRQHu8mnOLsiPrwbI1H
kd/W/Vv5+6F6eYw3ff5/DfVpzdse6OuycCeQFxpdJ5dlzt892yd3Qd6icF/N+IV7
IZCiwoSVcwKBgQCkwLxZheHTQBSzmsF3HKCiFmsrhiS6jsnKxDIA9RPTWqGWpVJB
1bvfMR/hihbwfEKzxXR/SSax53T1eJ6Brh/NmcfavXx7yTTEMCCIzUZZWI+J8T6N
BauSQoDMYXEbVJNUvs3/Hf0ZdRLDdxse3Nx4qhK0Ko4otklJ42Ob91/IPQKBgCVM
D0amW71nvQeZJCz+aeH1DdoFelwIrPGqrU67mwV19wXSIVM4eK+kuR78nXLqV2Sv
NijnWBSNRbHtEE7TC8a0A5us5FtCdn5IkWvgUsFziLOcIqv4uJ3ggM70x2AjIlnM
/3BgSzJyYzTlQvteqwtbkjLZAD1dPWnw15VX/8T3AoGAWKnlJD7VmvekDIR/lLuw
sP2Lqs3Lxy+w/wMwMrxiXB/CTMga6cECSw0M4vsTe+qadpWUDC7AQcJRFB7UvO5l
3IoqgjudrF8YLx72pO1f2ieAYiC4jPzVsLUdjQFbwy+eWBytyyqkVGN8cb8k1lFX
ruEXeUh/ss56qjjsY6PkAhg=
-----END PRIVATE KEY-----
+3 -1
View File
@@ -818,7 +818,9 @@ async function uploadSelected() {
html += '<div style="margin-top:4px;color:var(--green);">✅ Matched: <strong>' + esc(ocr.match_5dash6) + '</strong> → machine ID: ' + mid + '</div>';
lookupAsset(mid);
} else if (ocr.match_5plus) {
html += '<div style="margin-top:4px;color:var(--amber);">⚠️ Digits: <strong>' + esc(ocr.match_5plus) + '</strong> (no 5-6 pattern)</div>';
const mid = ocr.match_5plus.replace(/[^0-9]/g,'').slice(0, 5);
html += '<div style="margin-top:4px;color:var(--amber);">🔍 Digits: <strong>' + esc(ocr.match_5plus) + '</strong> → trying ID <strong>' + mid + '</strong></div>';
lookupAsset(mid);
} else {
html += '<div style="margin-top:4px;color:var(--text3);">No machine ID found in image</div>';
}