Esempio n. 1
0
        public void GetAlert(HttpContext context)
        {
            JObject returnobj = new JObject();

            try
            {
                //先只考虑整体情况
                //int ClassType = Convert.ToInt32(context.Request["classtype"]);
                int TableColumnID = Convert.ToInt32(context.Request["tablecolumn"]);

                DateTime BeginDate = new BaseUtils().GetSelectDate(string.IsNullOrEmpty(context.Request["begin"].ToString()) ? DateTime.MinValue : Convert.ToDateTime(context.Request["begin"]), true);
                DateTime EndDate   = new BaseUtils().GetSelectDate(string.IsNullOrEmpty(context.Request["end"].ToString()) ? DateTime.MaxValue : Convert.ToDateTime(context.Request["end"]), false);
                using (IFMPDBContext db = new IFMPDBContext())
                {
                    List <TableData> TableDataList = db.TableData.Where(t => (TableColumnID == 0 || t.TableColumnID == TableColumnID) &&
                                                                        t.CreateDate >= BeginDate && t.CreateDate <= EndDate
                                                                        ).OrderBy(t => t.CreateDate).ToList();
                    JArray jarray = new JArray();
                    if (TableDataList.Count > 0)
                    {
                        if (BeginDate.Date < TableDataList.FirstOrDefault().CreateDate.Value.Date)
                        {
                            BeginDate = TableDataList[0].CreateDate.Value.Date;
                        }

                        if (EndDate.Date > TableDataList.LastOrDefault().CreateDate.Value.Date)
                        {
                            EndDate = new BaseUtils().GetSelectDate(TableDataList.LastOrDefault().CreateDate.Value.Date, false);
                        }

                        while (BeginDate < EndDate)
                        {
                            JObject jobject = new JObject();
                            jobject.Add("Date", BeginDate.ToString("yyyy-MM-dd"));
                            jobject.Add("Count", TableDataList.Count(t => t.CreateDate.Value.Date == BeginDate.Date && t.IsAlert == true));
                            jarray.Add(jobject);

                            BeginDate = BeginDate.AddDays(1);
                        }

                        returnobj.Add("List", jarray);
                        returnobj.Add("result", "success");
                    }
                }
            }
            catch
            {
                returnobj.Add("result", "failed");
            }
            context.Response.Clear();
            context.Response.Write(returnobj);
            HttpContext.Current.ApplicationInstance.CompleteRequest();
        }
Esempio n. 2
0
        public void GetDateStatistics(HttpContext context)
        {
            JObject returnobj = new JObject();
            JArray  jarray    = new JArray();

            try
            {
                int ClassType     = Convert.ToInt32(context.Request["classtype"]);
                int TableColumnID = Convert.ToInt32(context.Request["tablecolumn"]);
                int TableTypeID   = Convert.ToInt32(context.Request["tabletype"]);

                DateTime BeginDate = new BaseUtils().GetSelectDate(string.IsNullOrEmpty(context.Request["begin"].ToString()) ? DateTime.MinValue : Convert.ToDateTime(context.Request["begin"]), true);
                DateTime EndDate   = new BaseUtils().GetSelectDate(string.IsNullOrEmpty(context.Request["end"].ToString()) ? DateTime.MaxValue : Convert.ToDateTime(context.Request["end"]), false);

                if (BeginDate > EndDate)
                {
                    DateTime Temp = BeginDate;
                    BeginDate = EndDate;
                    EndDate   = Temp;
                }

                if ((EndDate - BeginDate).TotalDays < 15)
                {
                    using (IFMPDBContext db = new IFMPDBContext())
                    {
                        List <TableData> TableDataList = db.TableData.Where(t => t.CreateDate >= BeginDate && t.CreateDate <= EndDate &&
                                                                            t.TableColumnID == TableColumnID &&
                                                                            db.Table.Where(m => m.TableTypeID == TableTypeID && (ClassType == 0 || db.Task.FirstOrDefault(k => k.ID == m.TaskID).ClassType == (ClassTypeEnums)ClassType)).Select(m => m.ID).Contains(t.TableID)
                                                                            ).ToList();


                        List <User> UserList = db.User.ToList();

                        List <TaskFlow> TaskFlowList = db.TaskFlow.Where(t => t.ApplyDate >= BeginDate &&
                                                                         t.ApplyDate <= EndDate &&
                                                                         db.Flow.Where(m => m.IsAudit != true).Select(m => m.ID).Contains(t.ID)
                                                                         ).ToList();

                        //这个以天为单位统计
                        while (BeginDate <= EndDate)
                        {
                            JArray           SelDataArray     = new JArray();
                            List <TableData> SelTableDataList = TableDataList.Where(t => t.CreateDate >= BeginDate && t.CreateDate <= BeginDate.AddDays(1)).ToList();

                            if (SelTableDataList.Count > 0)
                            {
                                foreach (TableData SelTableData in SelTableDataList)
                                {
                                    JObject SelJObject = new JObject();
                                    SelJObject.Add("Name", UserList.FirstOrDefault(t => t.ID == SelTableData.CreateUserID).RealName);
                                    SelJObject.Add("Count", SelTableData.Data);
                                    SelDataArray.Add(SelJObject);
                                }
                                JObject DayJObject = new JObject();
                                DayJObject.Add("Date", BeginDate.ToString("yyyy-MM-dd"));
                                DayJObject.Add("List", SelDataArray);
                                jarray.Add(DayJObject);
                            }
                            BeginDate = BeginDate.AddDays(1);
                        }

                        returnobj.Add("result", "success");
                        returnobj.Add("List", jarray);
                    }
                }
                else
                {
                    returnobj.Add("result", "failed");
                    returnobj.Add("message", "请选择最多相差14天的数据");
                }
            }
            catch
            {
                returnobj.Add("result", "failed");
            }
            context.Response.Clear();
            context.Response.Write(returnobj);
            HttpContext.Current.ApplicationInstance.CompleteRequest();
        }