Parcourir la Source

调整外呼计划,增加坐席列表

zhengbingbing il y a 8 ans
Parent
commit
7716a7205b

Fichier diff supprimé car celui-ci est trop grand
+ 93 - 83
codegit/CallCenterApi/CallCenterApi.DAL/T_Call_OutTaskTelNum.cs


+ 144 - 10
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallOutPlanController.cs

@@ -152,6 +152,7 @@ namespace CallCenterApi.Interface.Controllers.callout
152 152
                 {
153 153
                     if (otBLL.UpdateStart(taskid, 0, taskmodel.F_StartTime.Value, DateTime.Now))
154 154
                     {
155
+                        otnBLL.DeleteByTask(taskid);
155 156
                         return Success("计划已停止!taskid=" + taskid + ",操作人:" + CurrentUser.UserData.F_UserCode);
156 157
                     }
157 158
                 }
@@ -167,7 +168,7 @@ namespace CallCenterApi.Interface.Controllers.callout
167 168
             int userid = CurrentUser.UserData.F_UserId;
168 169
             string username = CurrentUser.UserData.F_UserName;
169 170
             #region 按数量平均分配
170
-            DataTable dt = DbHelperSQL.Query("select *,NEWID() from T_Call_OutTaskTelNum where F_FPState=0 order by NEWID()").Tables[0];
171
+            DataTable dt = DbHelperSQL.Query("select *,NEWID() from T_Call_OutTaskTelNum where F_FPState=0 and F_DeleteFlag=0  order by NEWID()").Tables[0];
171 172
             //otnBLL.GetList(" F_FPState=0 ").Tables[0];
172 173
             List<Model.T_Sys_UserAccount> userlist = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1 ");
173 174
             if (dt != null)
@@ -221,10 +222,10 @@ namespace CallCenterApi.Interface.Controllers.callout
221 222
         {
222 223
             StringBuilder sb = new StringBuilder();
223 224
 
224
-            sb.Append(" and F_FPState=0 ");
225
+            sb.Append(" and F_FPState=0 and F_DeleteFlag=0 ");
225 226
             if (!string.IsNullOrWhiteSpace(key))
226 227
             {
227
-                sb.Append(" and (select F_TaskID from T_Call_OutTask where F_TaskName like '%" + key + "%' or F_TaskRemark like '%" + key + "%') ");
228
+                sb.Append(" and (select F_TaskID from T_Call_OutTask where F_TaskName like '%" + key + "%' or F_TaskRemark like '%" + key + "%' and F_State=1 and F_DeleteFlag=0 ) ");
228 229
             }
229 230
 
230 231
             var recordCount = 0;
@@ -232,7 +233,7 @@ namespace CallCenterApi.Interface.Controllers.callout
232 233
                     "T_Call_OutTaskTelNum",
233 234
                     "F_Id",
234 235
                     "*",
235
-                    " and F_DeleteFlag=0 " + sb.ToString(),
236
+                     sb.ToString(),
236 237
                     "ORDER BY F_Id desc",
237 238
                     pagesize,
238 239
                     pageindex,
@@ -246,6 +247,65 @@ namespace CallCenterApi.Interface.Controllers.callout
246 247
             };
247 248
             return Content(obj.ToJson());
248 249
         }
