Bladeren bron

调整乡镇排名报表

mengjie 8 jaren geleden
bovenliggende
commit
097b5da2ba

+ 61 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/Question/QuestionnaireController.cs

@@ -1217,6 +1217,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1217 1217
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1218 1218
             {
1219 1219
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1220
+                //enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1221
+            }
1222
+            if (HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == "")
1223
+            {
1224
+                //startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1220 1225
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1221 1226
             }
1222 1227
             DataTable dtnew = new DataTable();
@@ -1224,9 +1229,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1224 1229
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1225 1230
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1226 1231
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1227
-            
1232
+            int leiji = 0;
1233
+            int buanquanleiji = 0;
1228 1234
             //List<Model.T_Ask_Question> qrlist = new List<Model.T_Ask_Question>();
1229
-            DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems WHERE F_ItemId IN (SELECT F_QIID FROM T_Call_OutAnswers WHERE F_CusTelID IN (select F_CusTelID from T_Call_OutAnswers where F_OptOn between '"+startdate+"' and '"+enddate +"' and F_QID=102 ) and F_QID=101 group by F_QIID)");//and (F_QIID=101 OR F_QIID=102)
1235
+            //DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems WHERE F_ItemId IN (SELECT F_QIID FROM T_Call_OutAnswers WHERE F_CusTelID IN (select F_CusTelID from T_Call_OutAnswers where F_OptOn between '"+startdate+"' and '"+enddate +"' and F_QID=102 ) and F_QID=101 group by F_QIID)");//and (F_QIID=101 OR F_QIID=102)
1236
+            DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems where F_QuestionId='101'");// WHERE F_ItemId IN (SELECT F_QIID FROM T_Call_OutAnswers WHERE F_CusTelID IN (select F_CusTelID from T_Call_OutAnswers where F_OptOn between '" + startdate + "' and '" + enddate + "' and F_QID=102 ) and F_QID=101 group by F_QIID)");
1230 1237
             if (ds != null && ds.Tables.Count > 0)
1231 1238
             {
1232 1239
                 DataTable dt = ds.Tables[0];
@@ -1243,6 +1250,7 @@ namespace CallCenterApi.Interface.Controllers.Question
1243 1250
                     {
1244 1251
                         unsafenum = Convert.ToInt32(obj0);
1245 1252
                     }
1253
+                    buanquanleiji += unsafenum;
1246 1254
                     dr["buanquan"] = unsafenum;
1247 1255
                     //根据乡镇获取总数
1248 1256
                     int totalnum = 0;
@@ -1251,6 +1259,7 @@ namespace CallCenterApi.Interface.Controllers.Question
1251 1259
                     {
1252 1260
                         totalnum = Convert.ToInt32(obj1);
1253 1261
                     }
1262
+                    leiji += totalnum;
1254 1263
                     dr["zongshu"] = totalnum;
1255 1264
                     //计算比例
1256 1265
                     if (totalnum > 0)
@@ -1267,6 +1276,19 @@ namespace CallCenterApi.Interface.Controllers.Question
1267 1276
             }
1268 1277
             dtnew.DefaultView.Sort = "zhishu DESC";
1269 1278
             DataTable dtTemp = dtnew.DefaultView.ToTable();
1279
+            //计算总计
1280
+            DataRow dr0 = dtTemp.NewRow();
1281
+            dr0["xiangzhen"] = "总计";
1282
+            dr0["zongshu"] = leiji;
1283
+            dr0["buanquan"] = buanquanleiji;
1284
+            if (leiji > 0)
1285
+            {
1286
+                decimal per = Math.Round(Convert.ToDecimal(Convert.ToDecimal(leiji - buanquanleiji) / leiji * 100), 1);
1287
+                dr0["zhishu"] = per;
1288
+            }
1289
+            else
1290
+            { dr0["zhishu"] = 0; }
1291
+            dtTemp.Rows.Add(dr0);
1270 1292
             res = Success("获取乡镇报表数据成功", dtTemp);
1271 1293
 
1272 1294
             return res;
@@ -1282,6 +1304,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1282 1304
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1283 1305
             {
1284 1306
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1307
+                //enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1308
+            }
1309
+            if (HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == "")
1310
+            {
1311
+                //startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1285 1312
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1286 1313
             }
