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