Bladeren bron

点击外呼列表展示字段、数据调整
点击外呼导出已接通未接通字段调整
提交呼叫结果、外呼反馈,强制必须填写
任务结果查询字段调整
知识库调整
通话记录数据库操作加锁

yuqian 8 jaren geleden
bovenliggende
commit
38d8795ba5

+ 55 - 1
CallCenterApi/CallCenterApi.BLL/T_Call_TaskTelNum.cs

@@ -437,7 +437,61 @@ namespace CallCenterApi.BLL
437 437
             return modelList;
438 438
         }
439 439
 
440
-
440
+        /// <summary>
441
+        /// 获得数据列表(导出号码)
442
+        /// </summary>
443
+        public List<CallCenterApi.Model.T_Call_TaskTelNum> DataTableToListForExport(DataTable dt)
444
+        {
445
+            List<CallCenterApi.Model.T_Call_TaskTelNum> modelList = new List<CallCenterApi.Model.T_Call_TaskTelNum>();
446
+            int rowsCount = dt.Rows.Count;
447
+            var dtColums = dt.Columns;
448
+            if (rowsCount > 0)
449
+            {
450
+                CallCenterApi.Model.T_Call_TaskTelNum model;
451
+                for (int n = 0; n < rowsCount; n++)
452
+                {
453
+                    model = new CallCenterApi.Model.T_Call_TaskTelNum();
454
+                    if (dtColums.Contains("F_Id"))
455
+                    {
456
+                        model.F_Id = Convert.ToInt32(dt.Rows[n]["F_Id"]);
457
+                    }
458
+                    if (dtColums.Contains("F_Phone"))
459
+                    {
460
+                        model.F_Phone = dt.Rows[n]["F_Phone"] == DBNull.Value ? "" : dt.Rows[n]["F_Phone"].ToString();
461
+                    }
462
+                    if (dtColums.Contains("F_HCState"))
463
+                    {
464
+                        model.F_HCState = dt.Rows[n]["F_HCState"] == DBNull.Value ? 0 : Convert.ToInt32(dt.Rows[n]["F_HCState"].ToString());
465
+                    }
466
+                    if (dtColums.Contains("F_YJState"))
467
+                    {
468
+                        model.F_YJState = dt.Rows[n]["F_YJState"] == DBNull.Value ? 0 : Convert.ToInt32(dt.Rows[n]["F_YJState"].ToString());
469
+                    }
470
+                    if (dtColums.Contains("F_UserId"))
471
+                    {
472
+                        model.F_UserId = dt.Rows[n]["F_UserId"] == DBNull.Value ? 0 : Convert.ToInt32(dt.Rows[n]["F_UserId"]);
473
+                    }
474
+                    if (dtColums.Contains("F_FPState"))
475
+                    {
476
+                        model.F_FPState = dt.Rows[n]["F_FPState"] == DBNull.Value ? 0 : Convert.ToInt32(dt.Rows[n]["F_FPState"].ToString());
477
+                    }
478
+                    if (dtColums.Contains("F_Username"))
479
+                    {
480
+                        model.F_UserName = dt.Rows[n]["F_Username"] == DBNull.Value ? "" : dt.Rows[n]["F_Username"].ToString();
481
+                    }
482
+                    if (dtColums.Contains("F_CreateTime"))
483
+                    {
484
+                        model.F_CreateTime = dt.Rows[n]["F_CreateTime"] == DBNull.Value ? (DateTime?)null : DateTime.Parse(dt.Rows[n]["F_CreateTime"].ToString());
485
+                    }
486
+                    if (dtColums.Contains("F_LastCallTime"))
487
+                    {
488
+                        model.F_LastCallTime = dt.Rows[n]["F_LastCallTime"] == DBNull.Value ? (DateTime?)null : DateTime.Parse(dt.Rows[n]["F_LastCallTime"].ToString());
489
+                    }
490
+                    modelList.Add(model);
491
+                }
492
+            }
493
+            return modelList;
494
+        }
441 495
         /// <summary>
442 496
         /// 获得数据列表
