Просмотр исходного кода

1、长呼入次数 与 坐席工作报表 呼入电话数 数值不统一 修改(原因是一个是根据工号查询,一个是工号姓名【由于可能工号不变,会修改姓名】);2、来电单位关键字 下拉卡死优化(获取前200条)

lihai лет назад: 7
Родитель
Сommit
88ce068d31

+ 3 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Configs/system.config

23
   <add key="WechatAppid" value="wx957c2297c315e6a5" />
23
   <add key="WechatAppid" value="wx957c2297c315e6a5" />
24
   <!-- 设置微信appsecret -->
24
   <!-- 设置微信appsecret -->
25
   <add key="WechatAppsecret" value="6c2d1f9fd32f906c315f03398800d474" />
25
   <add key="WechatAppsecret" value="6c2d1f9fd32f906c315f03398800d474" />
26
+  <!-- ================== 4:来电单位关键字参数 ================== -->
27
+  <!-- 来点单位 查询每个表top记录数(工单表,客户档案表),包括重复关键字 -->
28
+  <add key="CallUnitNum" value="200" />
26
 </appSettings>
29
 </appSettings>

+ 70 - 9
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerController.cs

20
     //[Authority]
20
     //[Authority]
21
     public class CustomerController : BaseController
21
     public class CustomerController : BaseController
22
     {
22
     {
23
+        BLL.T_Wo_WorkOrder bllWo = new BLL.T_Wo_WorkOrder();
24
+        BLL.T_Cus_CustomerBase bllCus = new BLL.T_Cus_CustomerBase();
25
+
26
+        public int CallUnitNum = Convert.ToInt32(Configs.GetValue("CallUnitNum"));
23
         /// <summary>
27
         /// <summary>
24
         /// 获取客户列表
28
         /// 获取客户列表
25
         /// </summary>
29
         /// </summary>
262
                             }
266
                             }
263
                         }
267
                         }
264
                     }
268
                     }
265
-                    List<string> lddep = new BLL.T_Cus_CustomerBase().GetLDdep();
266
-                    var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
267
-                    var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
269
+                    //List<string> lddep = new BLL.T_Cus_CustomerBase().GetLDdep();
270
+                    //var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
271
+                    //var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
272
+
273
+                    var lddep = GetLDdep();//从客户信息查找
274
+                    var listWo = bllWo.GetList(CallUnitNum, "1=1", " CreateTime DESC ");
275
+                    var gdlddep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
276
+                    var gdfkdep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
268
                     foreach (var item in gdlddep)
277
                     foreach (var item in gdlddep)
269
                     {
278
                     {
270
                         if (!lddep.Contains(item))
279
                         if (!lddep.Contains(item))
275
                         if (!lddep.Contains(item))
284
                         if (!lddep.Contains(item))
276
                             lddep.Add(item);
285
                             lddep.Add(item);
277
                     }
286
                     }
287
+                    List<string> lddepResult = lddep.Distinct().ToList();
278
                     CacheHelper.Insert("LDDep", lddep);
288
                     CacheHelper.Insert("LDDep", lddep);
279
                 }
289
                 }
280
                 return Error("参数错误");
290
                 return Error("参数错误");
309
                         if (DbHelperSQL.ExecuteSql(sql) > 0)
319
                         if (DbHelperSQL.ExecuteSql(sql) > 0)
310
                         {
320
                         {
311
                             res = Success("设置成功");
321
                             res = Success("设置成功");
312
-                            List<string> lddep = new BLL.T_Cus_CustomerBase().GetLDdep();
313
-                            var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
314
-                            var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
322
+                            //List<string> lddep = new BLL.T_Cus_CustomerBase().GetLDdep();
323
+                            //var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
324
+                            //var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
325
+
326
+                            var lddep = GetLDdep();//从客户信息查找
327
+                            var listWo = bllWo.GetList(CallUnitNum, "1=1", " CreateTime DESC ");
328
+                            var gdlddep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
329
+                            var gdfkdep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
315
                             foreach (var item in gdlddep)
330
                             foreach (var item in gdlddep)
316
                             {
331
                             {
317
                                 if (!lddep.Contains(item))
332
                                 if (!lddep.Contains(item))
322
                                 if (!lddep.Contains(item))
337
                                 if (!lddep.Contains(item))
323
                                     lddep.Add(item);
338
                                     lddep.Add(item);
324
                             }
339
                             }
340
+
341
+                            List<string> lddepResult = lddep.Distinct().ToList();
325
                             CacheHelper.Insert("LDDep", lddep);
342
                             CacheHelper.Insert("LDDep", lddep);
326
                         }
343
                         }
327
                         else
344
                         else
377
                 }
394
                 }
