瀏覽代碼

部门屏蔽大区分公司,用户管理修改,反馈报表,增加回访备注,增加上级指派说吗

duhongyu 6 年之前
父節點
當前提交
1470582b8f

+ 70 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs

@@ -212,7 +212,77 @@ namespace CallCenterApi.Interface.Controllers
212 212
             }
213 213
             return NoToken("未知错误,请重新登录");
214 214
         }
215
+        /// <summary>
216
+        /// tree  树形部门
217
+        /// </summary>
218
+        /// <param name="tab"></param>
219
+        /// <param name="parentid"></param>
220
+        /// <returns></returns>
221
+        private List<Model.TreeModel> BindAssignTree(DataTable tab, string parentid)
222
+        {
223
+            DataTable tab2 = new DataTable();
224
+
225
+            if (tab != null && tab.Rows.Count > 0)
226
+            {
227
+                List<Model.T_Sys_Department> categorylist = new BLL.T_Sys_Department().DataTableToList(tab);
228
+                List<Model.TreeModel> modelList = new List<Model.TreeModel>(categorylist.Count);
229
+                for (int i = 0; i < categorylist.Count; i++)
230
+                {
231
+                    Model.TreeModel model = new Model.TreeModel();
232
+                    string currentID = categorylist[i].F_DeptId.ToString();//当前功能ID
233
+                    model.id = currentID;
234
+                    model.code = categorylist[i].F_DeptCode;
235
+                    model.IconCls = "";//图标
236
+                    model.text = categorylist[i].F_DeptName;
237
+                    model.headerid = categorylist[i].F_Header ?? 0;    //部门权限范围:9全部,1区域,2项目,3期
238
+                    tab2 = new BLL.T_Sys_Department().GetList("F_ParentId=" + currentID + " and F_State=1 and F_Layer=0").Tables[0];
239
+                    if (tab2 != null && tab2.Rows.Count > 0)
240
+                    {
241
+                        model.children = BindAssignTree(tab2, currentID);
242
+                    }
243
+                    modelList.Add(model);
244
+                }
245
+                return modelList;
215 246
 
247
+            }
248
+            else
249
+            {
250
+                return null;
251
+            }
252
+
253
+        }
254
+        /// <summary>
255
+        /// 获取部门列表
256
+        /// </summary>
257
+        /// <returns></returns>
258
+        public ActionResult GetAssignDeptList(int pId = 0, string keywords = "")
259
+        {
260
+            //if (Request.IsAuthenticated)
261
+            //{
262
+            DataTable dt = new DataTable();
263
+            if (keywords != "")
264
+            {
265
+                if (keywords.Contains("'"))
266
+                {
267
+                    keywords = keywords.Replace("'", "");
268
+                }
269
+                dt = new BLL.T_Sys_Department().GetList(" F_State=1" + $" and F_DeptName like '%" + keywords.Trim() + "%'  ").Tables[0];
270
+            }
271
+            else
272
+            {
273
+                dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_ParentId=" + pId).Tables[0];
274
+            }
275
+            List<Model.TreeModel> modelList = BindAssignTree(dt, "0");
276
+            if (modelList != null)
277
+            {
278
+                if (modelList.Count > 0)
279
+                    return Success("加载成功", modelList);
280
+            }
281
+
282
+            return Success(null);
283
+            //}
284
+            //return NoToken("未知错误,请重新登录");
285
+        }
216 286
         /// <summary>
217 287
         /// 获取部门列表
218 288
         /// </summary>

+ 43 - 10
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/UserAccountController.cs

@@ -207,6 +207,7 @@ namespace CallCenterApi.Interface.Controllers
207 207
                 //var modelRegion = bllCus_Region.GetModel(userModel.RegionId);
