Explorar el Código

调整乡镇排名报表

mengjie %!s(int64=8) %!d(string=hace) años
padre
commit
097b5da2ba

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

1217
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1217
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1218
             {
1218
             {
1219
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
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
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1225
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1221
             }
1226
             }
1222
             DataTable dtnew = new DataTable();
1227
             DataTable dtnew = new DataTable();
1224
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1229
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1225
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1230
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1226
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1231
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1227
-            
1232
+            int leiji = 0;
1233
+            int buanquanleiji = 0;
1228
             //List<Model.T_Ask_Question> qrlist = new List<Model.T_Ask_Question>();
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
             if (ds != null && ds.Tables.Count > 0)
1237
             if (ds != null && ds.Tables.Count > 0)
1231
             {
1238
             {
1232
                 DataTable dt = ds.Tables[0];
1239
                 DataTable dt = ds.Tables[0];
1243
                     {
1250
                     {
1244
                         unsafenum = Convert.ToInt32(obj0);
1251
                         unsafenum = Convert.ToInt32(obj0);
1245
                     }
1252
                     }
1253
+                    buanquanleiji += unsafenum;
1246
                     dr["buanquan"] = unsafenum;
1254
                     dr["buanquan"] = unsafenum;
1247
                     //根据乡镇获取总数
1255
                     //根据乡镇获取总数
1248
                     int totalnum = 0;
1256
                     int totalnum = 0;
1251
                     {
1259
                     {
1252
                         totalnum = Convert.ToInt32(obj1);
1260
                         totalnum = Convert.ToInt32(obj1);
1253
                     }
1261
                     }
1262
+                    leiji += totalnum;
1254
                     dr["zongshu"] = totalnum;
1263
                     dr["zongshu"] = totalnum;
1255
                     //计算比例
1264
                     //计算比例
1256
                     if (totalnum > 0)
1265
                     if (totalnum > 0)
1267
             }
1276
             }
1268
             dtnew.DefaultView.Sort = "zhishu DESC";
1277
             dtnew.DefaultView.Sort = "zhishu DESC";
1269
             DataTable dtTemp = dtnew.DefaultView.ToTable();
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
             res = Success("获取乡镇报表数据成功", dtTemp);
1292
             res = Success("获取乡镇报表数据成功", dtTemp);
1271
 
1293
 
1272
             return res;
1294
             return res;
1282
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1304
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1283
             {
1305
             {
1284
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
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
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1312
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1286
             }
1313
             }
1287
             //startdate = "2017-11-12 00:00:00";
1314
             //startdate = "2017-11-12 00:00:00";
1358
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1385
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1359
             {
1386
             {
1360
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
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
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1393
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1362
             }
1394
             }
1363
             //startdate = "2017-11-12 00:00:00";
1395
             //startdate = "2017-11-12 00:00:00";
1367
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1399
             dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
1368
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1400
             dtnew.Columns.Add("buanquan", Type.GetType("System.Int32"));
1369
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1401
             dtnew.Columns.Add("zhishu", Type.GetType("System.Decimal"));
1370
-
1402
+            int leiji = 0;
1403
+            int buanquanleiji = 0;
1371
             //List<Model.T_Ask_Question> qrlist = new List<Model.T_Ask_Question>();
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
             if (ds != null && ds.Tables.Count > 0)
1407
             if (ds != null && ds.Tables.Count > 0)
1374
             {
1408
             {
1375
                 DataTable dt = ds.Tables[0];
1409
                 DataTable dt = ds.Tables[0];
1410
             }
1444
             }
1411
             dtnew.DefaultView.Sort = "zhishu DESC";
1445
             dtnew.DefaultView.Sort = "zhishu DESC";
1412
             DataTable dtTemp = dtnew.DefaultView.ToTable();
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
             //res = Success("获取乡镇报表数据成功", dtTemp);
1460
             //res = Success("获取乡镇报表数据成功", dtTemp);
1414
 
1461
 
1415
             //return res;
1462
             //return res;
1436
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1483
             if (HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == null || HttpUtility.UrlDecode(RequestString.GetQueryString("startdate")) == "")
1437
             {
1484
             {
1438
                 startdate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
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
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1491
                 enddate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
1440
             }
1492
             }
1441
             //startdate = "2017-11-12 00:00:00";
1493
             //startdate = "2017-11-12 00:00:00";
1451
             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)");
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
             if (ds != null && ds.Tables.Count > 0)
1504
             if (ds != null && ds.Tables.Count > 0)
1453
             {
1505
             {
1506
+                
1454
                 DataTable dt = ds.Tables[0];
1507
                 DataTable dt = ds.Tables[0];
1508
+                if (dt.Rows.Count < 1)
1509
+                {
1510
+                    return Success("当前日期没有可导出的数据");
1511
+                }
1455
                 for (int i = 0; i < dt.Rows.Count; i++)
1512
                 for (int i = 0; i < dt.Rows.Count; i++)
1456
                 {
1513
                 {
1457
                     DataRow dr = dtnew.NewRow();
1514
                     DataRow dr = dtnew.NewRow();