Browse Source

通话记录表,短信,部门权限,坐席话务表,工单

duhongyu 6 years ago
parent
commit
0a228c892c
15 changed files with 391 additions and 63 deletions
  1. 2 4
      codegit/CallCenterApi/CallCenterApi.DAL/T_Call_CallRecords.cs
  2. 1 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Configs/system.config
  3. 10 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs
  4. 2 2
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/SeatGroupController.cs
  5. 149 25
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerController.cs
  6. 78 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/BusinessController.cs
  7. 4 4
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/YearContrastController.cs
  8. 0 2
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/ZuoXiWorkTotalController.cs
  9. 5 4
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallInScreenController.cs
  10. 1 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallblackController.cs
  11. 3 3
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallrecordsController.cs
  12. 1 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/MobiledataController.cs
  13. 127 9
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs
  14. 1 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkorderAppController.cs
  15. 7 4
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Global.asax.cs

+ 2 - 4
codegit/CallCenterApi/CallCenterApi.DAL/T_Call_CallRecords.cs

@@ -1016,10 +1016,8 @@ namespace CallCenterApi.DAL
1016 1016
             StringBuilder strSql = new StringBuilder();
1017 1017
             strSql.Append(" select ");
1018 1018
             //20180523 通话记录导出增加客户姓名
1019
-            strSql.Append(" (select TOP 1 d.F_CustomerName from T_Cus_CustomerBase d ");
1020
-            strSql.Append(" where d.F_Telephone=c.CallNumber and d.F_DeleteFlag=0) cusname, ");
1021
-            strSql.Append(" (select TOP 1 e.F_CustomerIndustry from T_Cus_CustomerBase e ");
1022
-            strSql.Append(" where e.F_Telephone=c.CallNumber and e.F_DeleteFlag=0) cusdepname, ");
1019
+            strSql.Append(" (select TOP 1 d.F_Name from T_Cus_Customer d ");
1020
+            strSql.Append(" where d.F_Phone=c.CallNumber and d.F_IsDelete=0) cusname, ");
1023 1021
             strSql.Append(" callnumber, ");
1024 1022
             strSql.Append("filepath,");
1025 1023
             strSql.Append(" case calltype when 1 then '呼出' else '呼入' end calltypes, ");

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Configs/system.config

@@ -27,7 +27,7 @@
27 27
   <!-- 设置模板名字 -->
28 28
   <add key="mbname" value="客户档案模板" />
29 29
   <!-- 设置模板列名字 -->
30
-  <add key="mbkeys" value="大区,办事处,省份,城市,县/区,姓名,电话,备注" />
30
+  <add key="mbkeys" value="大区,办事处,省份,城市,区/县,姓名,电话,备注" />
31 31
   <!-- 设置数据库列名字 -->
32 32
   <add key="dbkeys" value="F_Area,F_Province,F_City,F_Name,F_Phone" />
33 33
   <!-- ================== 5:Redis配置 ================== -->

+ 10 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs

@@ -367,8 +367,17 @@ namespace CallCenterApi.Interface.Controllers
367 367
                 Model.T_Sys_UserAccount userModel = new BLL.T_Sys_UserAccount().GetModel(userId);
368 368
                 if (userModel != null)
369 369
                     pId = userModel.F_DeptId;
370
+                string where = "";
370 371
                 DataTable dt = new DataTable();
371
-                string where = " isnull(F_DeptId,0)='" + pId + "' and F_State=1 ";
372
+                if (pId==421 || pId == 2)
373
+                {
374
+                    where = "(isnull(F_DeptId,0)='" + pId + "'or F_Layer=1 ) and F_State=1";
375
+                }
376
+                else
377
+                {
378
+                     where = " isnull(F_DeptId,0)='" + pId + "' and F_State=1 ";
379
+                }
380
+              
372 381
                 //if (!string.IsNullOrEmpty(userModel.groupcode))
373 382
                 //{
374 383
                 //    where += " and F_GroupCode = '" + userModel.groupcode + "'";

+ 2 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/SeatGroupController.cs

@@ -110,13 +110,13 @@ namespace CallCenterApi.Interface.Controllers
110 110
                     sModel.F_ZXZCode = input.ZXZCode.Trim();
111 111
                 else
112 112
                 {
113
-                    return Error("编号不能为空");
113
+                    return Error("坐席组编号不能为空");
114 114
                 }
115 115
                 if (input.ZXZName != null)
116 116
                     sModel.F_ZXZName = input.ZXZName.Trim();
117 117
                 else
118 118
                 {
119
-                    return Error("名称不能为空");
119
+                    return Error("坐席组名称不能为空");
120 120
                 }
121 121
                 if (input.ZXAtt != null)
122 122
                     sModel.F_ZXAtt = input.ZXAtt.Trim();

+ 149 - 25
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerController.cs

@@ -125,7 +125,7 @@ namespace CallCenterApi.Interface.Controllers.customer
125 125
                 if (isdc > 0)