208 208
                 res = Success("获取成功", new
209 209
                 {
210
+                   
210 211
                     F_UserId = userModel.F_UserId,
211 212
                     F_UserCode = userModel.F_UserCode,
212 213
                     F_ExtensionNumber = userModel.F_ExtensionNumber,
@@ -234,7 +235,9 @@ namespace CallCenterApi.Interface.Controllers
234 235
                     F_PId = userModel.F_PId,
235 236
                     F_TmId = userModel.F_TmId,
236 237
                     F_WorkNumber = userModel.F_WorkNumber,
238
+                    F_SeartGroupID = userModel.F_SeartGroupID,
237 239
                     //F_WXNo = userModel.F_WXNo,
240
+
238 241
                     F_SeatGroup = userModel.F_SeartGroup,
239 242
                     zxzname = zxzModel?.F_Name ?? "",
240 243
                     depname = depModel?.F_DeptName ?? "",
@@ -307,14 +310,32 @@ namespace CallCenterApi.Interface.Controllers
307 310
                 //    userAccountModel.F_WXNo = input.WXNo.Trim();
308 311
                 //}
309 312
                 //if (input.SeartGroupID != 0)
310
-                if (input.GroupId != 0)
313
+                if (!string .IsNullOrEmpty (input.GroupId))
311 314
                 {
312 315
                     userAccountModel.F_SeartGroupID = input.GroupId.ToString ();
313
-                    Model.T_Sys_SeatGroup sm = new BLL.T_Sys_SeatGroup().GetModel(input.GroupId);
314
-                    if (sm != null)
316
+                    var GroupIDList = input.GroupId.Split('|');
317
+                    userAccountModel.F_SeartGroup = "";
318
+                    if (GroupIDList.Length >0)
315 319
                     {
316
-                        userAccountModel.F_SeartGroup = sm.F_ZXZName;
320
+                        foreach (var it in GroupIDList)
321
+                        {
322
+                            Model.T_Sys_SeatGroup sm = new BLL.T_Sys_SeatGroup().GetModel(int.Parse(it));
323
+                            if (sm != null)
324
+                            {
325
+                                if (userAccountModel.F_SeartGroup != "")
326
+                                {
327
+                                    userAccountModel.F_SeartGroup = userAccountModel.F_SeartGroup + "|" + sm.F_ZXZName;
328
+                                }
329
+                                else
330
+                                {
331
+                                    userAccountModel.F_SeartGroup = sm.F_ZXZName;
332
+                                }
333
+
334
+                            }
335
+                        }
317 336
                     }
337
+                   
338
+                   
318 339
                 }
319 340
                 if (input.IsSeat)
320 341
                 {
@@ -405,16 +426,28 @@ namespace CallCenterApi.Interface.Controllers
405 426
                 //userAccountModel.F_CreateOn = DateTime.Now;
406 427
 
407 428
                 //if (input.SeartGroupID != 0)
408
-                if (input.GroupId != 0)
429
+                userAccountModel.F_SeartGroupID = input.GroupId;
430
+                var GroupIDList = input.GroupId.Split('|');
431
+                userAccountModel.F_SeartGroup = "";
432
+                if (GroupIDList.Length  >0)
409 433
                 {
410
-                    userAccountModel.F_SeartGroupID = input.GroupId.ToString ();
411
-                    Model.T_Sys_SeatGroup sm = new BLL.T_Sys_SeatGroup().GetModel(input.GroupId);
412
-                    if (sm != null)
434
+                    foreach (var it in GroupIDList)
413 435
                     {
414
-                        userAccountModel.F_SeartGroup = sm.F_ZXZName;
436
+                        Model.T_Sys_SeatGroup sm = new BLL.T_Sys_SeatGroup().GetModel(int.Parse(it));
437
+                        if (sm != null)
438
+                        {
439
+                            if (userAccountModel.F_SeartGroup != "")
440
+                            {
441
+                                userAccountModel.F_SeartGroup = userAccountModel.F_SeartGroup + "|" + sm.F_ZXZName;
442
+                            }
443
+                            else
444
+                            {
445
+                                userAccountModel.F_SeartGroup = sm.F_ZXZName;
446
+                            }
447
+
448
+                        }
415 449
                     }
416 450
                 }
417
-
418 451
                 userAccountModel.F_DeleteFlag = 0;
419 452
                 if (input.HjType != null)
420 453
                     userAccountModel.F_HJType = input.HjType;

+ 137 - 85
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/WOReportController.cs

@@ -55,6 +55,106 @@ namespace CallCenterApi.Interface.Controllers.report
55 55
                 return Error("导出失败");
56 56
             }
57 57
         }
58
+        public class market
59
+        {
60
+            public string name;
61
+            public List<marketList> marketlist;
62
+        }
63
+        public class marketList
64
+        {
65
+            public string name;
66
+            public string  number;
67
+        }
68
+     //  反馈类型明细表
69
+        public ActionResult GetTypelist(string stime, string endtime)
70
+        {
71
+            string sql = $"  F_IsDelete=0";
72
+            if (stime != null && stime.Trim() != "")
73
+            {
74
+                sql += " and CONVERT(varchar , F_CreateOn, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
75
+            }
76
+            if (endtime != null && endtime.Trim() != "")
77
+            {
78
+                sql += " and CONVERT(varchar , F_CreateOn, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
79
+            }
80
+            sql += $"  and T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") "; ;
81
+            List<market> markets = new List<market>();
82
+            for (int i=0;i<5;i++)
83
+            {
84
+                market model = new market();
85
+                model.marketlist = new List<marketList>();
86
+                switch (i )
87
+                {
88
+                    case 0:
89
+                        model.name = "合计";
90
+                        break;
91
+                    case 1:
92
+                        model.name = "咨询";
93
+                        break;
94
+                    case 2:
95
+                        model.name = "投诉";
96
+                        break;
97
+                    case 3:
98
+                        model.name = "抽检";
99
+                        break;
100
+                    case 4:
101
+                        model.name = "建议";
102
+                        break;
103
+                        
104
+                }
105
+                for (int j = 0; j < 9; j++)
106
+                {
107
+                    marketList brand = new marketList();
108
+                    switch (j)
109
+                    {
110
+                        case 0:
111
+                            brand.name = "新乡";
112
+
113
+                            break;
114
+                        case 1:
115
+                            brand.name = "九江";
116
+                            break;
117
+                        case 2:
118
+                            brand.name = "新疆";
119
+                            break;
120
+                        case 3:
121
+                            brand.name = "东北";
122
+                            break;
123
+                        case 4:
124
+                            brand.name = "小计";
125
+                            brand.number = woBLL.GetModelList(sql ).Count.ToString ();
126
+                            break;
127
+                        case 5:
128
+                            brand.name = "即时办结率";
129
+                            int a = woBLL.GetModelList(sql + "and F_DealType='当即办理'").Count;
130
+                            int b = woBLL.GetModelList(sql).Count;
131
+                            brand.number = string.Format("{0:f2}%", a / b * 100);
132
+                            break;
133
+                        case 6:
134
+                            brand.name = "超期数量";
135
+                            brand.number = woBLL.GetModelList(sql + "and F_IsOver=1").Count.ToString();
136
+                            break;
137
+                        case 7:
138
+                            brand.name = "满意数量";
139
+                            brand.number = woBLL.GetModelList(sql + "and F_VisitResult in('非常满意','满意')").Count.ToString();
140
+                            break;
141
+                        case 8:
142
+                            brand.name = "不满意数量";
143
+                            brand.number = woBLL.GetModelList(sql + "and F_VisitResult='不满意'").Count.ToString();
144
+                            break;
145
+                    }
146
+                    if (j <4)
147
+                    {
148
+                        brand.number = woBLL.GetModelList(sql + "and F_SalesBase='" + brand.name.Trim() + "'").Count.ToString() ;
149
+                    }
150
+                    
151
+                    
152
+                    model.marketlist.Add(brand);
153
+                }
154
+                markets.Add(model);
155
+            }
156
+            return Success(null);
157
+        }
58 158
         /// <summary>