250
+
251
+        //获取坐席列表
252
+        public ActionResult GetSeatList()
253
+        {
254
+            ActionResult res = NoToken("未知错误,请重新登录");
255
+            if (Request.IsAuthenticated)
256
+            {
257
+                DataTable dt = new DataTable();
258
+                string sql = " ";
259
+                try
260
+                {
261
+                    sql = " and f_seatflag=1 ";
262
+                    int roleid = CurrentUser.UserData.F_RoleId;
263
+                    int deptid = CurrentUser.UserData.F_DeptId;
264
+                    string strpageindex = RequestString.GetQueryString("page");
265
+                    int pageindex = 1;
266
+                    string strpagesize = RequestString.GetQueryString("pagesize");
267
+                    int pagesize = 10;
268
+                    if (strpageindex.Trim() != "")
269
+                    {
270
+                        pageindex = Convert.ToInt32(strpageindex);
271
+                    }
272
+
273
+                    if (strpagesize.Trim() != "")
274
+                    {
275
+                        pagesize = Convert.ToInt32(strpagesize);
276
+                    }
277
+                    int recordCount = 0;
278
+                    dt = BLL.PagerBLL.GetListPager(
279
+                                            "T_Sys_UserAccount",
280
+                                            "F_UserId",
281
+                                            "*",
282
+                                            sql,
283
+                                            "ORDER BY F_UserId desc",
284
+                                            pagesize,
285
+                                            pageindex,
286
+                                            true,
287
+                                            out recordCount);
288
+                    DataTable dtCount = otnBLL.GetList(" F_DeleteFlag=0 and isnull(F_HJJGName,'')!='正常接通' and isnull(F_YHFKName,'')!='已同意' and (select F_TaskID from T_Call_OutTask where F_State=1 and F_DeleteFlag=0) ").Tables[0];//new BLL.T_Vis_TelAllot().GetList(" F_state=1 and F_HFTelID in (select F_TelID from T_Vis_Telphone where  F_ISAllot=1 and F_ISCallRes=0 ) ").Tables[0];
289
+                    List<Model.UserAccount> modelList = new BLL.UserAccount().DataTableToList(dt);
290
+
291
+                    var obj = new
292
+                    {
293
+                        rows = modelList.Select(x => new
294
+                        {
295
+                            UserCode = x.F_UserCode,
296
+                            UserName = x.F_UserName,
297
+                            WWCCount = dtCount.Select(" F_UserId=" + x.F_UserId).Count()
298
+                        }),
299
+                        total = recordCount
300
+                    };
301
+
302
+                    res = Content(obj.ToJson());
303
+                }
304
+                catch (Exception ex) { }
305
+
306
+            }
307
+            return res;
308
+        }
249 309
         #endregion
250 310
 
251 311
         #region
@@ -255,18 +315,20 @@ namespace CallCenterApi.Interface.Controllers.callout
255 315
             StringBuilder sb = new StringBuilder();
256 316
             int userid = CurrentUser.UserData.F_UserId;
257 317
             sb.Append(" and F_UserId="+ userid);
318
+            sb.Append(" and F_DeleteFlag=0 ");
319
+            sb.Append(" and isnull(F_HJJGName,'')!='正常接通' and isnull(F_YHFKName,'')!='已同意'");
258 320
             string sqlwhere = "";
259 321
             if (!string.IsNullOrWhiteSpace(key))
260 322
             {
261 323
                 sqlwhere = " and F_TaskName like '%" + key + "%' or F_TaskRemark like '%" + key + "%' ";
262 324
             }
263
-            sb.Append(" and (select F_TaskID from T_Call_OutTask where F_State=1 " + sqlwhere + ") ");
325
+            sb.Append(" and (select F_TaskID from T_Call_OutTask where F_State=1 and F_DeleteFlag=0 " + sqlwhere + ") ");
264 326
             var recordCount = 0;
265 327
             var dt = BLL.PagerBLL.GetListPager(
266 328
                     "T_Call_OutTaskTelNum",
267 329
                     "F_Id",
268 330
                     "*",
269
-                    " and F_DeleteFlag=0 " + sb.ToString(),
331
+                    sb.ToString(),
270 332
                     "ORDER BY F_Id desc",
271 333
                     pagesize,
272 334
                     pageindex,
@@ -281,14 +343,86 @@ namespace CallCenterApi.Interface.Controllers.callout
281 343
             return Content(obj.ToJson());
282 344
         }
283 345
         //获取我的任务结果