126 126
                 {
127 127
                     string dccols = "F_Area,F_Office,F_Province,F_City,F_County,F_Name,F_Phone,F_Remarks";
128
-                    var dtdc = DbHelperSQL.Query(" select " + dccols + " from T_Bus_WorkOrder where 1=1 " + sql).Tables[0];
128
+                    var dtdc = DbHelperSQL.Query(" select " + dccols + " from T_Bus_WorkOrder1 where 1=1 " + sql).Tables[0];
129 129
                     string[] dccolnames = new string[] {"大区", "办事处", "省份", "城市", "县/区", "姓名", "电话", "备注" };
130 130
                     var msg = new NPOIHelper().ExportToExcel("客户列表", dtdc, dccolnames);
131 131
                     if (msg == "")
@@ -464,9 +464,9 @@ namespace CallCenterApi.Interface.Controllers.customer
464 464
             var count = new BLL .T_Cus_Customer().GetModelList(sql).Count();
465 465
             return count > 0;
466 466
         }
467
-        /// <summary>
468
-        /// 导入excel
469
-        /// </summary>
467
+        ///// <summary>
468
+        ///// 导入excel
469
+        ///// </summary>
470 470
         public ActionResult ImportExcel()
471 471
         {
472 472
             string usercode = CurrentUser.UserData.F_UserCode;
@@ -510,34 +510,34 @@ namespace CallCenterApi.Interface.Controllers.customer
510 510
                         {
511 511
                             #region 数据入库
512 512
                             headrow = headrow + 1;
513
-                                if (!getunphone(dr["电话"].ToString()))
514
-                                {
515
-                                        dModel.F_Area  = dr["大区"].ToString();
516
-                                        dModel.F_Office  = dr["办事处"].ToString();
517
-                                        dModel.F_Province  = dr["省份"].ToString();
518
-                                       dModel.F_City  = dr["城市"].ToString();
519
-                                       dModel.F_County  = dr["县/区"].ToString();
520
-                                dModel.F_Name  = dr["姓名"].ToString();
521
-                                dModel.F_Phone  = dr["电话"].ToString();
522
-                                dModel.F_Remarks  = dr["备注"].ToString();
513
+                            if (!getunphone(dr["电话"].ToString()))
514
+                            {
515
+                                dModel.F_Area = dr["大区"].ToString();
516
+                                dModel.F_Office = dr["办事处"].ToString();
517
+                                dModel.F_Province = dr["省份"].ToString();
518
+                                dModel.F_City = dr["城市"].ToString();
519
+                                dModel.F_County = dr["县/区"].ToString();
520
+                                dModel.F_Name = dr["姓名"].ToString();
521
+                                dModel.F_Phone = dr["电话"].ToString();
522
+                                dModel.F_Remarks = dr["备注"].ToString();
523 523
                                 #endregion
524 524
                                 var res = new BLL.T_Cus_Customer().Add(dModel);
525
-                                        if (res > 0)
526
-                                        {
527
-                                        }
528
-                                        else
529
-                                        {
530
-                                            msg = msg + "第" + headrow + "行,导入失败<br>";
531
-                                        }
532
-
525
+                                if (res > 0)
526
+                                {
533 527
                                 }
534 528
                                 else
535 529
                                 {
536
-                                    msg = msg + "第" + headrow + "行,客户电话重复,未导入<br>";
530
+                                    msg = msg + "第" + headrow + "行,导入失败<br>";
537 531
                                 }
538 532
 
539
-                          
540
-                          
533
+                            }
534
+                            else
535
+                            {
536
+                                msg = msg + "第" + headrow + "行,客户电话重复,未导入<br>";
537
+                            }
538
+
539
+
540
+
541 541
                         }
542 542
                         if (string.IsNullOrEmpty(msg))
543 543
                             return Success("导入成功 ");
@@ -552,6 +552,130 @@ namespace CallCenterApi.Interface.Controllers.customer
552 552
         /// <summary>
553 553
         /// 导入excel
554 554
         /// </summary>
555
+        //public ActionResult ImportExcel()
556
+        //{
557
+        //    string usercode = CurrentUser.UserData.F_UserCode;
558
+        //    string ip = DTRequest.GetIP();
559
+        //    if (!string.IsNullOrWhiteSpace(usercode))
560
+        //    {
561
+        //        HttpPostedFile _upFile = RequestString.GetFile("upFile");
562
+        //        if (_upFile != null)
563
+        //        {
564
+        //            int headrow = 0;
565
+        //            #region 上传文件
566
+        //            string filepath = "";
567
+        //            string datepath = DateTime.Now.ToString("yyyyMMddHHMMss");
568
+        //            string aLastName = Path.GetExtension(_upFile.FileName);
569
+        //            string oriname = Path.GetFileNameWithoutExtension(_upFile.FileName);
570
+        //            if (aLastName != ".xls" && aLastName != ".xlsx")
571
+        //            {
572
+        //                return Error("文件类型错误,请选择Excel文件");
573
+        //            }
574
+        //            string newpath = datepath + "_" + _upFile.FileName;
575
+        //            if (!Directory.Exists(Server.MapPath(this.Request.ApplicationPath + "\\ExcelData")))
576
+        //            {
577
+        //                Directory.CreateDirectory(Server.MapPath(this.Request.ApplicationPath + "\\ExcelData"));
578
+        //            }
579
+        //            filepath = this.Request.ApplicationPath + "/ExcelData/" + newpath;
580
+        //            string PhysicalPath = Server.MapPath(filepath);
581
+        //            _upFile.SaveAs(PhysicalPath);
582
+        //            #endregion
583
+        //            NPOIHelper np = new NPOIHelper();
584
+        //            DataTable dt = np.ExcelToTable(_upFile, headrow);
585
+        //            string msg = string.Empty;
586
+        //            if (dt == null || dt.Rows.Count == 0)
587
+        //                return Error("文件没有数据");
588
+        //            else
589
+        //            {
590
+        //                Model.T_Bus_WorkOrder dModel = new Model.T_Bus_WorkOrder();
591
+        //                dModel.F_IsDelete = 0;
592
+        //                dModel.F_CreateUser = usercode;
593
+        //                dModel.F_CreateTime = DateTime.Now;
594
+        //                foreach (DataRow dr in dt.Rows)
595
+        //                {
596
+        //                    #region 数据入库
597
+        //                    headrow = headrow + 1;
598
+        //                    if (headrow == 176)
599
+        //                    {
600
+        //                        int a = 0;
601
+        //                    }
602
+        //                    if (!string.IsNullOrEmpty(dr["本部"].ToString()))
603
+        //                    {
604
+        //                        var daptment = new BLL.T_Sys_Department().GetModel(dr["本部"].ToString());
605
+        //                        if (daptment != null)
606
+        //                            dModel.F_Area = daptment.F_DeptId.ToString();
607
+        //                    }
608
+
609
+        //                    if (!string.IsNullOrEmpty(dr["办事处"].ToString()))
610
+        //                    {
611
+        //                        var daptment = new BLL.T_Sys_Department().GetModel(dr["办事处"].ToString());
612
+        //                        if (daptment != null)
613
+        //                            dModel.F_Office = daptment.F_DeptId.ToString();
614
+        //                        else
615
+        //                        {
616
+        //                            var daptment1 = new BLL.T_Sys_Department().GetModel(dr["办事处"].ToString() + "");
617
+        //                            if (daptment1 != null)
618
+        //                                dModel.F_Office = daptment1.F_DeptId.ToString();
619
+        //                        }
620
+        //                    }
621
+        //                    if (!string.IsNullOrEmpty(dr["投诉时间"].ToString()))
622
+        //                        try
623
+        //                        {
624
+        //                            dModel.F_CreateTime = DateTime.Parse("2018年12月" + dr["投诉时间"].ToString());
625
+        //                            dModel.F_WorkOrderId = DateTime.Parse("2018年12月" + dr["投诉时间"].ToString()).ToString("yyyyMMddHHmmssfff");  //工单编号  
626
+        //                        }
627
+        //                        catch
628
+        //                        {
629
+        //                            dModel.F_CreateTime = DateTime.Parse("2018年12月26日11时28分" + DateTime.Now.Second + "秒");
630
+        //                            dModel.F_WorkOrderId = DateTime.Parse("2018年12月26日11时28分" + DateTime.Now.Second + "秒").ToString("yyyyMMddHHmmssfff");
631
+        //                        }
632
+        //                    try
633
+        //                    {
634
+        //                        dModel.F_SerialNumber = int.Parse(dr["序号"].ToString());
635
+        //                    }
636
+        //                    catch
637
+        //                    {
638
+
639
+        //                    }
640
+
641
+        //                    dModel.F_CusName = dr["姓名"].ToString();
642
+        //                    dModel.F_AddRess = dr["地址"].ToString();
643
+        //                    dModel.F_CusPhone = dr["联系电话"].ToString().Split('、')[0];
644
+        //                    dModel.F_ProductType = dr["产品代码"].ToString();
645
+        //                    dModel.F_ProductName = dr["产品名称"].ToString();
646
+        //                    dModel.F_Specifications = dr["规格"].ToString();
647
+        //                    dModel.F_ProductDate = dr["生产日期"].ToString();
648
+        //                    dModel.F_Manufacturer = dr["生产厂家"].ToString();
649
+        //                    dModel.F_ProblemCode = dr["问题代码"].ToString();
650
+        //                    dModel.F_QualityProblem = dr["质量问题"].ToString();
651
+        //                    dModel.F_Notifications = dr["通知人"].ToString();
652
+        //                    dModel.F_ReceivingPerson = dr["接听人"].ToString();
653
+        //                    dModel.F_DealResult = dr["落实情况"].ToString();
654
+        //                    dModel.F_Type = 2;
655
+        //                    #endregion
656
+        //                    var res = new BLL.T_Bus_WorkOrder().Add(dModel);
657
+        //                    if (res > 0)
658
+        //                    {
659
+
660
+        //                    }
661
+        //                    else
662
+        //                    {
663
+        //                        msg = msg + "第" + headrow + "行,导入失败<br>";
664
+        //                    }
665
+        //                }
666
+        //                if (string.IsNullOrEmpty(msg))
667
+        //                    return Success("导入成功 ");
668
+        //                else
669
+        //                    return Error(msg);
670
+        //            }
671
+        //        }
672
+        //        return Error("数据源上传失败");
673
+        //    }
674
+        //    return Error("用户登录失败,请重新登录");
675
+        //}
676
+        /// <summary>
677
+        /// 导入excel
678
+        /// </summary>
555 679
         //public ActionResult ExportExcel()
556 680
         //{
557 681
         //    string usercode = CurrentUser.UserData.F_UserCode;

+ 78 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/BusinessController.cs

@@ -10,9 +10,77 @@ using System.Web.Mvc;
10 10
 
11 11
 namespace CallCenterApi.Interface.Controllers.report
12 12
 {
13
+
13 14
   //  [Authority]
14 15
     public class BusinessController : BaseController
15 16
     {
17
+        /// <summary>
18
+        /// 坐席话务量
19
+        /// </summary>
20
+        /// <param name="date"></param>
21
+        /// <returns></returns>
22
+        public ActionResult GetAgentTelCount(string stime, string  endtime)
23
+        {
24
+            string where = " ";
25
+            if (stime == "")
26
+            {
27
+                where += " and datediff(day,BeginTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')<=0 ";
28
+            }
29
+
30
+            else
31
+            {
32
+              
33
+                where += " and datediff(day,BeginTime,'" + stime + "')<=0 ";
34
+            }
35
+            if (endtime == "")
36
+            {
37
+               
38
+                where += " and datediff(day,BeginTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')>=0 ";
39
+            }
40
+            else
41
+            {
42
+                where += " and datediff(day,BeginTime,'" + endtime + "')>=0 ";
43
+            }
44
+          
45
+
46
+            DataTable dtTel = DbHelperSQL.Query(" select * from T_Call_CallRecords where 1=1 " + where).Tables[0];
47
+
48
+            string sql = "SELECT F_UserCode,F_UserName,F_WorkNumber,F_UserId FROM T_Sys_UserAccount where f_seatFlag=1 and F_DeleteFlag=0";
49
+            DataTable dtUser = DbHelperSQL.Query(sql).Tables[0];
50
+
51
+            string[] users = new string[dtUser.Rows.Count];//坐席工号/姓名
52
+            int[] incount = new int[dtUser.Rows.Count];//呼入量
53
+            int[] inconnectcount = new int[dtUser.Rows.Count];//呼入接通量
54
+            int[] outcount = new int[dtUser.Rows.Count];//呼出量
55
+            int[] outconnectcount = new int[dtUser.Rows.Count];//呼出接通量
56
+
57
+            for (int i = 0; i < dtUser.Rows.Count; i++)
58
+            {
59
+                //坐席
60
+                users[i] = "(" + dtUser.Rows[i]["F_UserCode"].ToString() + ")" + dtUser.Rows[i]["F_UserName"].ToString();
61
+                //呼入量
62
+                var inlist = dtTel.Select(" CallType=0 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "' ");
63
+                incount[i] = inlist.Count();
64
+                //呼入接通量
65
+                var inconnectlist = dtTel.Select(" CallType=0 and CallState=1 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "' ");
66
+                inconnectcount[i] = inconnectlist.Count();
67
+                //呼出量
68
+                var outlist = dtTel.Select(" CallType=1 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "' ");
69
+                outcount[i] = outlist.Count();
70
+                //呼出接通量
71
+                var outconnectlist = dtTel.Select(" CallType=1 and CallState=1 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "' ");
72
+                outconnectcount[i] = outconnectlist.Count();
73
+            }
74
+            var obj = new
75
+            {
76
+                users,
77
+                incount,
78
+                inconnectcount,
79
+                outcount,
80
+                outconnectcount
81
+            };
82
+            return Success("获取坐席话务量", obj);
83
+        }
16 84
         public class Telephone
17 85
         {
18 86
             public List<Proportion> type;//诉求占比占比
@@ -114,6 +182,7 @@ namespace CallCenterApi.Interface.Controllers.report
114 182
             totalDate.traffic = 0;
115 183
             foreach (var it in CallRecords)
116 184
             {
185
+                if(it.LongTime!=null )
117 186
                 t +=(int ) it.LongTime;
118 187
                 if (it.CallState == 1)
119 188
                     totalDate.connection++;
@@ -503,7 +572,15 @@ namespace CallCenterApi.Interface.Controllers.report
503 572
                 time =DateTime .Parse ( datetime.ToString ());
504 573
             }
505 574
             Timeslot timeslot = GetTimeslot(time.Month );
506
-            int days = System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(time.Year, time.Month-1);//获取天数
575
+            int days = 30;
576
+            if (time.Month ==1)
577
+            {
578
+                days = 31;
579
+            }
580
+            else
581
+            {
582
+                 days = System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(time.Year, time.Month - 1);//获取天数
583
+            }
507 584
             DateTime lastmonth= time.AddMonths(-1);
508 585
             sql += " and F_CreateTime>='" + lastmonth.ToString ("yyyy-MM") +"-28" + " 00:00:00' ";
509 586
             sql += " and F_CreateTime<='" + time.ToString("yyyy-MM") + "-27" + " 23:59:59' ";

+ 4 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/YearContrastController.cs

@@ -112,10 +112,10 @@ namespace CallCenterApi.Interface.Controllers.report
112 112
                 DataColumn dc1 = new DataColumn("月份", Type.GetType("System.String"));
113 113
                 DataColumn dc2 = new DataColumn(beginyear + "年客户呼叫数", Type.GetType("System.String"));
114 114
                 DataColumn dc3 = new DataColumn(beginyear + "年坐席接听数", Type.GetType("System.String"));
115
-                DataColumn dc4 = new DataColumn(beginyear + "年坐席接听率", Type.GetType("System.String"));
115
+                DataColumn dc4 = new DataColumn(beginyear + "年接听率", Type.GetType("System.String"));
116 116
                 DataColumn dc5 = new DataColumn(endyear + "年客户呼叫数", Type.GetType("System.String"));
117 117
                 DataColumn dc6 = new DataColumn(endyear + "年坐席接听数", Type.GetType("System.String"));
118
-                DataColumn dc7 = new DataColumn(endyear + "年坐席接听率", Type.GetType("System.String"));
118
+                DataColumn dc7 = new DataColumn(endyear + "年接听率", Type.GetType("System.String"));
119 119
 
120 120
                 dtNew.Columns.Add(dc1);
121 121
                 dtNew.Columns.Add(dc2);
@@ -139,10 +139,10 @@ namespace CallCenterApi.Interface.Controllers.report
139 139
                     drNew["月份"] = (i + 1).ToString() + "月";
140 140
                     drNew[beginyear + "年客户呼叫数"] = bkhcall[i];
141 141
                     drNew[beginyear + "年坐席接听数"] = bzxjt[i];
142
-                    drNew[beginyear + "年坐席接听率"] = bjtl[i];
142
+                    drNew[beginyear + "年接听率"] = bjtl[i];
143 143
                     drNew[endyear + "年客户呼叫数"] = ekhcall[i];
144 144
                     drNew[endyear + "年坐席接听数"] = ezxjt[i];
145
-                    drNew[endyear + "年坐席接听率"] = ejtl[i];
145
+                    drNew[endyear + "年接听率"] = ejtl[i];
146 146
                     dtNew.Rows.Add(drNew);
147 147
                 }
148 148
             }

+ 0 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/ZuoXiWorkTotalController.cs

@@ -74,7 +74,6 @@ namespace CallCenterApi.Interface.Controllers.report
74 74
         {
75 75
             DataTable dtNew = new DataTable();
76 76
             #region
77
-            DataColumn dc1 = new DataColumn("部门");
78 77
             DataColumn dc2 = new DataColumn("坐席");
79 78
             DataColumn dc3 = new DataColumn("坐席工号");
80 79
             DataColumn dc4 = new DataColumn("呼入电话数");
@@ -99,7 +98,6 @@ namespace CallCenterApi.Interface.Controllers.report
99 98
             DataColumn dc25 = new DataColumn("置忙平均休息分钟数");
100 99
            // DataColumn dc26 = new DataColumn("质检平均成绩");
101 100
 
102
-            dtNew.Columns.Add(dc1);
103 101
             dtNew.Columns.Add(dc2);
104 102
             dtNew.Columns.Add(dc3);
105 103
             dtNew.Columns.Add(dc4);

+ 5 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallInScreenController.cs

@@ -91,8 +91,8 @@ namespace CallCenterApi.Interface.Controllers.tel
91 91
         public ActionResult DelBlack()
92 92
         {
93 93
             
94
-            if (Request.IsAuthenticated)
95
-            {
94
+            //if (Request.IsAuthenticated)
95
+            //{
96 96
 
97 97
                 string tel = HttpUtility.UrlDecode(RequestString.GetQueryString("tel"));
98 98
                 Model.T_Call_Blacklist dModel = new BLL.T_Call_Blacklist().GetModelList(" F_TelPhone='" + tel + "' ").FirstOrDefault();
@@ -105,9 +105,10 @@ namespace CallCenterApi.Interface.Controllers.tel
105 105
                         return Success("取消成功");
106 106
                     }
107 107
                 }
108
+                return Success("找不到此记录");
108 109
 
109
-            }
110
-            return NoToken("未知错误,请重新登录");
110
+            //  }
111
+            //  return NoToken("未知错误,请重新登录");
111 112
         }
112 113
 
113 114
         /// <summary>

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallblackController.cs

@@ -31,7 +31,7 @@ namespace CallCenterApi.Interface.Controllers.tel
31 31
 
32 32
                 if (strtelnum != null && strtelnum.Trim() != "")
33 33
                 {
34
-                    sql += " and F_TelPhone= '" + strtelnum.Trim() + "' ";
34
+                    sql += " and F_TelPhone like '%" + strtelnum.Trim() + "%'";
35 35
                 }
36 36
                 if (strsettime.Trim() != "" && strsettime != "undefined")
37 37
                 {

+ 3 - 3
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallrecordsController.cs

@@ -484,7 +484,7 @@ namespace CallCenterApi.Interface.Controllers.tel
484 484
                 }
485 485
 
486 486
                 dt = new BLL.T_Call_CallRecords().GetListExpt(sql).Tables[0];
487
-
487
+               
488 488
                 NPOIHelper npoi = new NPOIHelper();
489 489
                 if (npoi.ExportToExcel("通话记录数据", dt, col()) == "")
490 490
                 {
@@ -494,7 +494,7 @@ namespace CallCenterApi.Interface.Controllers.tel
494 494
                 {
495 495
                     return Error("导出失败");
496 496
                 }
497
-
497
+            //    Model.T_Call_CallRecords
498 498
             }
499 499
             return NoToken("未知错误,请重新登录");
500 500
         }
@@ -506,7 +506,7 @@ namespace CallCenterApi.Interface.Controllers.tel
506 506
         private string[] col()
507 507
         {
508 508
             string[] ccc = {
509
-                   "客户姓名","来电单位","电话号码","录音","呼叫方向","处理方式","部门","呼叫状态","坐席工号","坐席姓名",
509
+                   "客户姓名","电话号码","录音","呼叫方向","处理方式","部门","呼叫状态","坐席工号","坐席姓名",
510 510
                   "开始时间","通话开始时间","通话结束时间","通话时长"
511 511
             };
512 512
             return ccc;

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/MobiledataController.cs

@@ -28,7 +28,7 @@ namespace CallCenterApi.Interface.Controllers.tel
28 28
 
29 29
                 if (strtelnum != null && strtelnum.Trim() != "")
30 30
                 {
31
-                    sql += " and (F_MobileNum= '" + strtelnum.Trim() + "' or F_ZipCode like '%" + strtelnum.Trim()
31
+                    sql += " and (F_MobileNum  like '%" + strtelnum.Trim() + "%' or F_ZipCode like '%" + strtelnum.Trim()
32 32
                         + "%' or F_CityDes like '%" + strtelnum.Trim() + "%'or F_CardDes like '%" + strtelnum.Trim() + "%')";
33 33
                 }
34 34
 

+ 127 - 9
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -193,6 +193,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
193 193
                 }
194 194
                 #endregion
195 195
                 string str = "";
196
+                string sql1 = "";
196 197
                 if (!string.IsNullOrEmpty(starttime))
197 198
                 {
198 199
                     str = DateTime.Parse(starttime).ToString("yyyy年MM月dd日") + "至" +
@@ -200,20 +201,23 @@ namespace CallCenterApi.Interface.Controllers.workorder
200 201
                 }
201 202
                 else if (istime == 0)
202 203
                 {
203
-                    sql +=  " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')<=0 ";
204
-                    sql += " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')>=0   ";
204
+                    sql1 +=  " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')<=0 ";
205
+                    sql1 += " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')>=0   ";
205 206
                     str = DateTime.Now.ToString("yyyy年MM月dd日") + "消费者重复投诉表";
206 207
                 }
207 208
                 else if (istime> 0 )
208 209
                 {
209
-                    sql +=  " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM")
210
+                    sql1 +=  " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM")
210 211
                       +  "-01"+ "')<=0 ";
211
-                    sql += " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')>=0   ";
212
+                    sql1 += " and datediff(day,F_CreateTime,'" + DateTime.Now.ToString("yyyy-MM-dd") + "')>=0   ";
212 213
                         str = DateTime.Now.ToString("yyyy年MM月") + "消费者重复投诉表";
213 214
                 }
215
+
216
+
217
+
214 218
                 if (isdc ==1)
215 219
                 {
216
-                    var depts = new BLL.T_Bus_WorkOrder().GetModelList(sql);
220
+                    var depts = new BLL.T_Bus_WorkOrder().GetModelList(sql+ sql1+ "order by F_Id desc");
217 221
                     #region 
218 222
                     dt.Columns.Add("序号");
219 223
                     dt.Columns.Add("姓名");
@@ -266,7 +270,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
266 270
                 }
267 271
                 else  if (isdc == 2)
268 272
                 {
269
-                    var depts = new BLL.T_Bus_WorkOrder().GetModelList(sql);
273
+                    var depts = new BLL.T_Bus_WorkOrder().GetModelList(sql+ "order by F_Id desc");
270 274
                     #region 
271 275
                     dt.Columns.Add("工单编号");
272 276
                     dt.Columns.Add("大区");
@@ -322,7 +326,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
322 326
                                 drNew["办事处"]  = "";
323 327
                             }
324 328
                         }
325
-                        drNew["投诉时间"] = DateTime.Parse(it.F_CreateTime.ToString()).ToString("dd日hh时mm分");//
329
+                        drNew["投诉时间"] = DateTime.Parse(it.F_CreateTime.ToString()).ToString("dd日HH时mm分");//
326 330
                         drNew["序号"] = it.F_SerialNumber;//
327 331
                         drNew["姓名"] = it.F_CusName;//姓名
328 332
                         drNew["地址"] = it.F_AddRess;//地址
@@ -336,7 +340,24 @@ namespace CallCenterApi.Interface.Controllers.workorder
336 340
                         drNew["问题代码"] = it.F_ProblemCode;
337 341
                         drNew["质量问题"] = it.F_QualityProblem;
338 342
                         drNew["通知人"] = it.F_Notifications;
343
+                        if (!string .IsNullOrEmpty (it.F_Notifications))
344
+                        {
345
+                            var user = new BLL.T_Sys_UserAccount().GetModel(it.F_Notifications);
346
+                            if (user!=null )
347
+                            {
348
+                                drNew["通知人"] = user.F_UserName ;
349
+                            }
350
+                           
351
+                        }
339 352
                         drNew["接听人"] = it.F_ReceivingPerson;
353
+                        if (!string.IsNullOrEmpty(it.F_ReceivingPerson))
354
+                        {
355
+                            var user = new BLL.T_Sys_UserAccount().GetModel(it.F_ReceivingPerson);
356
+                            if (user != null)
357
+                            {
358
+                                drNew["接听人"] = user.F_UserName;
359
+                            }
360
+                        }
340 361
                         drNew["落实情况"] = it.F_DealResult;
341 362
                         if (it.F_State == 0)
342 363
                             drNew["处理进度"] = "待提交";
@@ -508,7 +529,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
508 529
                         model.F_OfficName = it.F_Office;
509 530
                     }
510 531
                 }
