Przeglądaj źródła

巩义报表导出修改

zhaozhiqiang 3 lat temu
rodzic
commit
3a661da6f2

+ 57 - 11
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/WorkOrderReportController.cs

@@ -280,31 +280,53 @@ namespace CallCenterApi.Interface.Controllers.report
280 280
             paras.Add("@source", source);
281 281
             var obj = DbHelperSQL.RunProcedure("P_DeptEfficiencyReport_1", paras, "DeptEfficiencyReport");
282 282
             var newSet = new DataSet();
283
+            var newSet1 = new DataSet();
284
+            DataTable exceldt = new DataTable();
285
+            
286
+            exceldt.Columns.Add("deptname", typeof(string));//单位名称
287
+            exceldt.Columns.Add("slcount", typeof(int));//受理量
288
+            exceldt.Columns.Add("bjcount", typeof(int));//办结量
289
+            exceldt.Columns.Add("timelycount", typeof(int));//及时量
290
+            exceldt.Columns.Add("timeoutcount", typeof(int));//延期量
291
+            exceldt.Columns.Add("remindcount", typeof(int));//催办量
292
+            exceldt.Columns.Add("zzreloadcount", typeof(string));//郑州重办量
293
+            exceldt.Columns.Add("bdreloadcount", typeof(string));//本地重办量
294
+            exceldt.Columns.Add("bjlyrate", typeof(string));//办结率
295
+            exceldt.Columns.Add("yqlyrate", typeof(string));//延期率
296
+            
283 297
             if (obj != null && obj.Tables[0] != null && obj.Tables[0].Rows.Count > 0)
284 298
             {
299
+
300
+
285 301
                 obj.Tables[0].Columns.Add("rate", typeof(decimal));
286 302
                 for (int i = 0; i < obj.Tables[0].Rows.Count; i++)
287 303
                 {
304
+                    var deptname = obj.Tables[0].Rows[i]["deptname"].ToString();
288 305
                     int completedcount = 0, timelycount = 0, timeoutcount = 0; double timelyrate = 0;
289 306
                     int slcount = 0;//受理量
290 307
                     int bjcount = 0;//办结量
291 308
                     int remindcount = 0;//催办量
309
+                    int zzreloadcount = 0;//郑州重办量
310
+                    int bdreloadcount = 0;//本地重办量
292 311
                     double bjlyrate = 0;//办结率
293 312
                     double yqlyrate = 0;// 延期率
313
+                    #region 赋值
294 314
                     int.TryParse(obj.Tables[0].Rows[i]["slcount"].ToString(), out slcount);
295 315
                     int.TryParse(obj.Tables[0].Rows[i]["bjcount"].ToString(), out bjcount);
296
-                    int.TryParse(obj.Tables[0].Rows[i]["completedcount"].ToString(), out completedcount);
297 316
                     int.TryParse(obj.Tables[0].Rows[i]["timelycount"].ToString(), out timelycount);
298 317
                     int.TryParse(obj.Tables[0].Rows[i]["timeoutcount"].ToString(), out timeoutcount);
299 318
                     int.TryParse(obj.Tables[0].Rows[i]["remindcount"].ToString(), out remindcount);
319
+                    int.TryParse(obj.Tables[0].Rows[i]["zzreloadcount"].ToString(), out zzreloadcount);
320
+                    int.TryParse(obj.Tables[0].Rows[i]["bdreloadcount"].ToString(), out bdreloadcount);
321
+                    int.TryParse(obj.Tables[0].Rows[i]["completedcount"].ToString(), out completedcount);
300 322
                     //  timeoutcount = completedcount - timelycount;
301 323
                     // obj.Tables[0].Rows[i]["timeoutcount"] = timeoutcount;
302 324
                     if (slcount > 0)
303 325
                     {
304
-                        bjlyrate=(double)bjcount/(double)slcount;
326
+                        bjlyrate = (double)bjcount / (double)slcount;
305 327
                         obj.Tables[0].Rows[i]["bjlyrate"] = bjlyrate.ToString("0.00%");//办结率
306 328
 
307
-                        yqlyrate= (double)timeoutcount/(double)slcount;
329
+                        yqlyrate = (double)timeoutcount / (double)slcount;
308 330
                         obj.Tables[0].Rows[i]["yqlyrate"] = yqlyrate.ToString("0.00%");//办结率
309 331
                     }
310 332
                     //if (completedcount > 0)
@@ -312,8 +334,30 @@ namespace CallCenterApi.Interface.Controllers.report
312 334
                     //    timelyrate = double.Parse((timelycount * 100).ToString()) / completedcount;
313 335
                     //    obj.Tables[0].Rows[i]["timelyrate"] = timelyrate.ToString("f") + "%";
314 336
                     //    obj.Tables[0].Rows[i]["rate"] = timelyrate;
315
-                    //}
337
+                    //} 
338
+                    #endregion
339
+                    #region 赋值
340
+                    DataRow dr = exceldt.NewRow();
341
+                    dr["deptname"] = deptname;
342
+                    dr["slcount"] = slcount.ToString();
343
+                    dr["bjcount"] =bjcount       .ToString();
344
+                    dr["timelycount"] =timelycount   .ToString();
345
+                    dr["timeoutcount"] =timeoutcount  .ToString();
346
+                    dr["remindcount"] =remindcount   .ToString();
347
+                    dr["zzreloadcount"] =zzreloadcount .ToString();
348
+                    dr["bdreloadcount"] = bdreloadcount.ToString();
349
+                    if (slcount > 0)
350
+                    {
351
+                        bjlyrate = (double)bjcount / (double)slcount;
352
+                        dr["bjlyrate"] = bjlyrate.ToString("0.00%");//办结率
353
+
354
+                        yqlyrate = (double)timeoutcount / (double)slcount;
355
+                        dr["yqlyrate"] = yqlyrate.ToString("0.00%");//办结率
356
+                    }
357
+                    exceldt.Rows.Add(dr);
358
+                    #endregion
316 359
                 }
360
+                newSet1.Tables.Add(exceldt);
317 361
                 obj.Tables[0].DefaultView.Sort = "rate desc";
318 362
                 newSet.Tables.Add(obj.Tables[0].DefaultView.ToTable());
319 363
                 newSet.Tables[0].Columns.Remove("rate");
@@ -321,9 +365,9 @@ namespace CallCenterApi.Interface.Controllers.report
321 365
             }