284
-        public ActionResult GetMyResultList()
346
+        public ActionResult GetMyResultList(string key,int hjjgid=0,int yhfkid=0, int pagesize = 10, int pageindex = 1)
285 347
         {
286
-            return Error("获取我的任务结果失败");
348
+            StringBuilder sb = new StringBuilder();
349
+            int userid = CurrentUser.UserData.F_UserId;
350
+            sb.Append(" and F_UserId=" + userid);
351
+            sb.Append(" and F_DeleteFlag=0 ");
352
+            if (hjjgid != 0)
353
+            {
354
+                sb.Append(" and F_HJJGId=" + hjjgid);
355
+            }
356
+            if (yhfkid != 0)
357
+            {
358
+                sb.Append(" and F_YHFKId="+ yhfkid);
359
+            }
360
+            string sqlwhere = "";
361
+            if (!string.IsNullOrWhiteSpace(key))
362
+            {
363
+                sqlwhere = " and F_TaskName like '%" + key + "%' or F_TaskRemark like '%" + key + "%' ";
364
+            }
365
+            sb.Append(" and (select F_TaskID from T_Call_OutTask where F_State=1 and F_DeleteFlag=0 " + sqlwhere + ") ");
366
+            var recordCount = 0;
367
+            var dt = BLL.PagerBLL.GetListPager(
368
+                    "T_Call_OutTaskTelNum",
369
+                    "F_Id",
370
+                    "*",
371
+                    sb.ToString(),
372
+                    "ORDER BY F_Id desc",
373
+                    pagesize,
374
+                    pageindex,
375
+                    true,
376
+                    out recordCount);
377
+
378
+            var obj = new
379
+            {
380
+                rows = dt,
381
+                total = recordCount
382
+            };
383
+            return Content(obj.ToJson());
287 384
         }
288 385
         //获取总体任务结果
289
-        public ActionResult GetResultList()
386
+        public ActionResult GetResultList(string key,int userid=0, int hjjgid = 0, int yhfkid = 0, int pagesize = 10, int pageindex = 1)
290 387
         {
291
-            return Error("获取总体任务结果失败");
388
+            StringBuilder sb = new StringBuilder();
389
+            sb.Append(" and F_DeleteFlag=0 ");
390
+            if (userid != 0)
391
+            {
392
+                sb.Append(" and F_UserId=" + userid);
393
+            }
394
+            if (hjjgid != 0)
395
+            {
396
+                sb.Append(" and F_HJJGId=" + hjjgid);
397
+            }
398
+            if (yhfkid != 0)
399
+            {
400
+                sb.Append(" and F_YHFKId=" + yhfkid);
401
+            }
402
+            string sqlwhere = "";
403
+            if (!string.IsNullOrWhiteSpace(key))
404
+            {
405
+                sqlwhere = " and F_TaskName like '%" + key + "%' or F_TaskRemark like '%" + key + "%' ";
406
+            }
407
+            sb.Append(" and (select F_TaskID from T_Call_OutTask where F_State=1 and F_DeleteFlag=0 " + sqlwhere + ") ");
408
+            var recordCount = 0;
409
+            var dt = BLL.PagerBLL.GetListPager(
410
+                    "T_Call_OutTaskTelNum",
411
+                    "F_Id",
412
+                    "*",
413
+                    sb.ToString(),
414
+                    "ORDER BY F_Id desc",
415
+                    pagesize,
416
+                    pageindex,
417
+                    true,
418
+                    out recordCount);
419
+
420
+            var obj = new
421
+            {
422
+                rows = dt,
423
+                total = recordCount
424
+            };
425
+            return Content(obj.ToJson());
292 426
         }
293 427
         #endregion
294 428
 

+ 6 - 0
codegit/CallCenterApi/CallCenterApi.Model/T_Call_OutTaskTelNum.cs

@@ -33,6 +33,7 @@ namespace CallCenterApi.Model
33 33
         private string _f_hjjgname;
34 34
         private int? _f_yhfkid;
35 35
         private string _f_yhfkname;
36
+        private int? _f_deleteflag;
36 37
         private int? _expandintfield1;
37 38
         private int? _expandintfield2;
38 39
         private int? _expandintfield3;
@@ -215,6 +216,11 @@ namespace CallCenterApi.Model
215 216
             set { _f_yhfkname = value; }
216 217
             get { return _f_yhfkname; }
217 218
         }
219
+        public int? F_DeleteFlag
220
+        {
221
+            set { _f_deleteflag = value; }
222
+            get { return _f_deleteflag; }
223
+        }
218 224
         /// <summary>
219 225
         /// 
220 226
         /// </summary>