|
|
@@ -233,7 +233,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
233
|
233
|
model.F_Type = type;//工单类型 1设备租赁
|
|
234
|
234
|
model.F_Source = "PC端";
|
|
235
|
235
|
model.F_CallID = callid;
|
|
236
|
|
- model.F_State = (int)EnumWorkOrderState.assign;//已转派
|
|
|
236
|
+ model.F_State = (int)EnumDevWorkOrderState.assign;//已转派
|
|
237
|
237
|
model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
|
|
238
|
238
|
model.F_ProposerDeptId = deptid;
|
|
239
|
239
|
model.F_ProposerCode = usercode;//申请人
|
|
|
@@ -243,7 +243,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
243
|
243
|
model.F_Remark = remark;
|
|
244
|
244
|
model.F_CreateTime = DateTime.Now;
|
|
245
|
245
|
model.F_CreateCode = User1.F_UserCode;
|
|
246
|
|
- model.F_CreateCode = User1.F_UserName;
|
|
|
246
|
+ model.F_CreateName = User1.F_UserName;
|
|
247
|
247
|
model.F_CarryContents = devmessages.TrimEnd(',');//设备信息
|
|
248
|
248
|
model.F_IsDel = 0;
|
|
249
|
249
|
model.F_ControlManCode = User1.F_UserCode;
|
|
|
@@ -253,7 +253,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
253
|
253
|
{
|
|
254
|
254
|
int clbm = 2002;//设备科
|
|
255
|
255
|
var wmodel = orderbll.GetModel(n);
|
|
256
|
|
- AddLog(n, 0, User1.F_UserName + "(" + User1.F_UserCode + ")" + "创建工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, User1);
|
|
|
256
|
+ AddLog(n, 0, User1.F_UserName + "(" + User1.F_UserCode + ")" + "创建新工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, User1);
|
|
257
|
257
|
AssignWO(User1, wmodel, "", "", clbm);
|
|
258
|
258
|
string[] _list = devmessages.TrimEnd(',').Split(',');
|
|
259
|
259
|
for (int i = 0; i < _list.Length; i++)
|
|
|
@@ -302,7 +302,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
302
|
302
|
model.F_Type = type;//工单类型 1设备租赁
|
|
303
|
303
|
model.F_Source = "PC端";
|
|
304
|
304
|
model.F_CallID = callid;
|
|
305
|
|
- model.F_State = (int)EnumWorkOrderState.assign;//已转派
|
|
|
305
|
+ model.F_State = (int)EnumDevWorkOrderState.assign;//已转派
|
|
306
|
306
|
model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
|
|
307
|
307
|
model.F_ProposerDeptId = User1.F_DeptId;
|
|
308
|
308
|
model.F_ProposerCode = User1.F_UserCode;//申请人
|
|
|
@@ -319,7 +319,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
319
|
319
|
{
|
|
320
|
320
|
int clbm = 2002;//设备科
|
|
321
|
321
|
var wmodel = orderbll.GetModel(n);
|
|
322
|
|
- AddLog(n, 0, User1.F_UserName + "(" + User1.F_UserCode + ")" + "创建工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, User1);
|
|
|
322
|
+ AddLog(n, 0, User1.F_UserName + "(" + User1.F_UserCode + ")" + "创建新工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, User1);
|
|
323
|
323
|
string[] _list = devmessages.TrimEnd(',').Split(',');
|
|
324
|
324
|
for (int i = 0; i < _list.Length; i++)
|
|
325
|
325
|
{
|
|
|
@@ -560,7 +560,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
560
|
560
|
/// <summary>
|
|
561
|
561
|
/// 转派工单-设备配送
|
|
562
|
562
|
/// </summary>
|
|
563
|
|
- private bool AssignTrans(Model.T_Sys_UserAccount nowUser, Model.T_Dev_WorkOrder wokerModel, string cont, string usercode, string username, string userphon, string usertalkie, int type)
|
|
|
563
|
+ private bool AssignTrans(Model.T_Sys_UserAccount nowUser, Model.T_Dev_WorkOrder wokerModel, string cont, string usercode, string username, string userphon, string usertalkie)
|
|
564
|
564
|
{
|
|
565
|
565
|
string touser = ""; string tousername = "";
|
|
566
|
566
|
int clbm = 0;
|
|
|
@@ -585,19 +585,31 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
585
|
585
|
var optcont = "";
|
|
586
|
586
|
if (!string.IsNullOrEmpty(cont))
|
|
587
|
587
|
optcont = ",说明:" + cont;
|
|
588
|
|
- if (type == 1)
|
|
589
|
|
- {
|
|
590
|
|
- optbut = (int)EnumDevItemOpt.assign;
|
|
591
|
|
- wostate = (int)EnumDevWorkOrderState.work;//已指派待转运
|
|
592
|
|
- content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + "工单给 " + tousername + optcont;
|
|
593
|
|
- itemid = AddLogTrans(wokerModel.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
594
|
|
- }
|
|
595
|
|
- else if (type == 2)
|
|
|
588
|
+ //if (type == 1)
|
|
|
589
|
+ //{
|
|
|
590
|
+ // optbut = (int)EnumDevItemOpt.assign;
|
|
|
591
|
+ // wostate = (int)EnumDevWorkOrderState.work;//已指派待转运
|
|
|
592
|
+ // content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + "工单给 " + tousername + optcont;
|
|
|
593
|
+ // itemid = AddLogTrans(wokerModel.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
|
594
|
+ //}
|
|
|
595
|
+ //else if (type == 2)
|
|
|
596
|
+ //{
|
|
|
597
|
+ // optbut = (int)EnumDevItemOpt.assign;
|
|
|
598
|
+ // wostate = (int)EnumDevWorkOrderState.work;//已指派待转运
|
|
|
599
|
+ // content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + "工单给 " + tousername + optcont;
|
|
|
600
|
+ // itemid = AddLogTrans(wokerModel.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
|
601
|
+ // if (wokerModel.F_WoID > 0)
|
|
|
602
|
+ // {
|
|
|
603
|
+ // AddLogTrans(wokerModel.F_WoID, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
|
604
|
+ // }
|
|
|
605
|
+ //}
|
|
|
606
|
+ optbut = (int)EnumDevItemOpt.assign;
|
|
|
607
|
+ wostate = (int)EnumDevWorkOrderState.work;//已指派待转运
|
|
|
608
|
+ content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + "工单给 " + tousername + optcont;
|
|
|
609
|
+ itemid = AddLogTrans(wokerModel.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
|
610
|
+ if (wokerModel.F_WoID > 0)
|
|
596
|
611
|
{
|
|
597
|
|
- optbut = (int)EnumDevItemOpt.assign;
|
|
598
|
|
- wostate = (int)EnumDevWorkOrderState.assreback;//已指派待返还
|
|
599
|
|
- content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + "工单给 " + tousername + optcont;
|
|
600
|
|
- itemid = AddLogTrans(wokerModel.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
|
612
|
+ AddLogTrans(wokerModel.F_WoID, (int)EnumDevWorkOrderState.receive, content, (int)EnumDevItemType.deal, optbut, touser, username, userphon, usertalkie, clbm, nowUser);
|
|
601
|
613
|
}
|
|
602
|
614
|
#endregion
|
|
603
|
615
|
if (itemid > 0)
|
|
|
@@ -627,6 +639,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
627
|
639
|
//设备管理科操作
|
|
628
|
640
|
string usercode = "8004";
|
|
629
|
641
|
int state = 0;
|
|
|
642
|
+ string DevoutCounts = "";
|
|
630
|
643
|
var ua = userbll.GetModel(usercode);
|
|
631
|
644
|
if (woid == 0)
|
|
632
|
645
|
return Error("工单编号错误!");
|
|
|
@@ -647,7 +660,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
647
|
660
|
string code = _temp[2];
|
|
648
|
661
|
if (name != "" && num > 0)
|
|
649
|
662
|
{
|
|
650
|
|
- string sql = $"F_DeviceName='" + name+ "' and F_WoId="+ woid;
|
|
|
663
|
+ string sql = $"F_DeviceName='" + name + "' and F_WoId=" + woid;
|
|
651
|
664
|
var optmodel = optbll.GetModelList(sql).FirstOrDefault();
|
|
652
|
665
|
optmodel.F_GiveNum = num;
|
|
653
|
666
|
optmodel.F_DeviceCode = code;
|
|
|
@@ -662,7 +675,11 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
662
|
675
|
optmodel.F_State = 1;
|
|
663
|
676
|
else return Error("出库设备数量大于需求数量!");
|
|
664
|
677
|
var n = optbll.Update(optmodel);
|
|
665
|
|
- if (n) continue;
|
|
|
678
|
+ if (n)
|
|
|
679
|
+ {
|
|
|
680
|
+ DevoutCounts += name + ":" + num + ",";
|
|
|
681
|
+ continue;
|
|
|
682
|
+ }
|
|
666
|
683
|
}
|
|
667
|
684
|
else return Error("设备信息不正确!");
|
|
668
|
685
|
}
|
|
|
@@ -681,10 +698,11 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
681
|
698
|
omodel.F_HandleByName = ua.F_UserName;
|
|
682
|
699
|
omodel.F_HandleTime = DateTime.Now;//出库时间
|
|
683
|
700
|
omodel.F_State = (int)EnumDevWorkOrderState.checkout;//已出库待指派
|
|
|
701
|
+ omodel.F_HandleContents = DevoutCounts;
|
|
684
|
702
|
if (orderbll.Update(omodel))
|
|
685
|
703
|
{
|
|
686
|
704
|
#region 写入工单操作记录
|
|
687
|
|
- AddLog(woid, (int)EnumDevWorkOrderState.checkout, ua.F_UserName + "(" + ua.F_UserCode + ")" + "反馈设备已出库", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.assign, "", 0, ua);
|
|
|
705
|
+ AddLog(woid, (int)EnumDevWorkOrderState.checkout, ua.F_UserName + "(" + ua.F_UserCode + ")" + "反馈设备已出库", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.checkout, "", 0, ua);
|
|
688
|
706
|
#endregion
|
|
689
|
707
|
return Success("出库成功!");
|
|
690
|
708
|
}
|
|
|
@@ -746,7 +764,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
746
|
764
|
var omodel = orderbll.GetModel(woid);
|
|
747
|
765
|
if (omodel != null)
|
|
748
|
766
|
{
|
|
749
|
|
- bool n = AssignTrans(ua, omodel, remark, usercode, username, phon, talkie, 1);
|
|
|
767
|
+ bool n = AssignTrans(ua, omodel, remark, usercode, username, phon, talkie);
|
|
750
|
768
|
if (n)
|
|
751
|
769
|
{
|
|
752
|
770
|
return Success("转派成功!");
|
|
|
@@ -781,9 +799,11 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
781
|
799
|
var omodel = orderbll.GetModel(woid);
|
|
782
|
800
|
if (omodel != null)
|
|
783
|
801
|
{
|
|
784
|
|
- bool n = AssignTrans(ua, omodel, remark, usercode, username, phon, talkie, 2);
|
|
|
802
|
+ bool n = AssignTrans(ua, omodel, remark, usercode, username, phon, talkie);
|
|
785
|
803
|
if (n)
|
|
786
|
804
|
{
|
|
|
805
|
+ omodel.F_ControlManCode = ua.F_UserCode;//调度人
|
|
|
806
|
+ omodel.F_ControlManName = ua.F_UserName;
|
|
787
|
807
|
return Success("转派成功!");
|
|
788
|
808
|
}
|
|
789
|
809
|
return Error("转派失败!");
|
|
|
@@ -869,12 +889,42 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
869
|
889
|
if (woid == 0)
|
|
870
|
890
|
return Error("工单编号错误!");
|
|
871
|
891
|
var omodel = orderbll.GetModel(woid);
|
|
872
|
|
- if (omodel != null)
|
|
|
892
|
+ Model.T_Dev_WorkOrder dmodel = new Model.T_Dev_WorkOrder();
|
|
|
893
|
+ #region 返还发起新工单
|
|
|
894
|
+ dmodel.F_Type = omodel.F_Type;//工单类型 1设备租赁
|
|
|
895
|
+ dmodel.F_Source = "PC端";
|
|
|
896
|
+ dmodel.F_CallID = omodel.F_CallID;
|
|
|
897
|
+ dmodel.F_State = (int)EnumDevWorkOrderState.reassign;//已返还待指派
|
|
|
898
|
+ dmodel.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
|
|
|
899
|
+ dmodel.F_ProposerDeptId = omodel.F_ProposerDeptId;
|
|
|
900
|
+ dmodel.F_ProposerCode = omodel.F_ProposerCode;//申请人
|
|
|
901
|
+ dmodel.F_ProposerName = omodel.F_ProposerName;
|
|
|
902
|
+ dmodel.F_ProposerPhon = omodel.F_ProposerPhon;
|
|
|
903
|
+ dmodel.F_DealType = "转派";
|
|
|
904
|
+ dmodel.F_Remark = omodel.F_Remark;
|
|
|
905
|
+ dmodel.F_CreateTime = DateTime.Now;
|
|
|
906
|
+ dmodel.F_CreateCode = ua.F_UserCode;
|
|
|
907
|
+ dmodel.F_CreateCode = ua.F_UserName;
|
|
|
908
|
+ dmodel.F_CarryContents = omodel.F_CarryContents;//设备信息
|
|
|
909
|
+ dmodel.F_IsDel = 0;
|
|
|
910
|
+ dmodel.F_DevOutState = omodel.F_DevOutState;
|
|
|
911
|
+ dmodel.F_DevOutNum = omodel.F_DevOutNum;
|
|
|
912
|
+ dmodel.F_WoFlag = 1;
|
|
|
913
|
+ dmodel.F_WoID = omodel.F_Id;
|
|
|
914
|
+ int n = orderbll.Add(dmodel);
|
|
|
915
|
+ if (n > 0)
|
|
873
|
916
|
{
|
|
874
|
|
- if (DealWO(ua, omodel, "", "", 4))
|
|
875
|
|
- return Success("操作成功!");
|
|
876
|
|
- else return Error("操作失败!");
|
|
|
917
|
+ AddLog(n, (int)EnumDevWorkOrderState.reassign, ua.F_UserName + "(" + ua.F_UserCode + ")" + "创建返还工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, ua);
|
|
|
918
|
+ AddLog(woid, (int)EnumDevWorkOrderState.receive, ua.F_UserName + "(" + ua.F_UserCode + ")" + "创建返还工单", (int)EnumDevItemType.deal, (int)EnumDevItemOpt.create, "", 0, ua);
|
|
|
919
|
+ return Success("操作成功!");
|
|
877
|
920
|
}
|
|
|
921
|
+ #endregion
|
|
|
922
|
+ //if (omodel != null)
|
|
|
923
|
+ //{
|
|
|
924
|
+ // if (DealWO(ua, omodel, "", "", 4))
|
|
|
925
|
+ // return Success("操作成功!");
|
|
|
926
|
+ // else return Error("操作失败!");
|
|
|
927
|
+ //}
|
|
878
|
928
|
return Error("操作失败,不存在此工单编号!");
|
|
879
|
929
|
}
|
|
880
|
930
|
/// <summary>
|
|
|
@@ -911,7 +961,7 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
911
|
961
|
{
|
|
912
|
962
|
opt = "返还运转设备";
|
|
913
|
963
|
optbut = (int)EnumDevItemOpt.work;
|
|
914
|
|
- wostate = (int)EnumDevWorkOrderState.reback;//返还转运中
|
|
|
964
|
+ wostate = (int)EnumDevWorkOrderState.transport;//返还转运中
|
|
915
|
965
|
if (!string.IsNullOrEmpty(model.F_TransOutPerson))
|
|
916
|
966
|
{
|
|
917
|
967
|
model.F_TransOutPerson += ',' + nowUser.F_UserName + "(" + nowUser.F_UserCode + ")";
|
|
|
@@ -958,6 +1008,10 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
958
|
1008
|
optcont = ",说明:" + cont;
|
|
959
|
1009
|
var content = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt + optcont;
|
|
960
|
1010
|
var itemid = AddLog(model.F_Id, wostate, content, (int)EnumDevItemType.deal, optbut, "", 0, nowUser);
|
|
|
1011
|
+ if (type == 2 && model.F_WoID>0)
|
|
|
1012
|
+ {
|
|
|
1013
|
+ AddLog(model.F_WoID, (int)EnumDevWorkOrderState.receive, content, (int)EnumDevItemType.deal, optbut, "", 0, nowUser);
|
|
|
1014
|
+ }
|
|
961
|
1015
|
if (itemid > 0)
|
|
962
|
1016
|
{
|
|
963
|
1017
|
#region 处理工单
|
|
|
@@ -989,6 +1043,8 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
989
|
1043
|
int workstate = 0;
|
|
990
|
1044
|
string opt="";
|
|
991
|
1045
|
var optcont = "";
|
|
|
1046
|
+ int totalnum = 0;
|
|
|
1047
|
+ string storContents = "";
|
|
992
|
1048
|
var ua = userbll.GetModel(usercode);
|
|
993
|
1049
|
if (woid == 0)
|
|
994
|
1050
|
return Error("工单编号错误!");
|
|
|
@@ -1027,7 +1083,19 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
1027
|
1083
|
else if (getnum == givenum)
|
|
1028
|
1084
|
optmodel.F_State = 3;
|
|
1029
|
1085
|
var n = optbll.Update(optmodel);
|
|
1030
|
|
- if (n) continue;
|
|
|
1086
|
+ if (n)
|
|
|
1087
|
+ {
|
|
|
1088
|
+ if (!string.IsNullOrEmpty(storContents))
|
|
|
1089
|
+ {
|
|
|
1090
|
+ storContents +=","+ name +" "+ num +"个";
|
|
|
1091
|
+ }
|
|
|
1092
|
+ else
|
|
|
1093
|
+ {
|
|
|
1094
|
+ storContents= name + " " + num +"个";
|
|
|
1095
|
+ }
|
|
|
1096
|
+ totalnum += num;
|
|
|
1097
|
+ continue;
|
|
|
1098
|
+ }
|
|
1031
|
1099
|
}
|
|
1032
|
1100
|
else return Error("设备信息不正确!");
|
|
1033
|
1101
|
}
|
|
|
@@ -1051,15 +1119,22 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
|
|
1051
|
1119
|
}
|
|
1052
|
1120
|
}
|
|
1053
|
1121
|
omodel.F_DevOutState = state;
|
|
1054
|
|
- //omodel.F_HandleByCode = usercode;//经办人
|
|
1055
|
|
- //omodel.F_HandleByName = ua.F_UserName;
|
|
|
1122
|
+ omodel.F_HandleByCode = usercode;//经办人
|
|
|
1123
|
+ omodel.F_HandleByName = ua.F_UserName;
|
|
1056
|
1124
|
omodel.F_State = workstate;
|
|
|
1125
|
+ omodel.F_DevInNum = totalnum;
|
|
|
1126
|
+ omodel.F_DevName = storContents;
|
|
|
1127
|
+ omodel.F_DevStorageTime = DateTime.Now;
|
|
1057
|
1128
|
if (orderbll.Update(omodel))
|
|
1058
|
1129
|
{
|
|
1059
|
|
- if (!string.IsNullOrEmpty(remark))
|
|
1060
|
|
- optcont = ",说明:" + remark;
|
|
|
1130
|
+ if (!string.IsNullOrEmpty(storContents))
|
|
|
1131
|
+ optcont = ",说明:" + storContents;
|
|
1061
|
1132
|
#region 写入工单操作记录
|
|
1062
|
1133
|
AddLog(woid, workstate, ua.F_UserName + "(" + ua.F_UserCode + ")" + opt+ optcont, (int)EnumDevItemType.deal, (int)EnumDevItemOpt.storage, "", 0, ua);
|
|
|
1134
|
+ if (omodel.F_WoID > 0)
|
|
|
1135
|
+ {
|
|
|
1136
|
+ AddLog(omodel.F_WoID, workstate, ua.F_UserName + "(" + ua.F_UserCode + ")" + opt + optcont, (int)EnumDevItemType.deal, (int)EnumDevItemOpt.storage, "", 0, ua);
|
|
|
1137
|
+ }
|
|
1063
|
1138
|
string str = "update ";
|
|
1064
|
1139
|
#endregion
|
|
1065
|
1140
|
return Success("入库成功!");
|