liyuanyuan лет назад: 2
Родитель
Сommit
231f72b5f0

+ 108 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/Question/QuestionnaireController.cs

@@ -23,6 +23,114 @@ namespace CallCenterApi.Interface.Controllers.Question
23 23
         private readonly BLL.T_Ask_PagerInfo pagerInfoBLL = new BLL.T_Ask_PagerInfo();
24 24
         private readonly BLL.T_Ask_PagerItems pagerInfoItemsBLL = new BLL.T_Ask_PagerItems();
25 25
 
26
+        private readonly BLL.T_Call_OutAnswers ansBLL = new BLL.T_Call_OutAnswers();
27
+        #region 问卷结果
28
+
29
+        public ActionResult GetAllPager()
30
+        {
31
+            DataTable dt = new DataTable();
32
+            string sql = " select * from T_Ask_PagerInfo where F_DeleteFlag=0 ORDER BY F_PagerId desc";
33
+            dt = DbHelperSQL.Query(sql).Tables[0];
34
+            return Success("获取所有的问卷成功", dt);
35
+        }
36
+
37
+        public ActionResult GetAllQuestionByPid(int pid)
38
+        {
39
+            var qlist = questionBLL.GetModelList(" F_DeleteFlag=0 and F_QuestionId in (select F_QuestionId from T_Ask_PagerItems where F_PagerId=" + pid + ")  order by F_QuestionId ");
40
+            return Success("获取试题成功", qlist);
41
+        }
42
+        [AllowAnonymous]
43
+        //  根据问题id和问卷id读取该问题的答案列表
44
+        public ActionResult GetAllAnswerByPidQid(string sdata,string edata, int pid=0,int qid=0,int pagesize=10,int pageindex=1)
45
+        {
46
+            if (pid==0||qid==0)
47
+            {
48
+                return Success("没有数据");
49
+            }
50
+
51
+            var wheresql = "";
52
+            if (!string.IsNullOrEmpty(sdata))
53
+            {
54
+                wheresql += "  and a.F_OptOn>='"+sdata+"'";
55
+            }
56
+            if (!string.IsNullOrEmpty(edata))
57
+            {
58
+                wheresql += "  and a.F_OptOn<='" + edata + "'";
59
+            }
60
+            DataTable dt = new DataTable();
61
+           //var list=   ansBLL.GetModelList("F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '" + pid + "' and qid='"+qid+ "' ");
62
+            //var sql = " select F_Answer,F_Opton,b.F_CusName,b.F_Phone from  T_Call_OutAnswers a left join T_Call_OutTaskTelNum b on a.F_CusTelID = b.F_Id  where a.F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '"+pid+"') and a.F_qid = '"+qid+"' ";
63
+            int xx = pagesize * (pageindex - 1);
64
+            var sql = "select top " + pagesize + " * from (select ROW_NUMBER() over(order by a.F_Opton) as rownumber,F_Answer, F_Opton, b.F_CusName, b.F_Phone from T_Call_OutAnswers a left join T_Call_OutTaskTelNum b on a.F_CusTelID = b.F_Id where a.F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '"+pid+"') and a.F_qid = '"+qid+"'"+wheresql+" )   as d where rownumber> "+xx+"";
65
+            dt = DbHelperSQL.Query(sql).Tables[0];
66
+
67
+            return Success("获取数据成功",dt);
68
+
69
+        }
70
+
71
+        [AllowAnonymous]
72
+        //  根据问题id和问卷id 查询各个答案的数量
73
+        public ActionResult GetAllAnswerCountByPidQid(string sdata, string edata, int pid=0, int qid = 0)
74
+        {
75
+            if (pid == 0 || qid == 0)
76
+            {
77
+                return Success("没有数据");
78
+            }
79
+
80
+            var wheresql = "";
81
+            if (!string.IsNullOrEmpty(sdata))
82
+            {
83
+                wheresql += "  and a.F_OptOn>='" + sdata + "'";
84
+            }
85
+            if (!string.IsNullOrEmpty(edata))
86
+            {
87
+                wheresql += "  and a.F_OptOn<='" + edata + "'";
88
+            }
89
+
90
+            var list = questionItemBLL.GetModelList("F_QuestionId='" + qid + "'");
91
+            var resultlist = " select F_QIID,count(1) num from T_Call_OutAnswers where F_QID='"+qid+"'"+wheresql+" and F_TaskID = (select F_taskid from T_Call_OutTask where F_PagerID = '"+pid+"') group by F_QIID";
92
+            DataTable dt = new DataTable();
93
+           dt=  DbHelperSQL.Query(resultlist).Tables[0];
94
+
95
+            var newlist = new
96
+            {
97
+                queitem = list.Select(x => {
98
+
99
+                    int count = 0;
100
+                    if (dt != null || dt.Rows.Count > 0)
101
+                    {
102
+                        if (dt.Select(" F_QIID='" + x.F_ItemId + "'").Count()>0)
103
+                        {
104
+                            count =Convert.ToInt32(dt.Select(" F_QIID='" + x.F_ItemId + "'")[0]["num"]);
105
+                        }
106
+                    }                   
107
+
108
+                    return new {
109
+                        itemname = x.F_ItemName,
110
+                        itemcount = count,
111
+                        rate=count==0?"0": ((double)count/ dt.Rows.Count).ToString("0.0%")
112
+                    };
113
+                })
114
+
115
+            };
116
+      
117
+
118
+          //  DataTable dt = new DataTable();
119
+          //var list=   ansBLL.GetModelList("F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '" + pid + "' and qid='"+qid+ "' ");
120
+          //var sql = " select F_Answer,F_Opton,b.F_CusName,b.F_Phone from  T_Call_OutAnswers a left join T_Call_OutTaskTelNum b on a.F_CusTelID = b.F_Id  where a.F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '"+pid+"') and a.F_qid = '"+qid+"' ";
121
+
122
+            //var sql = "select top '" + pagesize + "' * from (select ROW_NUMBER() over(order by a.F_Opton) as rownumber,F_Answer, F_Opton, b.F_CusName, b.F_Phone from T_Call_OutAnswers a left join T_Call_OutTaskTelNum b on a.F_CusTelID = b.F_Id where a.F_taskid = (select F_taskid from T_Call_OutTask where F_PagerID = '" + pid + "') and a.F_qid = '" + qid + "'" + wheresql + " )   as d where rownumber> '" + xx + "'";
123
+            //dt = DbHelperSQL.Query(sql).Tables[0];
124
+
125
+            return Success("获取数据成功" , newlist);
126
+
127
+        }
128
+
129
+
130
+        #endregion
131
+
132
+
133
+
26 134
         #region 问卷设置 - 试题问卷
27 135
         /// <summary>
28 136
         /// 问卷设置 - 试题问卷