public IHttpActionResult QueryCheckPoints(string projectId, string flowCode) { var list = nodeInfo.QueryCheckPoints(projectId, flowCode); var project = ProjectInfo.Get(projectId, flowCode.Split('_')[0]); return(Ok(new { Nodes = list, Info = project, Progress = ProjectProgress.GetProgress(projectId), Operators = TaskWork.GetOperators(flowCode, projectId), IsFinished = ProjectInfo.IsFlowFinished(projectId, flowCode) })); }
public IHttpActionResult GetTaskWorks(int pageIndex, int pageSize, string userCode) { try { var queryString = HttpContext.Current.Request.QueryString; IQueryable <TaskWork> result = TaskWork.GetUseableTaskWork(); if (queryString["Status"] != null) { var status = (TaskWorkStatus)int.Parse(queryString["Status"]); if (status == TaskWorkStatus.Finished) { result = result.Where(c => (c.Status == status || c.Status == TaskWorkStatus.K2ProcessApproved || c.Status == TaskWorkStatus.K2ProcessDeclined) && c.ReceiverAccount == userCode); } else { result = result.Where(c => (c.Status == status) && c.ReceiverAccount == userCode); result = ClosureTool.FilterTaskWork(result); } } var skipSize = pageSize * (pageIndex - 1); string title = queryString["Title"]; if (!string.IsNullOrEmpty(title)) { result = result.Where(c => c.Title.Contains(title)); } string sourceCode = queryString["SourceCode"]; if (!string.IsNullOrEmpty(sourceCode)) { result = result.Where(c => c.SourceCode == sourceCode); } var storeCode = queryString["StoreCode"]; if (!string.IsNullOrEmpty(storeCode)) { result = result.Where(e => e.StoreCode == storeCode); } var storeName = queryString["StoreName"]; if (!string.IsNullOrEmpty(storeName)) { var storeList = StoreBasicInfo.Search(e => e.NameENUS.Contains(storeName) || e.NameZHCN.Contains(storeName)) .Select(e => e.StoreCode).ToList(); if (storeList.Any()) { result = result.Where(e => storeList.Contains(e.StoreCode)); } } int totalItems = result.Count(); var list = new List <TaskWork>(); if (queryString["Status"] != null && queryString["Status"] == "2") { list = result.OrderByDescending(c => c.FinishTime).Skip(skipSize) .Take(pageSize).ToList(); } else { list = result.OrderByDescending(c => c.CreateTime).Skip(skipSize) .Take(pageSize).ToList(); } foreach (var taskWork in list) { var operators = TaskWork.GetOperators(taskWork.TypeCode, taskWork.RefID); var taskWorkOperator = operators.FirstOrDefault(e => e.Code == ClientCookie.UserCode); taskWork.OperateMsg = taskWorkOperator != null ? taskWorkOperator.OperateMsgZHCN : string.Empty; if (taskWork.ProcInstID.HasValue && !string.IsNullOrEmpty(taskWork.RefID) && taskWork.Url.ToLower().IndexOf(taskWork.RefID.ToLower()) < 0) { taskWork.Url = string.Format("{0}&projectId={1}", taskWork.Url, taskWork.RefID); } } return(Ok(new PagedDataSource(totalItems, list.ToArray()))); } catch (Exception ex) { Log4netHelper.WriteError(JsonConvert.SerializeObject(ex)); throw ex; } }
public IHttpActionResult GetOperators(string typeCode, string refID) { return(Ok(TaskWork.GetOperators(typeCode, refID))); }