322 366
             if (isExport)
323 367
             {
324
-                string[] cols = new string[] { "单位名称", "受理量", "办结量", "及时量", "超时量", "催办量", "办结率", "延期率" };
368
+                string[] cols = new string[] { "单位名称", "受理量", "办结量", "及时量", "延期量", "催办量","郑州重办量","本地重办量" ,"办结率", "延期率" };
325 369
                 NPOIHelper npoi = new NPOIHelper();
326
-                if (npoi.ExportToExcel("处理效率统计报表", newSet.Tables[0], cols) == "")
370
+                if (npoi.ExportToExcel("处理效率统计报表", newSet1.Tables[0], cols) == "")
327 371
                 {
328 372
                     return Success("导出成功");
329 373
                 }
@@ -2530,11 +2574,11 @@ namespace CallCenterApi.Interface.Controllers.report
2530 2574
 
2531 2575
                 ///////////////条件重新写
2532 2576
                 //郑州转派件
2533
-                string Zzzpj = $"select count(*) as 转派件 from (select DISTINCT wo.F_OldWorkOrderId from T_Bus_WorkOrder wo where F_OldWorkOrderId!='' "+ where1 + ") b"; 
2534
-                var Zzzpjcount = DbHelperSQL.Query(Zzzpj).Tables[0];
2535
-               //郑州已回传件
2577
+                string Zzzpj = $"select count(*) as 转派件 from (select DISTINCT wo.F_OldWorkOrderId from T_Bus_WorkOrder wo where F_OldWorkOrderId!='' "+ where1 + ") b";
2578
+                var Zzzpjcount = DbHelperSQL.GetSingle(Zzzpj);
2579
+                //郑州已回传件
2536 2580
                 string Zzyhc = $"select count(*) as 回传件 from (select DISTINCT wo.F_OldWorkOrderId from T_Bus_WorkOrder wo where F_OldWorkOrderId!='' and wo.F_WorkState = 9 " + where1 + ") b";
2537
-                var Zzyhccount = DbHelperSQL.Query(Zzyhc).Tables[0];
2581
+                var Zzyhccount = DbHelperSQL.GetSingle(Zzyhc);
2538 2582
                 var ob = new
2539 2583
                 {
2540 2584
                     Acceptance = Zzzpjcount,
@@ -2626,9 +2670,11 @@ namespace CallCenterApi.Interface.Controllers.report
2626 2670
             paras.Add("@deptid", dept);
2627 2671
             paras.Add("@source", source);
2628 2672
             var obj = DbHelperSQL.RunProcedure("P_DeptSatisfaction", paras, "DeptSatisfactionReport");
2673
+            obj.Tables[0].Columns.Remove("rate");
2674
+
2629 2675
             if (isExport)
2630 2676
             {
2631
-                string[] cols = new string[] { "单位名称", "处理总量", "满意数", "基本满意数", "不满意数", "满意率" };
2677
+                string[] cols = new string[] { "单位名称", "办结量", "满意数", "基本满意数", "不满意数", "满意率" };
2632 2678
                 NPOIHelper npoi = new NPOIHelper();
2633 2679
                 if (npoi.ExportToExcel("满意度报表", obj.Tables[0], cols) == "")
2634 2680
                 {