浏览代码

工单流程修改,超期修改,用户管理修改

duhongyu 6 年之前
父节点
当前提交
7ae59ddfb6

+ 4 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/UserAccountController.cs

@@ -45,8 +45,11 @@ namespace CallCenterApi.Interface.Controllers
45 45
                 }
46 46
                 if (!string.IsNullOrWhiteSpace(filter.Key))
47 47
                 {
48
+                 
48 49
                     sql = "";
49
-                    string str = string.Format(" and (F_UserCode like '%{0}%' or F_UserName like '%{1}%')", filter.Key, filter.Key);
50
+                    string str = string.Format(" and (F_WorkNumber like '%{0}%' or F_UserName like '%{1}%'" +
51
+                        "or F_Mobile like '%{2}%' "+
52
+                        "or F_Remark like '%{3}%')", filter.Key, filter.Key, filter.Key, filter.Key);
50 53
                     sql += str;
51 54
                 }
52 55
                 int recordCount = 0;

+ 69 - 30
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/WOReportController.cs

@@ -2458,6 +2458,7 @@ question, int page = 1, int limit = 10)
2458 2458
                         if (itemList[0].F_NextDept > 0)
2459 2459
                         {
2460 2460
                             var deptmodel = departmentBLL.GetModel(int.Parse(itemList[0].F_NextDept.ToString()));
2461
+
2461 2462
                             if (model.overdue.Count > 0)
2462 2463
                             {
2463 2464
                                  
@@ -2489,8 +2490,17 @@ question, int page = 1, int limit = 10)
2489 2490
                                 templates.number = 1;
2490 2491
                                 model.overdue.Add(templates);
2491 2492
                             }
2492
-
2493
-
2493
+                        }
2494
+                        else
2495
+                        {
2496
+                            if (itemList[0].F_WoState ==10)
2497
+                            {
2498
+                                var deptmodel = departmentBLL.GetModel(2);
2499
+                                Template templates = new Template();
2500
+                                templates.name = deptmodel.F_DeptName;
2501
+                                templates.number = 1;
2502
+                                model.overdue.Add(templates);
2503
+                            }
2494 2504
                         }
2495 2505
                     }
2496 2506
                 }
@@ -2580,7 +2590,7 @@ question, int page = 1, int limit = 10)
2580 2590
         {
2581 2591
             int type = 0;
2582 2592
             var modlelist = workOrder.GetModelList(" F_IsDelete=0" + "and F_IsOver=0" + " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," +
2583
-                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + ")");
2593
+                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.finish + ")");
2584 2594
             if (modlelist.Count > 0)
2585 2595
             {
2586 2596
                 foreach (var it in modlelist)
@@ -2615,22 +2625,30 @@ question, int page = 1, int limit = 10)
2615 2625
         /// <returns></returns>
2616 2626
         private bool TimeforOver(int id)
2617 2627
         {
2618
-            var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + id + " ");
2628
+            var itemlasts = itembll.GetModelList("  F_WoID=" + id + " order by F_ID desc");
2619 2629
             string time1 = "", time2 = ""; int x = 0, y = 0;
2620 2630
             float time = 0;
2621 2631
             if (itemlasts.Count > 0)
2622 2632
             {
2623
-                for (int i = 0; i < itemlasts.Count; i++)
2633
+                for (int z = 0; z < itemlasts.Count; z++)
2624 2634
                 {
2625
-                    if (itemlasts[i].F_WoState >= 1)
2635
+                    if (itemlasts[z].F_WoState >= 1)
2626 2636
                     {
2627
-                        if (itemlasts[i].F_WoState == 1)
2637
+                        if (itemlasts[z].F_WoState == 1)
2628 2638
                         {
2629
-                            x = i;
2630
-                            time1 = itemlasts[i].F_CreateTime.ToString();
2631
-                            time = float.Parse(itemlasts[i].F_LimitTime);
2639
+                            x = z;
2640
+                            time1 = itemlasts[z].F_CreateTime.ToString();
2641
+                            time = float.Parse(itemlasts[z].F_LimitTime);
2642
+                            break; ;
2632 2643
                         }
2633
-                        if (itemlasts[i].F_WoState == 10)
2644
+                    }
2645
+                }
2646
+                for (int i = 0; i < itemlasts.Count; i++)
2647
+                {
2648
+                   
2649
+                    if (itemlasts[i].F_WoState >= 1)
2650
+                    {
2651
+                        if (itemlasts[i].F_WoState == 11)
2634 2652
                         {
2635 2653
                             y = i;
2636 2654
                             time2 = itemlasts[i].F_CreateTime.ToString();
@@ -2643,16 +2661,17 @@ question, int page = 1, int limit = 10)
2643 2661
                     {
2644 2662
                         if (x > y)
2645 2663
                         {
2646
-                            int a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
2647
-                            if (a > time)
2664
+                         
2665
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
2666
+                            if ((float)a.TotalHours > time)
2648 2667
                             {
2649 2668
                                 return false;
2650 2669
                             }
2651 2670
                         }
2652 2671
                         else
2653 2672
                         {
2654
-                            int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
2655
-                            if (a > time)
2673
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
2674
+                            if ((float)a.TotalHours > time)
2656 2675
                             {
2657 2676
                                 return false;
2658 2677
                             }
@@ -2665,8 +2684,8 @@ question, int page = 1, int limit = 10)
2665 2684
                 }
2666 2685
                 else if (time1 != "")
2667 2686
                 {
2668
-                    int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
2669
-                    if (a > time)
2687
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
2688
+                    if ((float)a.TotalHours > time)
2670 2689
                     {
2671 2690
                         return false;
2672 2691
                     }
@@ -3113,7 +3132,7 @@ question, int page = 1, int limit = 10)
3113 3132
                                                 x = z;
3114 3133
                                                 timeover = itemList[z].F_CreateTime.ToString();
3115 3134
                                                 //   limit = int.Parse(itemList[z].F_LimitTime);
3116
-                                                continue;
3135
+                                                break; ;
3117 3136
                                             }
3118 3137
                                         }
3119 3138
                                     }
@@ -3292,6 +3311,7 @@ question, int page = 1, int limit = 10)
3292 3311
                                         string timeover = "", timeover2 = ""; int x = 0, y = 0;
3293 3312
                                         var itemList = itembll.GetModelList("  F_WoID=" + it.F_ID + " order by F_ID desc");
3294 3313
                                         if (itemList[0].F_NextDept > 0)
