Как создать и закрыть вехи одновременно
Я рассчитываю реализовать следующие вещи, используя процесс получения прав OOTB и основные этапы.
1) Когда дата создания и даты запроса совпадают, мне нужно активировать этап и завершить его без каких-либо нарушений.
2) Если дата создания больше даты запроса, то мне нужно нарушить триггер.
Проблема, с которой я столкнулся, заключается в том, что при выполнении следующего кода результатом этого запроса является ноль.
public static void completeMilestone(Set<Id> caseIds, String milestoneName, DateTime complDate){
List<CaseMilestone> cmsToUpdate = [SELECT Id,completionDate
FROM CaseMilestone
WHERE caseId in :caseIds
AND MilestoneType.Name = :milestoneName
AND completionDate = NULL LIMIT 1];
System.debug('Case Milestone :: '+cmsToUpdate.size());
if(cmsToUpdate.isEmpty() == false){
for (CaseMilestone cm : cmsToUpdate){
cm.completionDate = complDate;
}
update cmsToUpdate;
}
}
}
Когда критерии вехи совпадают, вехи запускаются. В логике триггера я проверяю
- Если
no. of days
разница с датой создания и датой запроса <= 2 дня, тогда она должна быть нарушена. - Если разница дней больше, чем 2 дня, то мне нужно нарушать, что не нужно закрывать.