String selectedRecordId = ******PASS THE TARGET OBJECT RECORD ID*******;
//If there are multiple approvers then it return multiple records
List<ProcessInstanceWorkitem> ProcessInstanceWorkitemRecordList = new List<ProcessInstanceWorkitem>();
for(ProcessInstanceWorkitem ProcessInstanceWorkitemRecord :[SELECT ProcessInstanceId,actorId FROM ProcessInstanceWorkitem WHERE ProcessInstance.TargetObjectId=:selectedRecordId]) {
if(!String.valueOf(ProcessInstanceWorkitemRecord.actorId).startsWith('005') && ProcessInstanceWorkitemRecordList.size()==0){
ProcessInstanceWorkitemRecord.actorId = UserInfo.getUserId();
ProcessInstanceWorkitemRecordList.add(ProcessInstanceWorkitemRecord);
} else if(ProcessInstanceWorkitemRecord.actorId == UserInfo.getUserId()){
ProcessInstanceWorkitemRecordList = new List<ProcessInstanceWorkitem>();
break;
}
}
if(ProcessInstanceWorkitemRecordList.size()>0)
UPDATE ProcessInstanceWorkitemRecordList;
Comments
Post a Comment