59 159
         /// 导出集团市场问题反馈汇总表
60 160
         /// </summary>
@@ -477,6 +577,7 @@ namespace CallCenterApi.Interface.Controllers.report
477 577
           //  string str4 = " select F_Id from T_Wo_QuestionManage where F_ParentId in(" + str3 + ")";
478 578
             return str;
479 579
         }
580
+
480 581
         /// <summary>
481 582
         /// 化肥产品投诉明细表
482 583
         /// </summary>
@@ -912,7 +1013,10 @@ namespace CallCenterApi.Interface.Controllers.report
912 1013
         public class Feedback
913 1014
         {
914 1015
             public string name;
915
-            public string number;
1016
+            public int  daynumber;
1017
+            public int mounthnumber;
1018
+            public int Totalnumber;
1019
+            public string Proportion;
916 1020
         }
917 1021
 
918 1022
         public class Complainthandling
@@ -941,7 +1045,7 @@ namespace CallCenterApi.Interface.Controllers.report
941 1045
         }
942 1046
         public class BigDate
943 1047
         {
944
-            public List<Template> type;//反馈类型
1048
+            public List<Template> salesBase;//反馈类型
945 1049
             public List<Template> product;//产品
946 1050
             public List<Template> channel;//渠道
947 1051
             public List<Template> state;//工单状态
@@ -1034,10 +1138,7 @@ namespace CallCenterApi.Interface.Controllers.report
1034 1138
                     Months = Months + 1;
1035 1139
                 }
