Bladeren bron

报表工单修改

lihai 7 jaren geleden
bovenliggende
commit
2a214389e0

+ 20 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/GDLYController.cs

140
                 dtNew.Rows.Add(drNew);
140
                 dtNew.Rows.Add(drNew);
141
             }
141
             }
142
 
142
 
143
+            #region 汇总一条数据
144
+            DataRow drsum = dtNew.NewRow();
145
+            drsum[0] = "总计";
146
+
147
+            for (int i = 1; i < dtNew.Columns.Count; i++)
148
+            {
149
+                int ecount = 0;
150
+                int sum = 0;
151
+                for (int j = 0; j < dtNew.Rows.Count; j++)
152
+                {
153
+                    if (dtNew.Rows[j][i] != null)
154
+                    {
155
+                        ecount = int.Parse(dtNew.Rows[j][i].ToString());
156
+                        sum += ecount;
157
+                    }
158
+                }
159
+                drsum[i] = sum;
160
+            }
161
+            dtNew.Rows.Add(drsum);
162
+            #endregion
143
             return dtNew;
163
             return dtNew;
144
         }
164
         }
145
 
165
 

+ 41 - 20
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TotalCallController.cs

13
     //[Authority]
13
     //[Authority]
14
     public class TotalCallController : BaseController
14
     public class TotalCallController : BaseController
