Browse Source

我得提交

zhupei 3 years ago
parent
commit
0da2519dd6

+ 30 - 0
RMYY_CallCenter_Api/Common/WorkOrderBase.cs

@@ -5,6 +5,7 @@ using System.Linq;
5 5
 using System.Web;
6 6
 using RMYY_CallCenter_Api.Utility;
7 7
 using RMYY_CallCenter_Api.Models.Dto;
8
+using RMYY_CallCenter_Api.Models;
8 9
 
9 10
 namespace RMYY_CallCenter_Api
10 11
 {
@@ -223,5 +224,34 @@ namespace RMYY_CallCenter_Api
223 224
             typename = "";
224 225
             return restr;
225 226
         }
227
+
228
+        /// <summary>
229
+        /// 根据工单状态获取操作按钮
230
+        /// </summary>
231
+        /// <param name="type"></param>
232
+        /// <param name="state"></param>
233
+        /// <returns></returns>
234
+        public static List<FaultButtonGroup.button> GetbuttonList(int type,int state)
235
+        {
236
+            List<FaultButtonGroup.button> buttons = new List<FaultButtonGroup.button>();
237
+            if (type > 0)
238
+            {
239
+               string sql = $" F_Type={type} and F_State={state}";
240
+                var modelist = new Bll.T_Wo_StatusOpt().GetModelList(sql);
241
+                if (modelist.Count > 0)
242
+                {
243
+                    foreach (var item in modelist)
244
+                    {
245
+                        FaultButtonGroup.button itembutton = null;
246
+                        itembutton.key =Convert.ToInt32(item.F_MenuId);
247
+                        itembutton.value = new Bll.T_Sys_Menu().GetModel(Convert.ToInt32(item.F_MenuId))?.F_MenuName ?? "";
248
+                        buttons.Add(itembutton);
249
+                    }
250
+                    return buttons;
251
+                }
252
+                return null;
253
+            }
254
+            return null;
255
+        }
226 256
     }
227 257
 }

+ 45 - 24
RMYY_CallCenter_Api/Controllers/WorkOrder/WorkOrderReportController.cs

@@ -29,16 +29,16 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
29 29
             if (User != null)
