yuqian лет назад: 8
Родитель
Сommit
458dc3f0d7

+ 68 - 49
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs

@@ -636,7 +636,7 @@ namespace CallCenterApi.Interface.Controllers.callout
636 636
             if (!Request.IsAuthenticated)
637 637
                 return NoToken("未知错误,请重新登录");
638 638
 
639
-            var sql = "";
639
+            var sql = $" and t.State=1 and F_UserId={CurrentUser.UserData.F_UserId} ";
640 640
             if (filter.Id > 0)
641 641
             {
642 642
                 var model = taskBLL.GetModel(filter.Id);
@@ -644,13 +644,22 @@ namespace CallCenterApi.Interface.Controllers.callout
644 644
                 if (model == null)
645 645
                     return Error("外呼任务不存在");
646 646
             }
647
-
648
-
649
-            sql += $" and t.State>0 and F_UserId={CurrentUser.UserData.F_UserId} ";
650 647
             if (!string.IsNullOrWhiteSpace(filter.Phone))
651 648
             {
652 649
                 sql += $" and F_Phone like '%{filter.Phone}%'";
653 650
             }
651
+
652
+            switch (filter.RequestType)
653
+            {
654
+                case 1://我的任务
655
+                    sql += $" and F_HCState=0 ";
656
+                    break;
657
+                default:
658
+                    break;
659
+            }
660
+
661
+
662
+
654 663
             if (filter.FPState > -1)
655 664
             {
656 665
                 sql += $" and F_FPState={filter.FPState} ";
@@ -663,8 +672,16 @@ namespace CallCenterApi.Interface.Controllers.callout
663 672
             {
664 673
                 sql += $" and F_YJState={filter.YJState} ";
665 674
             }
675
+            if (filter.YJState > -1)
676
+            {
677
+                sql += $" and F_YJState={filter.YJState} ";
678
+            }
679
+            if (filter.YJState > -1)
680
+            {
681
+                sql += $" and F_YJState={filter.YJState} ";
682
+            }
666 683
 
667
-            var field = "F_Id,t.TaskName,F_Phone,F_FPState,F_HCState,F_YJState,F_Username,tn.F_CreateTime";
684
+            var field = "F_Id,t.TaskName,F_Phone,F_FPState,F_HCState,F_YJState,F_Username,tn.F_CreateTime,F_HJJGName,F_YHFKName";
668 685
             if (filter.TaskType == 2)
669 686
             {
670 687
                 field += " F_Phone,F_HCState,F_YJState";
@@ -693,6 +710,8 @@ namespace CallCenterApi.Interface.Controllers.callout
693 710
                     isallot = x.F_FPState == null ? "" : (x.F_FPState > 0 ? "已分配" : "未分配"),
694 711
                     iscalled = x.F_HCState > 0 ? "已呼叫" : "未呼叫",
695 712
                     isconnected = x.F_YJState > 0 ? "已接通" : "未接通",
713
+                    hjjg = x.F_HJJGName,
714
+                    yhfk = x.F_YHFKName,
696 715
                     createtime = Convert.ToDateTime(x.F_CreateTime).ToString("yyyy-MM-dd HH:mm:ss")
697 716
                 }),
698 717
                 total = recordCount
@@ -816,20 +835,15 @@ namespace CallCenterApi.Interface.Controllers.callout
816 835
             return Success("");
817 836
         }
818 837
         /// <summary>
819
-        /// 更新拨出号码的 呼叫状态,用户反馈等
838
+        /// 更新拨出号码的 呼叫状态
820 839
         /// </summary>
821 840
         /// <returns></returns>
822
-        public ActionResult UpdateCallNumDetail(CallNumberInput input)
841
+        public ActionResult UpdateCallState(int id)
823 842
         {
824
-            var model = taskTellNumBLL.GetModel(input.Id);
843
+            var model = taskTellNumBLL.GetModel(id);
825 844
             if (model == null)
826 845
                 return Error("该号码信息不存在");
827
-            model.F_HJJGId = input.HJJG;
828
-            model.F_YHFKID = input.YHFK;
829
-            model.F_Remark = input.Remark ?? "";
830
-
831
-
832
-            if (taskTellNumBLL.Update(model))
846
+            if (taskTellNumBLL.UpdateHC(model.F_Id, 1))
833 847
                 return Success("更新成功");
834 848
             return Error("更新失败");
835 849
 
@@ -847,12 +861,17 @@ namespace CallCenterApi.Interface.Controllers.callout
847 861
         /// <returns></returns>
848 862
         public ActionResult Answers(CallNumberInput input)
849 863
         {
864
+            if (input.Id <= 0)
865
+                return Error("提交失败,当前号码不存在");
866
+            var otnModel = taskTellNumBLL.GetModel(input.Id);
867
+            if (otnModel.F_HCState <= 0)
868
+                return Error("提交失败,号码未进行呼叫");
869
+            int cc = 0;
870
+            var ansModel = new Model.T_Call_Answers();
871
+            string askqids = "";
872
+            string ansids = "";
850 873
             if (input.Ans != null)
851 874
             {
852
-                int cc = 0;
853
-                var ansModel = new Model.T_Call_Answers();
854
-                string askqids = "";
855
-                string ansids = "";
856 875
 
857 876
                 //先删除 后添加
858 877
                 ansBLL.DeleteByTelid(input.Id, input.TaskId);
@@ -894,40 +913,40 @@ namespace CallCenterApi.Interface.Controllers.callout
894 913
                             cc++;
895 914
                     }
896 915
                 }
916
+            }
897 917
 
898
-                if (input.Id > 0)
899
-                {
900
-                    var otnModel = taskTellNumBLL.GetModel(input.Id);
901
-                    if (otnModel != null)
902
-                    {
903
-                        otnModel.F_HJJGId = input.HJJG;
904
-                        var hjconfig = new BLL.T_Sys_DictionaryValue().GetModel(input.HJJG);
905
-                        if (hjconfig != null)
906
-                            otnModel.F_HJJGName = hjconfig.F_Name;
907
-                        otnModel.F_YHFKID = input.YHFK;
908
-                        var fkconfig = new BLL.T_Sys_DictionaryValue().GetModel(input.YHFK);
909
-                        if (fkconfig != null)
910
-                            otnModel.F_YHFKName = fkconfig.F_Name;
911
-                        otnModel.F_AskRes = askqids;
912
-                        otnModel.F_AskInfo = ansids;
913
-                        taskTellNumBLL.Update(otnModel);
914
-
915
-                        //记录日志
916
-                        //planrecord(otnModel);
917
-                    }
918
-                }
919 918
 
920
-                if (cc == input.Ans.Length)
921
-                {
922
-                    return Success("问卷答案提交成功!taskid=" + input.TaskId + ",custelid=" + input.Id + ",操作人:" + CurrentUser.UserData.F_UserCode);
923
-                }
924
-                else
925
-                {
926
-                    ansBLL.DeleteByTelid(input.Id, input.TaskId);
927
-                    return Error("问卷答案提交失败!taskid=" + input.TaskId + ",custelid=" + input.Id + ",操作人:" + CurrentUser.UserData.F_UserCode);
928
-                }
919
+            if (otnModel != null)
920
+            {
921
+                otnModel.F_HJJGId = input.HJJG;
922
+                var hjconfig = new BLL.T_Sys_DictionaryValue().GetModel(input.HJJG);
923
+                if (hjconfig != null)
924
+                    otnModel.F_HJJGName = hjconfig.F_Name;
925
+                otnModel.F_YHFKID = input.YHFK;
926
+                var fkconfig = new BLL.T_Sys_DictionaryValue().GetModel(input.YHFK);
927
+                if (fkconfig != null)
928
+                    otnModel.F_YHFKName = fkconfig.F_Name;
929
+                otnModel.F_AskRes = askqids;
930
+                otnModel.F_AskInfo = ansids;
931
+
932
+                otnModel.F_Remark = input.Remark ?? "";
933
+                taskTellNumBLL.Update(otnModel);
934
+
935
+                //记录日志
936
+                //planrecord(otnModel);
937
+            }
938
+
939
+
940
+            if (cc == (input.Ans?.Length ?? 0))
941
+            {
942
+                return Success("提交成功!taskid=" + input.TaskId + ",custelid=" + input.Id + ",操作人:" + CurrentUser.UserData.F_UserCode);
929 943
             }
930
-            return Error("没有问卷答案提交");
944
+            else
945
+            {
946
+                ansBLL.DeleteByTelid(input.Id, input.TaskId);
947
+                return Error("问卷答案提交失败!taskid=" + input.TaskId + ",custelid=" + input.Id + ",操作人:" + CurrentUser.UserData.F_UserCode);
948
+            }
949
+
931 950
         }
932 951
         #endregion
933 952
 

+ 1 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/quality/IndexBaseController.cs

@@ -188,6 +188,7 @@ namespace CallCenterApi.Interface.Controllers.quality
188 188
                         if (b)
189 189
                         {
190 190
                             res = Success("编辑成功");
191
+                            SetScoreByCategory(cid);
191 192
                         }
192 193
                         else