3314
+
3295 3315
                                         {
3296 3316
                                             var deptmodel = departmentBLL.GetModel(int.Parse(itemList[0].F_NextDept.ToString()));
3297 3317
                                             if (deptmodel != null)
@@ -3299,6 +3319,17 @@ question, int page = 1, int limit = 10)
3299 3319
                                                 worker.F_Responsibility = deptmodel.F_DeptName;
3300 3320
                                             }
3301 3321
                                         }
3322
+                                        else
3323
+                                        {
3324
+                                            if (itemList[0].F_WoState ==10)
3325
+                                            {
3326
+                                                var deptmodel = departmentBLL.GetModel(2);
3327
+                                                if (deptmodel != null)
3328
+                                                {
3329
+                                                    worker.F_Responsibility = deptmodel.F_DeptName;
3330
+                                                }
3331
+                                            }
3332
+                                        }
3302 3333
                                         int limit = it.F_limit;
3303 3334
                                         if (itemList != null)
3304 3335
                                         {
@@ -3319,7 +3350,7 @@ question, int page = 1, int limit = 10)
3319 3350
                                             {
3320 3351
                                                 if (itemList[z].F_WoState >= 1)
3321 3352
                                                 {
3322
-                                                    if (itemList[z].F_WoState == 10)
3353
+                                                    if (itemList[z].F_WoState == 11)
3323 3354
                                                     {
3324 3355
                                                         y = z;
3325 3356
                                                         timeover2 = itemList[z].F_CreateTime.ToString();
@@ -4068,15 +4099,23 @@ question, int page = 1, int limit = 10)
4068 4099
            
4069 4100
             if (itemlasts.Count > 0)
4070 4101
             {
4071
-                for (int i = 0; i < itemlasts.Count; i++)
4102
+                for (int z = 0; z < itemlasts.Count; z++)
4072 4103
                 {
4073
-                    if (itemlasts[i].F_WoState >= 1)
4104
+                    if (itemlasts[z].F_WoState >= 1)
4074 4105
                     {
4075
-                        if (itemlasts[i].F_WoState == 1)
4106
+                        if (itemlasts[z].F_WoState == 1)
4076 4107
                         {
4077
-                            x = i;
4078
-                            time1 = itemlasts[i].F_CreateTime.ToString();
4108
+                            x = z;
4109
+                            time1 = itemlasts[z].F_CreateTime.ToString();
4110
+                            break;
4079 4111
                         }
4112
+                    }
4113
+                }
4114
+                for (int i = 0; i < itemlasts.Count; i++)
4115
+                {
4116
+                    if (itemlasts[i].F_WoState >= 1)
4117
+                    {
4118
+                       
4080 4119
                         if (itemlasts[i].F_WoState == 10)
4081 4120
                         {
4082 4121
                             y = i;
@@ -4090,14 +4129,14 @@ question, int page = 1, int limit = 10)
4090 4129
                     {
4091 4130
                         if (x > y)
4092 4131
                         {
4093
-                            float a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
4094
-                            float b = time - a;
4132
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
4133
+                            float b = time - (float)a.TotalHours;
4095 4134
                             return b;
4096 4135
                         }
4097 4136
                         else
4098 4137
                         {
4099
-                            float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4100
-                            float b = time - a;
4138
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4139
+                            float b = time - (float)a.TotalHours;
4101 4140
                             return b;
4102 4141
                         }
4103 4142
                     }
@@ -4108,8 +4147,8 @@ question, int page = 1, int limit = 10)
4108 4147
                 }
4109 4148
                 else if (time1 != "")
4110 4149
                 {
4111
-                    float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4112
-                    float b = time - a;
4150
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4151
+                    float b = time - (float)a.TotalHours;
4113 4152
                     return b;
4114 4153
                 }
4115 4154
                 else

+ 110 - 54
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

@@ -680,7 +680,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
680 680
                         case 4://待完成的(待处理)
681 681
                             if (GetDWCWorkOrderID(ua.F_UserCode) != null)
682 682
                             {
683
-                                sql += " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.reassign + ") and T_Wo_WorkOrder.F_ID in ( " + GetDWCWorkOrderID(ua.F_UserCode) + ") ";
683
+                                sql += " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback  + ") and T_Wo_WorkOrder.F_ID in ( " + GetDWCWorkOrderID(ua.F_UserCode) + ") ";
684 684
 
685 685
                             }
686 686
                             else
@@ -793,8 +793,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
793 793
                             if (GetDeptWorkOrderID(ua.F_DeptId, ua.F_UserCode) != "")
794 794
                             {
795 795
 
796
-                                sql += $" and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.reassign + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.assign + ")  and T_Wo_WorkOrder.F_ID in ( " +
797
-                           GetDeptWorkOrderID(ua.F_DeptId, ua.F_UserCode) + ") "; ;
796
+                                sql += $" and F_State in(" + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.assign + ")  and T_Wo_WorkOrder.F_ID in ( " +
797
+                          GetDeptWorkOrderID(ua.F_DeptId, ua.F_UserCode) + ") "; ;
798 798
 
799 799
                             }
800 800
                             else
@@ -1158,8 +1158,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
1158 1158
                 // string deptuser = "select F_WoID from T_Sys_UserAccount where F_DeptId=" + deptid;
1159 1159
                 str = "select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType=" + (int)EnumItemType.deal
1160 1160
                     + " and isnull(F_IsUsed,'0')='0' " + " and "
1161
-                        + "(F_WoState in(" + (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.reback + ") and F_NextDept =" + deptid + ") "//办理中和接单状态的操作人
1162
-                        + " or (F_WoState =" + (int)EnumWorkOrderState.receive + " and F_NextUser in('" + deptuser + "'))";//退回下一步操作人
1161
+                        + "(F_WoState in(" + (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.abreback  + ") and F_NextDept =" + deptid + ") "//办理中和接单状态的操作人
1162
+                        + " or (F_WoState =" + (int)EnumWorkOrderState.assign + " and F_NextUser in('" + deptuser + "'))";//退回下一步操作人
1163 1163
 
1164 1164
 
1165 1165
             }
@@ -1511,7 +1511,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1511 1511
                     {
1512 1512
                         deptmodelsname = deptmodels.F_DeptName + "-";
1513 1513
                     }
1514
-                    var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_CreateUser!=" + user.F_UserCode + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1514
+                    var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_CreateUser!=" + user.F_UserCode + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
1515 1515
                     if (itemlast != null)
1516 1516
                         toussers = itemlast.F_CreateUser;
1517 1517
                     wostate = 16;
@@ -1544,7 +1544,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1544 1544
                     Model.T_Sys_RoleInfo ro = rolebll.GetModel(nowUser.F_RoleId);
1545 1545
                     if (ro.F_RoleCode == "DQJL")
1546 1546
                     {
1547
-                        var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1547
+                        var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
1548 1548
                         if (itemlast != null)
1549 1549
                             toussers = itemlast.F_CreateUser;
1550 1550
                         if (AuditState == 0)
@@ -1810,6 +1810,12 @@ namespace CallCenterApi.Interface.Controllers.weixin
1810 1810
             foreach (var it in itemlast)
1811 1811
             {
1812 1812
                 float hours = (DateTime.Now - DateTime.Parse(it.F_CreateTime.ToString())).Hours;
1813
+                int overtime = 0;
1814
+                if (!string .IsNullOrEmpty (it.F_LimitTime))
1815
+                {
1816
+                 overtime = int.Parse(it.F_LimitTime);
1817
+                }
1818
+                int sms = int.Parse (it.F_IsSMS.ToString ());
1813 1819
                 if (F_RoleCode == "DQJL")
1814 1820
                 {
1815 1821
                     if (hours >= 24)
@@ -1841,8 +1847,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
1841 1847
                     {
1842 1848
                         DateTime time = DateTime.Parse(it.F_CreateTime.ToString()).AddHours(24);
1843 1849
                         Model.T_Wo_WorkOrder model = woBLL.GetModel(it.F_WoID);
1844
-                        AddLog(model.F_ID, model.F_State.Value, deptmodelsname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, 0, 0);
1845
-                        AddLog(model.F_ID, model.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, user, 0, 0);
1850
+                        AddLog(model.F_ID, model.F_State.Value, deptmodelsname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, overtime, sms );
1851
+                        AddLog(model.F_ID, model.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, user, overtime, sms);
1846 1852
                     }
1847 1853
                     else if (hours >= 48)
1848 1854
                     {
@@ -1863,6 +1869,12 @@ namespace CallCenterApi.Interface.Controllers.weixin
1863 1869
                                       + "F_WoState in(" + (int)EnumWorkOrderState.audit + ") and F_NextUser in ( " + GetDeptment(ua) + ") ");
1864 1870
                     foreach (var it in itemlasts)
1865 1871
                     {
1872
+                        int overtime = 0;
1873
+                        if (!string.IsNullOrEmpty(it.F_LimitTime))
1874
+                        {
1875
+                            overtime = int.Parse(it.F_LimitTime);
1876
+                        }
1877
+                        int sms = int.Parse(it.F_IsSMS.ToString());
1866 1878
                         float hours = (DateTime.Now - DateTime.Parse(it.F_CreateTime.ToString())).Hours;
1867 1879
                         if (F_RoleCode == "DQJL")
1868 1880
                         {
@@ -1884,8 +1896,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
1884 1896
                                 {
1885 1897
                                     deptmodelsname = deptmodels.F_DeptName + "-";
1886 1898
                                 }
1887
-                                AddLog(model.F_ID, model.F_State.Value, deptmodelsname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, user, 0, 0);
1888
-                                AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, ua, 0, 0);
1899
+                                AddLog(model.F_ID, model.F_State.Value, deptmodelsname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, user, overtime, sms);
1900
+                                AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, ua, overtime, sms );
1889 1901
                                 if (hours < 48)
1890 1902
                                 {
1891 1903
                                     str = GetID(str, it.F_WoID);
@@ -2263,10 +2275,10 @@ namespace CallCenterApi.Interface.Controllers.weixin
2263 2275
                     model.F_AuditBy = model1[i].F_AuditBy;//审核人
2264 2276
                     model.F_AuditOn = model1[i].F_AuditOn;//审核时间
2265 2277
                     model.F_AuditCont = model1[i].F_AuditCont;//审核内容
2266
-                    model.RemainingTime = TimeToOver(model1[i].F_ID, model1[i].F_limit);
2278
+                    model.RemainingTime = float.Parse(string.Format("{0:f2}", TimeToOver(model1[i].F_ID, model1[i].F_limit)));
2267 2279
                     if (ua != null)
2268 2280
                     {
2269
-                        var itemlast = itembll.GetModelList("   F_WoID='" + model.F_ID + "' order by F_CreateTime desc").FirstOrDefault();
2281
+                        var itemlast = itembll.GetModelList("   F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
2270 2282
                         if (itemlast != null)
2271 2283
                             model.F_UserCode = itemlast.F_CreateUser;
2272 2284
                         if (!string.IsNullOrEmpty(model.F_UserCode))
@@ -2321,17 +2333,24 @@ namespace CallCenterApi.Interface.Controllers.weixin
2321 2333
             string time1 = "", time2 = ""; int x = 0, y = 0;
2322 2334
             if (itemlasts.Count > 0)
2323 2335
             {
2324
-                for (int i = 0; i < itemlasts.Count; i++)
2336
+                for (int z = 0; z < itemlasts.Count; z++)
2325 2337
                 {
2326
-                    if (itemlasts[i].F_WoState >= 1)
2338
+                    if (itemlasts[z].F_WoState >= 1)
2327 2339
                     {
2328
-                        if (itemlasts[i].F_WoState == 1)
2340
+                        if (itemlasts[z].F_WoState == 1)
2329 2341
                         {
2330
-                            x = i;
2331
-                            time1 = itemlasts[i].F_CreateTime.ToString();
2332
-
2342
+                            x = z;
2343
+                            time1 = itemlasts[z].F_CreateTime.ToString();
2344
+                            break;
2333 2345
                         }
2334
-                        if (itemlasts[i].F_WoState == 10)
2346
+                    }
2347
+                }
2348
+                for (int i = 0; i < itemlasts.Count; i++)
2349
+                {
2350
+                    if (itemlasts[i].F_WoState >= 1)
2351
+                    {
2352
+                      
2353
+                        if (itemlasts[i].F_WoState == 11)
2335 2354
                         {
2336 2355
                             y = i;
2337 2356
                             time2 = itemlasts[i].F_CreateTime.ToString();
@@ -2344,14 +2363,14 @@ namespace CallCenterApi.Interface.Controllers.weixin
2344 2363
                     {
2345 2364
                         if (x > y)
2346 2365
                         {
2347
-                            float a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
2348
-                            float b = limit - a;
2366
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
2367
+                            float b = limit - (float)a.TotalHours;
2349 2368
                             return b;
2350 2369
                         }
2351 2370
                         else
2352 2371
                         {
2353
-                            float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
2354
-                            float b = limit - a;
2372
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
2373
+                            float b = limit - (float)a.TotalHours;
2355 2374
                             return b;
2356 2375
                         }
2357 2376
                     }
@@ -2362,8 +2381,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
2362 2381
                 }
2363 2382
                 else if (time1 != "")
2364 2383
                 {
2365
-                    float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
2366
-                    float b = limit - a;
2384
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
2385
+                    float b = limit - (float)a.TotalHours;
2367 2386
                     return b;
2368 2387
                 }
2369 2388
                 else
@@ -2414,7 +2433,18 @@ namespace CallCenterApi.Interface.Controllers.weixin
2414 2433
                             if (deptmodel.F_Layer == 2)
2415 2434
                             {
2416 2435
                                 Model.T_Sys_UserAccount userModel = userAccountBLL.GetModelList(" F_DeptId=" + deptmodel.F_DeptId + " and F_RoleId=60 ").FirstOrDefault();
2436
+                             if (userModel!=null )
2417 2437
                                 return userModel;
2438
+                             else
2439
+                                {
2440
+                                    var dept = departmentBLL.GetModel(deptmodel.F_ParentId);
2441
+                                    if (dept != null)
2442
+                                    {
2443
+                                        Model.T_Sys_UserAccount userModel1 = userAccountBLL.GetModelList(" F_DeptId=" + dept.F_DeptId + " and F_RoleId=62  ").FirstOrDefault();
2444
+                                        return userModel1;
2445
+                                    }
2446
+                                }
2447
+
2418 2448
                             }
2419 2449
                             if (deptmodel.F_Layer == 1)
2420 2450
                             {
@@ -2445,7 +2475,9 @@ namespace CallCenterApi.Interface.Controllers.weixin
2445 2475
                             if (dept != null)
2446 2476
                             {
2447 2477
                                 Model.T_Sys_UserAccount userModel = userAccountBLL.GetModelList(" F_DeptId=" + dept.F_DeptId + " and F_RoleId=62  ").FirstOrDefault();
2478
+                                if (userModel!=null )
2448 2479
                                 return userModel;
2480
+                               
2449 2481
                             }
2450 2482
                             else
2451 2483
                             {
@@ -3012,6 +3044,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
3012 3044
                 {
3013 3045
                     model.F_State = (int)EnumWorkOrderState.audit;
3014 3046
                 }
3047
+                model.F_limit = overtime;
3048
+               
3015 3049
                 #endregion
3016 3050
                 long n = woBLL.Add(model);
3017 3051
                 if (n > 0)
@@ -3036,8 +3070,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
3036 3070
                                 {
3037 3071
                                     deptname1 = deptmodel1.F_DeptName + "-";
3038 3072
                                 }
3039
-                                AddLog(modlelist.F_ID, 0, deptname1 + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "创建工单", (int)EnumWorkOrderState.neworder, (int)EnumItemOpt.create, user.F_UserCode, user.F_DeptId, ua, 0, 0);
3040
-                                AddLog(modlelist.F_ID, modlelist.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, 0, 0);
3073
+                                AddLog(modlelist.F_ID, 0, deptname1 + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "创建工单", (int)EnumWorkOrderState.neworder, (int)EnumItemOpt.create, user.F_UserCode, user.F_DeptId, ua, overtime, sms );
3074
+                                AddLog(modlelist.F_ID, modlelist.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, overtime, sms);
3041 3075
                             }
3042 3076
                             else
3043 3077
                             {
@@ -3050,7 +3084,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3050 3084
                                     deptname1 = deptmodel1.F_DeptName + "-";
3051 3085
                                     dapt = deptmodel1.F_ParentId;
3052 3086
                                 }
3053
-                                AddLog(modlelist.F_ID, 0, deptname1 + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "创建工单", (int)EnumWorkOrderState.neworder, (int)EnumItemOpt.create, "", 0, ua, 0, 0);
3087
+                                AddLog(modlelist.F_ID, 0, deptname1 + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "创建工单", (int)EnumWorkOrderState.neworder, (int)EnumItemOpt.create, "", 0, ua, overtime, sms);
3054 3088
                                 string opt = "";
3055 3089
                                 if (dapt != 0)
3056 3090
                                 {
@@ -3092,7 +3126,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3092 3126
                         }
3093 3127
                         else
3094 3128
                         {
3095
-                            AddLog(modlelist.F_ID, 0, "客户" + "创建工单", (int)EnumItemType.deal, (int)EnumItemOpt.create, "", 0, null, 0, 0);
3129
+                            AddLog(modlelist.F_ID, 0, "客户" + "创建工单", (int)EnumItemType.deal, (int)EnumItemOpt.create, "", 0, null, overtime, sms);
3096 3130
                             return Success("添加成功");
3097 3131
                         }
3098 3132
 
@@ -3627,22 +3661,30 @@ namespace CallCenterApi.Interface.Controllers.weixin
3627 3661
         /// <returns></returns>
3628 3662
         private bool TimeforOver(int id)
3629 3663
         {
3630
-            var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + id + " ");
3664
+            var itemlasts = itembll.GetModelList("  F_WoID=" + id + " order by F_ID desc");
3631 3665
             string time1 = "", time2 = ""; int x = 0, y = 0;
3632 3666
             float time = 0;
3633 3667
             if (itemlasts.Count > 0)
3634 3668
             {
3635
-                for (int i = 0; i < itemlasts.Count; i++)
3669
+                for (int z = 0; z < itemlasts.Count; z++)
3636 3670
                 {
3637
-                    if (itemlasts[i].F_WoState >= 1)
3671
+                    if (itemlasts[z].F_WoState >= 1)
3638 3672
                     {
3639
-                        if (itemlasts[i].F_WoState == 1)
3673
+                        if (itemlasts[z].F_WoState == 1)
3640 3674
                         {
3641
-                            x = i;
3642
-                            time1 = itemlasts[i].F_CreateTime.ToString();
3643
-                            time = float.Parse(itemlasts[i].F_LimitTime);
3675
+                            x = z;
3676
+                            time1 = itemlasts[z].F_CreateTime.ToString();
3677
+                            time = float.Parse(itemlasts[z].F_LimitTime);
3678
+                            break; ;
3644 3679
                         }
3645
-                        if (itemlasts[i].F_WoState == 10)
3680
+                    }
3681
+                }
3682
+                for (int i = 0; i < itemlasts.Count; i++)
3683
+                {
3684
+                    if (itemlasts[i].F_WoState >= 1)
3685
+                    {
3686
+                      
3687
+                        if (itemlasts[i].F_WoState == 11)
3646 3688
                         {
3647 3689
                             y = i;
3648 3690
                             time2 = itemlasts[i].F_CreateTime.ToString();
@@ -3655,16 +3697,16 @@ namespace CallCenterApi.Interface.Controllers.weixin
3655 3697
                     {
3656 3698
                         if (x > y)
3657 3699
                         {
3658
-                            int a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
3659
-                            if (a > time)
3700
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
3701
+                            if ((float)a.TotalHours > time)
3660 3702
                             {
3661 3703
                                 return false;
3662 3704
                             }
3663 3705
                         }
3664 3706
                         else
3665 3707
                         {
3666
-                            int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
3667
-                            if (a > time)
3708
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
3709
+                            if ((float)a.TotalHours > time)
3668 3710
                             {
3669 3711
                                 return false;
3670 3712
                             }
@@ -3677,8 +3719,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
3677 3719
                 }
3678 3720
                 else if (time1 != "")
3679 3721
                 {
3680
-                    int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
3681
-                    if (a > time)
3722
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
3723
+                    if ((float)a.TotalHours > time)
3682 3724
                     {
3683 3725
                         return false;
3684 3726
                     }
@@ -3752,10 +3794,15 @@ namespace CallCenterApi.Interface.Controllers.weixin
3752 3794
                     if (model != null)
3753 3795
                     {
3754 3796
                         var itemlast = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.audit + " and  F_OptType=" + (int)EnumItemOpt.audit + "and F_NextUser= '" + ua.F_UserCode + "'" + "and F_IsUsed=2  and  F_WoID = " + orderid);
3797
+                        int overtime = 0, sms = 0;
3755 3798
                         if (itemlast.Count > 0)
3756 3799
                         {
3757 3800
                             foreach (var it in itemlast)
3758 3801
                             {
3802
+                                if (!string .IsNullOrEmpty (it.F_LimitTime))
3803
+                                    overtime = int.Parse(it.F_LimitTime);
3804
+                                sms = int .Parse (it.F_IsSMS.ToString ());
3805
+
3759 3806
                                 it.F_IsUsed = 1;
3760 3807
                                 itembll.Update(it);
3761 3808
                             }
@@ -3767,7 +3814,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3767 3814
                         {
3768 3815
                             deptname = deptmodel.F_DeptName + "-";
3769 3816
                         }
3770
-                        AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批", (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, "", 0, ua, 0, 0, "", 1);
3817
+                        AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批", (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, "", 0, ua, overtime, sms, "", 1);
3771 3818
                         bool n = woBLL.Update(model);
3772 3819
                         if (n)
3773 3820
                             return Success("审批成功");
@@ -3828,7 +3875,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3828 3875
                     sendwxmsg(model, createUser.F_WxOpenId, nowUser, "接单");
3829 3876
                 #endregion
3830 3877
                 #region 读取上一级指派人员推送系统消息和微信消息
3831
-                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
3878
+                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
3832 3879
                 if (itemlast != null)
3833 3880
                 {
3834 3881
                     if (itemlast.F_CreateUser != model.F_CreateBy)
@@ -3951,7 +3998,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3951 3998
         {
3952 3999
             int type = 0;
3953 4000
             var modlelist = woBLL.GetModelList(" F_IsDelete=0" + "and F_IsOver=0" + " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," +
3954
-                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + ")");
4001
+                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.finish + ")");
3955 4002
             if (modlelist.Count > 0)
3956 4003
             {
3957 4004
                 foreach (var it in modlelist)
@@ -4073,7 +4120,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4073 4120
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + "延期工单,延期说明:" + cont;
4074 4121
             //获取上一级处理人员
4075 4122
             var touser = "";
4076
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
4123
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by order  F_ID  desc").FirstOrDefault();
4077 4124
             if (itemlast != null)
4078 4125
                 touser = itemlast.F_CreateUser;
4079 4126
             var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.Delay, optbut, touser, 0, nowUser, limit + model.F_limit, sms, "", 1);
@@ -4122,7 +4169,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4122 4169
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单,退回说明:" + cont;
4123 4170
             //获取上一级处理人员
4124 4171
             var touser = ""; var deptid = 0;
4125
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_NextDept =" + nowUser.F_DeptId + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "' order by F_CreateTime desc").FirstOrDefault();
4172
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_NextDept =" + nowUser.F_DeptId + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
4126 4173
             if (itemlast != null)
4127 4174
             {
4128 4175
 
@@ -4245,7 +4292,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4245 4292
                 }
4246 4293
                 #endregion
4247 4294
                 #region 向上一级操作人员推送消息
4248
-                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
4295
+                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
4249 4296
                 if (itemlast != null)
4250 4297
                 {
4251 4298
                     if (itemlast.F_CreateUser != model.F_CreateBy)
@@ -4324,9 +4371,10 @@ namespace CallCenterApi.Interface.Controllers.weixin
4324 4371
         /// </summary>
4325 4372
         /// <returns></returns>
4326 4373
         [WechatActionFilter]
4327
-        public ActionResult Update(WorkOrderNewInput input)
4374
+        public ActionResult Update(WorkOrderNewInput input )
4328 4375
         {
4329 4376
             var ua = userAccountBLL.GetModelList(" F_WxOpenId='" + input.F_WxOpenId + "'").FirstOrDefault();
4377
+          
4330 4378
             if (ua != null)
4331 4379
             {
4332 4380
                 #region 添加验证判断
@@ -4381,6 +4429,14 @@ namespace CallCenterApi.Interface.Controllers.weixin
4381 4429
                 {
4382 4430
                     return Error("此工单已处理不能修改!");
4383 4431
                 }
4432
+                var itemlasts = itembll.GetModelList("    F_WoID=" + model.F_ID + "order by F_ID desc ").FirstOrDefault ();
4433
+                int overtime = 0, sms = 0;
4434
+                if (itemlasts!=null )
4435
+                {
4436
+                    if (itemlasts.F_LimitTime != "")
4437
+                        overtime = int.Parse(itemlasts.F_LimitTime);
4438
+                    sms = int.Parse(itemlasts.F_IsSMS.ToString());
4439
+                }
4384 4440
                 #region 保存客户基本信息
4385 4441
                 model = inputtoobj(ua, model, input, 1);
4386 4442
                 #endregion
@@ -4397,7 +4453,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4397 4453
                     }
4398 4454
                     #endregion
4399 4455
 
4400
-                    AddLog(input.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "修改工单", (int)EnumItemType.update, (int)EnumItemOpt.update, "", 0, ua, 0, 0);
4456
+                    AddLog(input.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "修改工单", (int)EnumItemType.update, (int)EnumItemOpt.update, "", 0, ua, overtime, sms);
4401 4457
                     if (GetUser(input.F_WxOpenId) != null)
4402 4458
                     {
4403 4459
                         var user = GetUser(input.F_WxOpenId);
@@ -4409,7 +4465,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4409 4465
                         }
4410 4466
                         var deptmodel1 = departmentBLL.GetModel(ua.F_DeptId);
4411 4467
 
4412
-                        AddLog(input.F_ID, model.F_State.Value, deptname1 + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, 0, 0);
4468
+                        AddLog(input.F_ID, model.F_State.Value, deptname1 + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, overtime, sms);
4413 4469
                     }
4414 4470
                     else
4415 4471
                     {
@@ -4447,7 +4503,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4447 4503
                         }
4448 4504
                         if (nextda != 0)
4449 4505
                         {
4450
-                            var res = AssignWO(ua, model, input, opt, "", nextda, 0, model.F_limit, 0);
4506
+                            var res = AssignWO(ua, model, input, opt, "", nextda, 0, model.F_limit, sms );
4451 4507
                             if (res)
4452 4508
                                 return Success("保存成功");
4453 4509
                             else

+ 89 - 49
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

@@ -175,7 +175,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
175 175
                              if (GetDeptWorkOrderID(ua.F_DeptId,ua .F_UserCode  ) != "")
176 176
                         {
177 177
                           
178
-                                sql += $" and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.reassign + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.assign + ")  and T_Wo_WorkOrder.F_ID in ( " +
178
+                                sql += $" and F_State in("     + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.assign + ")  and T_Wo_WorkOrder.F_ID in ( " +
179 179
                            GetDeptWorkOrderID(ua.F_DeptId, ua.F_UserCode) + ") "; ;
180 180
                             
181 181
                         }
@@ -189,7 +189,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
189 189
                     case 2://待完成的(待处理)
190 190
                         if(GetDWCWorkOrderID(ua.F_UserCode)!=null )
191 191
                         {
192
-                            sql += " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.reassign + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + ") and T_Wo_WorkOrder.F_ID in ( " + GetDWCWorkOrderID(ua.F_UserCode) + ") ";
192
+                            sql += " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + ") and T_Wo_WorkOrder.F_ID in ( " + GetDWCWorkOrderID(ua.F_UserCode) + ") ";
193 193
                         }
194 194
                         else
195 195
                         {
@@ -1232,7 +1232,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1232 1232
                     {
1233 1233
                         deptmodelsname = deptmodels.F_DeptName + "-";
1234 1234
                     }
1235
-                    var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_CreateUser!=" + user.F_UserCode  + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1235
+                    var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_CreateUser!=" + user.F_UserCode  + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
1236 1236
                     if (itemlast != null)
1237 1237
                         toussers = itemlast.F_CreateUser;
1238 1238
                     wostate = 16;
@@ -1265,7 +1265,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1265 1265
                     Model.T_Sys_RoleInfo ro = rolebll.GetModel(nowUser.F_RoleId);
1266 1266
                     if (ro.F_RoleCode == "DQJL")
1267 1267
                     {
1268
-                        var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit  + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1268
+                        var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit  + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
1269 1269
                         if (itemlast != null)
1270 1270
                             toussers = itemlast.F_CreateUser;
1271 1271
 
@@ -1458,6 +1458,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
1458 1458
             foreach (var it in itemlast)
1459 1459
             {
1460 1460
                 float hours = (DateTime.Now - DateTime.Parse(it.F_CreateTime.ToString())).Hours;
1461
+                int overtime = 0;
1462
+                if (!string.IsNullOrEmpty(it.F_LimitTime))
1463
+                {
1464
+                    overtime = int.Parse(it.F_LimitTime);
1465
+                }
1466
+                int sms = int.Parse(it.F_IsSMS.ToString());
1461 1467
                 if (F_RoleCode == "DQJL")
1462 1468
                 {
1463 1469
                     if (hours >= 24)
@@ -1489,8 +1495,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
1489 1495
                     {
1490 1496
                         DateTime time = DateTime.Parse(it.F_CreateTime.ToString()).AddHours(24);
1491 1497
                         Model.T_Wo_WorkOrder model = workOrder .GetModel(it.F_WoID);
1492
-                        AddLog(model.F_ID, model.F_State.Value, deptmodelsname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, 0, 0);
1493
-                        AddLog(model.F_ID, model.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, user, 0, 0);
1498
+                        AddLog(model.F_ID, model.F_State.Value, deptmodelsname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, ua, overtime, sms);
1499
+                        AddLog(model.F_ID, model.F_State.Value, deptname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, user.F_UserCode, user.F_DeptId, user, overtime, sms);
1494 1500
                     }
1495 1501
                     else if (hours >= 48)
1496 1502
                     {
@@ -1512,6 +1518,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
1512 1518
                     foreach (var it in itemlasts)
1513 1519
                     {
1514 1520
                         float hours = (DateTime.Now - DateTime.Parse(it.F_CreateTime.ToString())).Hours;
1521
+                        int overtime = 0;
1522
+                        if (!string.IsNullOrEmpty(it.F_LimitTime))
1523
+                        {
1524
+                            overtime = int.Parse(it.F_LimitTime);
1525
+                        }
1526
+                        int sms = int.Parse(it.F_IsSMS.ToString());
1515 1527
                         if (F_RoleCode == "DQJL")
1516 1528
                         {
1517 1529
                             if (hours >= 24)
@@ -1532,8 +1544,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
1532 1544
                                 {
1533 1545
                                     deptmodelsname = deptmodels.F_DeptName + "-";
1534 1546
                                 }
1535
-                                AddLog(model.F_ID, model.F_State.Value, deptmodelsname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, user, 0, 0);
1536
-                                AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, ua, 0, 0);
1547
+                                AddLog(model.F_ID, model.F_State.Value, deptmodelsname + user.F_UserName + "(" + user.F_WorkNumber + ")" + "未审批流转大区经理", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, user, overtime, sms);
1548
+                                AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, ua.F_UserCode, ua.F_DeptId, ua, overtime, sms);
1537 1549
                                 if (hours < 48)
1538 1550
                                 {
1539 1551
                                     str = GetID(str, it.F_WoID);
@@ -1720,7 +1732,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1720 1732
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + "延期审批:"+ opt + cont;
1721 1733
             //获取上一级处理人员
1722 1734
             var touser = "";
1723
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1735
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
1724 1736
             if (itemlast != null)
1725 1737
                 touser = itemlast.F_CreateUser;
1726 1738
             var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, 0, nowUser, limit, sms,"",1);
@@ -2193,8 +2205,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
2193 2205
                 // string deptuser = "select F_WoID from T_Sys_UserAccount where F_DeptId=" + deptid;
2194 2206
                 str = "select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType=" + (int)EnumItemType.deal
2195 2207
                     + " and isnull(F_IsUsed,'0')='0' " + " and "
2196
-                        + "(F_WoState in(" + (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.reback + ") and F_NextDept =" + deptid + ") "//办理中和接单状态的操作人
2197
-                        + " or (F_WoState =" + (int)EnumWorkOrderState.receive + " and F_NextUser in('" + deptuser + "'))";//退回下一步操作人
2208
+                        + "(F_WoState in(" + (int)EnumWorkOrderState.assign + ","  + (int)EnumWorkOrderState.abreback + ") and F_NextDept =" + deptid + ") "//办理中和接单状态的操作人
2209
+                        + " or (F_WoState =" + (int)EnumWorkOrderState.abreback + " and F_NextUser in('" + deptuser + "'))";//
2198 2210
                    
2199 2211
 
2200 2212
             }
@@ -3350,7 +3362,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
3350 3362
         {
3351 3363
             int type = 0;
3352 3364
             var modlelist = workOrder .GetModelList(" F_IsDelete=0"+ "and F_IsOver=0" + " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + 
3353
-                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + ")");
3365
+                (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.finish  + ")");
3354 3366
             if (modlelist.Count >0)
3355 3367
             {
3356 3368
                 foreach (var it in modlelist )
@@ -3528,7 +3540,17 @@ namespace CallCenterApi.Interface.Controllers.workorder
3528 3540
                         if (deptmodel.F_Layer == 2)
3529 3541
                         {
3530 3542
                             Model.T_Sys_UserAccount userModel = sysUserAccountBll .GetModelList(" F_DeptId=" + deptmodel.F_DeptId + " and F_RoleId=60 ").FirstOrDefault();
3531
-                            return userModel;
3543
+                            if (userModel != null)
3544
+                                return userModel;
3545
+                            else
3546
+                            {
3547
+                                var dept = departmentBLL.GetModel(deptmodel.F_ParentId);
3548
+                                if (dept != null)
3549
+                                {
3550
+                                    Model.T_Sys_UserAccount userModel1 = sysUserAccountBll.GetModelList(" F_DeptId=" + dept.F_DeptId + " and F_RoleId=62  ").FirstOrDefault();
3551
+                                    return userModel1;
3552
+                                }
3553
+                            }
3532 3554
                         }
3533 3555
                         if (deptmodel.F_Layer == 1)
3534 3556
                         {
@@ -4390,7 +4412,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
4390 4412
                     {
4391 4413
                         model.F_IsVisit ="否";//
4392 4414
                     }
4393
-                    model.RemainingTime = TimeToOver(model1[i].F_ID, model1[i].F_limit );
4415
+                   
4416
+                    model.RemainingTime =float .Parse (string .Format ("{0:f2}", TimeToOver(model1[i].F_ID, model1[i].F_limit)) );
4394 4417
                     model.F_VisitOn = model1[i].F_VisitOn;//回访时间
4395 4418
                     model.F_VisitBy = model1[i].F_VisitBy;//回访人
4396 4419
                     model.F_VisitResult = model1[i].F_VisitResult;//回访结果:非常满意、满意、一般、不满意
@@ -4446,7 +4469,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
4446 4469
                     }
4447 4470
                     if (ua !=null )
4448 4471
                     {
4449
-                        var itemlast = itembll.GetModelList( "   F_WoID='" + model.F_ID +  "' order by F_CreateTime desc").FirstOrDefault();
4472
+                        var itemlast = itembll.GetModelList( "   F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
4450 4473
                         if (itemlast != null)
4451 4474
                             model.F_UserCode = itemlast.F_CreateUser;
4452 4475
                         if (!string.IsNullOrEmpty(model.F_UserCode))
@@ -4543,17 +4566,23 @@ namespace CallCenterApi.Interface.Controllers.workorder
4543 4566
             string time1 = "", time2 = ""; int x = 0, y = 0;
4544 4567
             if (itemlasts.Count > 0)
4545 4568
             {
4546
-                for (int i = 0; i < itemlasts.Count; i++)
4569
+                for (int z = 0; z < itemlasts.Count; z++)
4547 4570
                 {
4548
-                    if (itemlasts[i].F_WoState >= 1)
4571
+                    if (itemlasts[z].F_WoState >= 1)
4549 4572
                     {
4550
-                        if (itemlasts[i].F_WoState == 1)
4573
+                        if (itemlasts[z].F_WoState == 1)
4551 4574
                         {
4552
-                            x = i;
4553
-                            time1 = itemlasts[i].F_CreateTime.ToString();
4554
-
4575
+                            x = z;
4576
+                            time1 = itemlasts[z].F_CreateTime.ToString();
4577
+                            break ;
4555 4578
                         }
4556
-                        if (itemlasts[i].F_WoState == 10)
4579
+                    }
4580
+                }
4581
+                for (int i = 0; i < itemlasts.Count; i++)
4582
+                {
4583
+                    if (itemlasts[i].F_WoState >= 1)
4584
+                    {
4585
+                        if (itemlasts[i].F_WoState == 11)
4557 4586
                         {
4558 4587
                             y = i;
4559 4588
                             time2 = itemlasts[i].F_CreateTime.ToString();
@@ -4566,14 +4595,14 @@ namespace CallCenterApi.Interface.Controllers.workorder
4566 4595
                     {
4567 4596
                         if (x > y)
4568 4597
                         {
4569
-                            float a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
4570
-                            float b = limit - a;
4598
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
4599
+                            float b = limit - (float)a.TotalHours;
4571 4600
                             return b;
4572 4601
                         }
4573 4602
                         else
4574 4603
                         {
4575
-                            float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4576
-                            float b = limit - a;
4604
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4605
+                            float b = limit - (float)a.TotalHours;
4577 4606
                             return b;
4578 4607
                         }
4579 4608
                     }
@@ -4584,8 +4613,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
4584 4613
                 }
4585 4614
                 else if (time1 != "")
4586 4615
                 {
4587
-                    float a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4588
-                    float b = limit - a;
4616
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4617
+                    float b = limit -(float ) a.TotalHours ;
4589 4618
                     return b;
4590 4619
                 }
4591 4620
                 else
@@ -4606,22 +4635,31 @@ namespace CallCenterApi.Interface.Controllers.workorder
4606 4635
         /// <returns></returns>
4607 4636
         private bool  TimeforOver(int id)
4608 4637
         {
4609
-            var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + id + " ");
4638
+            var itemlasts = itembll.GetModelList("  F_WoID=" + id + " order by F_ID desc");
4639
+           // var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + id + " ");
4610 4640
             string  time1="", time2="" ;int x=0, y=0;
4611 4641
             float  time = 0;
4612 4642
             if (itemlasts.Count > 0)
4613 4643
             {
4614
-                for (int i=0;i < itemlasts.Count;i++)
4644
+                for (int z = 0; z < itemlasts.Count; z++)
4615 4645
                 {
4616
-                    if (itemlasts[i ].F_WoState >= 1)
4646
+                    if (itemlasts[z].F_WoState >= 1)
4617 4647
                     {
4618
-                        if (itemlasts[i].F_WoState == 1)
4648
+                        if (itemlasts[z].F_WoState == 1)
4619 4649
                         {
4620
-                            x = i;
4621
-                            time1 = itemlasts[i].F_CreateTime.ToString();
4622
-                            time = float .Parse(itemlasts[i].F_LimitTime);
4650
+                            x = z;
4651
+                            time1 = itemlasts[z].F_CreateTime.ToString();
4652
+                            time = float.Parse(itemlasts[z].F_LimitTime);
4653
+                            break; ;
4623 4654
                         }
4624
-                        if (itemlasts[i].F_WoState == 10)
4655
+                    }
4656
+                }
4657
+              
4658
+                for (int i=0;i < itemlasts.Count;i++)
4659
+                {
4660
+                    if (itemlasts[i ].F_WoState >= 1)
4661
+                    {
4662
+                        if (itemlasts[i].F_WoState == 11)
4625 4663
                         {
4626 4664
                             y = i;
4627 4665
                             time2 = itemlasts[i].F_CreateTime.ToString();
@@ -4634,16 +4672,18 @@ namespace CallCenterApi.Interface.Controllers.workorder
4634 4672
                     {
4635 4673
                         if (x > y)
4636 4674
                         {
4637
-                            int a = (DateTime.Parse(time2) - DateTime.Parse(time1)).Hours;
4638
-                            if (a > time)
4675
+                            System.TimeSpan a = DateTime.Parse(time2) - DateTime.Parse(time1);
4676
+                           
4677
+                           
4678
+                            if ((float)a.TotalHours > time)
4639 4679
                             {
4640 4680
                                 return false;
4641 4681
                             }
4642 4682
                         }
4643 4683
                         else
4644 4684
                         {
4645
-                            int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4646
-                            if (a > time)
4685
+                            System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4686
+                            if ((float)a.TotalHours > time)
4647 4687
                             {
4648 4688
                                 return false;
4649 4689
                             }
@@ -4656,8 +4696,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
4656 4696
                 }
4657 4697
                 else if (time1 != "")
4658 4698
                 {
4659
-                    int a = (DateTime.Now - DateTime.Parse(time1)).Hours;
4660
-                    if (a > time)
4699
+                    System.TimeSpan a = DateTime.Now - DateTime.Parse(time1);
4700
+                    if ((float)a.TotalHours > time)
4661 4701
                     {
4662 4702
                         return false;
4663 4703
                     }
@@ -5872,7 +5912,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
5872 5912
         /// </summary>
5873 5913
         public bool RemindWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, string cont)
5874 5914
         {
5875
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_IsUsed=0 order by F_CreateTime desc").FirstOrDefault();
5915
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_IsUsed=0 order by F_ID desc").FirstOrDefault();
5876 5916
             #region 接收人
5877 5917
             int todept = 0; string touser = "";
5878 5918
             if (itemlast != null)
@@ -5949,7 +5989,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
5949 5989
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + "延期工单,延期说明:" + cont;
5950 5990
             //获取上一级处理人员
5951 5991
             var touser = "";
5952
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
5992
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
5953 5993
             if (itemlast != null)
5954 5994
                 touser = itemlast.F_CreateUser;
5955 5995
             
@@ -6002,7 +6042,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
6002 6042
 
6003 6043
             var touser = ""; var deptid=0;
6004 6044
 
6005
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_NextDept =" + nowUser.F_DeptId + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID  + "' order by F_CreateTime desc").FirstOrDefault();
6045
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_NextDept =" + nowUser.F_DeptId + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID  + "' order by F_ID desc").FirstOrDefault();
6006 6046
             if (itemlast != null)
6007 6047
             {
6008 6048
                 touser = itemlast.F_CreateUser;
@@ -6093,7 +6133,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
6093 6133
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单:回访结果:" + cont+" , " + "工单:呼叫结果:" + call;
6094 6134
            
6095 6135
             var touser = "";
6096
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
6136
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
6097 6137
             if (itemlast != null)
6098 6138
                 touser = itemlast.F_CreateUser;
6099 6139
             var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model .F_limit , sms);
@@ -6164,7 +6204,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
6164 6204
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "完结工单";
6165 6205
 
6166 6206
             var touser = "";
6167
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
6207
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
6168 6208
             if (itemlast != null)
6169 6209
                 touser = itemlast.F_CreateUser;
6170 6210
             var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, 0, nowUser, model.F_limit, sms);
@@ -6269,7 +6309,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
6269 6309
                 }
6270 6310
                 #endregion
6271 6311
                 #region 向上一级操作人员推送消息
6272
-                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
6312
+                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
6273 6313
                 if (itemlast!=null )
6274 6314
                 {
6275 6315
                     if (itemlast.F_CreateUser != model.F_CreateBy)
@@ -6351,7 +6391,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
6351 6391
                     sendwxmsg(model, createUser.F_WxOpenId, nowUser, "接单");
6352 6392
                 #endregion
6353 6393
                 #region 读取上一级指派人员推送系统消息和微信消息
6354
-                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
6394
+                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID  + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
6355 6395
                 if (itemlast!=null )
6356 6396
                 {
6357 6397
                     if (itemlast.F_CreateUser != model.F_CreateBy)

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Enum/EnumWorkOrderState.cs

@@ -19,7 +19,7 @@ namespace CallCenterApi.Interface.Models.Enum
19 19
         receive,
20 20
         [Description("已退回待处理")]
21 21
         reback,
22
-        [Description("异常退回待处理")]
22
+        [Description("异常退回待接单")]
23 23
         abreback,
24 24
         [Description("处理中")]
25 25
         dealing,