zhoufan 7 lat temu
rodzic
commit
5d1e5bc602

+ 198 - 0
CallCenterApi.Interface/Controllers/County/CountyTelController.cs

@@ -19,6 +19,49 @@ namespace CallCenterApi.Interface.Controllers.County
19 19
         // GET: CountyTel
20 20
 
21 21
         /// <summary>
22
+        /// 平台展示
23
+        /// </summary>
24
+        /// <param name="start"></param>
25
+        /// <param name="end"></param>
26
+        /// <returns></returns>
27
+        public ActionResult GetAreaTodayTelShowReport(string branchcode,DateTime? date)
28
+        {
29
+            if (date == null)
30
+            {
31
+                date = DateTime.Now;
32
+            }
33
+
34
+            string sqlwhere = " F_IsDelete=0 ";
35
+            if (!string.IsNullOrEmpty(branchcode))
36
+            {
37
+                sqlwhere += " and F_Code='" + branchcode + "'";
38
+            }
39
+
40
+            ArrayList result = new ArrayList();
41
+            var list = new BLL.T_Branch_List().GetModelList(sqlwhere);
42
+            string controllername = RouteData.Values["controller"].ToString();
43
+            string actionname = RouteData.Values["action"].ToString();
44
+            foreach (var l in list)
45
+            {
46
+                if (!string.IsNullOrEmpty(l.F_Sign) && !string.IsNullOrEmpty(l.F_Url))
47
+                {
48
+                    string signcode = CommonHelper.getsigncode(controllername, actionname, l.F_Sign);
49
+                    string strparams = "?date=" + date.Value.ToString("yyyy-MM-dd") + "&signcode=" + signcode;
50
+
51
+                    AjaxResult ar = HttpMethods.HttpGet(l.F_Url + "/" + controllername + "/" + actionname + strparams).ToObject<AjaxResult>();
52
+
53
+                    if (ar.state.ToString() == ResultTypes.success.ToString())
54
+                    {
55
+                        var rtlist = ar.data.ToJson().ToList<Dictionary<string, object>>();
56
+                        result.AddRange(rtlist);
57
+                    }
58
+                }
59
+            }
60
+
61
+            return Success("成功", result);
62
+        }
63
+
64
+        /// <summary>
22 65
         /// 获取通话记录列表
23 66
         /// </summary>
24 67
         /// <param name="phone"></param>
@@ -409,5 +452,160 @@ namespace CallCenterApi.Interface.Controllers.County
409 452
             return Success("成功", result);
410 453
         }
411 454
 