443 497
         /// </summary>

File diff suppressed because it is too large
+ 341 - 313
CallCenterApi/CallCenterApi.DAL/T_Call_CallRecords.cs


+ 1 - 1
CallCenterApi/CallCenterApi.DAL/T_Call_TaskTelNum.cs

@@ -882,7 +882,7 @@ namespace CallCenterApi.DAL
882 882
         public DataSet GetPhoneList(string strWhere)
883 883
         {
884 884
             StringBuilder strSql = new StringBuilder();
885
-            strSql.Append("select F_Phone ");
885
+            strSql.Append("select F_Id,F_Phone,F_FPState,F_HCState,F_YJState,F_UserId,F_CreateTime, F_LastCallTime ");
886 886
             strSql.Append(" FROM T_Call_TaskTelNum ");
887 887
             if (strWhere.Trim() != "")
888 888
             {

+ 36 - 7
CallCenterApi/CallCenterApi.DAL/T_RepositoryInformation.cs

@@ -50,9 +50,9 @@ namespace CallCenterApi.DAL
50 50
         {
51 51
             StringBuilder strSql = new StringBuilder();
52 52
             strSql.Append("insert into T_RepositoryInformation(");
53
-            strSql.Append("F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag)");
53
+            strSql.Append("F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag,F_CanLastLong,F_StartTime,F_EndTime)");
54 54
             strSql.Append(" values (");
55
-            strSql.Append("@F_CategoryId,@F_CustomerId,@F_CustomerName,@F_ManId,@F_ManName,@F_Title,@F_Content,@F_Description,@F_Comments,@F_Url,@F_KeyWords,@F_Expand1,@F_Expand2,@F_IntExpand1,@F_CreateOn,@F_CreateBy,@F_CreateName,@F_ModifyOn,@F_ModifyBy,@F_ModifyName,@F_DeleteFlag)");
55
+            strSql.Append("@F_CategoryId,@F_CustomerId,@F_CustomerName,@F_ManId,@F_ManName,@F_Title,@F_Content,@F_Description,@F_Comments,@F_Url,@F_KeyWords,@F_Expand1,@F_Expand2,@F_IntExpand1,@F_CreateOn,@F_CreateBy,@F_CreateName,@F_ModifyOn,@F_ModifyBy,@F_ModifyName,@F_DeleteFlag,@F_CanLastLong,@F_StartTime,@F_EndTime)");
56 56
             strSql.Append(";select @@IDENTITY");
57 57
             SqlParameter[] parameters = {
58 58
                     new SqlParameter("@F_CategoryId", SqlDbType.Int,4),
@@ -75,7 +75,13 @@ namespace CallCenterApi.DAL
75 75
                     new SqlParameter("@F_ModifyOn", SqlDbType.DateTime),
76 76
                     new SqlParameter("@F_ModifyBy", SqlDbType.Int,4),
77 77
                     new SqlParameter("@F_ModifyName", SqlDbType.NVarChar,200),
78
-                    new SqlParameter("@F_DeleteFlag", SqlDbType.SmallInt,2)};
78
+                    new SqlParameter("@F_DeleteFlag", SqlDbType.SmallInt,2),
79
+                    new SqlParameter("@F_CanLastLong", SqlDbType.Int),
80
+                    new SqlParameter("@F_StartTime", SqlDbType.DateTime),
81
+                    new SqlParameter("@F_EndTime", SqlDbType.DateTime)
82
+
83
+
84
+            };
79 85
             parameters[0].Value = model.F_CategoryId;
80 86
             parameters[1].Value = model.F_CustomerId;
81 87
             parameters[2].Value = model.F_CustomerName;
@@ -97,6 +103,10 @@ namespace CallCenterApi.DAL
97 103
             parameters[18].Value = model.F_ModifyBy;
98 104
             parameters[19].Value = model.F_ModifyName;
99 105
             parameters[20].Value = model.F_DeleteFlag;
106
+            parameters[21].Value = model.F_CanLastLong;
107
+            parameters[22].Value = model.F_StartTime;
108
+            parameters[23].Value = model.F_EndTime;
109
+
100 110
 
101 111
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
102 112
             if (obj == null)
@@ -159,6 +169,9 @@ namespace CallCenterApi.DAL
159 169
                     new SqlParameter("@F_ModifyBy", SqlDbType.Int,4),
160 170
                     new SqlParameter("@F_ModifyName", SqlDbType.NVarChar,200),
161 171
                     new SqlParameter("@F_DeleteFlag", SqlDbType.SmallInt,2),
172
+                    new SqlParameter("@F_CanLastLong", SqlDbType.Int),
173
+                    new SqlParameter("@F_StartTime", SqlDbType.DateTime),
174
+                    new SqlParameter("@F_EndTime", SqlDbType.DateTime),
162 175
                     new SqlParameter("@F_RepositoryId", SqlDbType.Int,4)};
163 176
             parameters[0].Value = model.F_CategoryId;
164 177
             parameters[1].Value = model.F_CustomerId;
@@ -181,7 +194,10 @@ namespace CallCenterApi.DAL
181 194
             parameters[18].Value = model.F_ModifyBy;
182 195
             parameters[19].Value = model.F_ModifyName;
183 196
             parameters[20].Value = model.F_DeleteFlag;
184
-            parameters[21].Value = model.F_RepositoryId;
197
+            parameters[21].Value = model.F_CanLastLong;
198
+            parameters[22].Value = model.F_StartTime;
199
+            parameters[23].Value = model.F_EndTime;
200
+            parameters[24].Value = model.F_RepositoryId;
185 201
 
186 202
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
187 203
             if (rows > 0)
@@ -247,7 +263,7 @@ namespace CallCenterApi.DAL
247 263
         {
248 264
 
249 265
             StringBuilder strSql = new StringBuilder();
250
-            strSql.Append("select  top 1 F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag from T_RepositoryInformation ");
266
+            strSql.Append("select  top 1 F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag,F_CanLastLong,F_StartTime,F_EndTime from T_RepositoryInformation ");
251 267
             strSql.Append(" where F_RepositoryId=@F_RepositoryId");
252 268
             SqlParameter[] parameters = {
253 269
                     new SqlParameter("@F_RepositoryId", SqlDbType.Int,4)
@@ -363,6 +379,19 @@ namespace CallCenterApi.DAL
363 379
                 {
364 380
                     model.F_DeleteFlag = int.Parse(row["F_DeleteFlag"].ToString());
365 381
                 }
382
+                if (row["F_CanLastLong"] != null && row["F_CanLastLong"].ToString() != "")
383
+                {
384
+                    model.F_CanLastLong = row["F_CanLastLong"] == DBNull.Value ? 0 : int.Parse(row["F_CanLastLong"].ToString());
385
+                }
386
+                if (row["F_StartTime"] != null && row["F_StartTime"].ToString() != "")
387
+                {
388
+                    model.F_StartTime = row["F_StartTime"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(row["F_StartTime"]);
389
+                }
390
+                if (row["F_EndTime"] != null && row["F_EndTime"].ToString() != "")
391
+                {
392
+                    model.F_EndTime = row["F_EndTime"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(row["F_EndTime"]);
393
+                }
394
+
366 395
             }
367 396
             return model;
368 397
         }
@@ -373,7 +402,7 @@ namespace CallCenterApi.DAL
373 402
         public DataSet GetList(string strWhere)
374 403
         {
375 404
             StringBuilder strSql = new StringBuilder();
376
-            strSql.Append("select F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag ");
405
+            strSql.Append("select F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag,F_CanLastLong,F_StartTime,F_EndTime ");
377 406
             strSql.Append(" FROM T_RepositoryInformation ");
378 407
             if (strWhere.Trim() != "")
379 408
             {
@@ -393,7 +422,7 @@ namespace CallCenterApi.DAL
393 422
             {
394 423
                 strSql.Append(" top " + Top.ToString());
395 424
             }
396
-            strSql.Append(" F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag ");
425
+            strSql.Append(" F_RepositoryId,F_CategoryId,F_CustomerId,F_CustomerName,F_ManId,F_ManName,F_Title,F_Content,F_Description,F_Comments,F_Url,F_KeyWords,F_Expand1,F_Expand2,F_IntExpand1,F_CreateOn,F_CreateBy,F_CreateName,F_ModifyOn,F_ModifyBy,F_ModifyName,F_DeleteFlag,F_CanLastLong,F_StartTime,F_EndTime  ");
397 426
             strSql.Append(" FROM T_RepositoryInformation ");
398 427
             if (strWhere.Trim() != "")
399 428
             {

+ 57 - 10
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs

@@ -23,7 +23,7 @@ namespace CallCenterApi.Interface.Controllers.callout
23 23
         private readonly BLL.T_Call_TaskTelNum taskTellNumBLL = new BLL.T_Call_TaskTelNum();
24 24
         private readonly BLL.T_Sys_DictionaryValue dictValueBLL = new BLL.T_Sys_DictionaryValue();
25 25
         private readonly BLL.T_CTI_TaskAgent taskAgentBLL = new BLL.T_CTI_TaskAgent();
26
-        private readonly BLL.T_Sys_UserAccount userAccount = new BLL.T_Sys_UserAccount();
26
+        private readonly BLL.T_Sys_UserAccount userAccountBLL = new BLL.T_Sys_UserAccount();
27 27
         private readonly BLL.T_CTI_TaskRecord taskRecordBLL = new BLL.T_CTI_TaskRecord();
28 28
         private readonly BLL.CallResult callResultBLL = new BLL.CallResult();
29 29
         private readonly BLL.T_CTI_TaskDaily taskDailyBLL = new BLL.T_CTI_TaskDaily();
@@ -85,11 +85,17 @@ namespace CallCenterApi.Interface.Controllers.callout
85 85
             //查询坐席组
86 86
             var agentGroupList = seatGroupBLL.DataTableToList(seatGroupBLL.GetList("").Tables[0]);
87 87
             //查询坐席
88
-            var agentList = userAccount.DataTableToList(userAccount.GetList(" F_DeleteFlag=0 ").Tables[0]);
88
+            var agentList = userAccountBLL.DataTableToList(userAccountBLL.GetList(" F_DeleteFlag=0 ").Tables[0]);
89 89
             //查询部门
90 90
             var deptList = departmentBLL.DataTableToList(departmentBLL.GetList(" F_State=1 ").Tables[0]);
91 91
             foreach (var model in modelList)
92 92
             {
93
+                if (model.TaskID == 154)
94
+                {
95
+
96
+                    var a = 0;
97
+                }
98
+
93 99
                 //计算数据
94 100
                 string calledRate = "0";
95 101
                 var allcount = model.y_HMCount ?? 0;
@@ -182,7 +188,7 @@ namespace CallCenterApi.Interface.Controllers.callout
182 188
             //查询坐席组
183 189
             var agentGroupList = seatGroupBLL.DataTableToList(seatGroupBLL.GetList("").Tables[0]);
184 190
             //查询坐席
185
-            var agentList = userAccount.DataTableToList(userAccount.GetList(" F_DeleteFlag=0 ").Tables[0]);
191
+            var agentList = userAccountBLL.DataTableToList(userAccountBLL.GetList(" F_DeleteFlag=0 ").Tables[0]);
186 192
 
187 193
 
188 194
             var agentGroupStr = model.AgentGroupId == -999 ? "不转坐席" : "";
@@ -742,7 +748,7 @@ namespace CallCenterApi.Interface.Controllers.callout
742 748
         /// <returns></returns>
743 749
         public ActionResult GetPhoneResultHead(FilterCallPhone filter)
744 750
         {
745
-            var headList1 = new List<string>() { "序号", "外呼计划", "号码Id", "号码", "分配坐席", "呼叫状态", "接通状态", "呼叫结果", "结果反馈", "导入时间", "呼出时间" };
751
+            var headList1 = new List<string>() { "号码Id", "外呼计划", "号码", "是否分配", "分配坐席", "呼叫状态", "接通状态", "呼叫结果", "结果反馈", "导入时间", "呼出时间" };
746 752
             //根据任务id查问卷
747 753
             var task = taskBLL.GetModel(filter.Id);
748 754
             if (task == null)
@@ -769,7 +775,7 @@ namespace CallCenterApi.Interface.Controllers.callout
769 775
         /// <returns></returns>
770 776
         public ActionResult GetPhoneResult(FilterCallPhone filter)
771 777
         {
772
-            var headList1 = new List<string>() { "序号", "外呼计划", "号码Id", "号码", "分配坐席", "呼叫状态", "接通状态", "呼叫结果", "结果反馈", "导入时间", "呼出时间" };
778
+            var headList1 = new List<string>() { "号码Id", "外呼计划", "号码", "是否分配", "分配坐席", "呼叫状态", "接通状态", "呼叫结果", "结果反馈", "导入时间", "呼出时间" };
773 779
             //根据任务id查问卷
774 780
             var task = taskBLL.GetModel(filter.Id);
775 781
             if (task == null)
@@ -862,7 +868,7 @@ namespace CallCenterApi.Interface.Controllers.callout
862 868
             {
863 869
                 var answer = answerList.Where(x => (x.F_CusTelID?.ToString() ?? "") == item.id).GroupBy(x => x.F_QID).ToList();
864 870
                 var itemList = new List<string>();
865
-                itemList.AddRange(new string[] { item.id, item.taskname, item.phone, item.agent, item.isallot, item.iscalled, item.isconnected, item.hjjg, item.yhfk, item.createtime, item.lastcalltime });
871
+                itemList.AddRange(new string[] { item.id, item.taskname, item.phone, item.isallot, item.agent, item.iscalled, item.isconnected, item.hjjg, item.yhfk, item.createtime, item.lastcalltime });
866 872
                 if (answer.Count() > 0)
867 873
                 {
868 874
                     foreach (var i in answer)
@@ -1121,9 +1127,15 @@ namespace CallCenterApi.Interface.Controllers.callout
1121 1127
         {
1122 1128
             if (input.Id <= 0)
1123 1129
                 return Error("提交失败,当前号码不存在");
1130
+            if (input.HJJG <= 0)
1131
+                return Error("提交失败,请选择呼叫结果");
1132
+            if (input.YHFK <= 0)
1133
+                return Error("提交失败,请选择用户反馈");
1134
+
1124 1135
             var otnModel = taskTellNumBLL.GetModel(input.Id);
1125 1136
             if (otnModel.F_HCState <= 0)
1126 1137
                 return Error("提交失败,号码未进行呼叫");
1138
+
1127 1139
             int cc = 0;
1128 1140
             var ansModel = new Model.T_Call_Answers();
1129 1141
             string askqids = "";
@@ -1348,6 +1360,8 @@ namespace CallCenterApi.Interface.Controllers.callout
1348 1360
         {
1349 1361
             //if (!Request.IsAuthenticated)
1350 1362
             //    return NoToken("未知错误,请重新登录");
1363
+            List<string> headList = new List<string>() { "序号", "号码", "是否分配", "分配坐席", "呼叫状态", "接通状态", "导入时间", "呼叫时间" };
1364
+            var userAccountList = userAccountBLL.DataTableToList(userAccountBLL.GetList("").Tables[0]);
1351 1365
             NPOIHelper npoi = new NPOIHelper();
1352 1366
             var task = taskBLL.GetModel(taskId);
1353 1367
             if (task == null)
@@ -1355,12 +1369,45 @@ namespace CallCenterApi.Interface.Controllers.callout
1355 1369
             switch (type)
1356 1370
             {
1357 1371
                 case 1:
1358
-                    var dt1 = taskTellNumBLL.GetPhoneList(" F_TaskId=" + task.TaskID + "  and F_HCState=1 and  (F_YJState=0 or F_YJState is null) ").Tables[0];
1359
-                    var msg1 = npoi.ExportToExcel(DateTime.Now.ToString("yyyyMMdd") + task.TaskName + "导出未接通号码", dt1);
1372
+                    var list1 = taskTellNumBLL.DataTableToListForExport(taskTellNumBLL.GetPhoneList(" F_TaskId=" + task.TaskID + "  and F_HCState=1 and  (F_YJState=0 or F_YJState is null) ").Tables[0]);
1373
+                    List<List<string>> resList1 = new List<List<string>>();
1374
+                    foreach (var item in list1)
1375
+                    {
1376
+                        var user = userAccountList.SingleOrDefault(x => x.F_UserId == item.F_UserId);
1377
+                        resList1.Add(new List<string>
1378
+                        {
1379
+                            item.F_Id.ToString(),
1380
+                            item.F_Phone,
1381
+                            (item.F_FPState==null ||item.F_FPState<=0)?"未分配":"已分配",
1382
+                            user == null ? "": $"{user.F_UserCode }-{user.F_UserName}",
1383
+                            (item.F_HCState==null || item.F_HCState<=0)?"未呼叫":"已呼叫",
1384
+                            (item.F_YJState==null || item.F_YJState<=0)?"未接通":"已接通",
1385
+                            item.F_CreateTime?.ToString("yyyy-MM-dd HH:mm:ss")??"",
1386
+                            item.F_LastCallTime?.ToString("yyyy-MM-dd HH:mm:ss")??"",
1387
+                        });
1388
+                    }
1389
+                    var msg1 = npoi.ExportToExcel(task.TaskName + "导出未接通号码" + DateTime.Now.ToString("yyyyMMdd"), resList1, headList.ToArray());
1360 1390
                     return !string.IsNullOrWhiteSpace(msg1) ? Error(msg1) : Success("导出成功");
1361 1391
                 case 2:
1362
-                    var dt2 = taskTellNumBLL.GetPhoneList(" F_TaskId=" + task.TaskID + " and F_HCState=1 and  F_YJState=1 ").Tables[0];
1363
-                    var msg2 = npoi.ExportToExcel(DateTime.Now.ToString("yyyyMMdd") + task.TaskName + "导出已接通号码", dt2);
1392
+                    var list2 = taskTellNumBLL.DataTableToListForExport(taskTellNumBLL.GetPhoneList(" F_TaskId=" + task.TaskID + " and F_HCState=1 and  F_YJState=1 ").Tables[0]);
1393
+                    List<List<string>> resList2 = new List<List<string>>();
1394
+                    foreach (var item in list2)
1395
+                    {
1396
+                        var user = userAccountList.SingleOrDefault(x => x.F_UserId == item.F_UserId);
1397
+                        resList2.Add(new List<string>
1398
+                        {
1399
+                            item.F_Id.ToString(),
1400
+                            item.F_Phone,
1401
+                            (item.F_FPState==null ||item.F_FPState<=0)?"未分配":"已分配",
1402
+                            user == null ? "": $"{user.F_UserCode }-{user.F_UserName}",
1403
+                            (item.F_HCState==null || item.F_HCState<=0)?"未呼叫":"已呼叫",
1404
+                            (item.F_YJState==null || item.F_YJState<=0)?"未接通":"已接通",
1405
+                            item.F_CreateTime?.ToString("yyyy-MM-dd HH:mm:ss")??"",
1406
+                            item.F_LastCallTime?.ToString("yyyy-MM-dd HH:mm:ss")??"",
1407
+                        });
1408
+                    }
1409
+
1410
+                    var msg2 = npoi.ExportToExcel(task.TaskName + "导出已接通号码" + DateTime.Now.ToString("yyyyMMdd"), resList2, headList.ToArray());
1364 1411
                     return !string.IsNullOrWhiteSpace(msg2) ? Error(msg2) : Success("导出成功");
1365 1412
             }
1366 1413
             return Error("参数错误");

+ 21 - 2
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/knowledge/KnowledgeController.cs

@@ -36,6 +36,7 @@ namespace CallCenterApi.Interface.Controllers.knowledge
36 36
                 sql += " and (F_Content like '%" + keywords.Trim() + "%' or F_Title like '%"
37 37
                     + keywords.Trim() + "%' or F_KeyWords like '%" + keywords.Trim() + "%')";
38 38
             }
39
+            sql += $" and  ( F_CanLastLong>0 or (DateDiff(s,F_StartTime,'{DateTime.Now}')>0  and DateDiff(s,'{DateTime.Now}',F_EndTime)>0)  )";
39 40
             if (strpageindex.Trim() != "")
40 41
             {
41 42
                 pageindex = Convert.ToInt32(strpageindex);
@@ -111,11 +112,17 @@ namespace CallCenterApi.Interface.Controllers.knowledge
111 112
 
112 113
         //[Authority]
113 114
         //添加知识库
114
-        public ActionResult AddInfo(string title, string key, string con, string pid)
115
+        public ActionResult AddInfo(string title, string key, string con, string pid, DateTime? start, DateTime? end, int canlastlong = 1)
115 116
         {
116 117
             ActionResult res = NoToken("未知错误,请重新登录");
117 118
             if (Request.IsAuthenticated)
118 119
             {
120
+                if (canlastlong <= 0)
121
+                {
122
+                    start = start ?? DateTime.Now.Date;
123
+                    end = end ?? DateTime.Now.Date.AddDays(8).AddSeconds(-1);
124
+                }
125
+
119 126
 
120 127
                 Model.T_RepositoryInformation dModel = new Model.T_RepositoryInformation();
121 128
                 if (pid.Trim() != "")
@@ -137,6 +144,10 @@ namespace CallCenterApi.Interface.Controllers.knowledge
137 144
                 dModel.F_ModifyOn = DateTime.Now;
138 145
                 dModel.F_CreateBy = CurrentUser.UserData.F_UserId;
139 146
                 dModel.F_DeleteFlag = 0;
147
+                dModel.F_CanLastLong = canlastlong;
148
+                dModel.F_StartTime = start;
149
+                dModel.F_EndTime = end;
150
+
140 151
                 int b = new BLL.T_RepositoryInformation().Add(dModel);
141 152
                 if (b > 0)
142 153
                 {
@@ -152,7 +163,7 @@ namespace CallCenterApi.Interface.Controllers.knowledge
152 163
         }
153 164
         //[Authority]
154 165
         //编辑知识库
155
-        public ActionResult EditInfo(string infoid, string title, string key, string con, string pid)
166
+        public ActionResult EditInfo(string infoid, string title, string key, string con, string pid, DateTime? start, DateTime? end, int canlastlong = 1)
156 167
         {
157 168
             ActionResult res = NoToken("未知错误,请重新登录");
158 169
             if (Request.IsAuthenticated)
@@ -187,6 +198,14 @@ namespace CallCenterApi.Interface.Controllers.knowledge
187 198
 
188 199
                         dModel.F_ModifyBy = CurrentUser.UserData.F_UserId;
189 200
                         dModel.F_ModifyOn = DateTime.Now;
201
+                        if (canlastlong <= 0)
202
+                        {
203
+                            start = start ?? DateTime.Now.Date;
204
+                            end = end ?? DateTime.Now.Date.AddDays(8).AddSeconds(-1);
205
+                        }
206
+                        dModel.F_CanLastLong = canlastlong;
207
+                        dModel.F_StartTime = start;
208
+                        dModel.F_EndTime = end;
190 209
                         bool b = dBLL.Update(dModel);
191 210
                         if (b)
192 211
                         {

+ 4 - 0
CallCenterApi/CallCenterApi.Model/T_RepositoryInformation.cs

@@ -213,6 +213,10 @@ namespace CallCenterApi.Model
213 213
             set { _f_deleteflag = value; }
214 214
             get { return _f_deleteflag; }
215 215
         }
216
+        public int? F_CanLastLong { get; set; }
217
+        public DateTime? F_StartTime { get; set; }
218
+        public DateTime? F_EndTime { get; set; }
219
+
216 220
         #endregion Model
217 221
     }
218 222
 }