511
-                model.F_CreateTime = DateTime .Parse (it.F_CreateTime.ToString ()).ToString ("dd日hh时mm分")  ;//投诉时间
532
+                model.F_CreateTime = DateTime .Parse (it.F_CreateTime.ToString ()).ToString ("dd日HH时mm分")  ;//投诉时间
512 533
                 model.F_DealTimely = it.F_DealTimely;//重要级别
513 534
                 model.F_Reason = it.F_Reason;//重要级别原因
514 535
                 model.F_SerialNumber = it.F_SerialNumber;//序号
@@ -523,9 +544,26 @@ namespace CallCenterApi.Interface.Controllers.workorder
523 544
                 model.F_Manufacturer = it.F_Manufacturer;//生产厂家
524 545
                 model.F_ProblemCode = it.F_ProblemCode;//问题代码
525 546
                 model.F_QualityProblem = it.F_QualityProblem;//质量问题
547
+
526 548
                 model.F_Notifications = it.F_Notifications;//通知人
549
+                if (!string .IsNullOrEmpty (it.F_Notifications))
550
+                {
551
+                    var user = new BLL.T_Sys_UserAccount().GetModel(it.F_Notifications);
552
+                    if (user !=null )
553
+                    {
554
+                        model.F_Notifications = user.F_UserName;
555
+                    }
556
+                }
527 557
                 model.F_ReceivingPerson = it.F_ReceivingPerson;//接听人
