|
|
@@ -275,7 +275,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
275
|
275
|
//{
|
|
276
|
276
|
// sql += " and F_State2 in(10,11)";
|
|
277
|
277
|
//}
|
|
278
|
|
- sql += " and (F_State in(10,11) or F_State2 in(10,11))";
|
|
|
278
|
+ //sql += " and (F_State in(10,11) or F_State2 in(10,11))";
|
|
|
279
|
+ sql += " and ((F_State in(10,11) and F_Flag = null ) or (F_Flag=2 and F_State2 in(10,11)) or (F_Flag=1 and F_State in(10,11)) or (F_Flag=3 and(F_State in(10,11) or F_State2 in(10,11))))";
|
|
279
|
280
|
sql += " and F_DealBy in(" + GetDeptUserCode(ua.F_DeptId) + ") ";
|
|
280
|
281
|
}
|
|
281
|
282
|
|
|
|
@@ -394,7 +395,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
394
|
395
|
{
|
|
395
|
396
|
return Success("无操作权限"); ;
|
|
396
|
397
|
}
|
|
397
|
|
- sql += $" and (F_State=" + (int)EnumWorkOrderState.finish + " or F_State2=" + (int)EnumWorkOrderState.finish + ") and ( F_IsVisit = '" + "0" + "' or F_Type = 3)"; ;
|
|
|
398
|
+ sql += " and ((F_State=10 and ((F_Flag = null or F_Flag=0) and F_State2=10)) or (F_Flag=2 and F_State2=10) or (F_Flag=1 and F_State=10) or (F_Flag=3 and(F_State=10 or F_State2=10))) and ( F_IsVisit = '" + "0" + "' or F_Type = 3)";
|
|
|
399
|
+ //sql += $" and (F_State=" + (int)EnumWorkOrderState.finish + " or F_State2=" + (int)EnumWorkOrderState.finish + ") and ( F_IsVisit = '" + "0" + "' or F_Type = 3)"; ;
|
|
398
|
400
|
//sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or F_Type = 3)"; ;
|
|
399
|
401
|
break;
|
|
400
|
402
|
case 8://待审批
|
|
|
@@ -636,8 +638,6 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
636
|
638
|
{
|
|
637
|
639
|
return Error("无操作权限!");
|
|
638
|
640
|
}
|
|
639
|
|
- #region
|
|
640
|
|
- #endregion
|
|
641
|
641
|
|
|
642
|
642
|
}
|
|
643
|
643
|
/// <summary>
|
|
|
@@ -657,7 +657,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
657
|
657
|
Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
|
|
658
|
658
|
string uwhere = " ";
|
|
659
|
659
|
string sql = "";
|
|
660
|
|
- if (!Refresh() || !Refresh2())
|
|
|
660
|
+ if (!Refresh())
|
|
661
|
661
|
{
|
|
662
|
662
|
return Error("查询失败");
|
|
663
|
663
|
}
|
|
|
@@ -809,7 +809,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
809
|
809
|
//{
|
|
810
|
810
|
// sql += " and F_State2 in(10,11)";
|
|
811
|
811
|
//}
|
|
812
|
|
- sql += " and (F_State in(10,11) or F_State2 in(10,11))";
|
|
|
812
|
+ sql += " and ((F_State in(10,11) and F_Flag = null ) or (F_Flag=2 and F_State2 in(10,11)) or (F_Flag=1 and F_State in(10,11)) or (F_Flag=3 and(F_State in(10,11) or F_State2 in(10,11))))";
|
|
813
|
813
|
if (GetDeptUserCode(ua.F_DeptId) != "")
|
|
814
|
814
|
{
|
|
815
|
815
|
sql += " and F_DealBy in(" + GetDeptUserCode(ua.F_DeptId) + ") ";
|
|
|
@@ -862,18 +862,19 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
862
|
862
|
{
|
|
863
|
863
|
RV_awaitVist = 0;
|
|
864
|
864
|
break;
|
|
865
|
|
- }
|
|
866
|
|
- sql += $" and ((F_State=" + (int)EnumWorkOrderState.finish + " and F_State2!=" + (int)EnumWorkOrderState.evaluate + ") or (F_State!=" + (int)EnumWorkOrderState.evaluate + " and F_State2=" + (int)EnumWorkOrderState.finish + ")) and F_IsVisit = '" + "1" + "' " + uwhere; ;
|
|
867
|
|
- //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
|
|
|
865
|
+ }
|
|
|
866
|
+ //sql += $" and ((F_State=" + (int)EnumWorkOrderState.finish + " and F_State2!=" + (int)EnumWorkOrderState.evaluate + ") or (F_State!=" + (int)EnumWorkOrderState.evaluate + " and F_State2=" + (int)EnumWorkOrderState.finish + ")) and F_IsVisit = '" + "1" + "' " + uwhere; ;
|
|
|
867
|
+ sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
|
|
868
|
868
|
RV_awaitVist = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待回访
|
|
869
|
869
|
|
|
870
|
870
|
break;
|
|
871
|
871
|
case 6://已回访
|
|
|
872
|
+ string zxsql = "";
|
|
872
|
873
|
sql = "";
|
|
873
|
874
|
sql += $" F_IsDelete=0";
|
|
874
|
875
|
if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX")
|
|
875
|
876
|
{
|
|
876
|
|
- sql += " and (F_CreateBy= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.F_ID in ( " + GetCYWorkOrderID(ua.F_UserCode) + ") or F_State =13)";
|
|
|
877
|
+ zxsql = " and (F_CreateBy= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.F_ID in ( " + GetCYWorkOrderID(ua.F_UserCode) + ") or F_State =13)";
|
|
877
|
878
|
sql += $" and (F_State=" + (int)EnumWorkOrderState.evaluate+" or F_State2 = " + (int)EnumWorkOrderState.evaluate+")" ;
|
|
878
|
879
|
}
|
|
879
|
880
|
else if (ro.F_RoleCode == "XTGLY")
|
|
|
@@ -934,11 +935,11 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
934
|
935
|
break;
|
|
935
|
936
|
}
|
|
936
|
937
|
string where = $"F_IsDelete=0 and (F_State in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}) or F_State2 in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}))"; ;
|
|
937
|
|
- RV_resultVisit = new BLL.T_Wo_WorkOrder().GetModelList(where).Count;//
|
|
|
938
|
+ RV_resultVisit = new BLL.T_Wo_WorkOrder().GetModelList(where+ zxsql).Count;//
|
|
938
|
939
|
sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate;
|
|
939
|
940
|
sql += $" and F_IsVisit=" + 1; ;
|
|
940
|
941
|
sql += $" and F_VisitBy !=''";
|
|
941
|
|
- RV_haveVisit = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//已回访
|
|
|
942
|
+ RV_haveVisit = new BLL.T_Wo_WorkOrder().GetModelList(sql+ zxsql).Count;//已回访
|
|
942
|
943
|
break;
|
|
943
|
944
|
case 7://待完结
|
|
944
|
945
|
sql = "";
|
|
|
@@ -952,7 +953,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
952
|
953
|
DWJ = 0;
|
|
953
|
954
|
break; ;
|
|
954
|
955
|
}
|
|
955
|
|
- sql += $" and (F_State=" + (int)EnumWorkOrderState.finish + " or F_State2=" + (int)EnumWorkOrderState.finish + ") and ( F_IsVisit = '" + "0" + "' or F_Type = 3)"; ;
|
|
|
956
|
+ sql += " and ((F_State=10 and ((F_Flag = null or F_Flag=0) and F_State2=10)) or (F_Flag=2 and F_State2=10) or (F_Flag=1 and F_State=10) or (F_Flag=3 and(F_State=10 or F_State2=10))) and ( F_IsVisit = '" + "0" + "' or F_Type = 3)";
|
|
956
|
957
|
//sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or F_Type = 3) "; ;
|
|
957
|
958
|
DWJ = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待完结
|
|
958
|
959
|
break;
|
|
|
@@ -1094,22 +1095,22 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
1094
|
1095
|
case 17://超期
|
|
1095
|
1096
|
sql = "";
|
|
1096
|
1097
|
sql += $" F_IsDelete=0";
|
|
1097
|
|
- //sql += $" and (F_IsOver=1 or F_IsOver=2)";
|
|
1098
|
|
- //sql += $" and F_State !=" + 11;
|
|
1099
|
|
- if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
|
|
1100
|
|
- {
|
|
1101
|
|
- sql += $" and((F_IsOver in(1,3) and F_State !=11) or ( F_IsOver in (2,3) and F_State2!=11))";
|
|
1102
|
|
- }
|
|
1103
|
|
- else if (ua.F_Flag == 1)
|
|
1104
|
|
- {
|
|
1105
|
|
- sql += $" and F_IsOver in (1,3)";
|
|
1106
|
|
- sql += $" and F_State !=" + 11;
|
|
1107
|
|
- }
|
|
1108
|
|
- else if (ua.F_Flag == 2)
|
|
1109
|
|
- {
|
|
1110
|
|
- sql += $" and F_IsOver in (2,3)";
|
|
1111
|
|
- sql += $" and F_State2 !=" + 11;
|
|
1112
|
|
- }
|
|
|
1098
|
+ sql += $" and F_IsOver=" + 1;
|
|
|
1099
|
+ sql += $" and F_State !=" + 11;
|
|
|
1100
|
+ //if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
|
|
|
1101
|
+ //{
|
|
|
1102
|
+ // sql += $" and((F_IsOver in(1,3) and F_State !=11) or ( F_IsOver in (2,3) and F_State2!=11))";
|
|
|
1103
|
+ //}
|
|
|
1104
|
+ //else if (ua.F_Flag == 1)
|
|
|
1105
|
+ //{
|
|
|
1106
|
+ // sql += $" and F_IsOver in (1,3)";
|
|
|
1107
|
+ // sql += $" and F_State !=" + 11;
|
|
|
1108
|
+ //}
|
|
|
1109
|
+ //else if (ua.F_Flag == 2)
|
|
|
1110
|
+ //{
|
|
|
1111
|
+ // sql += $" and F_IsOver in (2,3)";
|
|
|
1112
|
+ // sql += $" and F_State2 !=" + 11;
|
|
|
1113
|
+ //}
|
|
1113
|
1114
|
#region 退换货的工单按未超期处理 20220302
|
|
1114
|
1115
|
sql += $" and F_ID not in (select F_ID from T_Wo_WorkOrder where F_SC_PreliminaryOpinion='退换货')";
|
|
1115
|
1116
|
#endregion
|
|
|
@@ -1681,8 +1682,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
1681
|
1682
|
if (CirculMarket(ua.F_DeptId, 11))
|
|
1682
|
1683
|
{
|
|
1683
|
1684
|
isbl = 1;
|
|
1684
|
|
- nextda = 37;
|
|
1685
|
|
- opt = "流转市场管理科";
|
|
|
1685
|
+ nextda = 427;
|
|
|
1686
|
+ opt = "流转运营中心";
|
|
1686
|
1687
|
//nextda2 = 36;
|
|
1687
|
1688
|
//opt2 = "流转质量管理科";
|
|
1688
|
1689
|
//flag = 3;
|
|
|
@@ -2450,7 +2451,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
2450
|
2451
|
if (markdepts.Contains(ua.F_DeptId.ToString()))
|
|
2451
|
2452
|
{
|
|
2452
|
2453
|
var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =1 and F_WoID='" + model.F_ID + "'and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
|
|
2453
|
|
- if (itemlast.Count == 2 || itemnext.F_Flag == 9)
|
|
|
2454
|
+ if (itemlast.Count == 2 || (itemnext!=null && itemnext.F_Flag == 9))
|
|
2454
|
2455
|
{
|
|
2455
|
2456
|
woflag = 9;
|
|
2456
|
2457
|
}
|
|
|
@@ -3791,7 +3792,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3791
|
3792
|
int userId = CurrentUser.UserData.F_UserId;
|
|
3792
|
3793
|
if (userId != 0)
|
|
3793
|
3794
|
{
|
|
3794
|
|
- if (!Refresh() || !Refresh2())
|
|
|
3795
|
+ if (!Refresh())
|
|
3795
|
3796
|
{
|
|
3796
|
3797
|
return Error("查询失败");
|
|
3797
|
3798
|
}
|
|
|
@@ -3838,27 +3839,28 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3838
|
3839
|
{
|
|
3839
|
3840
|
sql += $" and F_TS_Category='" + product.Trim() + "'";
|
|
3840
|
3841
|
}
|
|
3841
|
|
- Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
|
|
3842
|
|
- Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
|
|
3843
|
|
-
|
|
3844
|
3842
|
if (state > 0)
|
|
3845
|
3843
|
{
|
|
3846
|
3844
|
sql += $" and F_State =" + state;
|
|
3847
|
3845
|
}
|
|
3848
|
|
- if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
|
|
3849
|
|
- {
|
|
3850
|
|
- sql += $" and((F_IsOver in(1,3) and F_State !=11) or ( F_IsOver in (2,3) and F_State2!=11))";
|
|
3851
|
|
- }
|
|
3852
|
|
- else if (ua.F_Flag == 1)
|
|
3853
|
|
- {
|
|
3854
|
|
- sql += $" and F_IsOver in (1,3)";
|
|
3855
|
|
- sql += $" and F_State !=" + 11;
|
|
3856
|
|
- }
|
|
3857
|
|
- else if (ua.F_Flag == 2)
|
|
3858
|
|
- {
|
|
3859
|
|
- sql += $" and F_IsOver in (2,3)";
|
|
3860
|
|
- sql += $" and F_State2 !=" + 11;
|
|
3861
|
|
- }
|
|
|
3846
|
+ sql += $" and F_IsOver=" + 1;
|
|
|
3847
|
+ sql += $" and F_State !=" + 11;
|
|
|
3848
|
+ Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
|
|
|
3849
|
+ Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
|
|
|
3850
|
+ //if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
|
|
|
3851
|
+ //{
|
|
|
3852
|
+ // sql += $" and((F_IsOver in(1,3) and F_State !=11) or ( F_IsOver in (2,3) and F_State2!=11))";
|
|
|
3853
|
+ //}
|
|
|
3854
|
+ //else if (ua.F_Flag == 1)
|
|
|
3855
|
+ //{
|
|
|
3856
|
+ // sql += $" and F_IsOver in (1,3)";
|
|
|
3857
|
+ // sql += $" and F_State !=" + 11;
|
|
|
3858
|
+ //}
|
|
|
3859
|
+ //else if (ua.F_Flag == 2)
|
|
|
3860
|
+ //{
|
|
|
3861
|
+ // sql += $" and F_IsOver in (2,3)";
|
|
|
3862
|
+ // sql += $" and F_State2 !=" + 11;
|
|
|
3863
|
+ //}
|
|
3862
|
3864
|
if (ro.F_RoleCode == "YWY" || ro.F_RoleCode == "BLRY")
|
|
3863
|
3865
|
{
|
|
3864
|
3866
|
sql += $" and F_DealBy like '%" + ua.F_UserCode.Trim() + "%'";
|
|
|
@@ -5534,8 +5536,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5534
|
5536
|
//{
|
|
5535
|
5537
|
if (CirculMarket(ua.F_DeptId, 11))
|
|
5536
|
5538
|
{
|
|
5537
|
|
- nextda = 37;
|
|
5538
|
|
- opt = "流转市场管理科";
|
|
|
5539
|
+ nextda = 427;
|
|
|
5540
|
+ opt = "流转运营中心";
|
|
5539
|
5541
|
}
|
|
5540
|
5542
|
else if (CirculMarket(ua.F_DeptId, 14))
|
|
5541
|
5543
|
{
|
|
|
@@ -5579,7 +5581,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5579
|
5581
|
//}
|
|
5580
|
5582
|
if (nextda != 0)
|
|
5581
|
5583
|
{
|
|
5582
|
|
- var res = AssignWO(ua, modlelist, input, opt, "", nextda, 0, 0, 0, 0, 0, 0, "", 1);
|
|
|
5584
|
+ modlelist.F_Flag = 9;
|
|
|
5585
|
+ modlelist.F_State = 1;
|
|
|
5586
|
+ modlelist.F_State2 = 0;
|
|
|
5587
|
+ var res = AssignWO(ua, modlelist, input, opt, "", nextda, 0, 0, 0, 0, 0, 0, "", 1,3,9);
|
|
5583
|
5588
|
if (res)
|
|
5584
|
5589
|
return Success("添加成功");
|
|
5585
|
5590
|
else
|
|
|
@@ -5933,8 +5938,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5933
|
5938
|
//{
|
|
5934
|
5939
|
if (CirculMarket(ua.F_DeptId, 11))
|
|
5935
|
5940
|
{
|
|
5936
|
|
- nextda = 37;
|
|
5937
|
|
- opt = "流转市场管理科";
|
|
|
5941
|
+ nextda = 427;
|
|
|
5942
|
+ opt = "流转运营中心";
|
|
5938
|
5943
|
}
|
|
5939
|
5944
|
else if (CirculMarket(ua.F_DeptId, 14))
|
|
5940
|
5945
|
{
|
|
|
@@ -5977,7 +5982,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5977
|
5982
|
//}
|
|
5978
|
5983
|
if (nextda != 0)
|
|
5979
|
5984
|
{
|
|
5980
|
|
- var res = AssignWO(ua, model, input, opt, "", nextda, 0, model.F_limit, 0, 0, 0, 0, "", 1);
|
|
|
5985
|
+ var res = AssignWO(ua, model, input, opt, "", nextda, 0, model.F_limit, 0, 0, 0, 0, "",1,1,9);
|
|
5981
|
5986
|
if (res)
|
|
5982
|
5987
|
return Success("保存成功");
|
|
5983
|
5988
|
else
|
|
|
@@ -6137,7 +6142,6 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
6137
|
6142
|
#region 基本字段
|
|
6138
|
6143
|
model.F_ID = model1[i].F_ID;//
|
|
6139
|
6144
|
model.F_WorkOrderCode = model1[i].F_WorkOrderCode;//工单编号
|
|
6140
|
|
- #region
|
|
6141
|
6145
|
if (!string.IsNullOrEmpty(model1[i].F_Source))
|
|
6142
|
6146
|
{
|
|
6143
|
6147
|
model.F_Source = int.Parse(model1[i].F_Source);//工单来源
|
|
|
@@ -6147,7 +6151,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
6147
|
6151
|
model1[i].F_Source = "1";
|
|
6148
|
6152
|
model.F_Source = int.Parse(model1[i].F_Source);//工单来源
|
|
6149
|
6153
|
}
|
|
6150
|
|
- if (model1[i].F_Source == "1")
|
|
|
6154
|
+ if (model1[i].F_Source == "1" || model1[i].F_Source=="0")
|
|
6151
|
6155
|
{
|
|
6152
|
6156
|
model.F_SourceName = "电话";
|
|
6153
|
6157
|
}
|
|
|
@@ -6494,23 +6498,26 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
6494
|
6498
|
model.RemainingTime = string.Format("剩余{0:f0}天{1:f0}时{2:f0}分", days, hours, minutes);
|
|
6495
|
6499
|
else
|
|
6496
|
6500
|
model.RemainingTime = string.Format("超时{0:f0}天{1:f0}时{2:f0}分", days, hours, minutes);
|
|
6497
|
|
- #endregion
|
|
|
6501
|
+ //if (days<=1 && days>=0)
|
|
|
6502
|
+ //{
|
|
|
6503
|
+ // SendTimeOverMes(model1[i].F_ID, hours);
|
|
|
6504
|
+ //}
|
|
6498
|
6505
|
|
|
6499
|
|
- #region 内线超时时间计算
|
|
6500
|
|
- float c2 = TimeToOver(model1[i].F_ID, model1[i].F_limit, 2);
|
|
6501
|
|
- float a2 = Math.Abs(c2);
|
|
6502
|
|
- int days2 = (int)Math.Floor(Convert.ToDouble(a2 / 24));
|
|
6503
|
|
- int hours2 = days2 > 0
|
|
6504
|
|
- ? (int)Math.Floor(Convert.ToDouble((a2 - days2 * 24)))
|
|
6505
|
|
- : (int)Math.Floor(Convert.ToDouble(a2));
|
|
6506
|
|
- float minutes2 = hours2 > 0
|
|
6507
|
|
- ? a2 * 60 - days2 * 1440 - hours2 * 60
|
|
6508
|
|
- : 0;
|
|
6509
|
|
- if (c2 > 0)
|
|
6510
|
|
- model.RemainingTime2 = string.Format("剩余{0:f0}天{1:f0}时{2:f0}分", days2, hours2, minutes2);
|
|
6511
|
|
- else
|
|
6512
|
|
- model.RemainingTime2 = string.Format("超时{0:f0}天{1:f0}时{2:f0}分", days2, hours2, minutes2);
|
|
6513
|
|
- #endregion
|
|
|
6506
|
+ //#region 内线超时时间计算
|
|
|
6507
|
+ //float c2 = TimeToOver(model1[i].F_ID, model1[i].F_limit, 2);
|
|
|
6508
|
+ //float a2 = Math.Abs(c2);
|
|
|
6509
|
+ //int days2 = (int)Math.Floor(Convert.ToDouble(a2 / 24));
|
|
|
6510
|
+ //int hours2 = days2 > 0
|
|
|
6511
|
+ // ? (int)Math.Floor(Convert.ToDouble((a2 - days2 * 24)))
|
|
|
6512
|
+ // : (int)Math.Floor(Convert.ToDouble(a2));
|
|
|
6513
|
+ //float minutes2 = hours2 > 0
|
|
|
6514
|
+ // ? a2 * 60 - days2 * 1440 - hours2 * 60
|
|
|
6515
|
+ // : 0;
|
|
|
6516
|
+ //if (c2 > 0)
|
|
|
6517
|
+ // model.RemainingTime2 = string.Format("剩余{0:f0}天{1:f0}时{2:f0}分", days2, hours2, minutes2);
|
|
|
6518
|
+ //else
|
|
|
6519
|
+ // model.RemainingTime2 = string.Format("超时{0:f0}天{1:f0}时{2:f0}分", days2, hours2, minutes2);
|
|
|
6520
|
+ //#endregion
|
|
6514
|
6521
|
|
|
6515
|
6522
|
model.F_VisitOn = model1[i].F_VisitOn;//回访时间
|
|
6516
|
6523
|
model.F_VisitBy = model1[i].F_VisitBy;//回访人
|
|
|
@@ -6646,6 +6653,69 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
6646
|
6653
|
return null;
|
|
6647
|
6654
|
}
|
|
6648
|
6655
|
}
|
|
|
6656
|
+
|
|
|
6657
|
+
|
|
|
6658
|
+ /// <summary>
|
|
|
6659
|
+ /// 工单超期24小时提醒市场管理科
|
|
|
6660
|
+ /// </summary>
|
|
|
6661
|
+ /// <param name="woid"></param>
|
|
|
6662
|
+ /// <returns></returns>
|
|
|
6663
|
+ public ActionResult SmsOverTimeMs()
|
|
|
6664
|
+ {
|
|
|
6665
|
+ LogFactory.GetLogger("定时任务发短信").Error("开始了");
|
|
|
6666
|
+ var modlelist = workOrder.GetModelList(" F_IsDelete=0" + "and F_IsOver=0" + " and F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," +
|
|
|
6667
|
+ (int)EnumWorkOrderState.assign + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.abreback + "," + (int)EnumWorkOrderState.finish + ")");
|
|
|
6668
|
+ if (modlelist.Count > 0)
|
|
|
6669
|
+ {
|
|
|
6670
|
+ foreach (var it in modlelist)
|
|
|
6671
|
+ {
|
|
|
6672
|
+ float c = TimeToOver(it.F_ID, it.F_limit);
|
|
|
6673
|
+ float a = Math.Abs(c);
|
|
|
6674
|
+ int days = (int)Math.Floor(Convert.ToDouble(a / 24));
|
|
|
6675
|
+ if (days >= 0 && days <= 1)
|
|
|
6676
|
+ {
|
|
|
6677
|
+ int hours = (int)Math.Floor(Convert.ToDouble((a - days * 24)));
|
|
|
6678
|
+ SendTimeOverMes(it.F_ID, hours);
|
|
|
6679
|
+ }
|
|
|
6680
|
+ }
|
|
|
6681
|
+
|
|
|
6682
|
+ }
|
|
|
6683
|
+ return Success("发送成功");
|
|
|
6684
|
+ }
|
|
|
6685
|
+ public bool SendTimeOverMes(int woid,int hours)
|
|
|
6686
|
+ {
|
|
|
6687
|
+ //你有工单{ 1}已超期{ 2},请及时处理
|
|
|
6688
|
+ var model = workOrder.GetModel(woid);
|
|
|
6689
|
+ if (model != null)
|
|
|
6690
|
+ {
|
|
|
6691
|
+ LogFactory.GetLogger("工单id:").Error(model.F_WorkOrderCode);
|
|
|
6692
|
+ string touser = "";
|
|
|
6693
|
+ string[] mag = { hours.ToString(),model.F_WorkOrderCode };
|
|
|
6694
|
+ string smsmsg = $"您有一个工单即将超期,剩余时间{hours}小时,请尽快办理,工单编号:{model.F_WorkOrderCode }";
|
|
|
6695
|
+ string strwhere = $" F_DeptId in (select top 1 F_NextDept from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427) order by F_CreateTime desc)";
|
|
|
6696
|
+ var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
|
|
|
6697
|
+ if (deptmodel != null)
|
|
|
6698
|
+ {
|
|
|
6699
|
+ var userlist = sysUserAccountBll.GetModelList("F_DeptId=" + deptmodel.F_DeptId);
|
|
|
6700
|
+ if (userlist.Count > 0)
|
|
|
6701
|
+ {
|
|
|
6702
|
+ foreach (var item in userlist)
|
|
|
6703
|
+ {
|
|
|
6704
|
+ touser = item.F_UserCode; ;
|
|
|
6705
|
+ if (!string.IsNullOrEmpty(item.F_Mobile))
|
|
|
6706
|
+ {
|
|
|
6707
|
+ LogFactory.GetLogger("手机号码:").Error(item.F_Mobile);
|
|
|
6708
|
+ //SmsSingleSenderResult result = new SMSController().SMSSingleshot(1458874, mag, item.F_Mobile.Trim());
|
|
|
6709
|
+ //bool n = new SMSController().AddSmS(item.F_Mobile.Trim(), smsmsg, userId);
|
|
|
6710
|
+ }
|
|
|
6711
|
+ }
|
|
|
6712
|
+ return true;
|
|
|
6713
|
+ }
|
|
|
6714
|
+ }
|
|
|
6715
|
+ return false;
|
|
|
6716
|
+ }
|
|
|
6717
|
+ else return false;
|
|
|
6718
|
+ }
|
|
6649
|
6719
|
private string AssCont(int id)
|
|
6650
|
6720
|
{
|
|
6651
|
6721
|
string cont = "";
|
|
|
@@ -7770,7 +7840,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7770
|
7840
|
{
|
|
7771
|
7841
|
#region 工单处理
|
|
7772
|
7842
|
int sms = 0;
|
|
7773
|
|
- int woflag = model.F_Flag;
|
|
|
7843
|
+ int? woflag = model.F_Flag;
|
|
7774
|
7844
|
string strsql = "";
|
|
7775
|
7845
|
if (woflag == 1)
|
|
7776
|
7846
|
{
|
|
|
@@ -9158,7 +9228,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9158
|
9228
|
#region 处理工单
|
|
9159
|
9229
|
if (deptid == 2)
|
|
9160
|
9230
|
{
|
|
9161
|
|
- if (flag == 1)
|
|
|
9231
|
+ if (flag == 1 ||((model.F_Flag==null || model.F_Flag == 0) && model.F_State2==10 && flag==3))
|
|
9162
|
9232
|
{
|
|
9163
|
9233
|
model.F_State = (int)EnumWorkOrderState.reassign;
|
|
9164
|
9234
|
}
|
|
|
@@ -9169,7 +9239,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9169
|
9239
|
}
|
|
9170
|
9240
|
else
|
|
9171
|
9241
|
{
|
|
9172
|
|
- if (flag == 1)
|
|
|
9242
|
+ if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && model.F_State2 == 10 && flag == 3))
|
|
9173
|
9243
|
{
|
|
9174
|
9244
|
model.F_State = wostate;
|
|
9175
|
9245
|
}
|
|
|
@@ -9307,7 +9377,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9307
|
9377
|
//}
|
|
9308
|
9378
|
#endregion
|
|
9309
|
9379
|
#region 处理工单
|
|
9310
|
|
- if (flag == 1)
|
|
|
9380
|
+ if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && model.F_State2 == 10 && flag == 3))
|
|
9311
|
9381
|
{
|
|
9312
|
9382
|
model.F_State = wostate;
|
|
9313
|
9383
|
}
|
|
|
@@ -9588,7 +9658,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9588
|
9658
|
if (itemid > 0)
|
|
9589
|
9659
|
{
|
|
9590
|
9660
|
#region 处理工单
|
|
9591
|
|
- if (flag == 1)
|
|
|
9661
|
+ if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && model.F_State2 == 10 && flag == 3))
|
|
9592
|
9662
|
{
|
|
9593
|
9663
|
model.F_State = wostate;
|
|
9594
|
9664
|
}
|
|
|
@@ -9631,11 +9701,11 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9631
|
9701
|
}
|
|
9632
|
9702
|
|
|
9633
|
9703
|
}
|
|
9634
|
|
- if (flag == 1 && model.F_Flag != 2)
|
|
|
9704
|
+ if (flag == 1 || (model.F_Flag == null && flag == 3))
|
|
9635
|
9705
|
{
|
|
9636
|
9706
|
model.F_SuperiorOpinion = cont;
|
|
9637
|
9707
|
}
|
|
9638
|
|
- else if (flag == 2 && model.F_Flag != 1)
|
|
|
9708
|
+ else if (flag == 2)
|
|
9639
|
9709
|
{
|
|
9640
|
9710
|
model.F_SuperiorOpinion2= cont;
|
|
9641
|
9711
|
}
|
|
|
@@ -9762,7 +9832,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
9762
|
9832
|
if (itemid > 0)
|
|
9763
|
9833
|
{
|
|
9764
|
9834
|
#region 处理工单
|
|
9765
|
|
- if (flag == 1)
|
|
|
9835
|
+ if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && model.F_State2 == 10 && flag == 3))
|
|
9766
|
9836
|
{
|
|
9767
|
9837
|
model.F_State = wostate;//已接单待处理
|
|
9768
|
9838
|
}
|
|
|
@@ -10083,7 +10153,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
10083
|
10153
|
#region 处理工单
|
|
10084
|
10154
|
//工单完结要更新工单的状态
|
|
10085
|
10155
|
// model.F_DealBy = touser;
|
|
10086
|
|
- if (flag == 1)
|
|
|
10156
|
+ if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && model.F_State2 == 10 && flag == 3))
|
|
10087
|
10157
|
{
|
|
10088
|
10158
|
model.F_State = wostate;
|
|
10089
|
10159
|
}
|