added the ability to add existing serv cats to reactor modes

This commit is contained in:
Infineon\StieberD
2024-11-13 16:53:40 -07:00
parent 18f97077e1
commit f7d3ab6756
7 changed files with 4536 additions and 999 deletions

View File

@ -1,14 +1,39 @@
Compile function REACTOR_MODES_Services(@Service, @Params)
/***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from SRP Computer Solutions, Inc.
Name : Reactor_Modes_Services
Description : Handler program for all module related services.
Notes : The generic parameters should contain all the necessary information to process the services. Often
this will be information like the data Record and Key ID.
Parameters :
Service [in] -- Name of the service being requested
Param1-10 [in/out] -- Additional request parameter holders
Response [out] -- Response to be sent back to the Controller (MCP) or requesting procedure
Metadata :
History : (Date, Initials, Notes)
11/13/2024 djs Added AddExistingServiceCategory
***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler
$Insert LOGICAL
$Insert SERVICE_SETUP
$Insert REACTOR_MODES_EQUATES
$Insert REACT_PROB_CAT_EQUATES
$Insert REACTOR_EQUATES
$Insert RLIST_EQUATES
Declare function Database_Services, React_Prob_Cat_Services, Reactor_Modes_Services, Memberof, Error_Services
Declare subroutine Error_Services, Database_Services, delete, RList, Reactor_Services
#pragma precomp SRP_PreCompiler
$insert LOGICAL
$insert REACTOR_MODES_EQUATES
$Insert REACTOR_EQUATES
$insert rlist_equates
GoToService
Return Response or ""
@ -18,6 +43,7 @@ Return Response or ""
//-----------------------------------------------------------------------------
Service AddNotificationGroup(ReactorModesKey, Class)
If ReactorModesKey NE '' AND Class NE '' then
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey)
Locate Class in ReactorModesRec<REACTOR_MODES_NOTIFY_CLASS$> using @VM setting dummy then
@ -33,9 +59,12 @@ Service AddNotificationGroup(ReactorModesKey, Class)
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey or Class ID.')
Return
end
end service
Service DeleteNotificationGroup(ReactorModesKey, Class)
If ReactorModesKey NE '' AND Class NE '' then
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey,1,0,1)
@ -46,9 +75,12 @@ Service DeleteNotificationGroup(ReactorModesKey, Class)
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey or Class ID.')
end
end
end service
Service AddEnterPermission(ReactorModesKey, Group)
If ReactorModesKey NE '' AND Group NE '' then
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey)
Locate Group in ReactorModesRec<REACTOR_MODES_GROUPS_ENTER$> using @VM setting dummy then
@ -64,9 +96,12 @@ Service AddEnterPermission(ReactorModesKey, Group)
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey or Group ID.')
Return
end
end service
Service AddReleasePermission(ReactorModesKey, Group)
If ReactorModesKey NE '' AND Group NE '' then
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey)
Locate Group in ReactorModesRec<REACTOR_MODES_GROUPS_RELEASE$> using @VM setting dummy then
@ -82,9 +117,12 @@ Service AddReleasePermission(ReactorModesKey, Group)
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey or Group ID.')
Return
end
end service
Service AddServiceCategory(ReactorModesKey, NewServiceName, NewServiceCategory)
If ReactorModesKey EQ '' then
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey.')
Return
@ -97,35 +135,69 @@ Service AddServiceCategory(ReactorModesKey, NewServiceName, NewServiceCategory)
Database_Services('WriteDataRow','REACTOR_MODES',ReactorModesKey,ReactorModesRec,1,0,1)
End Service
Service AddExistingServiceCategory(ReactorModesKey, ServCatId)
If ReactorModesKey NE '' then
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey)
If Error_Services('NoError') then
If RowExists('REACT_PROB_CAT', ServCatId) then
ServName = Xlate('REACT_PROB_CAT', ServCatId, REACT_PROB_CAT_REACTOR_PROBLEM_CATEGORY$, 'X')
CurrCats = ReactorModesRec<REACTOR_MODES_SERVICE_CATEGORY_ID$>
Locate ServCatId in CurrCats using @VM setting vPos else
ReactorModesRec<REACTOR_MODES_SERVICE_CATEGORIES$, -1> = ServName
ReactorModesRec<REACTOR_MODES_SERVICE_CATEGORY_ID$, -1> = ServCatId
Database_Services('WriteDataRow', 'REACTOR_MODES', ReactorModesKey, ReactorModesRec, True$, False$, True$)
end
end else
Error_Services('Add', 'Error in ':Service:' service. REACT_PROB_CAT ':ServCatId:' does not exist!')
end
end
end else
Error_Services('Add', 'Error in REACTOR_MODES_SERVICES: Null parameter ReactorModesKey.')
end
End Service
Service DeleteServiceCategory(ReactorModesKey, CatId)
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey,1,0,1)
Locate CatId in ReactorModesRec<REACTOR_MODES_SERVICE_CATEGORY_ID$> using @VM setting catPos then
ReactorModesRec = Delete(ReactorModesRec,REACTOR_MODES_SERVICE_CATEGORY_ID$,catPos,0)
ReactorModesRec = Delete(ReactorModesRec,REACTOR_MODES_SERVICE_CATEGORIES$,catPos,0)
end
Database_Services('WriteDataRow', 'REACTOR_MODES',ReactorModesKey,ReactorModesRec)
end service
Service DeleteEnterPermission(ReactorModesKey, Group)
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey,1,0,1)
Locate Group in ReactorModesRec<REACTOR_MODES_GROUPS_ENTER$> using @VM setting groupPos then
ReactorModesRec = Delete(ReactorModesRec,REACTOR_MODES_GROUPS_ENTER$,groupPos,0)
end
Database_Services('WriteDataRow', 'REACTOR_MODES',ReactorModesKey,ReactorModesRec)
end service
Service DeleteReleasePermission(ReactorModesKey, Group)
ReactorModesRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModesKey,1,0,1)
Locate Group in ReactorModesRec<REACTOR_MODES_GROUPS_RELEASE$> using @VM setting groupPos then
ReactorModesRec = Delete(ReactorModesRec,REACTOR_MODES_GROUPS_RELEASE$,groupPos,0)
end
Database_Services('WriteDataRow', 'REACTOR_MODES',ReactorModesKey,ReactorModesRec)
end service
Service GetAllModes()
Statement = 'SELECT REACTOR_MODES BY DESCRIPTION'
rlist( Statement, target_activelist$, '', '', '' )
ModeList = ''
@ -140,9 +212,12 @@ Service GetAllModes()
Repeat
end
Response = ModeList
end service
Service AvailableModes(ReactorModesKey, CurrUser, ReactNo)
CurrMode = ReactorModesKey
AllowedModes = ''
CurModeReleaseGroups = XLATE('REACTOR_MODES', ReactorModesKey, REACTOR_MODES_GROUPS_RELEASE$, 'X')
@ -223,9 +298,6 @@ Service AvailableModes(ReactorModesKey, CurrUser, ReactNo)
Next PossibleMode
end
Response = AllowedModes
end service