193 194
                         {

+ 59 - 12
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/quality/QCManageController.cs

@@ -33,6 +33,29 @@ namespace CallCenterApi.Interface.Controllers.quality
33 33
             string strpagesize = RequestString.GetQueryString("pagesize");
34 34
             int pagesize = 10;
35 35
 
36
+            var roleId = CurrentUser.UserData.F_RoleId;
37
+            var deptId = CurrentUser.UserData.F_DeptId;
38
+            var deptCode = CurrentUser.UserData.F_DeptCode;
39
+            var currentUsercode = CurrentUser.UserData.F_UserCode;
40
+            if (roleId != 0)
41
+            {
42
+                if (roleId != 17)
43
+                {
44
+                    if (deptCode.IndexOf("|1|") > 0)
45
+                    {
46
+                        if (roleId == 36 || roleId == 38 || roleId == 40)
47
+                        {
48
+                            sql += $" and  UserCode='{currentUsercode}'";
49
+                        }
50
+                        else
51
+                        {
52
+                            sql += $" and  UserCode  in (SELECT F_UserCode FROM T_Sys_UserAccount WHERE F_DeptId={deptId})";
53
+                        }
54
+
55
+                    }
56
+                }
57
+            }
58
+
36 59
             sql += " and CallState='1' and F_QCState<>1  ";
37 60
 
38 61
             if (phone.Trim() != "")
@@ -47,21 +70,21 @@ namespace CallCenterApi.Interface.Controllers.quality
47 70
             {
48 71
                 sql += " and CallType='" + calltype + "'";
49 72
             }
50
-            if (starttime.Trim() == "" && endtime.Trim() == "")
73
+            //if (starttime.Trim() == "" && endtime.Trim() == "")
74
+            //{
75
+            //    sql += " and DATEDIFF(week, BeginTime,getdate())=1 ";//默认显示上周记录
76
+            //}
77
+            //else
78
+            //{
79
+            if (starttime.Trim() != "")
51 80
             {
52
-                sql += " and DATEDIFF(week, BeginTime,getdate())=1 ";//默认显示上周记录
81
+                sql += " and BeginTime>='" + starttime + "'";
53 82
             }
54
-            else
83
+            if (endtime.Trim() != "")
55 84
             {
56
-                if (starttime.Trim() != "")
57
-                {
58
-                    sql += " and BeginTime>='" + starttime + "'";
59
-                }
60
-                if (endtime.Trim() != "")
61
-                {
62
-                    sql += " and BeginTime<='" + endtime + "'";
63
-                }
85
+                sql += " and BeginTime<='" + endtime + "'";
64 86
             }
87
+            //}
65 88
             if (startl.Trim() != "")
66 89
             {
67 90
                 sql += " and TalkLongTime>=" + startl + " ";
@@ -164,6 +187,29 @@ namespace CallCenterApi.Interface.Controllers.quality
164 187
             string strpagesize = RequestString.GetQueryString("pagesize");
165 188
             int pagesize = 10;
166 189
 
190
+            var roleId = CurrentUser.UserData.F_RoleId;
191
+            var deptId = CurrentUser.UserData.F_DeptId;
192
+            var deptCode = CurrentUser.UserData.F_DeptCode;
193
+            var currentUsercode = CurrentUser.UserData.F_UserCode;
194
+            if (roleId != 0)
195
+            {
196
+                if (roleId != 17)
197
+                {
198
+                    if (deptCode.IndexOf("|1|") > 0)
199
+                    {
200
+                        if (roleId == 36 || roleId == 38 || roleId == 40)
201
+                        {
202
+                            sql += $" and  UserCode='{currentUsercode}'";
203
+                        }
204
+                        else
205
+                        {
206
+                            sql += $" and  UserCode  in (SELECT F_UserCode FROM T_Sys_UserAccount WHERE F_DeptId={deptId})";
207
+                        }
208
+
209
+                    }
210
+                }
211
+            }
212
+
167 213
             //已接通,已质检
168 214
             sql += "  and CallState='1' and F_QCState=1 ";
169 215
 
@@ -243,7 +289,8 @@ namespace CallCenterApi.Interface.Controllers.quality
243 289
                     _businesstype = d.BusinessType,
244 290
                     _f_qclc = lc,
245 291
                     _f_qcdc = dc,
246
-                    _callrecordsid = d.CallRecordsId
292
+                    _callrecordsid = d.CallRecordsId,
293
+                    _deptname = d.F_DeptName
247 294
                 };
248 295
             }).ToList<object>();
249 296
 