1036 1140
             }
1037
-            if (!string .IsNullOrEmpty (salesBase ))
1038
-            {
1039
-                sql += $" and F_SalesBase='"+ salesBase.Trim()+"'";
1040
-            }
1141
+            
1041 1142
         
1042 1143
             string smouth= Convert.ToDateTime(DateTime.Parse(stime).AddDays(1 - DateTime.Parse(stime).Day).AddMonths(-Months).ToLongDateString()).ToString("yyyy-MM-dd");
1043 1144
             string endmouth = Convert.ToDateTime(DateTime.Parse(endtime).AddDays(1 - DateTime.Parse(endtime).Day).AddMonths(-Months).ToLongDateString()).ToString("yyyy-MM-dd");
@@ -1050,11 +1151,15 @@ namespace CallCenterApi.Interface.Controllers.report
1050 1151
             string lastmouth = $" and datediff(day,F_CreateOn,'{smouth}')<=0 and datediff(day,F_CreateOn,'{endmouth}')>=0 ";
1051 1152
             string lastyear= $" and datediff(day,F_CreateOn,'{syear}')<=0 and datediff(day,F_CreateOn,'{endyear}')>=0 ";
1052 1153
             BigDate model = new BigDate();
1053
-            model.type = new List<Template>();
1154
+            model.salesBase  = new List<Template>();
1054 1155
             string strType = "";
1055
-            if (type > 0)
1156
+            if (type >0)
1157
+            {
1158
+                sql += $"and F_Type = " + type;
1159
+            }
1160
+            if (!string.IsNullOrEmpty(salesBase))
1056 1161
             {
1057
-                strType = $"and F_Type = " + type;
1162
+                strType = $" and F_SalesBase='" + salesBase.Trim() + "'";
1058 1163
             }
1059 1164
             string strChannel = "";
1060 1165
             if (area > 0 || branch > 0 || !string.IsNullOrEmpty(channel))
@@ -1077,24 +1182,24 @@ namespace CallCenterApi.Interface.Controllers.report
1077 1182
                         template.name = "合计";
1078 1183
                         break;
1079 1184
                     case 1:
1080
-                        template.name = "咨询";
1185
+                        template.name = "新乡";
1081 1186
                         break;
1082 1187
                     case 2:
1083
-                        template.name = "投诉";
1188
+                        template.name = "新疆";
1084 1189
                         break;
1085 1190
                     case 3:
1086
-                        template.name = "抽检";
1191
+                        template.name = "九江";
1087 1192
                         break;
1088 1193
                     case 4:
