Get beacon info from BeaconHardware table

Looks up actual ShardUUID, Major, Minor from BeaconHardware
instead of deriving from Business/ServicePoint tables.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-02-16 20:06:38 -08:00
parent dd7a4dda4a
commit 957f494ba8

View file

@ -133,21 +133,20 @@
"TableMembers": []
}>
<!--- Get beacon sharding info for the business (for auto-completion on Works app) --->
<!--- Sharding: UUID from BeaconShards, Major from Businesses.BeaconMajor, Minor = ServicePointID --->
<!--- Get beacon sharding info from BeaconHardware (for auto-completion on Works app) --->
<!--- BeaconHardware stores: ShardUUID, Major, Minor for each registered beacon --->
<cfif val(qTask.ServicePointID) GT 0>
<cfset qShard = queryExecute("
SELECT bs.UUID AS ShardUUID, b.BeaconMajor
FROM Businesses b
INNER JOIN BeaconShards bs ON bs.ID = b.BeaconShardID
WHERE b.ID = ?
AND bs.IsActive = 1
<cfset qBeacon = queryExecute("
SELECT bh.ShardUUID, bh.Major, bh.Minor
FROM BeaconHardware bh
WHERE bh.ServicePointID = ?
AND bh.Status IN ('assigned', 'verified')
LIMIT 1
", [ { value = qTask.BusinessID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<cfif qShard.recordCount GT 0>
<cfset result.BeaconUUID = qShard.ShardUUID>
<cfset result.BeaconMajor = val(qShard.BeaconMajor)>
<cfset result.BeaconMinor = val(qTask.ServicePointID)>
", [ { value = qTask.ServicePointID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<cfif qBeacon.recordCount GT 0>
<cfset result.BeaconUUID = qBeacon.ShardUUID>
<cfset result.BeaconMajor = val(qBeacon.Major)>
<cfset result.BeaconMinor = val(qBeacon.Minor)>
</cfif>
</cfif>