15
     {
15
     {
16
+        BLL.T_Call_CallRecords bll = new BLL.T_Call_CallRecords();
16
         //总呼叫量统计
17
         //总呼叫量统计
17
 
18
 
18
         //获取表头
19
         //获取表头
45
                 dtNew.Columns.Add(dc3);
46
                 dtNew.Columns.Add(dc3);
46
                 dtNew.Columns.Add(dc4);
47
                 dtNew.Columns.Add(dc4);
47
                 #endregion
48
                 #endregion
48
-                DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
49
+                //DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
50
+                var list = bll.DataTableToList(bll.GetList(" 1=1 ").Tables[0]);
49
                 DateTime dtNow;
51
                 DateTime dtNow;
50
                 int Count = 0;
52
                 int Count = 0;
51
                 int DayCount = 0;
53
                 int DayCount = 0;
65
 
67
 
66
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
68
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
67
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
69
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
68
-                    DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
69
-                    if (dtRow.Length > 0)
70
+                    //DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
71
+                    var listByTime = list.Where(x => x.BeginTime >= Convert.ToDateTime(beginTime.ToString()) && x.BeginTime < beginTime.AddDays(days).AddSeconds(-1));
72
+
73
+                    //if (dtRow.Length > 0)
74
+                    if(listByTime.Count()>0)
70
                     {
75
                     {
71
-                        Count += dtRow.Length;
76
+                        //Count += dtRow.Length;
77
+                        Count += listByTime.Count();
72
                         for (int j = 1; j <= days; j++)
78
                         for (int j = 1; j <= days; j++)
73
                         {
79
                         {
74
                             DataRow dr1 = dtNew.NewRow();
80
                             DataRow dr1 = dtNew.NewRow();
75
-                            if (dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length > 0)
81
+                            //if (dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length > 0)
82
+                            if(listByTime.Where(x=>x.BeginTime>=beginTime.AddDays(j-1) && x.BeginTime<beginTime.AddDays(j).AddSeconds(-1)).Count()>0)
76
                             {
83
                             {
77
                                 DayCount += 1;
84
                                 DayCount += 1;
78
 
85
 
79
                                 dr1["月份"] = beginTime.Month + "月";
86
                                 dr1["月份"] = beginTime.Month + "月";
80
                                 dr1["日期"] = beginTime.AddDays(j - 1).ToShortDateString();
87
                                 dr1["日期"] = beginTime.AddDays(j - 1).ToShortDateString();
81
-                                dr1["总数"] = dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length;
88
+                                // dr1["总数"] = dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length;
89
+                                dr1["总数"] = listByTime.Where(x => x.BeginTime >= beginTime.AddDays(j - 1) && x.BeginTime < beginTime.AddDays(j).AddSeconds(-1)).Count();
82
                                 dr1["Count"] = "1";
90
                                 dr1["Count"] = "1";
83
                                 dtNew.Rows.Add(dr1);
91
                                 dtNew.Rows.Add(dr1);
84
                             }
92
                             }
88
                         {
96
                         {
89
                             drNew["月份"] = beginTime.Month + "月";
97
                             drNew["月份"] = beginTime.Month + "月";
90
                             drNew["日期"] = "总计";
98
                             drNew["日期"] = "总计";
91
-                            drNew["总数"] = dtRow.Length;
99
+                            //drNew["总数"] = dtRow.Length;
100
+                            drNew["总数"] = listByTime.Count();
92
                             drNew["Count"] = DayCount.ToString();
101
                             drNew["Count"] = DayCount.ToString();
93
                             dtNew.Rows.Add(drNew);
102
                             dtNew.Rows.Add(drNew);
94
                         }
103
                         }
124
                 dtNew.Columns.Add(dc2);
133
                 dtNew.Columns.Add(dc2);
125
                 dtNew.Columns.Add(dc3);
134
                 dtNew.Columns.Add(dc3);
126
                 #endregion
135
                 #endregion
127
-                DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
136
+                //DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
137
+                var list = bll.DataTableToList(bll.GetList(" 1=1 ").Tables[0]);
128
                 DateTime dtNow;
138
                 DateTime dtNow;
129
                 int Count = 0;
139
                 int Count = 0;
130
                 int DayCount = 0;
140
                 int DayCount = 0;
144
 
154
 
145
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
155
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
146
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
156
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
147
-                    DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
148
-                    if (dtRow.Length > 0)
157
+                    //DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
158
+                    var listByTime = list.Where(x => x.BeginTime >= Convert.ToDateTime(beginTime.ToString()) && x.BeginTime < beginTime.AddDays(days).AddSeconds(-1));
159
+                    //if (dtRow.Length > 0)
160
+                    if (listByTime.Count() > 0)
149
                     {
161
                     {
150
-                        Count += dtRow.Length;
162
+                        //Count += dtRow.Length;
163
+                        Count += listByTime.Count();
151
                         for (int j = 1; j <= days; j++)
164
                         for (int j = 1; j <= days; j++)
152
                         {
165
                         {
153
                             DataRow dr1 = dtNew.NewRow();
166
                             DataRow dr1 = dtNew.NewRow();
154
-                            if (dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length > 0)
167
+                            //if (dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length > 0)
168
+                            if (listByTime.Where(x => x.BeginTime >= beginTime.AddDays(j - 1) && x.BeginTime < beginTime.AddDays(j).AddSeconds(-1)).Count() > 0)
155
                             {
169
                             {
156
                                 DayCount += 1;
170
                                 DayCount += 1;
157
 
171
 
158
                                 dr1["月份"] = beginTime.Month + "月";
172
                                 dr1["月份"] = beginTime.Month + "月";
159
                                 dr1["日期"] = beginTime.AddDays(j - 1).ToShortDateString();
173
                                 dr1["日期"] = beginTime.AddDays(j - 1).ToShortDateString();
160
-                                dr1["总数"] = dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length;
161
-                               
174
+                                //dr1["总数"] = dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length;
175
+                                dr1["总数"] = listByTime.Where(x => x.BeginTime >= beginTime.AddDays(j - 1) && x.BeginTime < beginTime.AddDays(j).AddSeconds(-1)).Count();
176
+
162
                                 dtNew.Rows.Add(dr1);
177
                                 dtNew.Rows.Add(dr1);
163
                             }
178
                             }
164
                         }
179
                         }
167
                         {
182
                         {
168
                             drNew["月份"] = beginTime.Month + "月";
183
                             drNew["月份"] = beginTime.Month + "月";
169
                             drNew["日期"] = "总计";
184
                             drNew["日期"] = "总计";
170
-                            drNew["总数"] = dtRow.Length;
185
+                            //drNew["总数"] = dtRow.Length;
186
+                            drNew["总数"] = listByTime.Count();
171
                             dtNew.Rows.Add(drNew);
187
                             dtNew.Rows.Add(drNew);
172
                         }
188
                         }
173
                         DayCount = 0;
189
                         DayCount = 0;
214
             if (Request.IsAuthenticated)
230
             if (Request.IsAuthenticated)
215
             {
231
             {
216
                 string[] arr=new string[12];
232
                 string[] arr=new string[12];
217
-                
218
-                DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
233
+
234
+                //DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
235
+                var list = bll.DataTableToList(bll.GetList(" 1=1 ").Tables[0]);
219
                 DateTime dtNow;
236
                 DateTime dtNow;
220
 
237
 
221
                 if (string.IsNullOrEmpty(years))
238
                 if (string.IsNullOrEmpty(years))
230
                 {
247
                 {
231
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
248
                     DateTime beginTime = Convert.ToDateTime(dtNow.Year + "-" + i + "-01 00:00:00");
232
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
249
                     int days = DateTime.DaysInMonth(dtNow.Year, beginTime.Month);
233
-                    DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
234
-                    if (dtRow.Length > 0)
250
+                    //DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
251
+                    var listByTime = list.Where(x => x.BeginTime >= Convert.ToDateTime(beginTime.ToString()) && x.BeginTime < beginTime.AddDays(days).AddSeconds(-1));
252
+
253
+                    //if (dtRow.Length > 0)
254
+                    if (listByTime.Count() > 0)
235
                     {
255
                     {
236
-                        arr[i-1] = dtRow.Length.ToString();
256
+                        //arr[i-1] = dtRow.Length.ToString();
257
+                        arr[i-1] = listByTime.Count().ToString();
237
                     }
258
                     }
238
                     else
259
                     else
239
                     {
260
                     {