528
-          //      model.F_ImplementationSituation = it.F_ImplementationSituation;//落实情况
558
+                if (!string.IsNullOrEmpty(it.F_ReceivingPerson))
559
+                {
560
+                    var user = new BLL.T_Sys_UserAccount().GetModel(it.F_ReceivingPerson);
561
+                    if (user != null)
562
+                    {
563
+                        model.F_ReceivingPerson = user.F_UserName;
564
+                    }
565
+                }
566
+                //      model.F_ImplementationSituation = it.F_ImplementationSituation;//落实情况
529 567
                 model.F_State = it.F_State;//处理进度0待提交、1待查收、2待分派、3待接收、4处理中、10已完成
530 568
                 model.F_Duplicate = it.F_Duplicate;//重复工单0未重复1重复
531 569
                 model.F_Content = it.F_Content;//备注
@@ -538,6 +576,86 @@ namespace CallCenterApi.Interface.Controllers.workorder
538 576
 
539 577
             return Input;
540 578
         }
579
+        /// <summary>
580
+        /// 注解
581
+        /// </summary>
582
+        /// <param name="orderid"></param>
583
+        /// <param name="cont"></param>
584
+        /// <returns></returns>
585
+        public ActionResult Annotation(int orderid, string cont)
586
+        {
587
+            int userId = CurrentUser.UserData.F_UserId;
588
+            if (userId != 0)
589
+            {
590
+                Model.T_Sys_UserAccount ua = userBLL .GetModel(userId);
591
+                if (ua != null)
592
+                {
593
+                    Model.T_Bus_WorkOrder  model = workorderBLL .GetModel(orderid);
594
+                    //验证信息 
595
+                    if (model != null)
596
+                    {
597
+                        if (string.IsNullOrEmpty(model.F_Content))
598
+                        {
599
+                            model.F_Content = cont;
600
+                        }
601
+                        else
602
+                        {
603
+                            model.F_Content = model.F_Content + "。" + cont;
604
+                        }
605
+                        var res = workorderBLL.Update(model);
606
+                        if (res)
607
+                            return Success("备注成功");
608
+                        else
609
+                            return Error("备注失败!");
610
+                    }
611
+                    return Error("工单不存在");
612
+                }
613
+            }
614
+            return Error("无操作权限");
615
+        }
616
+        /// <summary>
617
+        /// 注解
618
+        /// </summary>
619
+        /// <param name="orderid"></param>
620
+        /// <param name="cont"></param>
621
+        /// <returns></returns>
622
+        public ActionResult Repeat(int orderid, int  isbj=0)
623
+        {
624
+            int userId = CurrentUser.UserData.F_UserId;
625
+            if (userId != 0)
626
+            {
627
+                Model.T_Sys_UserAccount ua = userBLL.GetModel(userId);
628
+                if (ua != null)
629
+                {
630
+                    Model.T_Bus_WorkOrder model = workorderBLL.GetModel(orderid);
631
+                  string   deptname = "";
632
+                    var dement = new BLL.T_Sys_Department().GetModel(ua.F_DeptId);
633
+                    if (dement!=null )
634
+                    {
635
+                        deptname = dement.F_DeptName;
636
+                    }
637
+                    //验证信息 
638
+                    if (model != null)
639
+                    {
640
+                        if (isbj==1)
641
+                        {
642
+                            model.F_Duplicate = 1;
643
+                        }
644
+                        var res = workorderBLL.Update(model);
645
+                        if (res)
646
+                        {
647
+                            AddLog(model.F_Id, (int)model.F_State , deptname + ua.F_UserName + "标记重复工单", 0, 0, "",0 ,ua,1);
648
+                            return Success("标记重复成功");
649
+                        }
650
+                          
651
+                        else
652
+                            return Error("标记重复失败!");
653
+                    }
654
+                    return Error("工单不存在");
655
+                }
656
+            }
657
+            return Error("无操作权限");
658
+        }
541 659
         private string RetuSql(Model.T_Sys_RoleInfo ro, int see, Model.T_Sys_UserAccount ua)
