Selaa lähdekoodia

表记录不正确 评论插入类型为3 添加工单修改接口

MicroWin10-1604\Administrator 8 vuotta sitten
vanhempi
commit
cf60d55d9b

+ 0 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerController.cs

@@ -237,7 +237,6 @@ namespace CallCenterApi.Interface.Controllers.customer
237 237
                             }
238 238
                         }
239 239
                     }
240
-
241 240
                     List<string> lddep = new BLL.T_Cus_CustomerBase().GetLDdep();
242 241
                     CacheHelper.Insert("LDDep", lddep);
243 242
                 }

+ 78 - 73
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TalkTimeController.cs

@@ -10,7 +10,7 @@ using System.Web.Mvc;
10 10
 
11 11
 namespace CallCenterApi.Interface.Controllers.report
12 12
 {
13
-  //  [Authority]
13
+    //  [Authority]
14 14
     public class TalkTimeController : BaseController
15 15
     {
16 16
         //通话时长统计
@@ -19,73 +19,73 @@ namespace CallCenterApi.Interface.Controllers.report
19 19
         public ActionResult GetColumnList()
20 20
         {
21 21
             ActionResult res = NoToken("未知错误,请重新登录");
22
-         
23
-                String[] str = { "坐席名称", "呼入次数", "呼入时长", "呼出次数", "呼出时长", "呼出未接通次数", "振铃时长", "通话总时长", "平均通话时长" };
24
-                res = Success("获取通话时长统计表头成功", str);
25
-      
22
+
23
+            String[] str = { "坐席名称", "呼入次数", "呼入时长", "呼出次数", "呼出时长", "呼出未接通次数", "振铃时长", "通话总时长", "平均通话时长" };
24
+            res = Success("获取通话时长统计表头成功", str);
25
+
26 26
             return res;
27 27
         }
28 28
 
29 29
         //获取数据
30
-        public ActionResult GetDataList(string stime,string endtime)
30
+        public ActionResult GetDataList(string stime, string endtime)
31 31
         {
32 32
             ActionResult res = NoToken("未知错误,请重新登录");
33
-           
34
-                DataTable dtNew = new DataTable();
35
-                dtNew = GetData(stime, endtime);
36
-                #region
37
-                //DataTable dtNew = new DataTable();
38
-                //#region 编辑表头
39
-                //DataColumn dc1 = new DataColumn("坐席名称", Type.GetType("System.String"));
40
-                //DataColumn dc2 = new DataColumn("呼入次数", Type.GetType("System.String"));
41
-                //DataColumn dc3 = new DataColumn("呼入时长", Type.GetType("System.String"));
42
-                //DataColumn dc4 = new DataColumn("呼出次数", Type.GetType("System.String"));
43
-                //DataColumn dc5 = new DataColumn("呼出时长", Type.GetType("System.String"));
44
-                //DataColumn dc6 = new DataColumn("呼出未接通次数", Type.GetType("System.String"));
45
-                //DataColumn dc7 = new DataColumn("振铃时长", Type.GetType("System.String"));
46
-                //DataColumn dc8 = new DataColumn("通话总时长", Type.GetType("System.String"));
47
-                //DataColumn dc9 = new DataColumn("平均通话总时长", Type.GetType("System.String"));
48
-
49
-                //dtNew.Columns.Add(dc1);
50
-                //dtNew.Columns.Add(dc2);
51
-                //dtNew.Columns.Add(dc3);
52
-                //dtNew.Columns.Add(dc4);
53
-                //dtNew.Columns.Add(dc5);
54
-                //dtNew.Columns.Add(dc6);
55
-                //dtNew.Columns.Add(dc7);
56
-                //dtNew.Columns.Add(dc8);
57
-                //dtNew.Columns.Add(dc9);
58
-                //#endregion
59
-
60
-                //string[] CallInTime = GetCallRecordIn(stime, endtime, "0").TrimStart('[').TrimEnd(']').Split(',');
61
-                //string[] CallInTimes = GetCallRecordTotalTime(stime, endtime, "0").TrimStart('[').TrimEnd(']').Split(',');
62
-                //string[] CallOutTime = GetCallRecordOut(stime, endtime, "1","").TrimStart('[').TrimEnd(']').Split(',');
63
-                //string[] CallOutTimes = GetCallRecordTotalTime(stime, endtime, "1").TrimStart('[').TrimEnd(']').Split(',');
64
-                //string[] CallOutWTime = GetCallRecordOut(stime, endtime, "1", "0").TrimStart('[').TrimEnd(']').Split(',');
65
-                //string[] CallOutWTimes = GetCallRecordRingTime(stime, endtime).TrimStart('[').TrimEnd(']').Split(',');
66
-                //string[] CallTotalTime = GetCallRecordTotalTime(stime, endtime, "").TrimStart('[').TrimEnd(']').Split(',');
67
-                //string[] AgentArr = GetAgent().TrimStart('[').TrimEnd(']').Split(',');
68
-                //string[] AverageTime = GetCallAverageTime(stime, endtime).TrimStart('[').TrimEnd(']').Split(',');
69
-
70
-                //for (int i = 0; i < AgentArr.Length; i++)
71
-                //{
72
-                //    DataRow drNew = dtNew.NewRow();
73
-
74
-                //    drNew["坐席名称"] = AgentArr[i].Replace('\'', ' ');
75
-                //    drNew["呼入次数"] = CallInTime[i];
76
-                //    drNew["呼入时长"] = CallInTimes[i];
77
-                //    drNew["呼出次数"] = CallOutTime[i];
78
-                //    drNew["呼出时长"] = CallOutTimes[i];
79
-                //    drNew["呼出未接通次数"] = CallOutWTime[i];
80
-                //    drNew["振铃时长"] = CallOutWTimes[i];
81
-                //    drNew["通话总时长"] = CallTotalTime[i];
82
-                //    drNew["平均通话总时长"] = AverageTime[i];
83
-
84
-                //    dtNew.Rows.Add(drNew);
85
-                //}
86
-                #endregion
87
-                res = Success("获取通话时长数据成功", dtNew);
88
-        
33
+
34
+            DataTable dtNew = new DataTable();
35
+            dtNew = GetData(stime, endtime);
36
+            #region
37
+            //DataTable dtNew = new DataTable();
38
+            //#region 编辑表头
39
+            //DataColumn dc1 = new DataColumn("坐席名称", Type.GetType("System.String"));
40
+            //DataColumn dc2 = new DataColumn("呼入次数", Type.GetType("System.String"));
41
+            //DataColumn dc3 = new DataColumn("呼入时长", Type.GetType("System.String"));
42
+            //DataColumn dc4 = new DataColumn("呼出次数", Type.GetType("System.String"));
43
+            //DataColumn dc5 = new DataColumn("呼出时长", Type.GetType("System.String"));
44
+            //DataColumn dc6 = new DataColumn("呼出未接通次数", Type.GetType("System.String"));
45
+            //DataColumn dc7 = new DataColumn("振铃时长", Type.GetType("System.String"));
46
+            //DataColumn dc8 = new DataColumn("通话总时长", Type.GetType("System.String"));
47
+            //DataColumn dc9 = new DataColumn("平均通话总时长", Type.GetType("System.String"));
48
+
49
+            //dtNew.Columns.Add(dc1);
50
+            //dtNew.Columns.Add(dc2);
51
+            //dtNew.Columns.Add(dc3);
52
+            //dtNew.Columns.Add(dc4);
53
+            //dtNew.Columns.Add(dc5);
54
+            //dtNew.Columns.Add(dc6);
55
+            //dtNew.Columns.Add(dc7);
56
+            //dtNew.Columns.Add(dc8);
57
+            //dtNew.Columns.Add(dc9);
58
+            //#endregion
59
+
60
+            //string[] CallInTime = GetCallRecordIn(stime, endtime, "0").TrimStart('[').TrimEnd(']').Split(',');
61
+            //string[] CallInTimes = GetCallRecordTotalTime(stime, endtime, "0").TrimStart('[').TrimEnd(']').Split(',');
62
+            //string[] CallOutTime = GetCallRecordOut(stime, endtime, "1","").TrimStart('[').TrimEnd(']').Split(',');
63
+            //string[] CallOutTimes = GetCallRecordTotalTime(stime, endtime, "1").TrimStart('[').TrimEnd(']').Split(',');
64
+            //string[] CallOutWTime = GetCallRecordOut(stime, endtime, "1", "0").TrimStart('[').TrimEnd(']').Split(',');
65
+            //string[] CallOutWTimes = GetCallRecordRingTime(stime, endtime).TrimStart('[').TrimEnd(']').Split(',');
66
+            //string[] CallTotalTime = GetCallRecordTotalTime(stime, endtime, "").TrimStart('[').TrimEnd(']').Split(',');
67
+            //string[] AgentArr = GetAgent().TrimStart('[').TrimEnd(']').Split(',');
68
+            //string[] AverageTime = GetCallAverageTime(stime, endtime).TrimStart('[').TrimEnd(']').Split(',');
69
+
70
+            //for (int i = 0; i < AgentArr.Length; i++)
71
+            //{
72
+            //    DataRow drNew = dtNew.NewRow();
73
+
74
+            //    drNew["坐席名称"] = AgentArr[i].Replace('\'', ' ');
75
+            //    drNew["呼入次数"] = CallInTime[i];
76
+            //    drNew["呼入时长"] = CallInTimes[i];
77
+            //    drNew["呼出次数"] = CallOutTime[i];
78
+            //    drNew["呼出时长"] = CallOutTimes[i];
79
+            //    drNew["呼出未接通次数"] = CallOutWTime[i];
80
+            //    drNew["振铃时长"] = CallOutWTimes[i];
81
+            //    drNew["通话总时长"] = CallTotalTime[i];
82
+            //    drNew["平均通话总时长"] = AverageTime[i];
83
+
84
+            //    dtNew.Rows.Add(drNew);
85
+            //}
86
+            #endregion
87
+            res = Success("获取通话时长数据成功", dtNew);
88
+
89 89
             return res;
90 90
         }
91 91
 
@@ -201,11 +201,14 @@ namespace CallCenterApi.Interface.Controllers.report
201 201
                 sql += " and CallType=" + tag;
202 202
             }
203 203
             var userAccountList = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1");
204
-            DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
204
+            //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
205
+            //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
206
+            var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime from T_Sys_UserAccount users left join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
207
+            DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
205 208
 
206 209
             foreach (Model.T_Sys_UserAccount item in userAccountList)
207 210
             {
208
-                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserName") == item.F_UserName);
211
+                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("F_UserCode") == item.F_UserCode);
209 212
 
210 213
                 if (drUser != null && drUser[4].ToString() != "")
211 214
                     result += drUser[4].ToString() + ",";
@@ -242,9 +245,9 @@ namespace CallCenterApi.Interface.Controllers.report
242 245
             string result = "[";
243 246
 
244 247
             string[] CallInTime = GetCallRecordIn(BeginTime, EndTime, "0").TrimStart('[').TrimEnd(']').Split(',');
245
-            string[] CallOutTime = GetCallRecordOut(BeginTime, EndTime, "1","").TrimStart('[').TrimEnd(']').Split(',');
248
+            string[] CallOutTime = GetCallRecordOut(BeginTime, EndTime, "1", "").TrimStart('[').TrimEnd(']').Split(',');
246 249
 
247
-            string[] CallTotalTime = GetCallRecordTotalTime(BeginTime, EndTime,"").TrimStart('[').TrimEnd(']').Split(',');
250
+            string[] CallTotalTime = GetCallRecordTotalTime(BeginTime, EndTime, "").TrimStart('[').TrimEnd(']').Split(',');
248 251
 
249 252
             for (int i = 0; i < CallInTime.Length; i++)
250 253
             {
@@ -288,12 +291,12 @@ namespace CallCenterApi.Interface.Controllers.report
288 291
             string sql = " and CallType=" + Tag; // 呼入
289 292
             var userAccountList = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1");
290 293
 
291
-            if (BeginTime != "")
294
+            if (!string.IsNullOrEmpty(BeginTime))
292 295
             {
293 296
                 sql += " and BeginTime>='" + BeginTime + "'";
294 297
                 //sql += " and DATEDIFF(d,BeginTime,'" + BeginTime + "')<=0";
295 298
             }
296
-            if (EndTime != "")
299
+            if (!string.IsNullOrEmpty(EndTime))
297 300
             {
298 301
                 sql += " and BeginTime<='" + EndTime + "'";
299 302
                 //sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
@@ -303,19 +306,21 @@ namespace CallCenterApi.Interface.Controllers.report
303 306
                 sql += " and CallState=" + state.Trim();
304 307
             }
305 308
 
306
-            DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
309
+            //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
310
+            var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount from T_Sys_UserAccount users left join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
311
+            DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
307 312
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
308 313
 
309 314
             foreach (Model.T_Sys_UserAccount item in userAccountList)
310 315
             {
311
-                if (!myDictionary.ContainsKey(item.F_UserName))
312
-                    myDictionary.Add(item.F_UserName, 0);
316
+                if (!myDictionary.ContainsKey(item.F_UserCode))
317
+                    myDictionary.Add(item.F_UserCode, 0);
313 318
 
314
-                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserName") == item.F_UserName);
319
+                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("F_UserCode") == item.F_UserCode);
315 320
 
316 321
                 if (drUser != null)
317 322
                 {
318
-                    myDictionary[item.F_UserName] += int.Parse(drUser[3].ToString());
323
+                    myDictionary[item.F_UserCode] += int.Parse(drUser[3].ToString());
319 324
                 }
320 325
             }
321 326
 

+ 2 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/ZuoXiManYiDuController.cs

@@ -96,7 +96,8 @@ namespace CallCenterApi.Interface.Controllers.report
96 96
             //存储数据
97 97
             Dictionary<string, List<List<string>>> body = new Dictionary<string, List<List<string>>>();
98 98
             //坐席
99
-            DataTable dtable = new BLL.T_Sys_UserAccount().GetList("F_RoleId in (1,4,28,29) and F_DeleteFlag=0").Tables[0];//客服坐席、班长坐席、售前坐席、投诉坐席
99
+            //DataTable dtable = new BLL.T_Sys_UserAccount().GetList("F_RoleId in (1,4,28,29) and F_DeleteFlag=0").Tables[0];//客服坐席、班长坐席、售前坐席、投诉坐席
100
+            DataTable dtable = new BLL.T_Sys_UserAccount().GetList("F_DeleteFlag=0").Tables[0];
100 101
             int allcount = dtable.Rows.Count;
101 102
             for (int i = 0; i < allcount; i++)
102 103
             {

+ 78 - 3
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -368,7 +368,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
368 368
                             var dtdep = DbHelperSQL.Query("select F_ZXZID,F_ZXZName from [dbo].[T_Sys_SeatGroup],T_Sys_UserAccount where T_Sys_UserAccount.F_SeartGroupID =[dbo].[T_Sys_SeatGroup].F_ZXZID and F_UserCode ='" + ua.F_UserCode + "' ").Tables[0].Rows[0];
369 369
                             var depid = dtdep["F_ZXZID"];
370 370
                             var depname = dtdep["F_ZXZName"].ToString();
371
-                            
371
+
372 372
                             if (depname == "客服组")
373 373
                             {
374 374
                                 var usercodes = new BLL.T_Sys_UserAccount().GetModelList(" F_SeartGroupID=" + depid).Select(p => p.F_UserCode);
@@ -391,7 +391,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
391 391
                                         scdeps += item[0].ToString() + ",";
392 392
                                 }
393 393
                                 scdeps = scdeps.TrimEnd(',');
394
-                                var scusercodes = new BLL.T_Sys_UserAccount().GetModelList(" F_SeartGroupID in ("+scdeps+")").Select(p => p.F_UserCode);
394
+                                var scusercodes = new BLL.T_Sys_UserAccount().GetModelList(" F_SeartGroupID in (" + scdeps + ")").Select(p => p.F_UserCode);
395 395
                                 string scucodes = "";
396 396
                                 foreach (var item in scusercodes)
397 397
                                 {
@@ -835,6 +835,81 @@ namespace CallCenterApi.Interface.Controllers.workorder
835 835
         }
836 836
 
837 837
         /// <summary>
838
+        /// 修改工单记录详情
839
+        /// </summary>
840
+        /// <returns></returns>
841
+        public ActionResult EditWorkOrderDetail()
842
+        {
843
+            ActionResult res = NoToken("未知错误,请重新登录");
844
+            if (Request.IsAuthenticated)
845
+            {
846
+                int userId = CurrentUser.UserData.F_UserId;
847
+                if (userId != 0)
848
+                {
849
+                    Model.T_Sys_UserAccount ua = new BLL.T_Sys_UserAccount().GetModel(userId);
850
+                    if (ua != null)
851
+                    {
852
+                        //工单来源
853
+                        int type = RequestString.GetInt("type", 0);
854
+                        //工单类型
855
+                        int typeclass = RequestString.GetInt("typeclass", 0);
856
+                        //工单状态
857
+                        int gdzt = RequestString.GetInt("gdzt", 471);
858
+                        //工单id
859
+                        string workorderid = RequestString.GetQueryString("orderid");
860
+                        //客户姓名
861
+                        string customer = RequestString.GetQueryString("customer");
862
+                        //来电单位/反馈单位
863
+                        string lddep = RequestString.GetQueryString("lddep");
864
+                        string fkdep = RequestString.GetQueryString("fkdep");
865
+                        //反馈内容
866
+                        string detail = RequestString.GetQueryString("detail");
867
+                        //快递信息
868
+                        string files = RequestString.GetQueryString("files");
869
+                        //备注一二三
870
+                        string country = RequestString.GetQueryString("remark1");
871
+                        string province = RequestString.GetQueryString("remark2");
872
+                        string city = RequestString.GetQueryString("remark3");
873
+
874
+                        if (!string.IsNullOrEmpty(workorderid))
875
+                        {
876
+                            var models = new BLL.T_Wo_WorkOrder().GetModelList(" WorkOrderID='" + workorderid + "'");
877
+                            if (models.Count > 0)
878
+                            {
879
+                                var ordermodel = models.FirstOrDefault();
880
+                                ordermodel.Type = type;
881
+                                ordermodel.TypeClass = typeclass;
882
+                                var gdztmodel = new BLL.T_Sys_DictionaryValue().GetModel(gdzt);
883
+                                if (gdztmodel != null)
884
+                                {
885
+                                    if (gdztmodel.F_Name == "待处理")
886
+                                        ordermodel.State = 0;
887
+                                    else
888
+                                        ordermodel.State = 1;
889
+                                }
890
+                                
891
+                                ordermodel.Customer = customer;
892
+                                ordermodel.Address = lddep;
893
+                                ordermodel.Source = fkdep;
894
+                                ordermodel.Detail = detail;
895
+                                ordermodel.Files = files;
896
+                                ordermodel.County = country;
897
+                                ordermodel.Province = province;
898
+                                ordermodel.City = city;
899
+
900
+                                if(new BLL.T_Wo_WorkOrder().Update(ordermodel))
901
+                                    res = Success("修改成功!");
902
+                                else
903
+                                    res = Error("修改失败!");
904
+                            }
905
+                        }
906
+                    }
907
+                }
908
+            }
909
+            return res;
910
+        }
911
+
912
+        /// <summary>
838 913
         /// 添加/修改工单信息客服部
839 914
         /// </summary>
840 915
         /// <returns></returns>
@@ -1766,7 +1841,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1766 1841
                         {
1767 1842
                             Model.T_Wo_WorkOrderItem item = new Model.T_Wo_WorkOrderItem();
1768 1843
                             item.WorkOrderID = orderid;
1769
-                            item.Type = 4;//评论
1844
+                            item.Type = 3;//评论
1770 1845
                             item.Detail = cont;
1771 1846
                             item.Files = file;
1772 1847
                             item.State = 0;