378
                 else
395
                 else
379
                 {
396
                 {
380
-                    lddep = new BLL.T_Cus_CustomerBase().GetLDdep();//从客户信息查找
381
-                    var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
382
-                    var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
397
+                    //lddep = new BLL.T_Cus_CustomerBase().GetLDdep();//从客户信息查找
398
+                    //var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
399
+                    //var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
400
+
401
+                    lddep = GetLDdep();//从客户信息查找
402
+                    var listWo = bllWo.GetList(CallUnitNum, "1=1", " CreateTime DESC ");                     
403
+                    var gdlddep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
404
+                    var gdfkdep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
405
+
383
                     foreach (var item in gdlddep)
406
                     foreach (var item in gdlddep)
384
                     {
407
                     {
385
                         if (!lddep.Contains(item))
408
                         if (!lddep.Contains(item))
406
 
429
 
407
                             //}
430
                             //}
408
                         }
431
                         }
432
+                        //lddep = lddep.OrderBy(x=>x.cre);
433
+                        List<string> lddepResult = lddep.Distinct().ToList();
434
+                        CacheHelper.Insert("LDDep", lddepResult);
409
                         var obj = new
435
                         var obj = new
410
                         {
436
                         {
411
                             dep = resdep
437
                             dep = resdep
418
             }
444
             }
419
             return res;
445
             return res;
420
         }
446
         }
447
+
448
+        /// <summary>
449
+        /// 获取来电单位
450
+        /// </summary>
451
+        /// <returns></returns>
452
+        public List<string> GetLDdep()
453
+        {
454
+            List<string> resdep = new List<string>();
455
+            List<string> lddep = new List<string>();
456
+            var listCus = bllCus.GetList(CallUnitNum, "1=1", " F_CreatedOn DESC ");
457
+            var gdlddep = bllCus.DataTableToList(listCus.Tables[0]).Select(p => p.F_CustomerIndustry).Distinct().ToList();//从工单来电单位中加载
458
+            var gdfkdep = bllCus.DataTableToList(listCus.Tables[0]).Select(p => p.F_RelationShipClass).Distinct().ToList();//从工单反馈单位中加载
459
+            foreach (var item in gdlddep)
460
+            {
461
+                if (!lddep.Contains(item))
462
+                    lddep.Add(item);
463
+            }
464
+            foreach (var item in gdfkdep)
465
+            {
466
+                if (!lddep.Contains(item))
467
+                    lddep.Add(item);
468
+            }
469
+            if (lddep != null && lddep.Count > 0)
470
+            {
471
+                foreach (string dep in lddep)
472
+                {
473
+                    if (!Utils.IsNumeric(dep))
474
+                    {
475
+                        resdep.Add(dep);
476
+                    }
477
+                }
478
+            }
479
+            return resdep;
480
+        }
481
+
421
         /// <summary>
482
         /// <summary>
422
         /// 判断来电单位是否存在。不存在才可以
483
         /// 判断来电单位是否存在。不存在才可以
423
         /// </summary>
484
         /// </summary>

+ 5 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TalkTimeController.cs

316
             //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
316
             //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
317
             //var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount from T_Sys_UserAccount users right join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
317
             //var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount from T_Sys_UserAccount users right join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
318
             //20180509 通话时长统计不对  machenyang
318
             //20180509 通话时长统计不对  machenyang
319
-            var recordstr = " select records.UserCode,records.UserId,records.UserName,COUNT(*) from T_Call_CallRecords records where 1=1 " + sql + "  and UserCode is not null group by records.UserCode,records.UserId,records.UserName";
319
+            //20180509 通话时长呼入次数 与 坐席工作报表 呼入电话数 数值不统一 修改(原因是一个是根据工号查询,一个是工号姓名【由于可能工号不变,会修改姓名】)  lihai
320
+            //var recordstr = " select records.UserCode,records.UserId,records.UserName,COUNT(*) from T_Call_CallRecords records where 1=1 " + sql + "  and UserCode is not null group by records.UserCode,records.UserId,records.UserName";
321
+            var recordstr = " select records.UserCode,COUNT(*) from T_Call_CallRecords records where 1=1 " + sql + "  and UserCode is not null group by records.UserCode";
320
             DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
322
             DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
321
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
323
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
322
 
324
 
329
 
331
 
330
                 if (drUser != null)
332
                 if (drUser != null)
331
                 {
333
                 {
332
-                    myDictionary[item.F_UserCode] += int.Parse(drUser[3].ToString());
334
+                    myDictionary[item.F_UserCode] += int.Parse(drUser[1].ToString());
335
+                    //myDictionary[item.F_UserCode] += int.Parse(drUser[3].ToString());
333
                 }
336
                 }
