Database SQL Operation: HearingDecision.countIsUserSupervisor
Description: | Method to check is the user a supervisor. A user is a supervisor if the user holds a lead position or holds a position that another position reports to. |
Sterotype: | ns |
SELECT
COUNT(*)
INTO
:count
FROM
(Position INNER JOIN
PositionHolderLink
ON Position.positionID = PositionHolderLink.positionID)
LEFT
JOIN
PositionReportingLink
ON Position.positionID = PositionReportingLink.reportsToID
WHERE PositionHolderLink.userName = :userName
AND PositionHolderLink.organisationStructureID = :organisationStructureID
AND PositionHolderLink.recordStatus = :recordStatus
AND Position.recordStatus = :recordStatus
AND
(
Position.fromDate <= :currentDate
OR Position.fromDate IS NULL
)
AND
(
Position.toDate >= :currentDate
OR Position.toDate IS NULL
)
AND
(
PositionHolderLink.fromDate <= :currentDate
OR PositionHolderLink.fromDate IS NULL
)
AND
(
PositionHolderLink.toDate >= :currentDate
OR PositionHolderLink.toDate IS NULL
)
AND
(
(
PositionReportingLink.positionRepLinkID IS NOT NULL
AND PositionReportingLink.organisationStructureID = :organisationStructureID
AND PositionReportingLink.recordStatus = :recordStatus
)
OR Position.leadPositionInd = :leadPositionInd
)
|