30 30
             {
31 31
                 int recordCount = 0;
32
-                string sql = $" and prosercode={User.F_UserCode}";
33
-                if (string.IsNullOrEmpty(name))
32
+                string sql = $" and prosercode='{User.F_UserCode}'";
33
+                if (!string.IsNullOrEmpty(name))
34 34
                 {
35 35
                     sql += $" and prosername like '%{name}%'";
36 36
                 }
37
-                if (string.IsNullOrEmpty(phone))
37
+                if (!string.IsNullOrEmpty(phone))
38 38
                 {
39 39
                     sql += $" and proserphone like '%{phone}%'";
40 40
                 }
41
-                if (string.IsNullOrEmpty(wocode))
41
+                if (!string.IsNullOrEmpty(wocode))
42 42
                 {
43 43
                     sql += $" and wocode like '%{wocode}%'";
44 44
                 }
@@ -67,9 +67,35 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
67 67
                 foreach (var item in workklist)
68 68
                 {
69 69
                     item.WstateName = GetWoState(item.fwotype, item.swotype, item.wostate);
70
-                    //item.WoName = Utility.EnumHelper.GetDescription((EnumWorkOrder)item.swotype);
71
-                    item.WoName = new Bll.T_Sys_GongDan().GetModel(item.fwotype)?.F_Name ?? "";
72
-                    item.WoName = new Bll.T_Sys_GongDan().GetModel(item.swotype)?.F_Name ?? "";
70
+                    item.WoTopName = new Bll.T_Sys_GongDan().GetModel(item.fwotype)?.F_Name ?? "";
71
+                    #region  超时时间
72
+                    if (!string.IsNullOrEmpty(item.swotype.ToString()))
73
+                    {
74
+                        var gdmodel = new Bll.T_Sys_GongDan().GetModel(item.swotype);
75
+                        if (gdmodel != null)
76
+                        {
77
+                            DateTime deadline = item.createtime.AddHours(gdmodel.F_TimeOut);
78
+                            TimeSpan ts = deadline.Subtract(DateTime.Now);
79
+                            double tss = double.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
80
+                            if (tss < 0) { tss = -tss; }
81
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
82
+
83
+                            if (deadline > DateTime.Now)
84
+                            {
85
+
86
+                                item.GapTime = "剩余" + gshsj;
87
+                            }
88
+                            else
89
+                            {
90
+
91
+                                item.GapTime = "超期" + gshsj;
92
+                            }
93
+                        }
94
+                    }
95
+                    #endregion
96
+                    #region 操作按钮
97
+                    item.buttons = WorkOrderBase.GetbuttonList(item.swotype,item.wostate);
98
+                    #endregion
73 99
 
74 100
                 }
75 101
                 var obj = new
@@ -126,8 +152,6 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
126 152
             foreach (var item in workklist)
127 153
             {
128 154
                 item.WstateName = GetWoState(item.fwotype, item.swotype, item.wostate);
129
-                //item.WoName = Utility.EnumHelper.GetDescription((EnumWorkOrder)item.swotype);
130
-                item.WoName = new Bll.T_Sys_GongDan().GetModel(item.swotype)?.F_Name ?? "";
131 155
             }
132 156
             var obj = new
133 157
             {
@@ -178,27 +202,24 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
178 202
                 //0 代派工 1 已转派 2 已处理 3已完结 4异常结束 5已拒单 6外协作单子
179 203
                 switch (wstate)
180 204
                 {
181
-                    case 0:
182
-                        WstateName = "代派工";
205
+                    case (int)EnumFaultRepairWorkOrderState.neworder:
206
+                        WstateName = "待接单";
183 207
                         break;
184 208
 
185
-                    case 1:
186
-                        WstateName = "已转派";
209
+                    case (int)EnumFaultRepairWorkOrderState.receive:
210
+                        WstateName = "待接单";
187 211
                         break;
188
-                    case 2:
189
-                        WstateName = "已处理";
212
+                    case (int)EnumFaultRepairWorkOrderState.dealing:
213
+                        WstateName = "已接单";
190 214
                         break;                   
191
-                    case 3:
192
-                        WstateName = "已完结";
193
-                        break;
194
-                    case 4:
195
-                        WstateName = "异常结束";
215
+                    case (int)EnumFaultRepairWorkOrderState.dealed:
216
+                        WstateName = "待评价";
196 217
                         break;
197
-                    case 5:
198
-                        WstateName = "已拒单";
218
+                    case (int)EnumFaultRepairWorkOrderState.exceptionended:
219
+                        WstateName = "已完成";
199 220
                         break;
200
-                    case 6:
201
-                        WstateName = "外协作单子";
221
+                    case (int)EnumFaultRepairWorkOrderState.finish:
222
+                        WstateName = "已完成";
202 223
                         break;
203 224
                 }
204 225
             }

+ 4 - 4
RMYY_CallCenter_Api/Models/Dto/TotalWorkeOrderDto.cs

@@ -86,13 +86,13 @@ namespace RMYY_CallCenter_Api.Models.Dto
86 86
         /// 工单状态名称
87 87
         /// </summary>
88 88
         public string WstateName { get; set; }
89
-        /// <summary>
90
-        /// 工单名称
91
-        /// </summary>
92
-        public string WoName { get; set; }
89
+
93 90
         /// <summary>
94 91
         /// 业务类型
95 92
         /// </summary>
96 93
         public string WoTopName { get; set; }
94
+
95
+        public List<FaultButtonGroup.button> buttons { get; set; }
96
+        public string GapTime { get; set; }
97 97
     }
98 98
 }