Add BeaconMinor support to servicepoints API

Allow setting/reading BeaconMinor on service points for beacon sharding
table assignment. Also fixes bug where save.cfm referenced qOut.ServicePointID
instead of qOut.ID.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Pinkyfloyd 2026-02-09 11:25:22 -08:00
parent 48bdbb362e
commit 0509e123e7
2 changed files with 16 additions and 6 deletions

View file

@ -58,7 +58,8 @@ if (structKeyExists(data, "onlyActive")) {
Code,
Description,
SortOrder,
IsActive
IsActive,
BeaconMinor
FROM ServicePoints
WHERE BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#bizId#">
<cfif onlyActive>
@ -76,7 +77,8 @@ if (structKeyExists(data, "onlyActive")) {
"Code" = q.Code,
"Description" = q.Description,
"SortOrder" = q.SortOrder,
"IsActive" = q.IsActive
"IsActive" = q.IsActive,
"BeaconMinor" = val(q.BeaconMinor)
})>
</cfloop>

View file

@ -47,6 +47,7 @@ spName = normStr(data.Name);
spCode = structKeyExists(data, "Code") ? normStr(data.Code) : "";
spTypeID = structKeyExists(data, "TypeID") && isNumeric(data.TypeID) ? int(data.TypeID) : 1;
sortOrder = structKeyExists(data, "SortOrder") && isNumeric(data.SortOrder) ? int(data.SortOrder) : 0;
beaconMinor = structKeyExists(data, "BeaconMinor") && isNumeric(data.BeaconMinor) ? int(data.BeaconMinor) : -1;
isActive = 1;
if (structKeyExists(data, "IsActive")) {
@ -65,7 +66,10 @@ if (structKeyExists(data, "IsActive")) {
Code = <cfqueryparam cfsqltype="cf_sql_varchar" value="#spCode#" null="#(len(spCode) EQ 0)#">,
TypeID = <cfqueryparam cfsqltype="cf_sql_integer" value="#spTypeID#">,
IsActive = <cfqueryparam cfsqltype="cf_sql_tinyint" value="#isActive#">,
SortOrder = <cfqueryparam cfsqltype="cf_sql_integer" value="#sortOrder#">
SortOrder = <cfqueryparam cfsqltype="cf_sql_integer" value="#sortOrder#">
<cfif beaconMinor GTE 0>
, BeaconMinor = <cfqueryparam cfsqltype="cf_sql_smallint" value="#beaconMinor#">
</cfif>
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#servicePointId#">
AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
</cfquery>
@ -94,6 +98,7 @@ if (structKeyExists(data, "IsActive")) {
TypeID,
IsActive,
SortOrder
<cfif beaconMinor GTE 0>, BeaconMinor</cfif>
) VALUES (
<cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#spName#">,
@ -101,6 +106,7 @@ if (structKeyExists(data, "IsActive")) {
<cfqueryparam cfsqltype="cf_sql_integer" value="#spTypeID#">,
<cfqueryparam cfsqltype="cf_sql_tinyint" value="#isActive#">,
<cfqueryparam cfsqltype="cf_sql_integer" value="#sortOrder#">
<cfif beaconMinor GTE 0>, <cfqueryparam cfsqltype="cf_sql_smallint" value="#beaconMinor#"></cfif>
)
</cfquery>
@ -119,7 +125,8 @@ if (structKeyExists(data, "IsActive")) {
Code,
TypeID,
IsActive,
SortOrder
SortOrder,
BeaconMinor
FROM ServicePoints
WHERE ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#servicePointId#">
AND BusinessID = <cfqueryparam cfsqltype="cf_sql_integer" value="#request.BusinessID#">
@ -127,13 +134,14 @@ if (structKeyExists(data, "IsActive")) {
</cfquery>
<cfset servicePoint = {
"ServicePointID" = qOut.ServicePointID,
"ServicePointID" = qOut.ID,
"BusinessID" = qOut.BusinessID,
"Name" = qOut.Name,
"Code" = qOut.Code,
"TypeID"= qOut.TypeID,
"IsActive" = qOut.IsActive,
"SortOrder" = qOut.SortOrder
"SortOrder" = qOut.SortOrder,
"BeaconMinor" = val(qOut.BeaconMinor)
}>
<cfoutput>#serializeJSON({ OK=true, ERROR="", SERVICEPOINT=servicePoint })#</cfoutput>