public JsonResult GetMyWorkItem(PagerInfo pagerInfo, string FunctionCode, int State, string WorkflowCode, DateTime?StartTime, DateTime?EndTime) { return(this.ExecuteFunctionRun(() => { WorkItem.WorkItemState workitemState = GetWorkItemState(State); total_Workitem total_workitem = this.GetWorkItemTable(pagerInfo, workitemState, WorkflowCode, StartTime, EndTime); DataTable dtWorkitem = total_workitem.dt; int total = total_workitem.total; string[] columns = new string[] { WorkItem.WorkItem.PropertyName_OrgUnit }; List <WorkItemViewModel> griddata = this.Getgriddata(dtWorkitem, columns); GridViewModel <WorkItemViewModel> result = new GridViewModel <WorkItemViewModel>(total, griddata, pagerInfo.sEcho); return Json(result, JsonRequestBehavior.AllowGet); })); }
private total_Workitem GetWorkItemTable(PagerInfo pagerInfo, WorkItem.WorkItemState State, string WorkflowCode, DateTime?StartTime, DateTime?EndTime) { total_Workitem total_workitem = new total_Workitem(); if (State == WorkItem.WorkItemState.Unspecified) { string[] conditions = Engine.PortalQuery.GetWorkItemConditions(this.UserValidator.UserID, StartTime == null ? DateTime.MinValue : StartTime.Value, EndTime == null ? DateTime.MaxValue : EndTime.Value, State, string.Empty, OThinker.Data.BoolMatchValue.Unspecified, WorkflowCode, true, WorkItem.WorkItem.TableName); string OrderBy = "ORDER BY " + WorkItem.WorkItem.TableName + "." + WorkItem.WorkItem.PropertyName_Priority + " DESC," + WorkItem.WorkItem.TableName + "." + WorkItem.WorkItem.PropertyName_ReceiveTime + " DESC"; DataTable dtWorkitem = Engine.PortalQuery.QueryWorkItem(conditions, pagerInfo.StartIndex, pagerInfo.EndIndex, OrderBy, WorkItem.WorkItem.TableName); int total = Engine.PortalQuery.CountWorkItem(conditions, WorkItem.WorkItem.TableName); // 记录总数 string[] conditions1 = Engine.PortalQuery.GetWorkItemConditions(this.UserValidator.UserID, StartTime == null ? DateTime.MinValue : StartTime.Value, EndTime == null ? DateTime.MaxValue : EndTime.Value, State, string.Empty, OThinker.Data.BoolMatchValue.Unspecified, WorkflowCode, true, WorkItem.WorkItemFinished.TableName); string OrderBy1 = "ORDER BY " + WorkItem.WorkItemFinished.TableName + "." + WorkItem.WorkItemFinished.PropertyName_Priority + " DESC," + WorkItem.WorkItemFinished.TableName + "." + WorkItem.WorkItemFinished.PropertyName_ReceiveTime + " DESC"; DataTable dtWorkitem1 = Engine.PortalQuery.QueryWorkItem(conditions1, pagerInfo.StartIndex, pagerInfo.EndIndex, OrderBy1, WorkItem.WorkItemFinished.TableName); total = total + Engine.PortalQuery.CountWorkItem(conditions1, WorkItem.WorkItemFinished.TableName); // 记录总数 if (dtWorkitem != null) { dtWorkitem.Merge(dtWorkitem1); } else { dtWorkitem = dtWorkitem1; } total_workitem.total = total; total_workitem.dt = dtWorkitem; return(total_workitem); } else { string TableName = State == WorkItem.WorkItemState.Finished ? WorkItem.WorkItemFinished.TableName : WorkItem.WorkItem.TableName; string[] conditions = Engine.PortalQuery.GetWorkItemConditions(this.UserValidator.UserID, StartTime == null ? DateTime.MinValue : StartTime.Value, EndTime == null ? DateTime.MaxValue : EndTime.Value, State, string.Empty, OThinker.Data.BoolMatchValue.Unspecified, WorkflowCode, true, TableName); string OrderBy = "ORDER BY " + WorkItem.WorkItemFinished.TableName + "." + WorkItem.WorkItemFinished.PropertyName_Priority + " DESC," + WorkItem.WorkItemFinished.TableName + "." + WorkItem.WorkItemFinished.PropertyName_ReceiveTime + " DESC"; DataTable dtWorkitem = Engine.PortalQuery.QueryWorkItem(conditions, pagerInfo.StartIndex, pagerInfo.EndIndex, OrderBy, TableName); int total = Engine.PortalQuery.CountWorkItem(conditions, TableName); // 记录总数 var result = new { total = total, dtWorkitem = dtWorkitem }; total_workitem.total = total; total_workitem.dt = dtWorkitem; return(total_workitem); } }