1089
-                        template.name = "建议";
1194
+                        template.name = "东北";
1090 1195
                         break;
1091 1196
                    
1092 1197
                 }
1093 1198
                 if (i>0 )
1094 1199
                 {
1095
-                    sqltype = $"and F_Type = " + i;
1200
+                    sqltype = $"and F_SalesBase = '"+ template.name + "'" ;
1096 1201
                 }
1097
-                model.type.Add(ReturenTemplate(template,sql + sqltype+ strChannel+ strCategory, time , lastmouth, lastyear));
1202
+                model.salesBase .Add(ReturenTemplate(template,sql + sqltype+ strChannel+ strCategory, time , lastmouth, lastyear));
1098 1203
             }
1099 1204
             #endregion
1100 1205
             #region 产品
@@ -1471,46 +1576,18 @@ namespace CallCenterApi.Interface.Controllers.report
1471 1576
         /// 市场反馈一览表
1472 1577
         /// </summary>
1473 1578
         /// <returns></returns>
1474
-        public ActionResult GetFeedbacklList(string stime, string endtime, int type=0)
1579
+        public ActionResult GetFeedbacklList()
1475 1580
         {
1476
-            string sql = $" and F_IsDelete=0";
1581
+            string sql = $"  F_IsDelete=0";
1477 1582
             DataTable dt = new DataTable();
1478 1583
             #region 筛选条件
1479
-            if (stime != null && stime.Trim() != "")
1480
-            {
1481
-                sql += " and CONVERT(varchar , F_CreateOn, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
1482
-            }
1483
-            if (endtime != null && endtime.Trim() != "")
1484
-            {
1485
-                sql += " and CONVERT(varchar , F_CreateOn, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
1486
-            }
1487 1584
             List<Feedback> modelList = new List<Feedback>(5);
1585
+            string smonthtime = DateTime.Now.Date.ToString("yyyy-MM-01 00:00:00");
1586
+            string sdaytime = DateTime.Now.Date.ToString("yyyy-MM-dd 00:00:00");
1587
+            string endtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
1488 1588
             for (int i = 1; i <= 5; i++)
1489 1589
             {
1490 1590
                 Feedback model = new Feedback();
1491
-                if (type >0)
1492
-                {
1493
-                    switch (i)
1494
-                    {
1495
-                        case 1:
1496
-                            model.name = "新乡";
1497
-                            break;
1498
-                        case 2:
1499
-                            model.name = "九江";
1500
-                            break;
1501
-                        case 3:
1502
-                            model.name = "新疆";
1503
-                            break;
1504
-                        case 4:
1505
-                            model.name = "东北";
1506
-                            break;
1507
-                        case 5:
1508
-                            model.name = "合计";
1509
-                            break;
1510
-                    }
1511
-                }
1512
-                else
1513
-                {
1514 1591
                     switch (i)
1515 1592
                     {
1516 1593
                         case 1:
@@ -1529,49 +1606,24 @@ namespace CallCenterApi.Interface.Controllers.report
1529 1606
                             model.name = "合计";
1530 1607
                             break;
1531 1608
                     }
1532
-                }
1533
-               
1534
-                string strxy = "";
1535
-                if (type >0)
1609
+               float a= workOrder.GetModelList(sql ).Count;
1610
+                if (i <5)
1536 1611
                 {
1537
-                    if (i < 5)
1538
-                    {
1539
-                        if (type < 5)
1540
-                        {
1541
-                            strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") and F_SalesBase like '%" + model.name.Trim() + "%'" + sql + $"and F_Type = " + type; ;
1542
-                        }
1543
-                        else
1544
-                        {
1545
-                            strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") and  F_SalesBase like '%" + model.name.Trim() + "%'" + sql;
1546
-                        }
1547
-                    }
1548
-                    else
1549
-                    {
1550
-                        if (type < 5)
1551
-                        {
1552
-                            strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") " + sql + $"and F_Type = " + type; ;
1553
-                        }
1554
-                        else
1555
-                        {
1556
-                            strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") " + sql;
1557
-                        }
1558
-                    }
1612
+                   
1613
+                  model .daynumber = workOrder.GetModelList(sql + $" and datediff(day,F_CreateOn,'{sdaytime}')<=0 and datediff(day,F_CreateOn,'{endtime}')>=0 "  + "and F_Type=" + i ).Count;
1614
+                    model.mounthnumber  = workOrder.GetModelList(sql + $" and datediff(day,F_CreateOn,'{smonthtime}')<=0 and datediff(day,F_CreateOn,'{endtime}')>=0 " + "and F_Type=" + i).Count;
1615
+                    model.Totalnumber = workOrder.GetModelList(sql  + "and F_Type=" + i).Count;
1616
+                    model.Proportion = string.Format("{0:f2}%", model.Totalnumber / a*100);
1559 1617
                 }
1560 1618
                 else
1561 1619
                 {
1562
-                    if (i <5)
1563
-                    {
1564
-                        strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") and  F_Type =" + i + " " + sql;
1565
-                    }
1566
-                    else
1567
-                    {
1568
-                        strxy = "select F_ID from T_Wo_WorkOrder where T_Wo_WorkOrder.F_State in ( " + (int)EnumWorkOrderState.finish + "," + (int)EnumWorkOrderState.evaluate + ") " + sql;
1569
-                    }
1570
-                   
1620
+                    model.daynumber = workOrder.GetModelList(sql + $" and datediff(day,F_CreateOn,'{sdaytime}')<=0 and datediff(day,F_CreateOn,'{endtime}')>=0 " ).Count;
1621
+                    model.mounthnumber = workOrder.GetModelList(sql + $" and datediff(day,F_CreateOn,'{smonthtime}')<=0 and datediff(day,F_CreateOn,'{endtime}')>=0 ").Count;
1622
+                    model.Totalnumber = workOrder.GetModelList(sql).Count;
1623
+                    model.Proportion = string.Format("{0:f2}%", model.Totalnumber / a * 100);
1571 1624
                 }
1572 1625
                 
1573
-                DataTable dtxy = DbHelperSQL.Query(strxy).Tables[0];
1574
-                model.number = dtxy.Rows.Count.ToString();
1626
+              
1575 1627
                 modelList.Add(model);
1576 1628
             }
1577 1629
               #endregion

+ 13 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

@@ -1829,6 +1829,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
1829 1829
                     model.F_ZL_ImprovementRequirements = model1[i].F_ZL_ImprovementRequirements;//质量管理科-改进要求
1830 1830
                     model.F_ZL_CApprovalNo = model1[i].F_ZL_CApprovalNo;//质量管理科-对应审批工作流单号
1831 1831
                     model.F_ZL_CJ_IsRecord = model1[i].F_ZL_CJ_IsRecord;//质量管理科-抽检-未备案、已备案
1832
+                    model.F_VisitRemarks = model1[i].F_VisitRemarks;//回访备注
1833
+                    model.SuperiorOpinion = AssCont(model1[i].F_ID);//上级处理意见
1832 1834
                     if (model1[i].F_SMSReply == 1)
1833 1835
                     {
1834 1836
                         model.F_SMSReply = "满意";//短信回访结果
@@ -2008,6 +2010,16 @@ namespace CallCenterApi.Interface.Controllers.weixin
2008 2010
             }
2009 2011
 
2010 2012
         }