1287 1314
             //startdate = "2017-11-12 00:00:00";
@@ -1358,6 +1385,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1358 1385
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1359 1386
             {
1360 1387
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1388
+                //enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1389
+            }
1390
+            if (HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == "")
1391
+            {
1392
+                //startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1361 1393
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1362 1394
             }
1363 1395
             //startdate = "2017-11-12 00:00:00";
@@ -1367,9 +1399,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1367 1399
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1368 1400
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1369 1401
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1370
-
1402
+            int leiji = 0;
1403
+            int buanquanleiji = 0;
1371 1404
             //List<Model.T_Ask_Question> qrlist = new List<Model.T_Ask_Question>();
1372
-            DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems WHERE F_ItemId IN (SELECT F_QIID FROM T_Call_OutAnswers WHERE F_CusTelID IN (select F_CusTelID from T_Call_OutAnswers where F_OptOn between '" + startdate + "' and '" + enddate + "' and F_QID=102 ) and F_QID=101 group by F_QIID)");//and (F_QIID=101 OR F_QIID=102)
1405
+            //DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems WHERE F_ItemId IN (SELECT F_QIID FROM T_Call_OutAnswers WHERE F_CusTelID IN (select F_CusTelID from T_Call_OutAnswers where F_OptOn between '" + startdate + "' and '" + enddate + "' and F_QID=102 ) and F_QID=101 group by F_QIID)");//and (F_QIID=101 OR F_QIID=102)
1406
+            DataSet ds = DbHelperSQL.Query("SELECT * FROM T_Ask_QuestionItems where F_QuestionId='101'");
1373 1407
             if (ds != null && ds.Tables.Count > 0)
1374 1408
             {
1375 1409
                 DataTable dt = ds.Tables[0];
@@ -1410,6 +1444,19 @@ namespace CallCenterApi.Interface.Controllers.Question
1410 1444
             }
1411 1445
             dtnew.DefaultView.Sort = "zhishu DESC";
1412 1446
             DataTable dtTemp = dtnew.DefaultView.ToTable();
1447
+            //计算总计
1448
+            DataRow dr0 = dtTemp.NewRow();
1449
+            dr0["xiangzhen"] = "总计";
1450
+            dr0["zongshu"] = leiji;
1451
+            dr0["buanquan"] = buanquanleiji;
1452
+            if (leiji > 0)
1453
+            {
1454
+                decimal per = Math.Round(Convert.ToDecimal(Convert.ToDecimal(leiji - buanquanleiji) / leiji * 100), 1);
1455
+                dr0["zhishu"] = per;
1456
+            }
1457
+            else
1458
+            { dr0["zhishu"] = 0; }
1459
+            dtTemp.Rows.Add(dr0);
1413 1460
             //res = Success("获取乡镇报表数据成功", dtTemp);
1414 1461
 
1415 1462
             //return res;
@@ -1436,6 +1483,11 @@ namespace CallCenterApi.Interface.Controllers.Question
1436 1483
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1437 1484
             {
1438 1485
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1486
+                //enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1487
+            }
1488
+            if (HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("enddate")) == "")
1489
+            {
1490
+                //startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
1439 1491
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1440 1492
             }
1441 1493
             //startdate = "2017-11-12 00:00:00";
@@ -1451,7 +1503,12 @@ namespace CallCenterApi.Interface.Controllers.Question
1451 1503
             DataSet ds = DbHelperSQL.Query("select F_CusTelID,F_TaskID from T_Call_OutAnswers where F_OptOn between '" + startdate + "' and '" + enddate + "' and F_QID=102 and (F_QIID=101 OR F_QIID=102)");
1452 1504
             if (ds != null && ds.Tables.Count > 0)
1453 1505
             {
1506
+                
1454 1507
                 DataTable dt = ds.Tables[0];
1508
+                if (dt.Rows.Count < 1)
1509
+                {
1510
+                    return Success("当前日期没有可导出的数据");
1511
+                }
1455 1512
                 for (int i = 0; i < dt.Rows.Count; i++)
1456 1513
                 {
1457 1514
                     DataRow dr = dtnew.NewRow();