455
+
456
+        /// <summary>
457
+        /// 队列排队等待时长报表时日周月报
458
+        /// </summary>
459
+        /// <returns></returns>
460
+        public ActionResult GetAreaHDWMQueueWaitReport(string branchcode, string start, string end, int dateType = 1, int isdc = 0)
461
+        {
462
+            if (string.IsNullOrEmpty(start))
463
+            {
464
+                switch (dateType)
465
+                {
466
+                    case 1: start = DateTime.Now.ToString("yyyy-MM"); break;
467
+                    case 2:
468
+                        GregorianCalendar gc = new GregorianCalendar();
469
+                        int weeks = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
470
+                        start = DateTime.Now.Date.ToString("yyyy") + "-w" + (weeks < 10 ? "0" + weeks.ToString() : weeks.ToString());
471
+                        break;
472
+                    case 3: start = DateTime.Now.ToString("yyyy-MM-dd"); break;
473
+                    case 4: start = DateTime.Now.ToString("yyyy-MM-dd") + " 00"; break;
474
+                }
475
+            }
476
+            if (string.IsNullOrEmpty(end))
477
+            {
478
+                switch (dateType)
479
+                {
480
+                    case 1: end = DateTime.Now.ToString("yyyy-MM"); break;
481
+                    case 2:
482
+                        GregorianCalendar gc = new GregorianCalendar();
483
+                        int weeks = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
484
+                        end = DateTime.Now.Date.ToString("yyyy") + "-w" + (weeks < 10 ? "0" + weeks.ToString() : weeks.ToString());
485
+                        break;
486
+                    case 3: end = DateTime.Now.ToString("yyyy-MM-dd"); break;
487
+                    case 4: end = DateTime.Now.ToString("yyyy-MM-dd HH"); break;
488
+                }
489
+            }
490
+
491
+            string sqlwhere = " F_IsDelete=0 ";
492
+            if (!string.IsNullOrEmpty(branchcode))
493
+            {
494
+                sqlwhere += " and F_Code='" + branchcode + "'";
495
+            }
496
+
497
+            ArrayList result = new ArrayList();
498
+            var list = new BLL.T_Branch_List().GetModelList(sqlwhere);
499
+            string controllername = RouteData.Values["controller"].ToString();
500
+            string actionname = RouteData.Values["action"].ToString();
501
+            foreach (var l in list)
502
+            {
503
+                if (!string.IsNullOrEmpty(l.F_Sign) && !string.IsNullOrEmpty(l.F_Url))
504
+                {
505
+                    string signcode = CommonHelper.getsigncode(controllername, actionname, l.F_Sign);
506
+                    string strparams = "?start=" + start + "&end=" + end + "&dateType=" + dateType + "&signcode=" + signcode;
507
+
508
+                    AjaxResult ar = HttpMethods.HttpGet(l.F_Url + "/" + controllername + "/" + actionname + strparams).ToObject<AjaxResult>();
509
+
510
+                    if (ar.state.ToString() == ResultTypes.success.ToString())
511
+                    {
512
+                        var rtlist = ar.data.ToJson().ToList<Dictionary<string, object>>();
513
+                        result.AddRange(rtlist);
514
+                    }
515
+                }
516
+            }
517
+
518
+
519
+            if (isdc > 0)
520
+            {
521
+                string[] cols = new string[] { "区县名称", "时间", "0-5秒", "6-10秒", "11-15秒",  "16-20秒", "21-25秒","26-30秒", "31-50秒","50秒以上" };
522
+                NPOIHelper npoi = new NPOIHelper();
523
+                if (npoi.ExportToExcel("队列排队等待时长报表", result, cols) == "")
524
+                {
525
+                    return Success("导出成功");
526
+                }
527
+                else
528
+                {
529
+                    return Error("导出失败");
530
+                }
531
+            }
532
+            return Success("成功", result);
533
+        }
534
+
535
+        /// <summary>
536
+        /// 平台展示
537
+        /// </summary>
538
+        /// <param name="start"></param>
539
+        /// <param name="end"></param>
540
+        /// <returns></returns>
541
+        public ActionResult GetAreaTodayTelReport(string branchcode, DateTime? date)
542
+        {
543
+            if (date == null)
544
+            {
545
+                date = DateTime.Now;
546
+            }
547
+
548
+            string sqlwhere = " F_IsDelete=0 ";
549
+            if (!string.IsNullOrEmpty(branchcode))
550
+            {
551
+                sqlwhere += " and F_Code='" + branchcode + "'";
552
+            }
553
+
554
+            ArrayList result = new ArrayList();
555
+            var list = new BLL.T_Branch_List().GetModelList(sqlwhere);
556
+            string controllername = RouteData.Values["controller"].ToString();
557
+            string actionname = RouteData.Values["action"].ToString();
558
+            foreach (var l in list)
559
+            {
560
+                if (!string.IsNullOrEmpty(l.F_Sign) && !string.IsNullOrEmpty(l.F_Url))
561
+                {
562
+                    string signcode = CommonHelper.getsigncode(controllername, actionname, l.F_Sign);
563
+                    string strparams = "?date=" + date.Value.ToString("yyyy-MM-dd") + "&signcode=" + signcode;
564
+
565
+                    AjaxResult ar = HttpMethods.HttpGet(l.F_Url + "/" + controllername + "/" + actionname + strparams).ToObject<AjaxResult>();
566
+
567
+                    if (ar.state.ToString() == ResultTypes.success.ToString())
568
+                    {
569
+                        var rtlist = ar.data.ToJson().ToList<Dictionary<string, object>>();
570
+                        result.AddRange(rtlist);
571
+                    }
572
+                }
573
+            }
574
+
575
+            return Success("成功", result);
576
+        }
577
+
578
+        /// <summary>
579
+        /// 座席列表
580
+        /// </summary>
581
+        /// <param name="start"></param>
582
+        /// <param name="end"></param>
583
+        /// <returns></returns>
584
+        public ActionResult GetAreaSeatList(string branchcode)
585
+        {
586
+            string sqlwhere = " F_IsDelete=0 ";
587
+            if (!string.IsNullOrEmpty(branchcode))
588
+            {
589
+                sqlwhere += " and F_Code='" + branchcode + "'";
590
+            }
591
+            else
592
+            {
593
+                return Error("请选择区县");
594
+            }
595
+
596
+            var list = new BLL.T_Branch_List().GetModelList(sqlwhere);
597
+            if (list.Count == 0)
598
+            {
599
+                return Error("查询失败");
600
+            }
601
+
602
+            string controllername = RouteData.Values["controller"].ToString();
603
+            string actionname = RouteData.Values["action"].ToString();
604
+            string signcode = CommonHelper.getsigncode(controllername, actionname, list[0].F_Sign);
605
+            string strparams = "?signcode=" + signcode;
606
+            string result = HttpMethods.HttpGet(list[0].F_Url + "/" + controllername + "/" + actionname + strparams);
607
+            return Content(result);
608
+        }
609
+
412 610
     }
413 611
 }