NW_COCTmp.COCRecipientName = NW_COCDP::GetSteps(NW_CertificationOfCompletionHeader.CertificationOfCompletionID,PurchParameters::find().COCRecipient);
public static str GetSteps(str 50 _CertificationOfCompletionID , str 100 _Name)
{
NW_CertificationOfCompletionHeader NW_CertificationOfCompletionHeader;
WorkflowTrackingStatusTable workflowTrackingStatusTable, _workflowTrackingStatusTable;
WorkflowTrackingTable WorkflowTrackingTable, _WorkflowTrackingTable;
str UserName;
select NW_CertificationOfCompletionHeader where NW_CertificationOfCompletionHeader.CertificationOfCompletionID == _CertificationOfCompletionID;
SELECT * FROM workflowTrackingStatusTable order by workflowtrackingstatustable.CreatedDateTime desc
where workflowTrackingStatusTable.CONTEXTRECID == NW_CertificationOfCompletionHeader.recid
&& workflowTrackingStatusTable.CONTEXTTABLEID == tableNum(NW_CertificationOfCompletionHeader)
join workflowTrackingTable
where workflowTrackingTable.WorkflowTrackingStatusTable == workflowTrackingStatusTable.RecId
&& WorkflowTrackingTable.TRACKINGTYPE == WorkflowTrackingType::Creation
&& WorkflowTrackingTable.TRACKINGCONTEXT == WorkflowTrackingContext::Step
&& WorkflowTrackingTable.Name == _Name;
SELECT * FROM _workflowTrackingStatusTable where _workflowTrackingStatusTable.CONTEXTRECID == NW_CertificationOfCompletionHeader.recid
&& _workflowTrackingStatusTable.CONTEXTTABLEID == tableNum(NW_CertificationOfCompletionHeader)
join _WorkflowTrackingTable order by _WorkflowTrackingTable.CreatedDateTime
where _WorkflowTrackingTable.WorkflowTrackingStatusTable == _workflowTrackingStatusTable.RecId
&& _WorkflowTrackingTable.CreatedDateTime >= WorkflowTrackingTable.CreatedDateTime
&& _WorkflowTrackingTable.TRACKINGTYPE == WorkflowTrackingType::Approval
&& _WorkflowTrackingTable.TRACKINGCONTEXT == WorkflowTrackingContext::WorkItem;
if(WorkflowTrackingTable)
{
UserName = _WorkflowTrackingTable.User;
}
return HcmWorker::find(HcmWorker::userId2Worker(UserName)).name() ;
//NW_CertificationOfCompletionHeader _NW_CertificationOfCompletionHeader;
//select _NW_CertificationOfCompletionHeader where _NW_CertificationOfCompletionHeader.CertificationOfCompletionID == _CertificationOfCompletionID;
//WorkflowTrackingStatusTable workflowTrackingStatusTable;
//WorkflowTrackingTable WorkflowTrackingTable;
//WorkflowApprovalName approvername;
//utcdatetime approverDate;
//WorkflowWorkItemTable WorkflowWorkItemTable;
//WorkflowElementTable WorkflowElementTable;
//select * from WorkflowWorkItemTable
//where WorkflowWorkItemTable.Status ==WorkflowWorkItemStatus::Completed
//&& WorkflowWorkItemTable.RefRecId == _NW_CertificationOfCompletionHeader.recid
//&& WorkflowWorkItemTable.RefTableId == _NW_CertificationOfCompletionHeader.TableId
// join WorkflowElementTable
// where WorkflowElementTable.ElementId == WorkflowWorkItemTable.ElementId
// && WorkflowElementTable.Name == _Name;
//join workflowTrackingStatusTable //order by workflowtrackingstatustable.ConfigurationVersionId desc
// where WorkflowWorkItemTable.CorrelationId == workflowTrackingStatusTable.CorrelationId
// // && (workflowtrackingstatustable.TrackingStatus == WorkflowTrackingStatus::Pending
// // || workflowtrackingstatustable.TrackingStatus == WorkflowTrackingStatus::Completed)
// && workflowtrackingstatustable.ContextRecId == _NW_CertificationOfCompletionHeader.recid
//&& workflowtrackingstatustable.ContextTableId == _NW_CertificationOfCompletionHeader.TableId
//join WorkflowTrackingTable //order by workflowtrackingtable.CreatedDateTime desc
// where workflowtrackingtable.TrackingContext == workflowtrackingcontext::Step
// && workflowtrackingtable.TrackingType == workflowtrackingtype::Creation
// && workflowtrackingtable.WorkflowTrackingStatusTable == workflowtrackingstatustable .recid
// && workflowtrackingtable.Name == _Name;
//if(WorkflowWorkItemTable)
//{
// // approverDate = DateTimeUtil::date(workflowtrackingtable.CreatedDateTime);
// approvername = WorkflowWorkItemTable.UserId;
//}
//return approvername;
}