Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ClassMethod Add(dateTime As %TimeStamp, value As %String, device As MGMA.Data.Device) As %Status
- {
- if 'device.Activities.IsEmpty()
- {
- set lstActivity = ##class(MGMA.BL.Device).GetCurrentActivity(device.%Id())
- if lstActivity.Value = value
- {
- set prevEndDateTime = $ZDateTimeH(lstActivity.EndDateTime, 3)
- set curDateTime = $ZDateTimeH(dateTime, 3)
- if $Piece(curDateTime, ",", 1) - $Piece(prevEndDateTime, ",", 1) = 0
- {
- // Вот здесь разница между curDateTime и prevEndDateTime может быть меньше не только 120, но и меньше нуля!
- if $Piece(curDateTime, ",", 2) - $Piece(prevEndDateTime, ",", 2) < 120
- {
- set lstActivity.EndDateTime = dateTime
- return lstActivity.%Save()
- }
- }
- }
- }
- set newActivity = ##class(MGMA.Data.Activity).%New()
- set newActivity.Value = value
- set newActivity.Device = device
- set newActivity.StartDateTime = dateTime
- set newActivity.EndDateTime = dateTime
- set date = ..DateCalculate(dateTime)
- set newActivity.StartDate2 = $ZDateH(date,3)
- set newActivity.EndDate2 = $ZDateH(date,3)
- return newActivity.%Save()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement