|
|
@@ -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
|