|
|
@@ -235,13 +235,13 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
235
|
235
|
{
|
|
236
|
236
|
//if (ua.F_Flag == 1)
|
|
237
|
237
|
//{
|
|
238
|
|
- sql += " and (F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + ","+(int)EnumWorkOrderState.revoke + ")";
|
|
|
238
|
+ sql += " and ((F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + ","+(int)EnumWorkOrderState.revoke + ")";
|
|
239
|
239
|
//}
|
|
240
|
240
|
//else if (ua.F_Flag == 2)
|
|
241
|
241
|
//{
|
|
242
|
242
|
sql += " or F_State2 in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback+","+(int)EnumWorkOrderState.revoke + "))";
|
|
243
|
243
|
//}
|
|
244
|
|
- sql += " and (T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
|
|
|
244
|
+ sql += " and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
|
|
245
|
245
|
if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
|
|
246
|
246
|
{
|
|
247
|
247
|
sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign+ ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
|
|
|
@@ -774,13 +774,13 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
774
|
774
|
{
|
|
775
|
775
|
//if (ua.F_Flag == 1)
|
|
776
|
776
|
//{
|
|
777
|
|
- sql += " and (F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + ")";
|
|
|
777
|
+ sql += " and ((F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + ")";
|
|
778
|
778
|
//}
|
|
779
|
779
|
//else if (ua.F_Flag == 2)
|
|
780
|
780
|
//{
|
|
781
|
781
|
sql += " or F_State2 in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + "))";
|
|
782
|
782
|
//}
|
|
783
|
|
- sql += " and (T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
|
|
|
783
|
+ sql += " and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
|
|
784
|
784
|
if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
|
|
785
|
785
|
{
|
|
786
|
786
|
sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
|
|
|
@@ -5392,11 +5392,70 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5392
|
5392
|
return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
|
|
5393
|
5393
|
|
|
5394
|
5394
|
}
|
|
|
5395
|
+
|
|
|
5396
|
+ /// <summary>
|
|
|
5397
|
+ /// 工单暂存
|
|
|
5398
|
+ /// </summary>
|
|
|
5399
|
+ /// <param name="contents"></param>
|
|
|
5400
|
+ /// <param name="type"></param>
|
|
|
5401
|
+ /// <param name="title"></param>
|
|
|
5402
|
+ /// <param name="fid"></param>
|
|
|
5403
|
+ /// <returns></returns>
|
|
|
5404
|
+ public ActionResult TempStorageWo(string contents,string type,string title,int tid=0)
|
|
|
5405
|
+ {
|
|
|
5406
|
+ int userId = CurrentUser.UserData.F_UserId;
|
|
|
5407
|
+ if (userId != 0)
|
|
|
5408
|
+ {
|
|
|
5409
|
+ Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
|
|
|
5410
|
+ Model.T_Wo_TempStorage temp = new T_Wo_TempStorage();
|
|
|
5411
|
+ if (tid > 0)
|
|
|
5412
|
+ {
|
|
|
5413
|
+ temp = new BLL.T_Wo_TempStorage().GetModel(tid);
|
|
|
5414
|
+ }
|
|
|
5415
|
+ temp.F_Contents = contents;
|
|
|
5416
|
+ temp.F_Title = title;
|
|
|
5417
|
+ temp.F_Type = Convert.ToInt32(type);
|
|
|
5418
|
+ temp.F_CreateTime = DateTime.Now;
|
|
|
5419
|
+ temp.F_CreateBy = ua.F_UserCode;
|
|
|
5420
|
+ if (tid > 0)
|
|
|
5421
|
+ new BLL.T_Wo_TempStorage().Update(temp);
|
|
|
5422
|
+ else
|
|
|
5423
|
+ new BLL.T_Wo_TempStorage().Add(temp);
|
|
|
5424
|
+ return Success("暂存成功!");
|
|
|
5425
|
+ }
|
|
|
5426
|
+ else
|
|
|
5427
|
+ {
|
|
|
5428
|
+ return Error("无操作权限!");
|
|
|
5429
|
+ }
|
|
|
5430
|
+
|
|
|
5431
|
+ }
|
|
|
5432
|
+
|
|
|
5433
|
+ /// <summary>
|
|
|
5434
|
+ /// 获取最新暂存数据 一个用户只能暂存一次
|
|
|
5435
|
+ /// </summary>
|
|
|
5436
|
+ /// <returns></returns>
|
|
|
5437
|
+ public ActionResult GetStorageWo()
|
|
|
5438
|
+ {
|
|
|
5439
|
+ int userId = CurrentUser.UserData.F_UserId;
|
|
|
5440
|
+ if (userId != 0)
|
|
|
5441
|
+ {
|
|
|
5442
|
+ Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
|
|
|
5443
|
+ string strsql = $" F_CreateBy={ua.F_UserCode} order by F_CreateTime desc";
|
|
|
5444
|
+ var temp = new BLL.T_Wo_TempStorage().GetModelList(strsql).FirstOrDefault();
|
|
|
5445
|
+ return Success(temp.ToJson());
|
|
|
5446
|
+ }
|
|
|
5447
|
+ else
|
|
|
5448
|
+ {
|
|
|
5449
|
+ return Error("无操作权限!");
|
|
|
5450
|
+ }
|
|
|
5451
|
+ }
|
|
|
5452
|
+
|
|
|
5453
|
+
|
|
5395
|
5454
|
/// <summary>
|
|
5396
|
5455
|
/// 添加工单
|
|
5397
|
5456
|
/// </summary>
|
|
5398
|
5457
|
/// <returns></returns>
|
|
5399
|
|
- public ActionResult Add(WorkOrderNewInput input, int overtime = 0, int sms = 0)
|
|
|
5458
|
+ public ActionResult Add(WorkOrderNewInput input, int overtime = 0, int sms = 0,int tempid=0)
|
|
5400
|
5459
|
{
|
|
5401
|
5460
|
int userId = CurrentUser.UserData.F_UserId;
|
|
5402
|
5461
|
if (userId != 0)
|
|
|
@@ -5476,6 +5535,14 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
5476
|
5535
|
return Error("请输入正确的业务员电话");
|
|
5477
|
5536
|
}
|
|
5478
|
5537
|
|
|
|
5538
|
+ #region 暂存数据删除
|
|
|
5539
|
+ if (tempid > 0)
|
|
|
5540
|
+ {
|
|
|
5541
|
+ var tempmodel = new BLL.T_Wo_TempStorage().GetModel(tempid);
|
|
|
5542
|
+ if (tempmodel != null)
|
|
|
5543
|
+ new BLL.T_Wo_TempStorage().Delete(tempid);
|
|
|
5544
|
+ }
|
|
|
5545
|
+ #endregion
|
|
5479
|
5546
|
var model = new Model.T_Wo_WorkOrder();
|
|
5480
|
5547
|
#region 保存客户基本信息
|
|
5481
|
5548
|
Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
|
|
|
@@ -6704,9 +6771,13 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
6704
|
6771
|
touser = item.F_UserCode; ;
|
|
6705
|
6772
|
if (!string.IsNullOrEmpty(item.F_Mobile))
|
|
6706
|
6773
|
{
|
|
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);
|
|
|
6774
|
+ var smsmodel = new BLL.T_SMS_RecvSMS().GetList($"CallerNum={item.F_Mobile.Trim()} and F_UserID={model.F_ID}").Tables[0];
|
|
|
6775
|
+ if (smsmodel.Rows.Count <= 0)
|
|
|
6776
|
+ {
|
|
|
6777
|
+ LogFactory.GetLogger("手机号码:").Error(item.F_Mobile);
|
|
|
6778
|
+ SmsSingleSenderResult result = new SMSController().SMSSingleshot(1458874, mag, item.F_Mobile.Trim());
|
|
|
6779
|
+ bool n = new SMSController().AddSmS(item.F_Mobile.Trim(), smsmsg, model.F_ID);
|
|
|
6780
|
+ }
|
|
6710
|
6781
|
}
|
|
6711
|
6782
|
}
|
|
6712
|
6783
|
return true;
|
|
|
@@ -7318,7 +7389,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7318
|
7389
|
/// </summary>
|
|
7319
|
7390
|
/// <returns></returns>
|
|
7320
|
7391
|
public ActionResult Createass(WorkOrderNewInput input, string cont, WorkOrdeDeptment deptment, string F_Files, int isvisit = 1,
|
|
7321
|
|
- int overtime = 0, int sms = 0, int clbm = 0, int clid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="",int flag=3)
|
|
|
7392
|
+ int overtime = 0, int sms = 0, int clbm = 0, int clid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="",int flag=3,int tempid=0)
|
|
7322
|
7393
|
{
|
|
7323
|
7394
|
int userId = CurrentUser.UserData.F_UserId;
|
|
7324
|
7395
|
if (userId != 0)
|
|
|
@@ -7397,6 +7468,16 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7397
|
7468
|
return Error("请输入正确的业务员电话");
|
|
7398
|
7469
|
}
|
|
7399
|
7470
|
#endregion
|
|
|
7471
|
+
|
|
|
7472
|
+ #region 暂存数据删除
|
|
|
7473
|
+ if (tempid > 0)
|
|
|
7474
|
+ {
|
|
|
7475
|
+ var tempmodel = new BLL.T_Wo_TempStorage().GetModel(tempid);
|
|
|
7476
|
+ if (tempmodel != null)
|
|
|
7477
|
+ new BLL.T_Wo_TempStorage().Delete(tempid);
|
|
|
7478
|
+ }
|
|
|
7479
|
+ #endregion
|
|
|
7480
|
+
|
|
7400
|
7481
|
var model = new Model.T_Wo_WorkOrder();
|
|
7401
|
7482
|
#region 保存客户基本信息
|
|
7402
|
7483
|
model = inputtoobj(model, input, 2);
|
|
|
@@ -7674,12 +7755,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7674
|
7755
|
else if (flag == 2)
|
|
7675
|
7756
|
{
|
|
7676
|
7757
|
var res1 = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 2,flag);
|
|
7677
|
|
- DealWO(ua, modlelist, input, cont, "", 1, "", 1, "",flag);
|
|
|
7758
|
+ DealWO(ua, modlelist, input, "", "", 1, "", 1, "",flag);
|
|
7678
|
7759
|
}
|
|
7679
|
7760
|
else
|
|
7680
|
7761
|
{
|
|
7681
|
7762
|
var res = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms,flag);
|
|
7682
|
|
- DealWO(ua, modlelist, input, cont, "", 1, "", 2, "",flag);
|
|
|
7763
|
+ DealWO(ua, modlelist, input, "", "", 1, "", 2, "",flag);
|
|
7683
|
7764
|
|
|
7684
|
7765
|
}
|
|
7685
|
7766
|
return Success("转派成功");
|
|
|
@@ -7722,7 +7803,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7722
|
7803
|
annotab.F_Contents = cont;
|
|
7723
|
7804
|
annotab.F_AnnotationPerson = ua.F_UserCode;
|
|
7724
|
7805
|
annotab.F_CreateTime =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
7725
|
|
- annotab.F_Wocode = model.F_WorkOrderCode;
|
|
|
7806
|
+ annotab.F_Wocode = model.F_ID;
|
|
7726
|
7807
|
new BLL.T_Wo_AnnotationTab().Add(annotab);
|
|
7727
|
7808
|
#endregion
|
|
7728
|
7809
|
Annotationstr = cont + "-" + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
@@ -7964,7 +8045,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
7964
|
8045
|
/// </summary>
|
|
7965
|
8046
|
/// <param name="input"></param>
|
|
7966
|
8047
|
/// <returns></returns>
|
|
7967
|
|
- public ActionResult CreatOver(WorkOrderNewInput input, int sms=0, int overtime = 0)
|
|
|
8048
|
+ public ActionResult CreatOver(WorkOrderNewInput input, int sms=0, int overtime = 0,int tempid=0)
|
|
7968
|
8049
|
{
|
|
7969
|
8050
|
int userId = CurrentUser.UserData.F_UserId;
|
|
7970
|
8051
|
if (userId != 0)
|
|
|
@@ -8046,7 +8127,14 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8046
|
8127
|
return Error("如非邮寄请填自送");
|
|
8047
|
8128
|
|
|
8048
|
8129
|
}
|
|
8049
|
|
-
|
|
|
8130
|
+ #region 暂存数据删除
|
|
|
8131
|
+ if (tempid > 0)
|
|
|
8132
|
+ {
|
|
|
8133
|
+ var tempmodel = new BLL.T_Wo_TempStorage().GetModel(tempid);
|
|
|
8134
|
+ if (tempmodel != null)
|
|
|
8135
|
+ new BLL.T_Wo_TempStorage().Delete(tempid);
|
|
|
8136
|
+ }
|
|
|
8137
|
+ #endregion
|
|
8050
|
8138
|
var model = new Model.T_Wo_WorkOrder();
|
|
8051
|
8139
|
#region 保存客户基本信息
|
|
8052
|
8140
|
model = inputtoobj(model, input, 2);
|
|
|
@@ -8238,7 +8326,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8238
|
8326
|
return Error("请选择接收部门");
|
|
8239
|
8327
|
}
|
|
8240
|
8328
|
var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2,flag);
|
|
8241
|
|
- DealWO(ua, model, input, cont, "", 1, "", 1, "",flag);
|
|
|
8329
|
+ DealWO(ua, model, input, "", "", 1, "", 1, "",flag);
|
|
8242
|
8330
|
}
|
|
8243
|
8331
|
else
|
|
8244
|
8332
|
{
|
|
|
@@ -8247,7 +8335,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8247
|
8335
|
return Error("请选择接收部门");
|
|
8248
|
8336
|
}
|
|
8249
|
8337
|
var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid,"",0,1,flag);
|
|
8250
|
|
- DealWO(ua, model, input, cont, "", 1, "", 2, "",flag);
|
|
|
8338
|
+ DealWO(ua, model, input, "", "", 1, "", 2, "",flag);
|
|
8251
|
8339
|
}
|
|
8252
|
8340
|
return Success("转派成功");
|
|
8253
|
8341
|
}
|
|
|
@@ -8459,7 +8547,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8459
|
8547
|
// strsql = " and F_Type in(2,3)";
|
|
8460
|
8548
|
//}
|
|
8461
|
8549
|
|
|
8462
|
|
- var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + "and F_IsUsed=0 and F_WoState=1 and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc ").FirstOrDefault();
|
|
|
8550
|
+ var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + "and F_IsUsed=0 and F_WoState in(1,4) and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc ").FirstOrDefault();
|
|
8463
|
8551
|
if (modellist==null)
|
|
8464
|
8552
|
{
|
|
8465
|
8553
|
//string userstrs = "";
|
|
|
@@ -8476,7 +8564,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8476
|
8564
|
return Error("非接单人不可操作工单");
|
|
8477
|
8565
|
|
|
8478
|
8566
|
}
|
|
8479
|
|
- var modellast = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + " and F_WoState=1 and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc ");
|
|
|
8567
|
+ var modellast = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + " and F_WoState in(1,4) and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc ");
|
|
8480
|
8568
|
if (modellast.Count>0)
|
|
8481
|
8569
|
{
|
|
8482
|
8570
|
int isused = modellast.Where(p => p.F_IsUsed == 0).Count();
|
|
|
@@ -8868,7 +8956,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
8868
|
8956
|
model.F_Flag = 9;
|
|
8869
|
8957
|
}
|
|
8870
|
8958
|
}
|
|
8871
|
|
- flag = Convert.ToInt32(modellist.FirstOrDefault().F_Type);
|
|
|
8959
|
+ if (flag == 0)
|
|
|
8960
|
+ {
|
|
|
8961
|
+ flag = Convert.ToInt32(modellist.FirstOrDefault().F_Type);
|
|
|
8962
|
+ }
|
|
8872
|
8963
|
}
|
|
8873
|
8964
|
else
|
|
8874
|
8965
|
{
|