542 660
         {
543 661
             string sql = "";

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkorderAppController.cs

@@ -554,7 +554,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
554 554
                         model.F_OfficName = it.F_Office;
555 555
                     }
556 556
                 }
557
-                model.F_CreateTime = model.F_CreateTime = DateTime.Parse(it.F_CreateTime.ToString()).ToString("dd日hh时mm分");//投诉时间
557
+                model.F_CreateTime = model.F_CreateTime = DateTime.Parse(it.F_CreateTime.ToString()).ToString("dd日HH时mm分");//投诉时间
558 558
                 model.F_DealTimely = it.F_DealTimely;//重要级别
559 559
                 model .F_Reason = it.F_Reason;//重要级别原因
560 560
                 model.F_SerialNumber = it.F_SerialNumber;//序号

+ 7 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Global.asax.cs

@@ -66,7 +66,7 @@ namespace CallCenterApi.Interface
66 66
                 }
67 67
             }
68 68
         }
69
-        private void SendSMS(Model .T_Wo_WorkOrderItem_New modellast)
69
+        private bool  SendSMS(Model .T_Wo_WorkOrderItem_New modellast)
70 70
         {
71 71
             if (!string.IsNullOrEmpty(modellast.F_NextUser))
72 72
             {
@@ -77,13 +77,16 @@ namespace CallCenterApi.Interface
77 77
                     {
78 78
                         string msg = "你有新的工单,请及时处理";
79 79
                         Dictionary<string, string> paras = new Dictionary<string, string>();
80
-                        paras.Add("@tel", usercount.F_Mobile);
81
-                        paras.Add("@content", msg);
82
-                        paras.Add("@sort", "0");
80
+                        paras.Add("@JSHM", usercount.F_Mobile);
81
+                        paras.Add("@DXNR", msg);
82
+                        paras.Add("@Return", "0");
83 83
                         var par = RunProcedure("sp_SmsSend", paras, "sp_SmsSend");
84
+                        if (par != null)
85
+                            return true;
84 86
                     }
85 87
                 }
86 88
             }
89
+            return false;
87 90
         }
88 91
         public static string connectionString = ConfigurationManager.ConnectionStrings["connectionSMS"].ConnectionString;
89 92
         /// <summary>