Categorie: reference Bijgewerkt: 2026-04-08 actionfield workflow actionfield1656

ActionField1656

Beschrijving: Link an existing (to be selected) LockoutTagoutRequest to a Permit/Job Custom: Nee

Propertiesbewerken

Property Type Accessor
DomainObject DomainObject Root

XMLbewerken

<Workflow Name="ActionField1656" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Link an existing (to be selected) LockoutTagoutRequest to a Permit/Job</Description>
	<Properties>
		<Property	Name="DomainObject"					Type="DomainObject"					Accessor="Root"		Direction="In" />

		<Property	Name="AdditionalSqlWhereClause"		Type="String"						Accessor="Internal" />
		<Property	Name="LockoutTagoutRequest"			Type="LockoutTagoutRequest"			Accessor="Internal" />
		<Property	Name="LockoutTagoutRequestIds"		Type="QueryResult"					Accessor="Internal" />
		<Property	Name="ObjectLockoutTagoutRequest"	Type="ObjectLockoutTagoutRequest"	Accessor="Internal" />
		<Property	Name="SqlWhereClause"				Type="String"						Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Choose Name="type of DomainObject">
			<When Name="Permit" Condition="${DomainObject.EntityName} == Permit">
				<Validation Name="ValidatePermitHasCorrectStatus" Condition="(${DomainObject.Status} &amp; (PermitStatus.Created | PermitStatus.Requested)) &gt; 0" MessageCode="3186">
					<Parameter	Name="DomainObject"	Direction="In"		Value="${DomainObject}" />
				</Validation>
			</When>


			<When Name="Job" Condition="${DomainObject.EntityName} == Job">
				<Validation Name="ValidateJobHasCorrectStatus" Condition="(${DomainObject.Status} &amp; (JobStatus.Created | JobStatus.Approved)) &gt; 0" MessageCode="3186">
					<Parameter	Name="DomainObject"	Direction="In"		Value="${DomainObject}" />
				</Validation>
			</When>

			<Otherwise Name="not implemented">
				<Stop Name="Stop" Mode="Abort" />
			</Otherwise>
		</Choose>

		<Validation Name="ValidateLOTOApplicableIsSetOnDomainObject" Condition="${DomainObject.LockoutTagoutApplicable} == True" MessageCode="3185">
			<Parameter	Name="DomainObject"	Direction="In"		Value="${DomainObject}" />
		</Validation>

		<Transaction>
			<Query Name="Query the Ids of all LockoutTagoutRequests already linked to this DomainObject" Type="ObjectLockoutTagoutRequest" OrderBy="LockoutTagoutRequest" OrderDirection="Ascending" OutputProperty="${LockoutTagoutRequestIds}">
				<Filters>
					<WhenFilter Condition="${DomainObject.EntityName} == Permit">
						<PropertyFilter	PropertyName="Permit"		Operator="="		PropertyValue="${DomainObject}" />
					</WhenFilter>
					<WhenFilter Condition="${DomainObject.EntityName} == Job">
						<PropertyFilter	PropertyName="Job"			Operator="="		PropertyValue="${DomainObject}" />
					</WhenFilter>
				</Filters>
				<Properties>
					<Property Name="LockoutTagoutRequest.Id" Alias="id" Type="GroupProperty" />
				</Properties>
			</Query>

			<Assign Name="Build SQL WHERE clause" Property="${SqlWhereClause}" Value="(LtrRecStatus IN (1, 2, 4, 8, 16, 32))" Comment="Check on valid statuses" />

			<When Name="When LockoutTagoutRequests found" Condition="${LockoutTagoutRequestIds.Count} != 0">
				<Assign Name="Exclude LOTO requests already linked from dialog SelectDomainObject" Property="${AdditionalSqlWhereClause}" Value=" AND (LtrId NOT IN (#foreach(${LockoutTagoutRequestId} in ${LockoutTagoutRequestIds})#each'${LockoutTagoutRequestId.id}'#between,#end))" />
				<Assign Name="Add additional SQL WHERE clause" Property="${SqlWhereClause}" Value="${SqlWhereClause} ${AdditionalSqlWhereClause}" />
			</When>
		</Transaction>

		<SystemDialog Name="SelectDomainObject" DialogName="SelectDomainObject">
			<Parameter	Name="EntityName"					Direction="In"		Value="LockoutTagoutRequest" />
			<Parameter	Name="SelectionListConfiguration"	Direction="In"		Value="Default" />
			<Parameter	Name="SqlWhereClause"				Direction="In"		Value="${SqlWhereClause}" />
			<Parameter	Name="DomainObject"					Direction="Out"										OutputProperty="${LockoutTagoutRequest}" />
		</SystemDialog>

		<When Name="if user selected a LOTO request" Condition="${LockoutTagoutRequest} != Empty">
			<Transaction>
				<Insert Name="link them through this" ObjectType="ObjectLockoutTagoutRequest" OutputProperty="${ObjectLockoutTagoutRequest}">
					<Parameter	Name="LockoutTagoutRequest"	Direction="In"		Value="${LockoutTagoutRequest}" />
				</Insert>

				<Choose Name="type of DomainObject">
					<When Name="Permit" Condition="${DomainObject.EntityName} == Permit">
						<Assign Name="Link Permit to LockoutTagoutRequest" Property="${ObjectLockoutTagoutRequest.Permit}" Value="${DomainObject}" />
					</When>


					<When Name="Job" Condition="${DomainObject.EntityName} == Job">
						<Assign Name="Link Job to LockoutTagoutRequest" Property="${ObjectLockoutTagoutRequest.Job}" Value="${DomainObject}" />
					</When>
				</Choose>
			</Transaction>
		</When>

		<UserContent Name="Post" />
	</Execution>
</Workflow>