|
|
@@ -17,6 +17,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
17
|
17
|
private readonly BLL.T_Call_OutAnswers ansBLL = new BLL.T_Call_OutAnswers();
|
|
18
|
18
|
private readonly BLL.T_Ask_QuestionItems questionItemBLL = new BLL.T_Ask_QuestionItems();
|
|
19
|
19
|
private readonly BLL.T_Sys_DictionaryValue dvItemBLL = new BLL.T_Sys_DictionaryValue();
|
|
|
20
|
+ private readonly BLL.T_Call_OutTask otBLL = new BLL.T_Call_OutTask();
|
|
|
21
|
+
|
|
20
|
22
|
|
|
21
|
23
|
#region 获取外呼任务报表查询
|
|
22
|
24
|
/// <summary>
|
|
|
@@ -1321,5 +1323,164 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
1321
|
1323
|
}
|
|
1322
|
1324
|
#endregion
|
|
1323
|
1325
|
|
|
|
1326
|
+ //2018-7-11
|
|
|
1327
|
+ #region 不满意报表
|
|
|
1328
|
+ #region 数据
|
|
|
1329
|
+ /// <summary>
|
|
|
1330
|
+ /// 不满意报表
|
|
|
1331
|
+ /// </summary>
|
|
|
1332
|
+ /// <param name="TaskID">任务id 必选</param>
|
|
|
1333
|
+ /// <param name="quesid">问题id 必选</param>
|
|
|
1334
|
+ /// <param name="ansid">当前问题答案id 可多选</param>
|
|
|
1335
|
+ /// <param name="sdate">开始时间</param>
|
|
|
1336
|
+ /// <param name="edate">结束时间</param>
|
|
|
1337
|
+ /// <returns></returns>
|
|
|
1338
|
+ public ActionResult GetReportBMY(string TaskID, int quesid, string ansids, string sdate, string edate)
|
|
|
1339
|
+ {
|
|
|
1340
|
+ DataTable dtnew = new DataTable();
|
|
|
1341
|
+
|
|
|
1342
|
+ dtnew = getdateBMY(TaskID, quesid, ansids, sdate, edate);
|
|
|
1343
|
+ return Success("获取详细报表数据成功", dtnew);
|
|
|
1344
|
+
|
|
|
1345
|
+ }
|
|
|
1346
|
+ public DataTable getdateBMY(string TaskID, int quesid, string ansids, string sdate, string edate)
|
|
|
1347
|
+ {
|
|
|
1348
|
+ DataTable dtnew = new DataTable();
|
|
|
1349
|
+ #region 新建输出表
|
|
|
1350
|
+ dtnew.Columns.Add("name");
|
|
|
1351
|
+ dtnew.Columns.Add("phone");
|
|
|
1352
|
+ dtnew.Columns.Add("answer");
|
|
|
1353
|
+ #endregion
|
|
|
1354
|
+
|
|
|
1355
|
+ #region 查询条件
|
|
|
1356
|
+ string sqlotn = "";
|
|
|
1357
|
+ string sqlans = " and isnull(F_TaskID,'')='" + TaskID + "' " + " and isnull(F_QID,'')='" + quesid + "' ";
|
|
|
1358
|
+ if (!string .IsNullOrWhiteSpace(TaskID))
|
|
|
1359
|
+ { sqlotn = " and isnull(F_TaskID,'')='" + TaskID + "' "; }
|
|
|
1360
|
+ //string sqlotn = " and isnull(F_TaskID,'')='" + TaskID + "' ";
|
|
|
1361
|
+ #region 选中答案搜索
|
|
|
1362
|
+ if (string.IsNullOrWhiteSpace(TaskID))
|
|
|
1363
|
+ { sqlans = " and isnull(F_QID,'')='" + quesid + "' "; }
|
|
|
1364
|
+ //string sqlans = " and isnull(F_TaskID,'')='" + TaskID + "' " + " and isnull(F_QID,'')='" + quesid + "' ";
|
|
|
1365
|
+ if (!string.IsNullOrWhiteSpace(ansids)&&ansids!="null" )
|
|
|
1366
|
+ {
|
|
|
1367
|
+ sqlans += " and F_QIID in (" + ansids.Trim() + ") ";
|
|
|
1368
|
+ }
|
|
|
1369
|
+ sqlotn += " and F_Id in (select F_CusTelID from T_Call_OutAnswers where 1=1 " + sqlans + ")";
|
|
|
1370
|
+ #endregion
|
|
|
1371
|
+ if (!string.IsNullOrWhiteSpace(sdate))
|
|
|
1372
|
+ sqlotn += " and DATEDIFF(day,ExpandDatField1,'" + sdate.Trim() + "')<=0";
|
|
|
1373
|
+ if (!string.IsNullOrWhiteSpace(edate))
|
|
|
1374
|
+ sqlotn += " and DATEDIFF(day,ExpandDatField1,'" + edate.Trim() + "')>=0";
|
|
|
1375
|
+ #endregion
|
|
|
1376
|
+ var otnlist = otnBLL.GetModelList(" 1=1 " + sqlotn);
|
|
|
1377
|
+
|
|
|
1378
|
+ if (otnlist.Count > 0)
|
|
|
1379
|
+ {
|
|
|
1380
|
+ foreach (var itemotn in otnlist)
|
|
|
1381
|
+ {
|
|
|
1382
|
+ DataRow dr = dtnew.NewRow();
|
|
|
1383
|
+ dr["name"] = itemotn.F_CusName;
|
|
|
1384
|
+ dr["phone"] = itemotn.F_Phone;
|
|
|
1385
|
+ string ans = "";
|
|
|
1386
|
+ #region 答案
|
|
|
1387
|
+ var anslist = ansBLL.GetModelList(" F_CusTelID=" + itemotn.F_Id + sqlans);
|
|
|
1388
|
+ if (anslist.Count > 0)
|
|
|
1389
|
+ {
|
|
|
1390
|
+ string anan = "";
|
|
|
1391
|
+ foreach (var ansitem in anslist)
|
|
|
1392
|
+ {
|
|
|
1393
|
+ anan += ansitem.F_Answer + ";";
|
|
|
1394
|
+ }
|
|
|
1395
|
+ ans = anan.Trim(';') + "。";
|
|
|
1396
|
+ }
|
|
|
1397
|
+ #endregion
|
|
|
1398
|
+ dr["answer"] = ans;
|
|
|
1399
|
+ dtnew.Rows.Add(dr);
|
|
|
1400
|
+ }
|
|
|
1401
|
+ }
|
|
|
1402
|
+ return dtnew;
|
|
|
1403
|
+ }
|
|
|
1404
|
+ #endregion
|
|
|
1405
|
+ #region 表头
|
|
|
1406
|
+ public ActionResult GetColoumnBMY(string TaskID, int quesid = 0)
|
|
|
1407
|
+ {
|
|
|
1408
|
+ string[] col = getcoloumn(TaskID, quesid);
|
|
|
1409
|
+
|
|
|
1410
|
+ return Success("获取详细报表表头成功", col);
|
|
|
1411
|
+
|
|
|
1412
|
+ }
|
|
|
1413
|
+ public string[] getcoloumn(string TaskID, int quesid = 0)
|
|
|
1414
|
+ {
|
|
|
1415
|
+ string sqlques = "F_QuestionId=" + quesid;
|
|
|
1416
|
+ var quesmodel = questionBLL.GetModel(quesid);
|
|
|
1417
|
+ var ques = "";
|
|
|
1418
|
+ if (quesmodel != null)
|
|
|
1419
|
+ {
|
|
|
1420
|
+ ques = quesmodel.F_Title;
|
|
|
1421
|
+
|
|
|
1422
|
+ }
|
|
|
1423
|
+ string[] col = { "姓名", "电话", ques };
|
|
|
1424
|
+ return col;
|
|
|
1425
|
+ }
|
|
|
1426
|
+ #endregion
|
|
|
1427
|
+ #region 导出
|
|
|
1428
|
+ public ActionResult GetReportBMYExpt(string TaskID, string ansids, string sdate, string edate, int quesid )
|
|
|
1429
|
+ {
|
|
|
1430
|
+ DataTable dtnew = getdateBMY(TaskID, quesid, ansids, sdate, edate);
|
|
|
1431
|
+ NPOIHelper npoi = new NPOIHelper();
|
|
|
1432
|
+ string[] col = getcoloumn(TaskID, quesid);
|
|
|
1433
|
+ if (npoi.ExportToExcel("详细报表数据", dtnew, col) == "")
|
|
|
1434
|
+ {
|
|
|
1435
|
+ return Success("导出成功");
|
|
|
1436
|
+ }
|
|
|
1437
|
+ else
|
|
|
1438
|
+ {
|
|
|
1439
|
+ return Error("导出失败");
|
|
|
1440
|
+ }
|
|
|
1441
|
+ }
|
|
|
1442
|
+ #endregion
|
|
|
1443
|
+ #endregion
|
|
|
1444
|
+
|
|
|
1445
|
+ #region 下拉框
|
|
|
1446
|
+ /// <summary>
|
|
|
1447
|
+ /// 任务列表下拉
|
|
|
1448
|
+ /// </summary>
|
|
|
1449
|
+ /// <returns></returns>
|
|
|
1450
|
+ public ActionResult GetTaskDDL()
|
|
|
1451
|
+ {
|
|
|
1452
|
+ var alllist = otBLL.GetModelList(" F_DeleteFlag=0 order by F_TaskID desc");
|
|
|
1453
|
+ return Success("获取任务列表下拉成功", alllist);
|
|
|
1454
|
+ }
|
|
|
1455
|
+ /// <summary>
|
|
|
1456
|
+ /// 问题列表下拉
|
|
|
1457
|
+ /// </summary>
|
|
|
1458
|
+ /// <returns></returns>
|
|
|
1459
|
+ public ActionResult GetQuesDDL(int taskid = 0)
|
|
|
1460
|
+ {
|
|
|
1461
|
+ string sql = "";
|
|
|
1462
|
+ if (taskid > 0)
|
|
|
1463
|
+ {
|
|
|
1464
|
+ sql += " and F_QuestionId IN (select ta.F_QuestionId from T_Ask_PagerItems ta where ta.F_PagerId=(select F_PagerID from T_Call_OutTask where isnull(F_TaskID,'')='" + taskid + "') )";
|
|
|
1465
|
+ }
|
|
|
1466
|
+ var list = questionBLL.GetModelList(" F_Type!=1" + sql);
|
|
|
1467
|
+ return Success("获取问题列表下拉成功", list);
|
|
|
1468
|
+ }
|
|
|
1469
|
+ /// <summary>
|
|
|
1470
|
+ /// 问题选项列表下拉
|
|
|
1471
|
+ /// </summary>
|
|
|
1472
|
+ /// <returns></returns>
|
|
|
1473
|
+ public ActionResult GetQuesItemDDL(int quesid = 0)
|
|
|
1474
|
+ {
|
|
|
1475
|
+ string sql = " 1=1 ";
|
|
|
1476
|
+ if (quesid > 0)
|
|
|
1477
|
+ {
|
|
|
1478
|
+ sql += " and F_QuestionId=" + quesid;
|
|
|
1479
|
+ }
|
|
|
1480
|
+ var list = questionItemBLL.GetModelList(sql);
|
|
|
1481
|
+ return Success("获取问题选项列表下拉成功", list);
|
|
|
1482
|
+ }
|
|
|
1483
|
+ #endregion
|
|
|
1484
|
+
|
|
1324
|
1485
|
}
|
|
1325
|
1486
|
}
|