chore(sap): filter failed LDAP synchs for 3 months
This commit is contained in:
parent
3406db1dfd
commit
0b545e4d0a
@ -70,8 +70,12 @@ sapRes2csv l = [ res | (Ex.Value (Just persNo), Ex.Value firstHeld, Ex.Value val
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
-- | Deliver all employess with a successful LDAP synch within the last 3 months
|
||||||
getQualificationSAPDirectR :: Handler TypedContent
|
getQualificationSAPDirectR :: Handler TypedContent
|
||||||
getQualificationSAPDirectR = do
|
getQualificationSAPDirectR = do
|
||||||
|
now <- liftIO getCurrentTime
|
||||||
|
fdate <- formatTime' "%Y%m%d_%H-%M" now
|
||||||
|
let ldap_cutoff = addDiffDaysRollOver (fromMonths $ -3) now
|
||||||
qualUsers <- runDB $ Ex.select $ do
|
qualUsers <- runDB $ Ex.select $ do
|
||||||
(qual :& qualUser :& user) <-
|
(qual :& qualUser :& user) <-
|
||||||
Ex.from $ Ex.table @Qualification
|
Ex.from $ Ex.table @Qualification
|
||||||
@ -81,6 +85,8 @@ getQualificationSAPDirectR = do
|
|||||||
`Ex.on` (\(_ :& qualUser :& user) -> qualUser Ex.^. QualificationUserUser Ex.==. user Ex.^. UserId)
|
`Ex.on` (\(_ :& qualUser :& user) -> qualUser Ex.^. QualificationUserUser Ex.==. user Ex.^. UserId)
|
||||||
Ex.where_ $ E.isJust (qual Ex.^. QualificationSapId)
|
Ex.where_ $ E.isJust (qual Ex.^. QualificationSapId)
|
||||||
Ex.&&. E.isJust (user Ex.^. UserCompanyPersonalNumber)
|
Ex.&&. E.isJust (user Ex.^. UserCompanyPersonalNumber)
|
||||||
|
Ex.&&. E.isJust (user Ex.^. UserLastLdapSynchronisation)
|
||||||
|
Ex.&&. (E.justVal ldap_cutoff Ex.<=. user Ex.^. UserLastLdapSynchronisation)
|
||||||
return
|
return
|
||||||
( user Ex.^. UserCompanyPersonalNumber
|
( user Ex.^. UserCompanyPersonalNumber
|
||||||
, qualUser Ex.^. QualificationUserFirstHeld
|
, qualUser Ex.^. QualificationUserFirstHeld
|
||||||
@ -88,8 +94,6 @@ getQualificationSAPDirectR = do
|
|||||||
-- , qualUser Ex.^. QualificationUserBlockedDue
|
-- , qualUser Ex.^. QualificationUserBlockedDue
|
||||||
, qual Ex.^. QualificationSapId
|
, qual Ex.^. QualificationSapId
|
||||||
)
|
)
|
||||||
now <- liftIO getCurrentTime
|
|
||||||
fdate <- formatTime' "%Y%m%d_%H-%M" now
|
|
||||||
let csvRendered = toCsvRendered sapUserTableCsvHeader $ sapRes2csv qualUsers
|
let csvRendered = toCsvRendered sapUserTableCsvHeader $ sapRes2csv qualUsers
|
||||||
fmtOpts = def { csvIncludeHeader = True
|
fmtOpts = def { csvIncludeHeader = True
|
||||||
, csvDelimiter = ','
|
, csvDelimiter = ','
|
||||||
|
|||||||
Reference in New Issue
Block a user