2013
+        private string AssCont(int id)
2014
+        {
2015
+            string cont = "";
2016
+            var itemlist = itembll.GetModelList("F_WoID=" + id + "and F_IsUsed=0" + "order by F_ID desc");
2017
+            if (itemlist.Count > 0)
2018
+            {
2019
+                cont = itemlist[0].F_OptContent;
2020
+            }
2021
+            return cont;
2022
+        }
2011 2023
         /// <summary>
2012 2024
         /// 获取当前用户上一级的用户
2013 2025
         /// </summary>
@@ -2457,6 +2469,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2457 2469
             model.F_CJ_Tonnage = input.F_CJ_Tonnage;//抽检-抽检吨数
2458 2470
             model.F_CJ_BagNo = input.F_CJ_BagNo;//抽检-抽检袋数
2459 2471
             model.F_CJ_Outlay = input.F_CJ_Outlay;//抽检-公关费用金额:单位元】
2472
+            model.F_VisitRemarks = input.F_VisitRemarks;//回访备注
2460 2473
             if (!string.IsNullOrEmpty(input.F_BatchNumber))
2461 2474
             {
2462 2475
                 if (type == 1)

+ 16 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

@@ -3696,9 +3696,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
3696 3696
                     model.F_Description = model1[i].F_Description;//问题描述
3697 3697
                     model.F_Files = "0";//附件上传ids
3698 3698
                     model.F_DealType = model1[i].F_DealType;//处理方式:当即办理、电话转接、网络转办(点选)
3699
+                    model.SuperiorOpinion = AssCont(model1[i].F_ID );//上级处理意见
3699 3700
                     #endregion
3700
-                  
3701
-                    
3701
+
3702
+
3702 3703
                     if (!string .IsNullOrEmpty (model1[i].F_QuestionType) )
3703 3704
                     {
3704 3705
                         try
@@ -3770,6 +3771,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
3770 3771
                     model.F_ZL_ImprovementRequirements = model1[i].F_ZL_ImprovementRequirements;//质量管理科-改进要求
3771 3772
                     model.F_ZL_CApprovalNo = model1[i].F_ZL_CApprovalNo;//质量管理科-对应审批工作流单号
3772 3773
                     model.F_ZL_CJ_IsRecord = model1[i].F_ZL_CJ_IsRecord;//质量管理科-抽检-未备案、已备案
3774
+                    model.F_VisitRemarks = model1[i].F_VisitRemarks;//回访备注
3773 3775
                     if (model1[i].F_SMSReply==1)
3774 3776
                     {
3775 3777
                         model.F_SMSReply ="满意";//短信回访结果
@@ -3888,6 +3890,16 @@ namespace CallCenterApi.Interface.Controllers.workorder
3888 3890
                 return null;
3889 3891
             }
3890 3892
         }
3893
+        private string AssCont(int id)
3894
+        {
3895
+            string cont = "";
3896
+            var itemlist = itembll.GetModelList("F_WoID=" + id + "and F_IsUsed=0" + "order by F_ID desc");
3897
+            if (itemlist.Count > 0)
3898
+            {
3899
+                cont = itemlist[0].F_OptContent;
3900
+            }
3901
+            return cont;
3902
+        }
3891 3903
         private int DelayTimelimit(int id,int limit)
3892 3904
         {
3893 3905
             int time = 0;
@@ -4197,7 +4209,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
4197 4209
             model.F_CJ_TestUnit = input.F_CJ_TestUnit;//抽检-化验单位
4198 4210
             model.F_CJ_Tonnage = input.F_CJ_Tonnage;//抽检-抽检吨数
4199 4211
             model.F_CJ_BagNo = input.F_CJ_BagNo;//抽检-抽检袋数
4200
-          
4212
+            model.F_VisitRemarks = input.F_VisitRemarks;//回访备注
4201 4213
             if (!string .IsNullOrEmpty (input.F_BatchNumber))
4202 4214
             {
4203 4215
                 if (type == 1)
@@ -4551,7 +4563,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
4551 4563
                     modlelist.F_DealBy = ua.F_UserCode;// 处理人
4552 4564
                     modlelist.F_DealTime =DateTime .Now ;// 处理时间
4553 4565
                     modlelist.F_DealContent = input.F_DealContent;//完结内容
4554
-                    modlelist.F_DealType = input.F_DealType;//处理方式:当即办理、电话转接、网络转办
4566
+                    modlelist.F_DealType = "当即办理";//处理方式:当即办理、电话转接、网络转办
4555 4567
                     bool f = workOrder  .Update(modlelist);
4556 4568
                     if (!f )
4557 4569
                     {

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/DepartmentInput.cs

@@ -38,6 +38,6 @@ namespace CallCenterApi.Interface.Models.Input
38 38
         /// <summary>
39 39
         /// 部门操作权限:1接待部,2办理人员,3区域客服,4监管
40 40
         /// </summary>
41
-        //  public int TypeId { get; set; }
41
+       // public int TypeId { get; set; }
42 42
     }
43 43
 }

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/UserAccountInput.cs

@@ -19,7 +19,7 @@ namespace CallCenterApi.Interface.Models.Input
19 19
         public int DeptId { get; set; } = 0;
20 20
         public string DeptCode { get; set; }
21 21
         public int RoleId { get; set; } = 0;
22
-        public int   GroupId { get; set; } = 0;
22
+        public string    GroupId { get; set; } 
23 23
         public bool IsSeat { get; set; } = false;
24 24
         public string SearRight { get; set; }
25 25
         public string Sex { get; set; }

+ 14 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/WorkOrderNewInput.cs

@@ -160,6 +160,13 @@ namespace CallCenterApi.Interface.Models.Input
160 160
             get; set;
161 161
         }
162 162
         /// <summary>
163
+        /// 上级处理意见
164
+        /// </summary>
165
+        public string SuperiorOpinion
166
+        {
167
+            get; set;
168
+        }
169
+        /// <summary>
163 170
         /// 客户id
164 171
         /// </summary>
165 172
         public string    F_CustomerID
@@ -807,6 +814,13 @@ namespace CallCenterApi.Interface.Models.Input
807 814
         {
808 815
             get; set;
809 816
         }
817
+        /// <summary>
818
+        /// 回访备注
819
+        /// </summary>
820
+        public string F_VisitRemarks
821
+        {
822
+            get; set;
823
+        }
810 824
     }
