|
|
@@ -1089,205 +1089,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
1089
|
1089
|
|
|
1090
|
1090
|
return Content(obj.ToJson());
|
|
1091
|
1091
|
}
|
|
1092
|
|
-
|
|
1093
|
|
- //3、营业部任务汇总表 根据分配时间 的任务量
|
|
1094
|
|
- //营业部 任务量 呼叫量 呼叫率 呼通量,呼通率,平均通话时长;
|
|
1095
|
|
- public ActionResult GetTaskDetailold(string sdate, string edate,int export = 0,int taskid=0)
|
|
1096
|
|
- {
|
|
1097
|
|
- //两个wheresql几乎完全一样,只有一个用到leftjoin的时候会提示f_deleteflag 不明确所以加了一个A.
|
|
1098
|
|
- StringBuilder wheresql1 = new StringBuilder();
|
|
1099
|
|
- StringBuilder wheresql = new StringBuilder();
|
|
1100
|
|
- wheresql1.Append(" F_FPState = 1 and a.F_DeleteFlag = 0 and F_Taskid in (select F_TaskID from T_Call_OutTask where F_IsStart = 1 and F_DeleteFlag = 0 ) ");
|
|
1101
|
|
- wheresql.Append(" F_FPState = 1 and F_DeleteFlag = 0 and F_Taskid in (select F_TaskID from T_Call_OutTask where F_IsStart = 1 and F_DeleteFlag = 0 ) ");
|
|
1102
|
|
-
|
|
1103
|
|
- if (!string.IsNullOrWhiteSpace(sdate))
|
|
1104
|
|
- wheresql.Append(" and DATEDIFF(day,F_fptime,'" + sdate.Trim() + "')<=0");
|
|
1105
|
|
- wheresql1.Append(" and DATEDIFF(day,F_fptime,'" + sdate.Trim() + "')<=0");
|
|
1106
|
|
- if (!string.IsNullOrWhiteSpace(edate))
|
|
1107
|
|
- wheresql.Append(" and DATEDIFF(day,F_fptime,'" + edate.Trim() + "')>=0");
|
|
1108
|
|
- wheresql1.Append(" and DATEDIFF(day,F_fptime,'" + edate.Trim() + "')>=0");
|
|
1109
|
|
-
|
|
1110
|
|
- if (taskid != 0)
|
|
1111
|
|
- {
|
|
1112
|
|
- wheresql.Append(" and F_TaskId ='"+taskid+"'");
|
|
1113
|
|
- wheresql1.Append(" and F_TaskId ='" + taskid + "'");
|
|
1114
|
|
- }
|
|
1115
|
|
-
|
|
1116
|
|
- //string sql = " select F_UserId,COUNT(1) tasknum , SUM(case when CallId is not null then 1 else 0 end ) callnum from T_Call_OutTaskTelNum where " + wheresql.ToString() + " group by F_UserId ";
|
|
1117
|
|
-
|
|
1118
|
|
-
|
|
1119
|
|
- string sql= "select b.F_DeptId, COUNT(1) tasknum , SUM(case when CallId is not null and CallId != '' then 1 else 0 end) callnum from T_Call_OutTaskTelNum A left join T_Sys_UserAccount B on A.F_UserId = B.F_UserId where " + wheresql1.ToString() + " group by B.F_DeptId ";
|
|
1120
|
|
-
|
|
1121
|
|
-
|
|
1122
|
|
- string deptsql = " select distinct a.F_DeptId,b.F_DeptName from [T_Sys_UserAccount] a left join T_Sys_Department b on a.F_DeptId=b.F_DeptId";
|
|
1123
|
|
-
|
|
1124
|
|
-
|
|
1125
|
|
- DataTable deptdt = DbHelperSQL.Query(deptsql).Tables[0];
|
|
1126
|
|
-
|
|
1127
|
|
-
|
|
1128
|
|
- //营业部 任务量 呼叫量 呼叫率 呼通量,呼通率,平均通话时长;
|
|
1129
|
|
- DataTable dt = DbHelperSQL.Query(sql).Tables[0];
|
|
1130
|
|
- dt.Columns.Add("callpercent"); //呼叫率
|
|
1131
|
|
-
|
|
1132
|
|
- dt.Columns.Add("exhalationflux",typeof(int));//呼通量
|
|
1133
|
|
-
|
|
1134
|
|
- dt.Columns.Add("exhalationper");//呼通率
|
|
1135
|
|
-
|
|
1136
|
|
- dt.Columns.Add("talklong");//平均通话时长
|
|
1137
|
|
-
|
|
1138
|
|
- dt.Columns.Add("depname");//平均通话时长
|
|
1139
|
|
-
|
|
1140
|
|
- //int benbutasknum = 0;
|
|
1141
|
|
-
|
|
1142
|
|
- //int benbucallnum = 0;
|
|
1143
|
|
-
|
|
1144
|
|
- //int benbuexhalationflux = 0;
|
|
1145
|
|
- //int benbutalklong = 0;// 平均通话时长
|
|
1146
|
|
-
|
|
1147
|
|
-
|
|
1148
|
|
- //int dzbenbutasknum = 0;
|
|
1149
|
|
-
|
|
1150
|
|
- //int dzbenbucallnum = 0;
|
|
1151
|
|
-
|
|
1152
|
|
- //int dzbenbuexhalationflux = 0;
|
|
1153
|
|
- //int dzbenbutalklong = 0;// 平均通话时长
|
|
1154
|
|
-
|
|
1155
|
|
-
|
|
1156
|
|
- foreach (DataRow dr in dt.Rows)
|
|
1157
|
|
- {
|
|
1158
|
|
- int deptid= Convert.ToInt32(dr["F_DeptId"].ToString());
|
|
1159
|
|
- //List<Model.T_Sys_UserAccount> userlist = new List<Model.T_Sys_UserAccount>();
|
|
1160
|
|
-
|
|
1161
|
|
- int tasknum = Convert.ToInt32(dr["tasknum"].ToString());
|
|
1162
|
|
- int callnum = Convert.ToInt32(dr["callnum"].ToString());//呼叫量
|
|
1163
|
|
- dr["callpercent"] = callnum == 0 ? "0" : string.Format("{0:F2}%", ((double)(callnum) / tasknum) * 100);
|
|
1164
|
|
-
|
|
1165
|
|
- string sql2 = " SELECT COUNT(1) exhalationflux, ISNULL( SUM(TalkLongTime) ,0) talklong FROM[dbo].[T_Call_CallRecords] where CallId in ( select callid from T_Call_OutTaskTelNum where " + wheresql.ToString() + " and F_UserId in (select F_UserId from T_Sys_UserAccount where F_DeptId='" + deptid + "') and CallId is not null ) and CallState = 1";
|
|
1166
|
|
-
|
|
1167
|
|
-
|
|
1168
|
|
- int talklong = 0;
|
|
1169
|
|
- DataTable dt2 = DbHelperSQL.Query(sql2).Tables[0];
|
|
1170
|
|
- foreach (DataRow dr2 in dt2.Rows)
|
|
1171
|
|
- {
|
|
1172
|
|
- int exhalationflux = Convert.ToInt32(dr2["exhalationflux"]);
|
|
1173
|
|
- dr["exhalationflux"] = exhalationflux;
|
|
1174
|
|
- dr["exhalationper"] = Convert.ToInt32(dr["callnum"].ToString()) == 0 ? "0" : string.Format("{0:F2}%", ((double)(exhalationflux) / callnum) * 100);
|
|
1175
|
|
-
|
|
1176
|
|
- talklong+= Convert.ToInt32(dr2["talklong"].ToString());
|
|
1177
|
|
- dr["talklong"] = exhalationflux == 0 ? "0" : string.Format("{0:F2}", ((double)(talklong) / exhalationflux) );
|
|
1178
|
|
- }
|
|
1179
|
|
-
|
|
1180
|
|
- string depname = DbHelperSQL.GetSingle(" select dbo.[GetDeptName]('" + deptid + "')").ToString();
|
|
1181
|
|
- dr["depname"] = depname;
|
|
1182
|
|
-
|
|
1183
|
|
- //if (depname == "客户部")
|
|
1184
|
|
- //{
|
|
1185
|
|
- // benbutasknum += tasknum;
|
|
1186
|
|
- // benbucallnum += callnum;
|
|
1187
|
|
- // benbuexhalationflux += Convert.ToInt32(dr["exhalationflux"].ToString());
|
|
1188
|
|
- // benbutalklong += talklong;
|
|
1189
|
|
- //}
|
|
1190
|
|
-
|
|
1191
|
|
- //if (depname == "邓州")
|
|
1192
|
|
- //{
|
|
1193
|
|
- // dzbenbutasknum += tasknum;
|
|
1194
|
|
- // dzbenbucallnum += callnum;
|
|
1195
|
|
- // dzbenbuexhalationflux += Convert.ToInt32(dr["exhalationflux"].ToString());
|
|
1196
|
|
- // dzbenbutalklong += talklong;
|
|
1197
|
|
- //}
|
|
1198
|
|
-
|
|
1199
|
|
-
|
|
1200
|
|
- }
|
|
1201
|
|
- //if (dt.Rows.Count > 0)
|
|
1202
|
|
- //{
|
|
1203
|
|
-
|
|
1204
|
|
- // dt.Columns["depname"].SetOrdinal(0);
|
|
1205
|
|
- // dt.Columns.Remove("F_UserId");
|
|
1206
|
|
-
|
|
1207
|
|
- // for (int i = dt.Rows.Count - 1; i >= 0; i--)
|
|
1208
|
|
- // {
|
|
1209
|
|
- // if (dt.Rows[i]["depname"].ToString() == "客户部" || dt.Rows[i]["depname"].ToString() == "邓州")
|
|
1210
|
|
- // {
|
|
1211
|
|
- // dt.Rows.RemoveAt(i);
|
|
1212
|
|
- // }
|
|
1213
|
|
- // }
|
|
1214
|
|
- // if (dzbenbutasknum > 0)
|
|
1215
|
|
- // {
|
|
1216
|
|
- // //营业部 任务量 呼叫量 呼叫率 呼通量,呼通率,平均通话时长;
|
|
1217
|
|
- // DataRow dr8 = dt.Rows.Add();
|
|
1218
|
|
- // dr8["depname"] = "邓州";
|
|
1219
|
|
- // dr8["tasknum"] = dzbenbutasknum;
|
|
1220
|
|
- // dr8["callnum"] = dzbenbucallnum;//呼叫量
|
|
1221
|
|
- // //呼叫率
|
|
1222
|
|
- // dr8["callpercent"] = dzbenbutasknum == 0 ? "0" : string.Format("{0:F2}%", ((double)(dzbenbucallnum) / dzbenbutasknum) * 100);
|
|
1223
|
|
- // //呼通量
|
|
1224
|
|
- // dr8["exhalationflux"] = dzbenbuexhalationflux;
|
|
1225
|
|
- // //呼通率
|
|
1226
|
|
- // dr8["exhalationper"] = dzbenbucallnum == 0 ? "0" : string.Format("{0:F2}%", ((double)(dzbenbuexhalationflux) / dzbenbucallnum) * 100);
|
|
1227
|
|
- // //平均通话时长
|
|
1228
|
|
- // dr8["talklong"] = dzbenbuexhalationflux == 0 ? "0" : string.Format("{0:F2}", ((double)(dzbenbutalklong) / dzbenbuexhalationflux));
|
|
1229
|
|
- // }
|
|
1230
|
|
-
|
|
1231
|
|
- // if (benbutasknum > 0)
|
|
1232
|
|
- // {
|
|
1233
|
|
- // //营业部 任务量 呼叫量 呼叫率 呼通量,呼通率,平均通话时长;
|
|
1234
|
|
- // DataRow dr7 = dt.Rows.Add();
|
|
1235
|
|
- // dr7["depname"] = "客户部";
|
|
1236
|
|
- // dr7["tasknum"] = benbutasknum;
|
|
1237
|
|
- // dr7["callnum"] = benbucallnum;//呼叫量
|
|
1238
|
|
- // //呼叫率
|
|
1239
|
|
- // dr7["callpercent"] = benbutasknum == 0 ? "0" : string.Format("{0:F2}%", ((double)(benbucallnum) / benbutasknum) * 100);
|
|
1240
|
|
- // //呼通量
|
|
1241
|
|
- // dr7["exhalationflux"] = benbuexhalationflux;
|
|
1242
|
|
- // //呼通率
|
|
1243
|
|
- // dr7["exhalationper"] = benbucallnum == 0 ? "0" : string.Format("{0:F2}%", ((double)(benbuexhalationflux) / benbucallnum) * 100);
|
|
1244
|
|
- // //平均通话时长
|
|
1245
|
|
- // dr7["talklong"] = benbuexhalationflux == 0 ? "0" : string.Format("{0:F2}", ((double)(benbutalklong) / benbuexhalationflux));
|
|
1246
|
|
- // }
|
|
1247
|
|
- //}
|
|
1248
|
|
- if (dt.Rows.Count>0)
|
|
1249
|
|
- {
|
|
1250
|
|
- dt.Columns["depname"].SetOrdinal(0);
|
|
1251
|
|
- dt.Columns.Remove("F_DeptId");
|
|
1252
|
|
-
|
|
1253
|
|
- DataRow drlast = dt.NewRow();//.Rows.Add();
|
|
1254
|
|
- drlast["depname"] = "合计";
|
|
1255
|
|
- drlast["tasknum"] = dt.Select("tasknum is not null").Sum(x => x.Field<int>("tasknum"));
|
|
1256
|
|
- drlast["callnum"] = dt.Select("callnum is not null").Sum(x => x.Field<int>("callnum"));
|
|
1257
|
|
- drlast["callpercent"] = drlast["callnum"].ToString() == "0" ? "0" : string.Format("{0:F2}%", ((double)(Convert.ToInt32(drlast["callnum"])) / Convert.ToInt32(drlast["tasknum"])) * 100);
|
|
1258
|
|
- drlast["exhalationflux"] = dt.Select().Sum(x => x.Field<int>("exhalationflux"));
|
|
1259
|
|
- drlast["exhalationper"] = drlast["callnum"].ToString() == "0" ? "0" : string.Format("{0:F2}%", ((double)(Convert.ToInt32(drlast["exhalationflux"])) / Convert.ToInt32(drlast["callnum"])) * 100);// benbucallnum == 0 ? "0" : string.Format("{0:F2}%", ((double)(benbuexhalationflux) / benbutasknum) * 100);
|
|
1260
|
|
-
|
|
1261
|
|
- string sql33 = " SELECT COUNT(1) exhalationflux, ISNULL( SUM(TalkLongTime) ,0) talklong FROM[dbo].[T_Call_CallRecords] where CallId in ( select callid from T_Call_OutTaskTelNum where " + wheresql.ToString() + " and CallId is not null ) and CallState = 1";
|
|
1262
|
|
-
|
|
1263
|
|
- DataTable dt33 = DbHelperSQL.Query(sql33).Tables[0];
|
|
1264
|
|
- int talklongsum = dt33.Select().Sum(x => x.Field<int>("talklong"));
|
|
1265
|
|
- drlast["talklong"] = drlast["exhalationflux"].ToString() == "0" ? "0" : string.Format("{0:F2}", ((double)(talklongsum) / Convert.ToInt32(drlast["exhalationflux"])));
|
|
1266
|
|
- dt.Rows.Add(drlast);
|
|
1267
|
|
- }
|
|
1268
|
|
- if (export == 1)
|
|
1269
|
|
- {
|
|
1270
|
|
- NPOIHelper npoi = new NPOIHelper();
|
|
1271
|
|
- string[] ccc = {
|
|
1272
|
|
-
|
|
1273
|
|
- "营业部","任务量","呼叫量","呼叫率","呼通量","呼通率(%)","平均通话时长"
|
|
1274
|
|
- };
|
|
1275
|
|
-
|
|
1276
|
|
- if (npoi.ExportToExcel("营业部任务汇总表", dt, ccc) == "")
|
|
1277
|
|
- {
|
|
1278
|
|
- return Success("导出成功");
|
|
1279
|
|
- }
|
|
1280
|
|
- else
|
|
1281
|
|
- {
|
|
1282
|
|
- return Error("导出失败");
|
|
1283
|
|
- }
|
|
1284
|
|
-
|
|
1285
|
|
-
|
|
1286
|
|
-
|
|
1287
|
|
- }
|
|
1288
|
|
-
|
|
1289
|
|
- return Success("营业部任务汇总表获取成功", dt);
|
|
1290
|
|
- }
|
|
|
1092
|
+
|
|
1291
|
1093
|
|
|
1292
|
1094
|
//4、营业部热点问题统计
|
|
1293
|
1095
|
|
|
|
@@ -1924,7 +1726,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
1924
|
1726
|
DataColumn dc2 = new DataColumn("HJCount", Type.GetType("System.Int32"));
|
|
1925
|
1727
|
dtNew2.Columns.Add(dc1);
|
|
1926
|
1728
|
dtNew2.Columns.Add(dc2);
|
|
1927
|
|
-
|
|
|
1729
|
+ #endregion
|
|
1928
|
1730
|
BLL.T_Sys_UserAccount bll = new BLL.T_Sys_UserAccount();
|
|
1929
|
1731
|
var userlist = bll.GetModelList(" F_DeleteFlag=0");
|
|
1930
|
1732
|
|
|
|
@@ -2032,124 +1834,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
2032
|
1834
|
}
|
|
2033
|
1835
|
|
|
2034
|
1836
|
#endregion
|
|
2035
|
|
- #endregion
|
|
2036
|
|
- //#region 获取乡镇统计排名
|
|
2037
|
|
- //public ActionResult GetRank(string sdate, string edate, string taskid)
|
|
2038
|
|
- //{
|
|
2039
|
|
- // if (string.IsNullOrWhiteSpace(sdate))
|
|
2040
|
|
- // {
|
|
2041
|
|
- // sdate = DateTime.Now.ToString("yyyy-MM-dd");
|
|
2042
|
|
- // }
|
|
2043
|
|
- // if (string.IsNullOrWhiteSpace(edate))
|
|
2044
|
|
- // {
|
|
2045
|
|
- // edate = DateTime.Now.ToString("yyyy-MM-dd");
|
|
2046
|
|
- // }
|
|
2047
|
|
- // string strand = "";
|
|
2048
|
|
- // if (!string.IsNullOrWhiteSpace(taskid))
|
|
2049
|
|
- // {
|
|
2050
|
|
- // strand = "and F_TaskId='" + taskid + "'";
|
|
2051
|
|
- // }
|
|
2052
|
|
- // DataTable dtnew = new DataTable();
|
|
2053
|
|
- // dtnew.Columns.Add("xiangzhen", Type.GetType("System.String"));
|
|
2054
|
|
- // dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
|
|
2055
|
|
- // int leiji = 0;
|
|
2056
|
|
- // var conf = new BLL.T_Sys_DictionaryValue().GetModelList(" F_DictionaryFlag='JBDW' ");
|
|
2057
|
|
- // if (conf.Count > 0)
|
|
2058
|
|
- // {
|
|
2059
|
|
- // foreach (var itemconf in conf)
|
|
2060
|
|
- // {
|
|
2061
|
|
- // DataRow dr = dtnew.NewRow();
|
|
2062
|
|
- // dr["xiangzhen"] = itemconf.F_Name;
|
|
2063
|
|
- // //根据乡镇获取总数
|
|
2064
|
|
- // int totalnum = otnBLL.GetRecordCount(" DATEDIFF(day,ExpandDatField1,'" + sdate + "')<=0 and DATEDIFF(day,ExpandDatField1,'" + edate + "')>=0 and ExpandIntField1='" + itemconf.F_DictionaryValueId + "' " + strand);
|
|
2065
|
|
- // //int totalnum = ansBLL.GetRecordCount(" DATEDIFF(day,F_OptOn,'" + sdate + "')<=0 and DATEDIFF(day,F_OptOn,'" + edate + "')>=0 and F_Answer='" + itemconf.F_Name + "' ");
|
|
2066
|
|
-
|
|
2067
|
|
- // leiji += totalnum;
|
|
2068
|
|
- // dr["zongshu"] = totalnum;
|
|
2069
|
|
-
|
|
2070
|
|
- // dtnew.Rows.Add(dr);
|
|
2071
|
|
- // }
|
|
2072
|
|
- // }
|
|
2073
|
|
-
|
|
2074
|
|
- // dtnew.DefaultView.Sort = "zongshu DESC";
|
|
2075
|
|
- // DataTable dtTemp = dtnew.DefaultView.ToTable();
|
|
2076
|
|
- // //计算总计
|
|
2077
|
|
- // DataRow dr0 = dtTemp.NewRow();
|
|
2078
|
|
- // dr0["xiangzhen"] = "总计";
|
|
2079
|
|
- // dr0["zongshu"] = leiji;
|
|
2080
|
|
-
|
|
2081
|
|
- // dtTemp.Rows.Add(dr0);
|
|
2082
|
|
- // return Success("获取乡镇报表数据成功", dtTemp);
|
|
2083
|
|
-
|
|
2084
|
|
- //}
|
|
2085
|
|
- //#region 数据查询--获取排名
|
|
2086
|
|
- //public ActionResult GetRankExpt(string sdate, string edate, string taskid)
|
|
2087
|
|
- //{
|
|
2088
|
|
- // if (string.IsNullOrWhiteSpace(sdate))
|
|
2089
|
|
- // {
|
|
2090
|
|
- // sdate = DateTime.Now.ToString("yyyy-MM-dd");
|
|
2091
|
|
- // }
|
|
2092
|
|
- // if (string.IsNullOrWhiteSpace(edate))
|
|
2093
|
|
- // {
|
|
2094
|
|
- // edate = DateTime.Now.ToString("yyyy-MM-dd");
|
|
2095
|
|
- // }
|
|
2096
|
|
-
|
|
2097
|
|
- // string strand = "";
|
|
2098
|
|
- // if (!string.IsNullOrWhiteSpace(taskid))
|
|
2099
|
|
- // {
|
|
2100
|
|
- // strand = "and F_TaskId='" + taskid + "'";
|
|
2101
|
|
- // }
|
|
2102
|
|
- // DataTable dtnew = new DataTable();
|
|
2103
|
|
- // dtnew.Columns.Add("paiming", Type.GetType("System.String"));
|
|
2104
|
|
- // dtnew.Columns.Add("xiangzhen", Type.GetType("System.String"));
|
|
2105
|
|
- // dtnew.Columns.Add("zongshu", Type.GetType("System.Int32"));
|
|
2106
|
|
- // int leiji = 0;
|
|
2107
|
|
-
|
|
2108
|
|
- // var conf = new BLL.T_Sys_DictionaryValue().GetModelList(" F_DictionaryFlag='JBDW' ");
|
|
2109
|
|
- // if (conf.Count > 0)
|
|
2110
|
|
- // {
|
|
2111
|
|
- // foreach (var itemconf in conf)
|
|
2112
|
|
- // {
|
|
2113
|
|
- // DataRow dr = dtnew.NewRow();
|
|
2114
|
|
- // dr["xiangzhen"] = itemconf.F_Name;
|
|
2115
|
|
- // //根据乡镇获取总数
|
|
2116
|
|
- // int totalnum = otnBLL.GetRecordCount(" DATEDIFF(day,ExpandDatField1,'" + sdate + "')<=0 and DATEDIFF(day,ExpandDatField1,'" + edate + "')>=0 and ExpandIntField1='" + itemconf.F_DictionaryValueId + "' " + strand);
|
|
2117
|
|
- // //int totalnum = ansBLL.GetRecordCount(" DATEDIFF(day,F_OptOn,'" + sdate + "')<=0 and DATEDIFF(day,F_OptOn,'" + edate + "')>=0 and F_Answer='" + itemconf.F_Name + "' ");
|
|
2118
|
|
-
|
|
2119
|
|
- // leiji += totalnum;
|
|
2120
|
|
- // dr["zongshu"] = totalnum;
|
|
2121
|
|
-
|
|
2122
|
|
- // dtnew.Rows.Add(dr);
|
|
2123
|
|
- // }
|
|
2124
|
|
- // }
|
|
2125
|
|
- // dtnew.DefaultView.Sort = "zongshu DESC";
|
|
2126
|
|
- // DataTable dtTemp = dtnew.DefaultView.ToTable();
|
|
2127
|
|
- // for (int h = 0; h < dtTemp.Rows.Count; h++)
|
|
2128
|
|
- // {
|
|
2129
|
|
- // dtTemp.Rows[h]["paiming"] = h + 1;
|
|
2130
|
|
- // }
|
|
2131
|
|
- // //计算总计
|
|
2132
|
|
- // DataRow dr0 = dtTemp.NewRow();
|
|
2133
|
|
- // dr0["paiming"] = "";
|
|
2134
|
|
- // dr0["xiangzhen"] = "总计";
|
|
2135
|
|
- // dr0["zongshu"] = leiji;
|
|
2136
|
|
- // dtTemp.Rows.Add(dr0);
|
|
2137
|
|
-
|
|
2138
|
|
- // //return res;
|
|
2139
|
|
- // //导出dtnew
|
|
2140
|
|
- // NPOIHelper npoi = new NPOIHelper();
|
|
2141
|
|
- // string[] col = { "排名", "乡镇与单位", "总数" };
|
|
2142
|
|
- // if (npoi.ExportToExcel("乡镇排名统计数据", dtTemp, col) == "")
|
|
2143
|
|
- // {
|
|
2144
|
|
- // return Success("导出成功");
|
|
2145
|
|
- // }
|
|
2146
|
|
- // else
|
|
2147
|
|
- // {
|
|
2148
|
|
- // return Error("导出失败");
|
|
2149
|
|
- // }
|
|
2150
|
|
- //}
|
|
2151
|
|
- //#endregion
|
|
2152
|
|
- // #endregion
|
|
|
1837
|
+
|
|
|
1838
|
+
|
|
2153
|
1839
|
|
|
2154
|
1840
|
|
|
2155
|
1841
|
//3、营业部任务汇总表 根据分配时间 的任务量
|
|
|
@@ -2251,7 +1937,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
2251
|
1937
|
drlast["callpercent"] = drlast["callnum"].ToString() == "0" ? "0" : string.Format("{0:F2}%", ((double)(Convert.ToInt32(drlast["callnum"])) / Convert.ToInt32(drlast["tasknum"])) * 100);
|
|
2252
|
1938
|
drlast["exhalationflux"] = deptdt.Select().Sum(x => x.Field<int>("exhalationflux"));
|
|
2253
|
1939
|
drlast["exhalationper"] = drlast["callnum"].ToString() == "0" ? "0" : string.Format("{0:F2}%", ((double)(Convert.ToInt32(drlast["exhalationflux"])) / Convert.ToInt32(drlast["callnum"])) * 100);
|
|
2254
|
|
-
|
|
|
1940
|
+
|
|
2255
|
1941
|
int talklongsum = hjxqdt.Select().Sum(x => x.Field<int>("talklong"));
|
|
2256
|
1942
|
drlast["talklong"] = drlast["exhalationflux"].ToString() == "0" ? "0" : string.Format("{0:F2}", ((double)(talklongsum) / Convert.ToInt32(drlast["exhalationflux"])));
|
|
2257
|
1943
|
deptdt.Rows.Add(drlast);
|