+ 248 - 248
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/QCResultController.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 QCResultController : BaseController
15 15
     {
16 16
         //质检报表
@@ -22,300 +22,300 @@ namespace CallCenterApi.Interface.Controllers.report
22 22
         {
23 23
             ActionResult res = NoToken("未知错误,请重新登录");
24 24
             List<Model.QCModel> qclist = new List<Model.QCModel>();
25
-          
26
-                #region 加载固定项
27
-                DataColumn dc1 = new DataColumn("QCName",Type.GetType("System.String"));
28
-                DataColumn dc2 = new DataColumn("UserName", Type.GetType("System.String"));
29
-                DataColumn dc3 = new DataColumn("UserCode", Type.GetType("System.String"));
30
-                DataColumn dc4 = new DataColumn("ZJCount", Type.GetType("System.String"));
31
-                dtNew.Columns.Add(dc1);
32
-                dtNew.Columns.Add(dc2);
33
-                dtNew.Columns.Add(dc3);
34
-                dtNew.Columns.Add(dc4);
35
-                Model.QCModel qcm1 = new Model.QCModel();
36
-                qcm1.Qcid = "cpr1";
37
-                qcm1.Qcname = "测评人";
38
-                qcm1.Rowspan = "4";
39
-                Model.QCModel qcm2 = new Model.QCModel();
40
-                qcm2.Qcid = "xm2";
41
-                qcm2.Qcname = "姓名";
42
-                qcm2.Rowspan = "4";
43
-                Model.QCModel qcm3 = new Model.QCModel();
44
-                qcm3.Qcid = "gh3";
45
-                qcm3.Qcname = "工号";
46
-                qcm3.Rowspan = "4";
47
-                Model.QCModel qcm4 = new Model.QCModel();
48
-                qcm4.Qcid = "zjts4";
49
-                qcm4.Qcname = "质检条数";
50
-                qcm4.Rowspan = "4";
51
-                qclist.Add(qcm1);
52
-                qclist.Add(qcm2);
53
-                qclist.Add(qcm3);
54
-                qclist.Add(qcm4);
55
-                #endregion
56
-                Model.QCModel qcmzf = new Model.QCModel();
57
-                qcmzf.Qcid = "zf999";
58
-                qcmzf.Qcname = "总分";
59
-                qcmzf.Rowspan = "3";
60
-                
61
-                object obj = null;
62
-                
63
-                DataSet ds = DbHelperSQL.Query("select F_CategoryId,F_CategoryName,F_ParentId from T_QC_IndexCategory where F_DeleteFlag=0 order by F_CategoryId asc");
64
-                DataTable dsConten = DbHelperSQL.Query("select F_IndexId,F_Content,F_Title,F_Score,F_CategoryId from T_QC_IndexBase order by F_IndexId asc").Tables[0];
65
-                if (ds != null && ds.Tables.Count > 0)
25
+
26
+            #region 加载固定项
27
+            DataColumn dc1 = new DataColumn("QCName", Type.GetType("System.String"));
28
+            DataColumn dc2 = new DataColumn("UserName", Type.GetType("System.String"));
29
+            DataColumn dc3 = new DataColumn("UserCode", Type.GetType("System.String"));
30
+            DataColumn dc4 = new DataColumn("ZJCount", Type.GetType("System.String"));
31
+            dtNew.Columns.Add(dc1);
32
+            dtNew.Columns.Add(dc2);
33
+            dtNew.Columns.Add(dc3);
34
+            dtNew.Columns.Add(dc4);
35
+            Model.QCModel qcm1 = new Model.QCModel();
36
+            qcm1.Qcid = "cpr1";
37
+            qcm1.Qcname = "测评人";
38
+            qcm1.Rowspan = "4";
39
+            Model.QCModel qcm2 = new Model.QCModel();
40
+            qcm2.Qcid = "xm2";
41
+            qcm2.Qcname = "姓名";
42
+            qcm2.Rowspan = "4";
43
+            Model.QCModel qcm3 = new Model.QCModel();
44
+            qcm3.Qcid = "gh3";
45
+            qcm3.Qcname = "工号";
46
+            qcm3.Rowspan = "4";
47
+            Model.QCModel qcm4 = new Model.QCModel();
48
+            qcm4.Qcid = "zjts4";
49
+            qcm4.Qcname = "质检条数";
50
+            qcm4.Rowspan = "4";
51
+            qclist.Add(qcm1);
52
+            qclist.Add(qcm2);
53
+            qclist.Add(qcm3);
54
+            qclist.Add(qcm4);
55
+            #endregion
56
+            Model.QCModel qcmzf = new Model.QCModel();
57
+            qcmzf.Qcid = "zf999";
58
+            qcmzf.Qcname = "总分";
59
+            qcmzf.Rowspan = "3";
60
+
61
+            object obj = null;
62
+
63
+            DataSet ds = DbHelperSQL.Query("select F_CategoryId,F_CategoryName,F_ParentId from T_QC_IndexCategory where F_DeleteFlag=0 order by F_CategoryId asc");
64
+            DataTable dsConten = DbHelperSQL.Query("select F_IndexId,F_Content,F_Title,F_Score,F_CategoryId from T_QC_IndexBase order by F_IndexId asc").Tables[0];
65
+            if (ds != null && ds.Tables.Count > 0)
66
+            {
67
+                DataTable dt = ds.Tables[0];
68
+                DataRow[] drlist = dt.Select("F_ParentId=0");
69
+                if (drlist != null)
66 70
                 {
67
-                    DataTable dt = ds.Tables[0];
68
-                    DataRow[] drlist = dt.Select("F_ParentId=0");
69
-                    if (drlist != null)
71
+                    int ctsc = 0;//总分
72
+                    for (int i = 0; i < drlist.Length; i++)
70 73
                     {
71
-                        int ctsc = 0;//总分
72
-                        for (int i = 0; i < drlist.Length; i++)
74
+                        obj = DbHelperSQL.GetSingle("select count(*) from T_QC_IndexBase where F_CategoryId in(select F_CategoryId from T_QC_IndexCategory where F_ParentId=" + drlist[i]["F_CategoryId"] + ")");
75
+
76
+                        Model.QCModel qcml = new Model.QCModel();
77
+                        qcml.Qcid = drlist[i]["F_CategoryId"].ToString();
78
+                        qcml.Qcname = drlist[i]["F_CategoryName"].ToString();
79
+                        qcml.Colspan = obj.ToString();
80
+
81
+                        //strColom1 += "<td colspan='" + obj.ToString() + "' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>" + drlist[i]["F_CategoryName"] + "</td>";
82
+                        //strColom1 += "<td rowspan='3' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>分项得分</td>";
83
+
84
+                        DataRow[] drlistnew = dt.Select("F_ParentId=" + drlist[i]["F_CategoryId"]);
85
+                        if (drlistnew != null && drlist.Length > 0)
73 86
                         {
74
-                            obj = DbHelperSQL.GetSingle("select count(*) from T_QC_IndexBase where F_CategoryId in(select F_CategoryId from T_QC_IndexCategory where F_ParentId=" + drlist[i]["F_CategoryId"] + ")");
75
-
76
-                            Model.QCModel qcml = new Model.QCModel();
77
-                            qcml.Qcid = drlist[i]["F_CategoryId"].ToString();
78
-                            qcml.Qcname = drlist[i]["F_CategoryName"].ToString();
79
-                            qcml.Colspan = obj.ToString();
80
-
81
-                            //strColom1 += "<td colspan='" + obj.ToString() + "' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>" + drlist[i]["F_CategoryName"] + "</td>";
82
-                            //strColom1 += "<td rowspan='3' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>分项得分</td>";
83
-                            
84
-                            DataRow[] drlistnew = dt.Select("F_ParentId=" + drlist[i]["F_CategoryId"]);
85
-                            if (drlistnew != null && drlist.Length > 0)
87
+                            List<Model.QCModel> qcclist = new List<Model.QCModel>();
88
+                            int sc = 0;
89
+                            string strCatid = "";
90
+                            for (int n = 0; n < drlistnew.Length; n++)
86 91
                             {
87
-                                List<Model.QCModel> qcclist = new List<Model.QCModel>();
88
-                                int sc = 0;
89
-                                string strCatid = "";
90
-                                for (int n = 0; n < drlistnew.Length; n++)
92
+                                Model.QCModel qccml = new Model.QCModel();
93
+                                obj = DbHelperSQL.GetSingle("select count(*) from T_QC_IndexBase where F_CategoryId=" + drlistnew[n]["F_CategoryId"]);
94
+                                //strColom2 += "<td colspan='" + obj + "' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>" + drlistnew[n]["F_CategoryName"] + "</td>";
95
+                                qccml.Qcid = drlist[i]["F_CategoryId"].ToString() + "-" + drlistnew[n]["F_CategoryId"].ToString();
96
+                                qccml.Qcname = drlistnew[n]["F_CategoryName"].ToString();
97
+                                qccml.Colspan = obj.ToString();
98
+
99
+                                DataRow[] drContent = dsConten.Select("F_CategoryId=" + drlistnew[n]["F_CategoryId"]);
100
+                                if (drContent != null && drContent.Length > 0)
91 101
                                 {
92
-                                    Model.QCModel qccml = new Model.QCModel();
93
-                                    obj = DbHelperSQL.GetSingle("select count(*) from T_QC_IndexBase where F_CategoryId=" + drlistnew[n]["F_CategoryId"]);
94
-                                    //strColom2 += "<td colspan='" + obj + "' style='height: 18px; background-color: #D5EDFE; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding: 3px 3px 3px 3px; text-align: center;'>" + drlistnew[n]["F_CategoryName"] + "</td>";
95
-                                    qccml.Qcid = drlist[i]["F_CategoryId"].ToString()+"-"+drlistnew[n]["F_CategoryId"].ToString();
96
-                                    qccml.Qcname = drlistnew[n]["F_CategoryName"].ToString();
97
-                                    qccml.Colspan = obj.ToString();
98
-
99
-                                    DataRow[] drContent = dsConten.Select("F_CategoryId=" + drlistnew[n]["F_CategoryId"]);
100
-                                    if (drContent != null && drContent.Length > 0)
102
+                                    List<Model.QCModel> qccllist = new List<Model.QCModel>();
103
+                                    for (int m = 0; m < drContent.Length; m++)
101 104
                                     {
102
-                                        List<Model.QCModel> qccllist = new List<Model.QCModel>();
103
-                                        for (int m = 0; m < drContent.Length; m++)
105
+                                        Model.QCModel qccmll = new Model.QCModel();
106
+                                        qccmll.Qcid = drlist[i]["F_CategoryId"].ToString() + "-" + drlistnew[n]["F_CategoryId"].ToString() + "-" + drContent[m]["F_IndexId"].ToString();
107
+                                        qccmll.Qcname = drContent[m]["F_Title"].ToString();
108
+                                        qccmll.Qcscore = drContent[m]["F_Score"].ToString();
109
+                                        //strColom3 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + drContent[m]["F_Title"] + "</td>";
110
+                                        //strColom4 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + drContent[m]["F_Score"] + "</td>";
111
+                                        if (!string.IsNullOrEmpty(drContent[m]["F_Score"].ToString()))
104 112
                                         {
105
-                                            Model.QCModel qccmll = new Model.QCModel();
106
-                                            qccmll.Qcid = drlist[i]["F_CategoryId"].ToString() + "-" + drlistnew[n]["F_CategoryId"].ToString()+"-"+drContent[m]["F_IndexId"].ToString();
107
-                                            qccmll.Qcname = drContent[m]["F_Title"].ToString();
108
-                                            qccmll.Qcscore = drContent[m]["F_Score"].ToString();
109
-                                            //strColom3 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + drContent[m]["F_Title"] + "</td>";
110
-                                            //strColom4 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + drContent[m]["F_Score"] + "</td>";
111
-                                            if (!string.IsNullOrEmpty(drContent[m]["F_Score"].ToString()))
112
-                                            {
113
-                                                sc += int.Parse(drContent[m]["F_Score"].ToString());
114
-                                            }
115
-
116
-                                            strCatid += drContent[m]["F_IndexId"] + ",";
117
-
118
-                                            DataColumn dc = new DataColumn("Q"+ drContent[m]["F_IndexId"].ToString(), Type.GetType("System.String"));
119
-                                            dtNew.Columns.Add(dc);
120
-
121
-                                            qccllist.Add(qccmll);
113
+                                            sc += int.Parse(drContent[m]["F_Score"].ToString());
122 114
                                         }
123 115
 
124
-                                        qccml.Qclist = qccllist;
116
+                                        strCatid += drContent[m]["F_IndexId"] + ",";
117
+
118
+                                        DataColumn dc = new DataColumn("Q" + drContent[m]["F_IndexId"].ToString(), Type.GetType("System.String"));
119
+                                        dtNew.Columns.Add(dc);
120
+
121
+                                        qccllist.Add(qccmll);
125 122
                                     }
126
-                                    qcclist.Add(qccml);
127
-                                }
128 123
 
129
-                                if (strCatid != "")
130
-                                {
131
-                                    strCatid.Substring(0, strCatid.Length - 1);
124
+                                    qccml.Qclist = qccllist;
132 125
                                 }
133
-                                arlist.Add(strCatid); //每一组的题id记下来,用在分数总和上。
134
-                                //strColom4 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + sc.ToString() + "</td>";
135
-                                ctsc += sc;
136
-
137
-                                
138
-                                qcml.Qclist = qcclist;
139
-                                qclist.Add(qcml);
140
-
141
-                                Model.QCModel qcml1 = new Model.QCModel();
142
-                                qcml1.Qcid = "fx" + drlist[i]["F_CategoryId"].ToString();
143
-                                qcml1.Qcname = "分项得分";
144
-                                qcml1.Rowspan = "3";
145
-                                qcml1.Qcscore = sc.ToString();
146
-                                qclist.Add(qcml1);
147
-                                DataColumn dcdf = new DataColumn("df" + i.ToString(), Type.GetType("System.String"));
148
-                                dtNew.Columns.Add(dcdf);
126
+                                qcclist.Add(qccml);
127
+                            }
128
+
129
+                            if (strCatid != "")
130
+                            {
131
+                                strCatid.Substring(0, strCatid.Length - 1);
149 132
                             }
150
-                            
133
+                            arlist.Add(strCatid); //每一组的题id记下来,用在分数总和上。
134
+                                                  //strColom4 += "<td  align='center'style='border-top: 0px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; padding-left: 2px; height: 18px; padding-top: 3px; padding-bottom: 3px;'>" + sc.ToString() + "</td>";
135
+                            ctsc += sc;
136
+
137
+
138
+                            qcml.Qclist = qcclist;
139
+                            qclist.Add(qcml);
140
+
141
+                            Model.QCModel qcml1 = new Model.QCModel();
142
+                            qcml1.Qcid = "fx" + drlist[i]["F_CategoryId"].ToString();
143
+                            qcml1.Qcname = "分项得分";
144
+                            qcml1.Rowspan = "3";
145
+                            qcml1.Qcscore = sc.ToString();
146
+                            qclist.Add(qcml1);
147
+                            DataColumn dcdf = new DataColumn("df" + i.ToString(), Type.GetType("System.String"));
148
+                            dtNew.Columns.Add(dcdf);
151 149
                         }
152
-                        
153
-                        qcmzf.Qcscore = ctsc.ToString();
150
+
154 151
                     }
155
-                    
156
-                }
157 152
 
158
-                qclist.Add(qcmzf);
159
-                DataColumn dczf = new DataColumn("AllScore", Type.GetType("System.String"));
160
-                dtNew.Columns.Add(dczf);
161
-                if (isext != null && isext.Trim() != "")
162
-                {
163
-                    //导出增加显示问题和建议
164
-                    Model.QCModel qcmlzj1 = new Model.QCModel();
165
-                    Model.QCModel qcmlzj2 = new Model.QCModel();
166
-                    qcmlzj1.Qcid = "wt99";
167
-                    qcmlzj1.Qcname = "问题";
168
-                    qcmlzj1.Rowspan = "4";
169
-                    qclist.Add(qcmlzj1);
170
-                    qcmlzj2.Qcid = "jy99";
171
-                    qcmlzj2.Qcname = "建议";
172
-                    qcmlzj2.Rowspan = "4";
173
-                    qclist.Add(qcmlzj2);
174
-                    DataColumn dcwt = new DataColumn("Question", Type.GetType("System.String"));
175
-                    dtNew.Columns.Add(dcwt);
176
-                    DataColumn dcjy = new DataColumn("Advise", Type.GetType("System.String"));
177
-                    dtNew.Columns.Add(dcjy);
153
+                    qcmzf.Qcscore = ctsc.ToString();
178 154
                 }
179 155
 
180
-                res = Success("获取质检表头成功", qclist);
181
-    
156
+            }
157
+
158
+            qclist.Add(qcmzf);
159
+            DataColumn dczf = new DataColumn("AllScore", Type.GetType("System.String"));
160
+            dtNew.Columns.Add(dczf);
161
+            if (isext != null && isext.Trim() != "")
162
+            {
163
+                //导出增加显示问题和建议
164
+                Model.QCModel qcmlzj1 = new Model.QCModel();
165
+                Model.QCModel qcmlzj2 = new Model.QCModel();
166
+                qcmlzj1.Qcid = "wt99";
167
+                qcmlzj1.Qcname = "问题";
168
+                qcmlzj1.Rowspan = "4";
169
+                qclist.Add(qcmlzj1);
170
+                qcmlzj2.Qcid = "jy99";
171
+                qcmlzj2.Qcname = "建议";
172
+                qcmlzj2.Rowspan = "4";
173
+                qclist.Add(qcmlzj2);
174
+                DataColumn dcwt = new DataColumn("Question", Type.GetType("System.String"));
175
+                dtNew.Columns.Add(dcwt);
176
+                DataColumn dcjy = new DataColumn("Advise", Type.GetType("System.String"));
177
+                dtNew.Columns.Add(dcjy);
178
+            }
179
+
180
+            res = Success("获取质检表头成功", qclist);
181
+
182 182
             return res;
183 183
         }
184 184
 
185 185
         //获取数据
186
-        public ActionResult GetDataList(string stime,string endtime)
186
+        public ActionResult GetDataList(string stime, string endtime)
187 187
         {
188 188
             ActionResult res = NoToken("未知错误,请重新登录");
189 189
             Model.PageData<object> pagedata = new Model.PageData<object>();
190
-         
191
-                string dpt = RequestString.GetQueryString("dpt");
192
-                string isext = RequestString.GetQueryString("isext");
193 190
 
194
-                GetColumnList(isext);
191
+            string dpt = RequestString.GetQueryString("dpt");
192
+            string isext = RequestString.GetQueryString("isext");
195 193
 
196
-                string sqltimeCallRecords = "";
197
-                string strsql = "";
198
-                if (stime != null && stime.Trim() != "")
199
-                {
200
-                    sqltimeCallRecords += " and CONVERT(varchar , BeginTime, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
201
-                }
202
-                if (endtime != null && endtime.Trim() != "")
203
-                {
204
-                    sqltimeCallRecords += " and CONVERT(varchar , BeginTime, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
205
-                }
206
-                if (dpt != null && dpt.ToString() != "")
207
-                {
208
-                    strsql = " and UserId in(select F_UserId from T_Sys_UserAccount where F_DeptId=" + dpt.ToString() + ") ";
209
-                }
210
-                
211
-                DataSet ds = DbHelperSQL.Query("select *,(select F_UserName from  T_Sys_UserAccount as b where b.F_UserId=a.UserId) as name,(select F_WorkNumber from  T_Sys_UserAccount as b where b.F_UserId=a.UserId) as wknmb from (select COUNT(*) as ct,UserId from T_Call_CallRecords where F_QCState=1 " + sqltimeCallRecords + strsql + " group by  UserId) as a order by wknmb asc");
212
-                DataTable dtTitle = DbHelperSQL.Query("select F_IndexId from T_QC_IndexBase where F_DeleteFlag=0").Tables[0];
213
-                if (ds != null && ds.Tables.Count > 0)
194
+            GetColumnList(isext);
195
+
196
+            string sqltimeCallRecords = "";
197
+            string strsql = "";
198
+            if (stime != null && stime.Trim() != "")
199
+            {
200
+                sqltimeCallRecords += " and CONVERT(varchar , BeginTime, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
201
+            }
202
+            if (endtime != null && endtime.Trim() != "")
203
+            {
204
+                sqltimeCallRecords += " and CONVERT(varchar , BeginTime, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
205
+            }
206
+            if (dpt != null && dpt.ToString() != "")
207
+            {
208
+                strsql = " and UserCode in(select F_UserCode from T_Sys_UserAccount where F_DeptId=" + dpt.ToString() + ") ";
209
+            }
210
+
211
+            DataSet ds = DbHelperSQL.Query("select *,(select F_UserName from  T_Sys_UserAccount as b where b.F_UserCode=a.UserCode) as name,(select F_WorkNumber from  T_Sys_UserAccount as b where b.F_UserCode=a.UserCode) as wknmb from (select COUNT(*) as ct,UserCode from T_Call_CallRecords where F_QCState=1 " + sqltimeCallRecords + strsql + " group by  UserCode) as a order by wknmb asc");
212
+            DataTable dtTitle = DbHelperSQL.Query("select F_IndexId from T_QC_IndexBase where F_DeleteFlag=0").Tables[0];
213
+            if (ds != null && ds.Tables.Count > 0)
214
+            {
215
+                DataTable dt = ds.Tables[0];
216
+                string strname = "";
217
+                foreach (DataRow dr in dt.Rows)
214 218
                 {
215
-                    DataTable dt = ds.Tables[0];
216
-                    string strname = "";
217
-                    foreach (DataRow dr in dt.Rows)
219
+                    DataRow drNew = dtNew.NewRow();
220
+
221
+                    object obj = DbHelperSQL.GetSingle("select F_QCUserName from T_Call_CallRecords where UserCode=" + dr["UserCode"] + " and F_QCState=1 " + sqltimeCallRecords);
222
+                    if (obj != null)
218 223
                     {
219
-                        DataRow drNew =dtNew.NewRow();
220
-                        
221
-                        object obj = DbHelperSQL.GetSingle("select F_QCUserName from T_Call_CallRecords where UserId=" + dr["UserId"] + " and F_QCState=1 " + sqltimeCallRecords);
222
-                        if (obj != null)
223
-                        {
224
-                            strname = obj.ToString();
225
-                        }
226
-                        else
227
-                        {
228
-                            strname = "";
229
-                        }
230
-                        drNew["QCName"] = strname;
231
-                        drNew["UserName"] = dr["name"].ToString();
232
-                        drNew["UserCode"] = dr["wknmb"].ToString();
224
+                        strname = obj.ToString();
225
+                    }
226
+                    else
227
+                    {
228
+                        strname = "";
229
+                    }
230
+                    drNew["QCName"] = strname;
231
+                    drNew["UserName"] = dr["name"].ToString();
232
+                    drNew["UserCode"] = dr["wknmb"].ToString();
233 233
 
234
-                        int ct = 0;
235
-                        if (dr["ct"] != null && dr["ct"].ToString() != "")
236
-                        {
237
-                            ct = int.Parse(dr["ct"].ToString());//评价数量
238
-                        }
239
-                        drNew["ZJCount"] = dr["ct"].ToString();
234
+                    int ct = 0;
235
+                    if (dr["ct"] != null && dr["ct"].ToString() != "")
236
+                    {
237
+                        ct = int.Parse(dr["ct"].ToString());//评价数量
238
+                    }
239
+                    drNew["ZJCount"] = dr["ct"].ToString();
240 240
 
241
-                        double itemfs = 0;//每一大项分数和
242
-                        double ctfs = 0;//总分
241
+                    double itemfs = 0;//每一大项分数和
242
+                    double ctfs = 0;//总分
243 243
 
244
-                        for (int i = 0; i < arlist.Count; i++)
244
+                    for (int i = 0; i < arlist.Count; i++)
245
+                    {
246
+                        string strList = arlist[i];
247
+                        string[] strTitleList = strList.Split(',');
248
+                        foreach (string str in strTitleList)
245 249
                         {
246
-                            string strList = arlist[i];
247
-                            string[] strTitleList = strList.Split(',');
248
-                            foreach (string str in strTitleList)
250
+                            if (str != "")
249 251
                             {
250
-                                if (str != "")
252
+                                double fs = 0;//每一项分数
253
+                                obj = DbHelperSQL.GetSingle("select sum(F_QCScore) from T_QC_IndexRes where CallRecordsId in (select CallRecordsId from T_Call_CallRecords where F_QCState=1 and UserCode=" + dr["UserCode"] + " " + sqltimeCallRecords + ") and F_IndexId=" + str);
254
+                                if (obj != null && obj.ToString() != "")
251 255
                                 {
252
-                                    double fs = 0;//每一项分数
253
-                                    obj = DbHelperSQL.GetSingle("select sum(F_QCScore) from T_QC_IndexRes where CallRecordsId in (select CallRecordsId from T_Call_CallRecords where F_QCState=1 and UserId=" + dr["UserId"] + " " + sqltimeCallRecords + ") and F_IndexId=" + str);
254
-                                    if (obj != null && obj.ToString() != "")
255
-                                    {
256
-                                        if (ct != 0)
257
-                                        {//评价数量不为0
258
-                                            if (int.Parse(obj.ToString()) % ct == 0)
259
-                                            {
260
-                                                fs = int.Parse(obj.ToString()) / ct; //每一项分数
261
-                                            }
262
-                                            else
263
-                                            {
264
-                                                fs = double.Parse(obj.ToString()) / double.Parse(ct.ToString());
265
-                                            }
256
+                                    if (ct != 0)
257
+                                    {//评价数量不为0
258
+                                        if (int.Parse(obj.ToString()) % ct == 0)
259
+                                        {
260
+                                            fs = int.Parse(obj.ToString()) / ct; //每一项分数
261
+                                        }
262
+                                        else
263
+                                        {
264
+                                            fs = double.Parse(obj.ToString()) / double.Parse(ct.ToString());
266 265
                                         }
267 266
                                     }
268
-                                    string mm = "";
269
-                                    if (fs.ToString().IndexOf('.') > -1 && fs.ToString().Substring(fs.ToString().IndexOf('.') + 1).Length > 2)
270
-                                    {
271
-                                        mm = fs.ToString("0.00");
272
-                                    }
273
-                                    else
274
-                                    {
275
-                                        mm = fs.ToString();
276
-                                    }
277
-                                    drNew["Q" + str] = mm;
278
-                                    itemfs += fs;
279 267
                                 }
268
+                                string mm = "";
269
+                                if (fs.ToString().IndexOf('.') > -1 && fs.ToString().Substring(fs.ToString().IndexOf('.') + 1).Length > 2)
270
+                                {
271
+                                    mm = fs.ToString("0.00");
272
+                                }
273
+                                else
274
+                                {
275
+                                    mm = fs.ToString();
276
+                                }
277
+                                drNew["Q" + str] = mm;
278
+                                itemfs += fs;
280 279
                             }
281
-                            string imm = "";
282
-                            if (itemfs.ToString().IndexOf('.') > -1 && itemfs.ToString().Substring(itemfs.ToString().IndexOf('.') + 1).Length > 2)
283
-                            {
284
-                                imm = itemfs.ToString("0.00");
285
-                            }
286
-                            else
287
-                            {
288
-                                imm = itemfs.ToString();
289
-                            }
290
-                            drNew["df" + i.ToString()] = imm;
291
-                            ctfs += itemfs;
292
-                            itemfs = 0;
293 280
                         }
294
-                        drNew["AllScore"] = ((int)ctfs).ToString();
295
-                        if (isext != null && isext.Trim() != "")
281
+                        string imm = "";
282
+                        if (itemfs.ToString().IndexOf('.') > -1 && itemfs.ToString().Substring(itemfs.ToString().IndexOf('.') + 1).Length > 2)
283
+                        {
284
+                            imm = itemfs.ToString("0.00");
285
+                        }
286
+                        else
287
+                        {
288
+                            imm = itemfs.ToString();
289
+                        }
290
+                        drNew["df" + i.ToString()] = imm;
291
+                        ctfs += itemfs;
292
+                        itemfs = 0;
293
+                    }
294
+                    drNew["AllScore"] = ((int)ctfs).ToString();
295
+                    if (isext != null && isext.Trim() != "")
296
+                    {
297
+                        string question = "";
298
+                        string advise = "";
299
+                        DataSet dss = DbHelperSQL.Query("select * from T_Call_CallRecords where UserCode=" + dr["UserCode"] + " and F_QCState=1 " + sqltimeCallRecords);
300
+                        if (dss.Tables[0].Rows.Count > 0)
296 301
                         {
297
-                            string question = "";
298
-                            string advise = "";
299
-                            DataSet dss = DbHelperSQL.Query("select * from T_Call_CallRecords where UserId=" + dr["UserId"] + " and F_QCState=1 " + sqltimeCallRecords);
300
-                            if (dss.Tables[0].Rows.Count > 0)
302
+                            for (int ii = 0; ii < dss.Tables[0].Rows.Count; ii++)
301 303
                             {
302
-                                for (int ii = 0; ii < dss.Tables[0].Rows.Count; ii++)
303
-                                {
304
-                                    question += dss.Tables[0].Rows[ii]["F_QCQuestion"].ToString() + ";";
305
-                                    advise += dss.Tables[0].Rows[ii]["F_QCAdvise"].ToString() + ";";
306
-                                }
304
+                                question += dss.Tables[0].Rows[ii]["F_QCQuestion"].ToString() + ";";
305
+                                advise += dss.Tables[0].Rows[ii]["F_QCAdvise"].ToString() + ";";
307 306
                             }
308
-                            drNew["Question"] = question;
309
-                            drNew["Advise"] = advise;
310 307
                         }
311
-                        ctfs = 0;
312
-                        
313
-                        dtNew.Rows.Add(drNew);
308
+                        drNew["Question"] = question;
309
+                        drNew["Advise"] = advise;
314 310
                     }
311
+                    ctfs = 0;
312
+
313
+                    dtNew.Rows.Add(drNew);
315 314
                 }
315
+            }
316
+
317
+            res = Success("获取质检数据成功", dtNew);
316 318
 
317
-                res = Success("获取质检数据成功", dtNew);
318
-    
319 319
             return res;
320 320
         }
321 321
     }

+ 117 - 71
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
 
@@ -200,8 +200,33 @@ namespace CallCenterApi.Interface.Controllers.report
200 200
             {
201 201
                 sql += " and CallType=" + tag;
202 202
             }
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];
203
+
204
+            var deptId = CurrentUser.UserData.F_DeptId;
205
+            var roleId = CurrentUser.UserData.F_RoleId;
206
+            var deptCode = CurrentUser.UserData.F_DeptCode;
207
+            var usercode = CurrentUser.UserData.F_UserCode;
208
+            var usercodeSQL = "";
209
+            var f_usercodeSQL = "";
210
+            if (roleId != 0)
211
+            {
212
+                if (roleId != 17)
213
+                {
214
+                    if (roleId == 36 || roleId == 38 || roleId == 40)
215
+                    {
216
+                        usercodeSQL += $" and  UserCode='{usercode}'";
217
+                        f_usercodeSQL += $" and  F_UserCode='{usercode}'";
218
+                    }
219
+                    else
220
+                    {
221
+                        usercodeSQL += $" and   UserCode in (SELECT F_UserCode from T_Sys_UserAccount where F_DeptId={deptId}) ";
222
+                        f_usercodeSQL += $" and   F_UserCode in (SELECT F_UserCode from T_Sys_UserAccount where F_DeptId={deptId}) ";
223
+                    }
224
+
225
+                }
226
+            }
227
+
228
+            var userAccountList = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1 " + f_usercodeSQL);
229
+            DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime FROM T_Call_CallRecords where 1=1 " + usercodeSQL + "  GROUP BY UserId,UserCode,UserName").Tables[0];
205 230
 
206 231
             foreach (Model.T_Sys_UserAccount item in userAccountList)
207 232
             {
@@ -223,7 +248,28 @@ namespace CallCenterApi.Interface.Controllers.report
223 248
         public string GetAgent()
224 249
         {
225 250
             string result = "[";
226
-            var userAccountList = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1");
251
+            var deptId = CurrentUser.UserData.F_DeptId;
252
+            var roleId = CurrentUser.UserData.F_RoleId;
253
+            var deptCode = CurrentUser.UserData.F_DeptCode;
254
+            var usercode = CurrentUser.UserData.F_UserCode;
255
+            var f_usercodeSQL = "";
256
+            if (roleId != 0)
257
+            {
258
+                if (roleId != 17)
259
+                {
260
+                    if (roleId == 36 || roleId == 38 || roleId == 40)
261
+                    {
262
+                        f_usercodeSQL += $" and  F_UserCode='{usercode}'";
263
+                    }
264
+                    else
265
+                    {
266
+                        f_usercodeSQL += $" and   F_UserCode in (SELECT F_UserCode from T_Sys_UserAccount where F_DeptId={deptId}) ";
267
+                    }
268
+
269
+                }
270
+            }
271
+
272
+            var userAccountList = new BLL.T_Sys_UserAccount().GetModelList(" F_SeatFlag=1 " + f_usercodeSQL);
227 273
             foreach (Model.T_Sys_UserAccount item in userAccountList)
228 274
             {
229 275
                 result += "'" + item.F_UserName + "',";
@@ -242,9 +288,9 @@ namespace CallCenterApi.Interface.Controllers.report
242 288
             string result = "[";
243 289
 
244 290
             string[] CallInTime = GetCallRecordIn(BeginTime, EndTime, "0").TrimStart('[').TrimEnd(']').Split(',');
245
-            string[] CallOutTime = GetCallRecordOut(BeginTime, EndTime, "1","").TrimStart('[').TrimEnd(']').Split(',');
291
+            string[] CallOutTime = GetCallRecordOut(BeginTime, EndTime, "1", "").TrimStart('[').TrimEnd(']').Split(',');
246 292
 
247
-            string[] CallTotalTime = GetCallRecordTotalTime(BeginTime, EndTime,"").TrimStart('[').TrimEnd(']').Split(',');
293
+            string[] CallTotalTime = GetCallRecordTotalTime(BeginTime, EndTime, "").TrimStart('[').TrimEnd(']').Split(',');
248 294
 
249 295
             for (int i = 0; i < CallInTime.Length; i++)
250 296
             {
@@ -308,14 +354,14 @@ namespace CallCenterApi.Interface.Controllers.report
308 354
 
309 355
             foreach (Model.T_Sys_UserAccount item in userAccountList)
310 356
             {
311
-                if (!myDictionary.ContainsKey(item.F_UserName))
312
-                    myDictionary.Add(item.F_UserName, 0);
357
+                if (!myDictionary.ContainsKey(item.F_UserCode))
358
+                    myDictionary.Add(item.F_UserCode, 0);
313 359
 
314
-                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserName") == item.F_UserName);
360
+                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserCode") == item.F_UserCode);
315 361
 
316 362
                 if (drUser != null)
317 363
                 {
318
-                    myDictionary[item.F_UserName] += int.Parse(drUser[3].ToString());
364
+                    myDictionary[item.F_UserCode] += int.Parse(drUser[3].ToString());
319 365
                 }
320 366
             }
321 367
 

+ 59 - 8
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TotalCallController.cs

@@ -45,7 +45,35 @@ namespace CallCenterApi.Interface.Controllers.report
45 45
                 dtNew.Columns.Add(dc3);
46 46
                 dtNew.Columns.Add(dc4);
47 47
                 #endregion
48
-                DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
48
+
49
+
50
+                //17=系统管理员,36=客服,37=组长,38=组员,39=业主,40=话务员,41=客服主管,43=分公司市场部主任,45=业务稽核,46=集团客户部,
51
+                //47 =网络部,48=市场部经理,50=业务支撑中心,51=市场部,52=客户服务中心,53=总经理,54=副总经理,55=业务负责人,56=投诉处理员,57=基础业务主管,
52
+
53
+                var sql = " 1=1 ";
54
+                var roleId = CurrentUser.UserData.F_RoleId;
55
+                var deptId = CurrentUser.UserData.F_DeptId;
56
+                var deptCode = CurrentUser.UserData.F_DeptCode;
57
+                var usercode = CurrentUser.UserData.F_UserCode;
58
+                if (roleId != 0)
59
+                {
60
+                    if (roleId != 17)
61
+                    {
62
+                        if (deptCode.IndexOf("|1|") > 0)
63
+                        {
64
+                            if (roleId == 36 || roleId == 38 || roleId == 40)
65
+                            {
66
+                                sql += $" and  UserCode='{usercode}'";
67
+                            }
68
+                            else
69
+                            {
70
+                                sql += $" and  UserCode  in (SELECT F_UserCode FROM T_Sys_UserAccount WHERE F_DeptId={deptId})";
71
+                            }
72
+
73
+                        }
74
+                    }
75
+                }
76
+                DataTable dt = new BLL.T_Call_CallRecords().GetList(sql).Tables[0];
49 77
                 DateTime dtNow;
50 78
                 int Count = 0;
51 79
                 int DayCount = 0;
@@ -114,7 +142,8 @@ namespace CallCenterApi.Interface.Controllers.report
114 142
         private DataTable GetData(string years)
115 143
         {
116 144
             DataTable dtNew = new DataTable();
117
-            try {
145
+            try
146
+            {
118 147
                 #region
119 148
                 DataColumn dc1 = new DataColumn("月份", Type.GetType("System.String"));
120 149
                 DataColumn dc2 = new DataColumn("日期", Type.GetType("System.String"));
@@ -158,7 +187,7 @@ namespace CallCenterApi.Interface.Controllers.report
158 187
                                 dr1["月份"] = beginTime.Month + "月";
159 188
                                 dr1["日期"] = beginTime.AddDays(j - 1).ToShortDateString();
160 189
                                 dr1["总数"] = dtRow.CopyToDataTable().Select("begintime >='" + beginTime.AddDays(j - 1) + "' and  beginTime<'" + beginTime.AddDays(j).AddSeconds(-1) + "'").Length;
161
-                               
190
+
162 191
                                 dtNew.Rows.Add(dr1);
163 192
                             }
164 193
                         }
@@ -213,9 +242,31 @@ namespace CallCenterApi.Interface.Controllers.report
213 242
             ActionResult res = NoToken("未知错误,请重新登录");
214 243
             if (Request.IsAuthenticated)
215 244
             {
216
-                string[] arr=new string[12];
217
-                
218
-                DataTable dt = new BLL.T_Call_CallRecords().GetList("1=1").Tables[0];
245
+                string[] arr = new string[12];
246
+                var sql = " 1=1 ";
247
+                var roleId = CurrentUser.UserData.F_RoleId;
248
+                var deptId = CurrentUser.UserData.F_DeptId;
249
+                var deptCode = CurrentUser.UserData.F_DeptCode;
250
+                var usercode = CurrentUser.UserData.F_UserCode;
251
+                if (roleId != 0)
252
+                {
253
+                    if (roleId != 17)
254
+                    {
255
+                        if (deptCode.IndexOf("|1|") > 0)
256
+                        {
257
+                            if (roleId == 36 || roleId == 38 || roleId == 40)
258
+                            {
259
+                                sql += $" and  UserCode='{usercode}'";
260
+                            }
261
+                            else
262
+                            {
263
+                                sql += $" and  UserCode  in (SELECT F_UserCode FROM T_Sys_UserAccount WHERE F_DeptId={deptId})";
264
+                            }
265
+
266
+                        }
267
+                    }
268
+                }
269
+                DataTable dt = new BLL.T_Call_CallRecords().GetList(sql).Tables[0];
219 270
                 DateTime dtNow;
220 271
 
221 272
                 if (string.IsNullOrEmpty(years))
@@ -233,11 +284,11 @@ namespace CallCenterApi.Interface.Controllers.report
233 284
                     DataRow[] dtRow = dt.Select("begintime >='" + beginTime.ToString() + "' and  beginTime<'" + beginTime.AddDays(days).AddSeconds(-1) + "'");
234 285
                     if (dtRow.Length > 0)
235 286
                     {
236
-                        arr[i-1] = dtRow.Length.ToString();
287
+                        arr[i - 1] = dtRow.Length.ToString();
237 288
                     }
238 289
                     else
239 290
                     {
240
-                        arr[i-1] = "0";
291
+                        arr[i - 1] = "0";
241 292
                     }
242 293
                 }
243 294
 

+ 77 - 55
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/YearContrastController.cs

@@ -15,67 +15,67 @@ namespace CallCenterApi.Interface.Controllers.report
15 15
     public class YearContrastController : BaseController
16 16
     {
17 17
         //呼叫数据对比
18
-        public ActionResult GetDataList(string beginyear,string endyear)
18
+        public ActionResult GetDataList(string beginyear, string endyear)
19 19
         {
20 20
             ActionResult res = NoToken("未知错误,请重新登录");
21
-         
22
-                ArrayList arrlist = new ArrayList();
23
-                
24
-                if (beginyear != null && beginyear.Trim() != "")
21
+
22
+            ArrayList arrlist = new ArrayList();
23
+
24
+            if (beginyear != null && beginyear.Trim() != "")
25
+            {
26
+                var data = new
25 27
                 {
26
-                    var data = new
27
-                    {
28
-                        key = beginyear + "客户呼叫数",
29
-                        value = GetKhCall(beginyear).TrimEnd(',').Split(','),
30
-                        type = 0
31
-                    };
32
-                    arrlist.Add(data);
28
+                    key = beginyear + "客户呼叫数",
29
+                    value = GetKhCall(beginyear).TrimEnd(',').Split(','),
30
+                    type = 0
31
+                };
32
+                arrlist.Add(data);
33 33
 
34
-                    var data1 = new
35
-                    {
36
-                        key = beginyear + "坐席接听数",
37
-                        value = GetZxJt(beginyear).TrimEnd(',').Split(','),
38
-                        type = 0
39
-                    };
40
-                    arrlist.Add(data1);
34
+                var data1 = new
35
+                {
36
+                    key = beginyear + "坐席接听数",
37
+                    value = GetZxJt(beginyear).TrimEnd(',').Split(','),
38
+                    type = 0
39
+                };
40
+                arrlist.Add(data1);
41 41
 
42
-                    var data2 = new
43
-                    {
44
-                        key = beginyear + "接通率",
45
-                        value = GetJTL(beginyear).TrimEnd(',').Split(','),
46
-                        type = 0
47
-                    };
48
-                    arrlist.Add(data2);
49
-                }
50
-                if (endyear != null && endyear.Trim() != "")
42
+                var data2 = new
51 43
                 {
52
-                    var data = new
53
-                    {
54
-                        key = endyear + "客户呼叫数",
55
-                        value = GetKhCall(endyear).TrimEnd(',').Split(','),
56
-                        type = 1
57
-                    };
58
-                    arrlist.Add(data);
44
+                    key = beginyear + "接通率",
45
+                    value = GetJTL(beginyear).TrimEnd(',').Split(','),
46
+                    type = 0
47
+                };
48
+                arrlist.Add(data2);
49
+            }
50
+            if (endyear != null && endyear.Trim() != "")
51
+            {
52
+                var data = new
53
+                {
54
+                    key = endyear + "客户呼叫数",
55
+                    value = GetKhCall(endyear).TrimEnd(',').Split(','),
56
+                    type = 1
57
+                };
58
+                arrlist.Add(data);
59 59
 
60
-                    var data1 = new
61
-                    {
62
-                        key = endyear + "坐席接听数",
63
-                        value = GetZxJt(endyear).TrimEnd(',').Split(','),
64
-                        type = 1
65
-                    };
66
-                    arrlist.Add(data1);
60
+                var data1 = new
61
+                {
62
+                    key = endyear + "坐席接听数",
63
+                    value = GetZxJt(endyear).TrimEnd(',').Split(','),
64
+                    type = 1
65
+                };
66
+                arrlist.Add(data1);
67
+
68
+                var data2 = new
69
+                {
70
+                    key = endyear + "接通率",
71
+                    value = GetJTL(endyear).TrimEnd(',').Split(','),
72
+                    type = 1
73
+                };
74
+                arrlist.Add(data2);
75
+            }
76
+
77
+            res = Success("获取呼叫数据分析数据成功", arrlist);
67 78
 
68
-                    var data2 = new
69
-                    {
70
-                        key = endyear + "接通率",
71
-                        value = GetJTL(endyear).TrimEnd(',').Split(','),
72
-                        type = 1
73
-                    };
74
-                    arrlist.Add(data2);
75
-                }
76
-                
77
-                res = Success("获取呼叫数据分析数据成功", arrlist);
78
-      
79 79
             return res;
80 80
         }
81 81
 
@@ -84,7 +84,7 @@ namespace CallCenterApi.Interface.Controllers.report
84 84
         {
85 85
             ActionResult res = NoToken("未知错误,请重新登录");
86 86
             //if (Request.IsAuthenticated)
87
-            if(1==1)
87
+            if (1 == 1)
88 88
             {
89 89
                 NPOIHelper npoi = new NPOIHelper();
90 90
                 DataTable dt = GetData(beginyear, endyear);
@@ -103,7 +103,7 @@ namespace CallCenterApi.Interface.Controllers.report
103 103
         private DataTable GetData(string beginyear, string endyear)
104 104
         {
105 105
             DataTable dtNew = new DataTable();
106
-            if ((beginyear != null && beginyear.Trim() != "")&&(endyear != null && endyear.Trim() != ""))
106
+            if ((beginyear != null && beginyear.Trim() != "") && (endyear != null && endyear.Trim() != ""))
107 107
             {
108 108
                 #region 编辑表头
109 109
                 DataColumn dc1 = new DataColumn("月份", Type.GetType("System.String"));
@@ -165,7 +165,29 @@ namespace CallCenterApi.Interface.Controllers.report
165 165
                     sqltimeCallRecords += " and CONVERT(varchar , timecallin, 120)>=CONVERT(varchar , '" + strtime + "-" + strmm + "-01 00:00:01', 120) ";
166 166
                     sqltimeCallRecords += " and CONVERT(varchar , timecallin, 120)<=CONVERT(varchar , '" + strtime + "-" + strmm + "-31 23:59:59', 120) ";
167 167
                 }
168
+                var sql = " 1=1 ";
169
+                var roleId = CurrentUser.UserData.F_RoleId;
170
+                var deptId = CurrentUser.UserData.F_DeptId;
171
+                var deptCode = CurrentUser.UserData.F_DeptCode;
172
+                var usercode = CurrentUser.UserData.F_UserCode;
173
+                if (roleId != 0)
174
+                {
175
+                    if (roleId != 17)
176
+                    {
177
+                        if (deptCode.IndexOf("|1|") > 0)
178
+                        {
179
+                            if (roleId == 36 || roleId == 38 || roleId == 40)
180
+                            {
181
+                                sql += $" and  UserCode='{usercode}'";
182
+                            }
183
+                            else
184
+                            {
185
+                                sql += $" and  UserCode  in (SELECT F_UserCode FROM T_Sys_UserAccount WHERE F_DeptId={deptId})";
186
+                            }
168 187
 
188
+                        }
189
+                    }
190
+                }
169 191
                 dt = DbHelperSQL.Query("select COUNT(*) as ct from rep_trunk_call_in  where 1=1 " + sqltimeCallRecords).Tables[0];
170 192
                 if (dt != null && dt.Rows.Count > 0)
171 193
                 {

+ 172 - 148
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/ZuoXiTongHuaController.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 ZuoXiTongHuaController : BaseController
15 15
     {
16 16
         //坐席日通话时长
@@ -18,170 +18,170 @@ namespace CallCenterApi.Interface.Controllers.report
18 18
         public ActionResult GetColumnList()
19 19
         {
20 20
             ActionResult res = NoToken("未知错误,请重新登录");
21
-           
22
-                String[] str = { "坐席人员", "通话总时长(小时)", "呼出通话总时长(小时)"
21
+
22
+            String[] str = { "坐席人员", "通话总时长(小时)", "呼出通话总时长(小时)"
23 23
                         , "呼出通话占比", "呼入通话总时长", "呼入通话占比"
24 24
                         ,"平均日呼入通话时长(小时)","平均日呼出通话时长(小时)"
25 25
                 };
26 26
 
27
-                res = Success("获取坐席日通话时长统计表头成功", str);
27
+            res = Success("获取坐席日通话时长统计表头成功", str);
28
+
28 29
 
29
-     
30 30
             return res;
31 31
         }
32 32
         //获取数据
33 33
         public ActionResult GetDataList(string stime, string endtime)
34 34
         {
35 35
             ActionResult res = NoToken("未知错误,请重新登录");
36
-         
37
-                DataTable dtNew = new DataTable();
38
-                dtNew = getData(stime, endtime);
39
-                #region
40
-                //#region
41
-                //DataColumn dc1 = new DataColumn("坐席人员");
42
-                //DataColumn dc2 = new DataColumn("通话总时长");
43
-                //DataColumn dc3 = new DataColumn("呼出通话总时长");
44
-                //DataColumn dc4 = new DataColumn("呼出通话占比");
45
-                //DataColumn dc5 = new DataColumn("呼入通话总时长");
46
-                //DataColumn dc6 = new DataColumn("呼入通话占比");
47
-                //DataColumn dc7 = new DataColumn("平均日呼入通话时长");
48
-                //DataColumn dc8 = new DataColumn("平均日呼出通话时长");
49 36
 
50
-                //dtNew.Columns.Add(dc1);
51
-                //dtNew.Columns.Add(dc2);
52
-                //dtNew.Columns.Add(dc3);
53
-                //dtNew.Columns.Add(dc4);
54
-                //dtNew.Columns.Add(dc5);
55
-                //dtNew.Columns.Add(dc6);
56
-                //dtNew.Columns.Add(dc7);
57
-                //dtNew.Columns.Add(dc8);
58
-                //#endregion
37
+            DataTable dtNew = new DataTable();
38
+            dtNew = getData(stime, endtime);
39
+            #region
40
+            //#region
41
+            //DataColumn dc1 = new DataColumn("坐席人员");
42
+            //DataColumn dc2 = new DataColumn("通话总时长");
43
+            //DataColumn dc3 = new DataColumn("呼出通话总时长");
44
+            //DataColumn dc4 = new DataColumn("呼出通话占比");
45
+            //DataColumn dc5 = new DataColumn("呼入通话总时长");
46
+            //DataColumn dc6 = new DataColumn("呼入通话占比");
47
+            //DataColumn dc7 = new DataColumn("平均日呼入通话时长");
48
+            //DataColumn dc8 = new DataColumn("平均日呼出通话时长");
49
+
50
+            //dtNew.Columns.Add(dc1);
51
+            //dtNew.Columns.Add(dc2);
52
+            //dtNew.Columns.Add(dc3);
53
+            //dtNew.Columns.Add(dc4);
54
+            //dtNew.Columns.Add(dc5);
55
+            //dtNew.Columns.Add(dc6);
56
+            //dtNew.Columns.Add(dc7);
57
+            //dtNew.Columns.Add(dc8);
58
+            //#endregion
59
+
60
+            //string sqltimeCallRecords = "";
61
+            //if (stime != null && stime.Trim() != "")
62
+            //{
63
+            //    sqltimeCallRecords += " and CONVERT(varchar , TalkStartTime, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
64
+            //}
65
+            //if (endtime != null && endtime.Trim() != "")
66
+            //{
67
+            //    sqltimeCallRecords += " and CONVERT(varchar , TalkStartTime, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
68
+            //}
69
+            //double zong1 = 0;
70
+            //double zong2 = 0;
71
+            //double zong3 = 0;
72
+            //double day = 0;
73
+            //Double sumshuchu = 0;
74
+            //Double sumshuru = 0;
75
+            //if (stime != null && endtime != null && endtime.Trim() != "" && stime.Trim() != "")
76
+            //{
77
+            //    TimeSpan time = Convert.ToDateTime(endtime) - Convert.ToDateTime(stime);
78
+            //    day = time.Days + 1;
79
+            //}
80
+
81
+            //DataTable dt = new DataTable();
82
+            //string sql = "SELECT  *,(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=T_Sys_UserAccount.F_Userid " + sqltimeCallRecords + ") as counts from T_Sys_UserAccount where F_RoleId in(1,28,29) order by counts desc ";
83
+            //dt = DbHelperSQL.Query(sql).Tables[0];
84
+            //for (int i = 0; i < dt.Rows.Count; i++)
85
+            //{
86
+            //    DataRow drNew = dtNew.NewRow();
87
+
88
+            //    sql = "SELECT (SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + "" + sqltimeCallRecords + ") as sums,";
89
+            //    sql += "(SELECT sum(TalkLongTime) FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + " and CallType=0" + sqltimeCallRecords + ") as sumshuru,";
90
+            //    sql += "(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + " and CallType=1" + sqltimeCallRecords + ") as sumshuchu";
91
+            //    DataTable dt1 = new DataTable();
92
+            //    dt1 = DbHelperSQL.Query(sql).Tables[0];
59 93
 
60
-                //string sqltimeCallRecords = "";
61
-                //if (stime != null && stime.Trim() != "")
62
-                //{
63
-                //    sqltimeCallRecords += " and CONVERT(varchar , TalkStartTime, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
64
-                //}
65
-                //if (endtime != null && endtime.Trim() != "")
66
-                //{
67
-                //    sqltimeCallRecords += " and CONVERT(varchar , TalkStartTime, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
68
-                //}
69
-                //double zong1 = 0;
70
-                //double zong2 = 0;
71
-                //double zong3 = 0;
72
-                //double day = 0;
73
-                //Double sumshuchu = 0;
74
-                //Double sumshuru = 0;
75
-                //if (stime != null && endtime != null && endtime.Trim() != "" && stime.Trim() != "")
76
-                //{
77
-                //    TimeSpan time = Convert.ToDateTime(endtime) - Convert.ToDateTime(stime);
78
-                //    day = time.Days + 1;
79
-                //}
94
+            //    if (dt1.Rows[0]["sums"] == null || dt1.Rows[0]["sums"].ToString() == "" || dt1.Rows[0]["sums"].ToString() == "0")
95
+            //    {
96
+            //        continue;
97
+            //    }
98
+            //    drNew["坐席人员"] = dt.Rows[i]["F_UserName"].ToString();
99
+            //    drNew["通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sums"]) / 3600).ToString("f2");
100
+            //    Double sums = 0;
101
+            //    if (dt1.Rows[0]["sums"] != null && dt1.Rows[0]["sums"].ToString() != "")
102
+            //    {
103
+            //        zong1 += Convert.ToInt32(dt1.Rows[0]["sums"]);
104
+            //        sums = Convert.ToInt32(dt1.Rows[0]["sums"]);
105
+            //    }
106
+            //    if (dt1.Rows[0]["sumshuchu"] == null || dt1.Rows[0]["sumshuchu"].ToString() == "")
107
+            //    {
108
+            //        drNew["呼出通话总时长"] = "0";
109
+            //    }
110
+            //    else
111
+            //    {
112
+            //        drNew["呼出通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sumshuchu"]) / 3600).ToString("f2");
113
+            //    }
114
+            //    sumshuchu = 0;
115
+            //    if (dt1.Rows[0]["sumshuchu"] != null && dt1.Rows[0]["sumshuchu"].ToString() != "")
116
+            //    {
117
+            //        zong2 += Convert.ToInt32(dt1.Rows[0]["sumshuchu"]);
118
+            //        sumshuchu = Convert.ToInt32(dt1.Rows[0]["sumshuchu"]);
119
+            //    }
120
+            //    if (sums == 0)
121
+            //    {
122
+            //        drNew["呼出通话占比"] = "0.00" + "%";
123
+            //    }
124
+            //    else
125
+            //    {
126
+            //        drNew["呼出通话占比"] = (sumshuchu / sums * 100).ToString("f2") + "%";
127
+            //    }
128
+            //    if (dt1.Rows[0]["sumshuru"] == null || dt1.Rows[0]["sumshuru"].ToString() == "")
129
+            //    {
130
+            //        drNew["呼入通话总时长"] = "0";
131
+            //    }
132
+            //    else
133
+            //    {
134
+            //        drNew["呼入通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sumshuru"]) / 3600).ToString("f2");
135
+            //    }
136
+            //    sumshuru = 0;
80 137
 
81
-                //DataTable dt = new DataTable();
82
-                //string sql = "SELECT  *,(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=T_Sys_UserAccount.F_Userid " + sqltimeCallRecords + ") as counts from T_Sys_UserAccount where F_RoleId in(1,28,29) order by counts desc ";
83
-                //dt = DbHelperSQL.Query(sql).Tables[0];
84
-                //for (int i = 0; i < dt.Rows.Count; i++)
85
-                //{
86
-                //    DataRow drNew = dtNew.NewRow();
87
-                    
88
-                //    sql = "SELECT (SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + "" + sqltimeCallRecords + ") as sums,";
89
-                //    sql += "(SELECT sum(TalkLongTime) FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + " and CallType=0" + sqltimeCallRecords + ") as sumshuru,";
90
-                //    sql += "(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=" + dt.Rows[i]["F_UserId"].ToString() + " and CallType=1" + sqltimeCallRecords + ") as sumshuchu";
91
-                //    DataTable dt1 = new DataTable();
92
-                //    dt1 = DbHelperSQL.Query(sql).Tables[0];
138
+            //    if (dt1.Rows[0]["sumshuru"] != null && dt1.Rows[0]["sumshuru"].ToString() != "")
139
+            //    {
140
+            //        zong3 += Convert.ToInt32(dt1.Rows[0]["sumshuru"]);
141
+            //        sumshuru = Convert.ToInt32(dt1.Rows[0]["sumshuru"]);
142
+            //    }
143
+            //    if (sums == 0)
144
+            //    {
145
+            //        drNew["呼入通话占比"] = "0.00" + "%";
146
+            //    }
147
+            //    else
148
+            //    {
149
+            //        drNew["呼入通话占比"] = (sumshuru / sums * 100).ToString("f2") + "%";
150
+            //    }
93 151
 
94
-                //    if (dt1.Rows[0]["sums"] == null || dt1.Rows[0]["sums"].ToString() == "" || dt1.Rows[0]["sums"].ToString() == "0")
95
-                //    {
96
-                //        continue;
97
-                //    }
98
-                //    drNew["坐席人员"] = dt.Rows[i]["F_UserName"].ToString();
99
-                //    drNew["通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sums"]) / 3600).ToString("f2");
100
-                //    Double sums = 0;
101
-                //    if (dt1.Rows[0]["sums"] != null && dt1.Rows[0]["sums"].ToString() != "")
102
-                //    {
103
-                //        zong1 += Convert.ToInt32(dt1.Rows[0]["sums"]);
104
-                //        sums = Convert.ToInt32(dt1.Rows[0]["sums"]);
105
-                //    }
106
-                //    if (dt1.Rows[0]["sumshuchu"] == null || dt1.Rows[0]["sumshuchu"].ToString() == "")
107
-                //    {
108
-                //        drNew["呼出通话总时长"] = "0";
109
-                //    }
110
-                //    else
111
-                //    {
112
-                //        drNew["呼出通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sumshuchu"]) / 3600).ToString("f2");
113
-                //    }
114
-                //    sumshuchu = 0;
115
-                //    if (dt1.Rows[0]["sumshuchu"] != null && dt1.Rows[0]["sumshuchu"].ToString() != "")
116
-                //    {
117
-                //        zong2 += Convert.ToInt32(dt1.Rows[0]["sumshuchu"]);
118
-                //        sumshuchu = Convert.ToInt32(dt1.Rows[0]["sumshuchu"]);
119
-                //    }
120
-                //    if (sums == 0)
121
-                //    {
122
-                //        drNew["呼出通话占比"] = "0.00" + "%";
123
-                //    }
124
-                //    else
125
-                //    {
126
-                //        drNew["呼出通话占比"] = (sumshuchu / sums * 100).ToString("f2") + "%";
127
-                //    }
128
-                //    if (dt1.Rows[0]["sumshuru"] == null || dt1.Rows[0]["sumshuru"].ToString() == "")
129
-                //    {
130
-                //        drNew["呼入通话总时长"] = "0";
131
-                //    }
132
-                //    else
133
-                //    {
134
-                //        drNew["呼入通话总时长"] = (Convert.ToDouble(dt1.Rows[0]["sumshuru"]) / 3600).ToString("f2");
135
-                //    }
136
-                //    sumshuru = 0;
152
+            //    drNew["平均日呼入通话时长"] = (sumshuru / day / 3600).ToString("f2");
153
+            //    drNew["平均日呼出通话时长"] = (sumshuchu / day / 3600).ToString("f2");
137 154
 
138
-                //    if (dt1.Rows[0]["sumshuru"] != null && dt1.Rows[0]["sumshuru"].ToString() != "")
139
-                //    {
140
-                //        zong3 += Convert.ToInt32(dt1.Rows[0]["sumshuru"]);
141
-                //        sumshuru = Convert.ToInt32(dt1.Rows[0]["sumshuru"]);
142
-                //    }
143
-                //    if (sums == 0)
144
-                //    {
145
-                //        drNew["呼入通话占比"] = "0.00" + "%";
146
-                //    }
147
-                //    else
148
-                //    {
149
-                //        drNew["呼入通话占比"] = (sumshuru / sums * 100).ToString("f2") + "%";
150
-                //    }
151
-                    
152
-                //    drNew["平均日呼入通话时长"] = (sumshuru / day / 3600).ToString("f2");
153
-                //    drNew["平均日呼出通话时长"] = (sumshuchu / day / 3600).ToString("f2");
155
+            //    dtNew.Rows.Add(drNew);
156
+            //}
154 157
 
155
-                //    dtNew.Rows.Add(drNew);
156
-                //}
158
+            //DataRow drzj = dtNew.NewRow();
159
+            //drzj["坐席人员"] = "总计";
160
+            //drzj["通话总时长"] = (zong1 / 3600).ToString("f2");
161
+            //drzj["呼出通话总时长"] = (zong2 / 3600).ToString("f2");
162
+            //if (zong1 == 0 || zong2 == 0)
163
+            //{
164
+            //    drzj["呼出通话占比"] = "0.00" + "%";
165
+            //}
166
+            //else
167
+            //{
168
+            //    drzj["呼出通话占比"] = (Convert.ToDouble(zong2 / zong1) * 100).ToString("f2") + "%";
169
+            //}
170
+            //drzj["呼入通话总时长"] = (zong3 / 3600).ToString("f2");
171
+            //if (zong1 == 0 || zong3 == 0)
172
+            //{
173
+            //    drzj["呼入通话占比"] = "0.00" + "%";
174
+            //}
175
+            //else
176
+            //{
177
+            //    drzj["呼入通话占比"] = (Convert.ToDouble(zong3 / zong1) * 100).ToString("f2") + "%";
178
+            //}
179
+            //drzj["平均日呼入通话时长"] = (zong3 / day / 3600).ToString("f2");
180
+            //drzj["平均日呼出通话时长"] = (zong2 / day / 3600).ToString("f2");
181
+            //dtNew.Rows.Add(drzj);
182
+            #endregion
183
+            res = Success("获取坐席日通话时长统计数据成功", dtNew);
157 184
 
158
-                //DataRow drzj = dtNew.NewRow();
159
-                //drzj["坐席人员"] = "总计";
160
-                //drzj["通话总时长"] = (zong1 / 3600).ToString("f2");
161
-                //drzj["呼出通话总时长"] = (zong2 / 3600).ToString("f2");
162
-                //if (zong1 == 0 || zong2 == 0)
163
-                //{
164
-                //    drzj["呼出通话占比"] = "0.00" + "%";
165
-                //}
166
-                //else
167
-                //{
168
-                //    drzj["呼出通话占比"] = (Convert.ToDouble(zong2 / zong1) * 100).ToString("f2") + "%";
169
-                //}
170
-                //drzj["呼入通话总时长"] = (zong3 / 3600).ToString("f2");
171
-                //if (zong1 == 0 || zong3 == 0)
172
-                //{
173
-                //    drzj["呼入通话占比"] = "0.00" + "%";
174
-                //}
175
-                //else
176
-                //{
177
-                //    drzj["呼入通话占比"] = (Convert.ToDouble(zong3 / zong1) * 100).ToString("f2") + "%";
178
-                //}
179
-                //drzj["平均日呼入通话时长"] = (zong3 / day / 3600).ToString("f2");
180
-                //drzj["平均日呼出通话时长"] = (zong2 / day / 3600).ToString("f2");
181
-                //dtNew.Rows.Add(drzj);
182
-                #endregion
183
-                res = Success("获取坐席日通话时长统计数据成功", dtNew);
184
-         
185 185
             return res;
186 186
         }
187 187
 
@@ -250,7 +250,31 @@ namespace CallCenterApi.Interface.Controllers.report
250 250
             }
251 251
 
252 252
             DataTable dt = new DataTable();
253
-            string sql = "SELECT  *,(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=T_Sys_UserAccount.F_Userid " + sqltimeCallRecords + ") as counts from T_Sys_UserAccount where F_RoleId in(1,28,29) order by counts desc ";
253
+            var deptId = CurrentUser.UserData.F_DeptId;
254
+            var roleId = CurrentUser.UserData.F_RoleId;
255
+            var deptCode = CurrentUser.UserData.F_DeptCode;
256
+            var usercode = CurrentUser.UserData.F_UserCode;
257
+            var usercodeSQL = "";
258
+            if (roleId != 0)
259
+            {
260
+                if (roleId != 17)
261
+                {
262
+                    if (roleId == 36 || roleId == 38 || roleId == 40)
263
+                    {
264
+                        usercodeSQL += $"  F_UserCode='{usercode}'";
265
+                    }
266
+                    else
267
+                    {
268
+                        usercodeSQL += $"  F_UserCode in (SELECT F_UserCode from T_Sys_UserAccount where F_DeptId={deptId}) ";
269
+                    }
270
+
271
+                }
272
+            }
273
+            if (!string.IsNullOrWhiteSpace(usercodeSQL))
274
+            {
275
+                usercodeSQL = " where " + usercodeSQL;
276
+            }
277
+            string sql = "SELECT  *,(SELECT sum(TalkLongTime)  FROM T_Call_CallRecords where  UserId=T_Sys_UserAccount.F_Userid " + sqltimeCallRecords + ") as counts from T_Sys_UserAccount  " + usercodeSQL + " order by counts desc ";
254 278
             dt = DbHelperSQL.Query(sql).Tables[0];
255 279
             for (int i = 0; i < dt.Rows.Count; i++)
256 280
             {

+ 30 - 3
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/ZuoXiWorkTotalController.cs

@@ -506,21 +506,48 @@ namespace CallCenterApi.Interface.Controllers.report
506 506
             double itrunkhsl = 0.00;//互损率
507 507
             double itrunkpjpd = 0.00;//平均排队
508 508
             #endregion
509
+
510
+            //17=系统管理员,36=客服,37=组长,38=组员,39=业主,40=话务员,41=客服主管,43=分公司市场部主任,45=业务稽核,46=集团客户部,
511
+            //47 =网络部,48=市场部经理,50=业务支撑中心,51=市场部,52=客户服务中心,53=总经理,54=副总经理,55=业务负责人,56=投诉处理员,57=基础业务主管,
512
+
513
+
514
+            var deptId = CurrentUser.UserData.F_DeptId;
515
+            var roleId = CurrentUser.UserData.F_RoleId;
516
+            var deptCode = CurrentUser.UserData.F_DeptCode;
517
+            var usercode = CurrentUser.UserData.F_UserCode;
518
+            var deptSQL = "";
519
+            var usercodeSQL = "";
520
+            if (roleId != 0)
521
+            {
522
+                if (roleId != 17)
523
+                {
524
+                    if (roleId == 36 || roleId == 38 || roleId == 40)
525
+                    {
526
+                        usercodeSQL += $" and F_UserCode='{usercode}'";
527
+                    }
528
+                    else
529
+                    {
530
+                        deptSQL += $" and F_DeptId={deptId} ";
531
+                    }
532
+
533
+                }
534
+            }
535
+
509 536
             DataTable dtdpt = null;
510 537
             if (!string.IsNullOrWhiteSpace(dpt) && Convert.ToInt32(dpt) >= 0)
511 538
             {
512
-                dtdpt = DbHelperSQL.Query("select F_DeptId,F_DeptName,F_Remark from  T_Sys_Department where F_ParentId!=0 and F_DeptId=" + dpt).Tables[0];
539
+                dtdpt = DbHelperSQL.Query("select F_DeptId,F_DeptName,F_Remark from  T_Sys_Department where F_ParentId!=0 and F_DeptId=" + dpt + deptSQL).Tables[0];
513 540
             }
514 541
             else
515 542
             {
516
-                dtdpt = DbHelperSQL.Query("select F_DeptId,F_DeptName,F_Remark from  T_Sys_Department where F_ParentId!=0").Tables[0];
543
+                dtdpt = DbHelperSQL.Query("select F_DeptId,F_DeptName,F_Remark from  T_Sys_Department where F_ParentId!=0" + deptSQL).Tables[0];
517 544
             }
518 545
             //if (dtdpt != null && dtdpt.Rows.Count > 0)
519 546
             //{
520 547
             foreach (DataRow dr in dtdpt.Rows)
521 548
             {
522 549
                 DataTable dt = new DataTable();
523
-                string sql = "SELECT F_UserCode,F_UserName,F_WorkNumber,F_UserId FROM T_Sys_UserAccount where f_seatFlag=1 and F_DeptId=" + dr["F_DeptId"] + " and F_WorkNumber!='' order by  F_WorkNumber asc";
550
+                string sql = $"SELECT F_UserCode,F_UserName,F_WorkNumber,F_UserId FROM T_Sys_UserAccount where f_seatFlag=1 and F_DeptId={dr["F_DeptId"]} and F_WorkNumber!='' {usercodeSQL} order by  F_WorkNumber asc";
524 551
                 dt = DbHelperSQL.Query(sql).Tables[0];
525 552
                 for (int i = 0; i < dt.Rows.Count; i++)
526 553
                 {

+ 13 - 12
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/tel/CallrecordsController.cs

@@ -35,17 +35,17 @@ namespace CallCenterApi.Interface.Controllers.tel
35 35
                 string strpagesize = RequestString.GetQueryString("pagesize");
36 36
                 int pagesize = 10;
37 37
 
38
+                //17=系统管理员,36=客服,37=组长,38=组员,39=业主,40=话务员,41=客服主管,43=分公司市场部主任,45=业务稽核,46=集团客户部,
39
+                //47 =网络部,48=市场部经理,50=业务支撑中心,51=市场部,52=客户服务中心,53=总经理,54=副总经理,55=业务负责人,56=投诉处理员,57=基础业务主管,
40
+
38 41
                 if (roleid != 0)
39 42
                 {
40 43
                     if (roleid != 17)
41 44
                     {
42
-                        //if (deptcode.IndexOf("|533|") > 0)
43
-                        //{
44
-                        //    sql += " and UserCode in (select F_UserCode from T_Sys_UserAccount where F_DeptId=" + deptid + ")";
45
-                        //}
46
-                        if (deptcode.IndexOf("|531|") > 0)
45
+                        //各分公司
46
+                        if (deptcode.IndexOf("|1|") > 0)
47 47
                         {
48
-                            if (roleid == 32)
48
+                            if (roleid == 36 || roleid == 38 || roleid == 40)
49 49
                             {
50 50
                                 usercode = CurrentUser.UserData.F_UserCode;
51 51
                                 sql += " and UserCode='" + usercode + "'";
@@ -55,10 +55,11 @@ namespace CallCenterApi.Interface.Controllers.tel
55 55
                                 sql += " and UserCode in (select F_UserCode from T_Sys_UserAccount where F_DeptID in (select F_DeptId from T_Sys_Department where F_DeptCode like '" + deptcode + "%')) ";
56 56
                             }
57 57
                         }
58
-                        else
59
-                        {
60
-                            sql += " and UserCode in (select F_UserCode from T_Sys_UserAccount where F_DeptId=" + deptid + ")";
61
-                        }
58
+                        //总公司
59
+                        //else
60
+                        //{
61
+                        //    sql += " and UserCode in (select F_UserCode from T_Sys_UserAccount where F_DeptId=" + deptid + ")";
62
+                        //}
62 63
                     }
63 64
                 }
64 65
 
@@ -106,9 +107,9 @@ namespace CallCenterApi.Interface.Controllers.tel
106 107
                 }
107 108
                 int recordCount = 0;
108 109
                 dt = BLL.PagerBLL.GetListPager(
109
-                    "T_Call_CallRecords left join T_Sys_UserAccount ON T_Sys_UserAccount.F_UserCode=T_Call_CallRecords.UserCode",
110
+                    "T_Call_CallRecords left join T_Sys_UserAccount ON T_Sys_UserAccount.F_UserCode=T_Call_CallRecords.UserCode  left join T_Sys_Department ON T_Sys_UserAccount.F_DeptId=T_Sys_Department.F_DeptId ",
110 111
                     "CallRecordsId",
111
-                    "*,T_Sys_UserAccount.F_UserName",
112
+                    "*,T_Sys_UserAccount.F_UserName,T_Sys_Department.F_DeptName ",
112 113
                     sql,
113 114
                     "ORDER BY CallRecordsId desc",
114 115
                     pagesize,

+ 2 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Filter/FilterCallPhone.cs

@@ -15,6 +15,8 @@ namespace CallCenterApi.Interface.Models.Filter
15 15
         public int YJState { get; set; } = -1;
16 16
         public int UserId { get; set; } = 0;
17 17
         public int TaskType { get; set; } = 1;
18
+        public int HJJGID { get; set; } = -1;
19
+        public int YHFKID { get; set; } = -1;
18 20
         public int RequestType { get; set; } = 1;
19 21
     }
20 22
 }