public IHttpActionResult GetMaterTrackReps(string workflowId, Guid nodeId)
        {
            var tracks = MaterTrack.Search(m => m.WorkflowId == workflowId && m.NodeId == nodeId).ToList();
            var reps   = tracks.Where(t => t.TrackType == MaterTrackType.Rep).OrderBy(t => t.CreateTime).Select(t =>
            {
                var rep         = new MaterTrackRep();
                rep.Id          = t.Id;
                rep.Content     = t.Content;
                rep.CreateTime  = t.CreateTime;
                rep.Creator     = t.Creator;
                rep.CreatorZHCN = t.CreatorZHCN;
                rep.CreatorENUS = t.CreatorENUS;
                rep.TrackType   = (MaterTrackType)t.TrackType;
                if (tracks.Count(t2 => t2.TrackType == MaterTrackType.Rep && t2.CreateTime > t.CreateTime) > 0)
                {
                    rep.IsFinish = true;
                }
                else
                {
                    if (TaskWork.Count(t2 => t2.RefID == workflowId && t2.Status == TaskWorkStatus.UnFinish &&
                                       t2.ActivityName.Contains("Start_MaterTrack")) > 0)
                    {
                        rep.IsFinish = false;
                    }
                    else
                    {
                        rep.IsFinish = true;
                    }
                }
                rep.Replies = tracks.Where(f => f.ParentId == t.Id).OrderBy(f => f.CreateTime).Select(f =>
                {
                    var reply         = new MaterTrackReply();
                    reply.Id          = f.Id;
                    reply.Content     = f.Content;
                    reply.CreateTime  = f.CreateTime;
                    reply.Creator     = f.Creator;
                    reply.CreatorZHCN = f.CreatorZHCN;
                    reply.CreatorENUS = f.CreatorENUS;
                    reply.TrackType   = (MaterTrackType)f.TrackType;
                    return(reply);
                }).ToList();
                return(rep);
            }).ToList();

            return(Ok(new
            {
                Reps = reps,
                IsLegal = ProjectUsers.IsRole(workflowId, ClientCookie.UserCode, ProjectUserRoleCode.Legal),
                IsAssetActor = ProjectUsers.IsRole(workflowId, ClientCookie.UserCode, ProjectUserRoleCode.AssetActor)
            }));
        }