811 825
 }
812 826
 public class Questions

+ 27 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/qcloudsms_csharp.nuspec

@@ -0,0 +1,27 @@
1
+<?xml version="1.0"?>
2
+<package >
3
+  <metadata>
4
+    <id>$id$</id>
5
+    <version>$version$</version>
6
+    <title>$title$</title>
7
+    <authors>$author$</authors>
8
+    <owners>$author$</owners>
9
+    <licenseUrl>https://opensource.org/licenses/MIT</licenseUrl>
10
+    <projectUrl>https://github.com/qcloudsms/qcloudsms_py</projectUrl>
11
+    <iconUrl>https://avatars2.githubusercontent.com/u/20947692</iconUrl>
12
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
13
+    <description>qcloudsms c# sdk</description>
14
+    <releaseNotes>The first release version of qcloudsms c# sdk.</releaseNotes>
15
+    <copyright>Copyright 2017 (c) Tencent Cloud. All Rights Reserved.</copyright>
16
+    <tags>qcloud sms qcloudsms qcloudsms_csharp</tags>
17
+    <dependencies>
18
+      <dependency id="Newtonsoft.Json" version="10.0.3" />
19
+    </dependencies>
20
+    <dependencies>
21
+      <dependency id="qcloud.qcloudsms_csharp" version="0.1.5" />
22
+    </dependencies>
23
+  </metadata>
24
+  <files>
25
+    <file src="README.md" target="" />
26
+  </files>
27
+</package>

+ 9 - 0
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrder.cs

@@ -100,6 +100,15 @@ namespace CallCenterApi.Model
100 100
         private string _f_canal;
101 101
         private int  _f_smsreply;
102 102
         private string  _f_sid;
103
+        private string _f_visitremarks;
104
+        /// <summary>
105
+        /// 回访备注
106
+        /// </summary>
107
+        public string F_VisitRemarks
108
+        {
109
+            set { _f_visitremarks = value; }
110
+            get { return _f_visitremarks; }
111
+        }
103 112
         /// <summary>
104 113
         /// 短信回复
105 114
         /// </summary>