Esempio n. 1
0
        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)
            }));
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
 public IHttpActionResult GetOperators(string typeCode, string refID)
 {
     return(Ok(TaskWork.GetOperators(typeCode, refID)));
 }