334
             }
337
             }
335
 
338
 

+ 15 - 3
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallInScreenController.cs

2
 using CallCenterApi.Common;
2
 using CallCenterApi.Common;
3
 using CallCenterApi.DB;
3
 using CallCenterApi.DB;
4
 using CallCenterApi.Interface.Controllers.Base;
4
 using CallCenterApi.Interface.Controllers.Base;
5
+using CallCenterApi.Interface.Controllers.customer;
5
 using System;
6
 using System;
6
 using System.Collections.Generic;
7
 using System.Collections.Generic;
7
 using System.Data;
8
 using System.Data;
14
 {
15
 {
15
     public class CallInScreenController : BaseController
16
     public class CallInScreenController : BaseController
16
     {
17
     {
18
+        BLL.T_Wo_WorkOrder bllWo = new BLL.T_Wo_WorkOrder();
19
+        BLL.T_Cus_CustomerBase bllCus = new BLL.T_Cus_CustomerBase();
17
         /// <summary>
20
         /// <summary>
18
         /// 添加黑名单
21
         /// 添加黑名单
19
         /// </summary>
22
         /// </summary>
803
                                     lddep_cache.Add(lddep);
806
                                     lddep_cache.Add(lddep);
804
                                 if (!lddep_cache.Contains(fkdep))
807
                                 if (!lddep_cache.Contains(fkdep))
805
                                     lddep_cache.Add(fkdep);
808
                                     lddep_cache.Add(fkdep);
809
+                                List<string> lddepResult = lddep_cache.Distinct().ToList();
806
                                 CacheHelper.Insert("LDDep", lddep_cache);
810
                                 CacheHelper.Insert("LDDep", lddep_cache);
807
                             }
811
                             }
808
                             else
812
                             else
809
                             {
813
                             {
810
-                                lddep_cache = new BLL.T_Cus_CustomerBase().GetLDdep();
811
-                                var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
812
-                                var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
814
+                                //lddep_cache = new BLL.T_Cus_CustomerBase().GetLDdep();
815
+                                //var gdlddep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
816
+                                //var gdfkdep = new BLL.T_Wo_WorkOrder().GetModelList("1=1").Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
817
+
818
+                                CustomerController cusController = new CustomerController();
819
+
820
+                                lddep_cache = cusController.GetLDdep();//从客户信息查找
821
+                                var listWo = bllWo.GetList(cusController.CallUnitNum, "1=1", " CreateTime DESC ");
822
+                                var gdlddep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Address).Distinct().ToList();//从工单来电单位中加载
823
+                                var gdfkdep = bllWo.DataTableToList(listWo.Tables[0]).Select(p => p.Source).Distinct().ToList();//从工单反馈单位中加载
813
                                 foreach (var item in gdlddep)
824
                                 foreach (var item in gdlddep)
814
                                 {
825
                                 {
815
                                     if (!lddep.Contains(item))
826
                                     if (!lddep.Contains(item))
826
                                         lddep_cache.Add(lddep);
837
                                         lddep_cache.Add(lddep);
827
                                     if (!lddep_cache.Contains(fkdep))
838
                                     if (!lddep_cache.Contains(fkdep))
828
                                         lddep_cache.Add(fkdep);
839
                                         lddep_cache.Add(fkdep);
840
+                                    List<string> lddepResult = lddep_cache.Distinct().ToList();
829
                                     CacheHelper.Insert("LDDep", lddep_cache);
841
                                     CacheHelper.Insert("LDDep", lddep_cache);
830
                                 }
842
                                 }
831
                                 else
843
                                 else

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Web.config

17
     <add key="smssign" value="中鑫之宝"/>
17
     <add key="smssign" value="中鑫之宝"/>
18
   </appSettings>
18
   </appSettings>
19
   <connectionStrings>
19
   <connectionStrings>
20
-    <add name="ConnectionString" connectionString="Data Source=192.168.5.8;User ID=sa;pwd=hykj800100;Initial Catalog=CallCenter_Anto_20180820;"/>
20
+    <add name="ConnectionString" connectionString="Data Source=192.168.5.8;User ID=sa;pwd=hykj800100;Initial Catalog=CallCenter_Auto_20180905;"/>
21
 	  <!--<add name="ConnectionString" connectionString="Data Source=192.168.4.18;User ID=sa;pwd=800100;Initial Catalog=CallCenter_Anto;"/>-->
21
 	  <!--<add name="ConnectionString" connectionString="Data Source=192.168.4.18;User ID=sa;pwd=800100;Initial Catalog=CallCenter_Anto;"/>-->
22
     
22
     
23
   </connectionStrings>
23
   </connectionStrings>