liyuanyuan 3 vuotta sitten
vanhempi
commit
c6e4e08699
1 muutettua tiedostoa jossa 50 lisäystä ja 19 poistoa
  1. 50 19
      RMYY_CallCenter_Api/Controllers/FaultRepairController.cs

+ 50 - 19
RMYY_CallCenter_Api/Controllers/FaultRepairController.cs

@@ -86,24 +86,25 @@ namespace RMYY_CallCenter_Api.Controllers
86 86
             if (input.IsEnd == 1)
87 87
             {
88 88
                 model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.finish;
89
+                model.F_MaintenanceDept = User.F_DeptId.ToString();
90
+                model.F_Maintenancer = User.F_UserCode;
91
+                model.F_Endtime = DateTime.Now;
89 92
             }
90 93
 
91
-            else   if ( !string.IsNullOrEmpty(input.MaintenanceDept))
94
+            else if (!string.IsNullOrEmpty(input.MaintenanceDept))
92 95
             {           
93 96
                 model.F_MaintenanceDept = input.MaintenanceDept;
94 97
                 if (!string.IsNullOrEmpty(input.Maintenancer))
95 98
                 {
96 99
                     model.F_Maintenancer = input.Maintenancer;
97
-                    model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.receive;
98 100
                     model.F_AssignTime = DateTime.Now;
99 101
                     List<Model.T_Sys_GongDan> listgd = gdbll.GetModelList(" F_ParentID=0 and F_Name='故障报修'");
100 102
                     int timeout = listgd.First().F_TimeOut;
101 103
                     model.F_Deadline = DateTime.Now.AddHours(timeout);
102 104
                 }
103
-                else
104
-                {
105
-                    model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.neworder;
106
-                }
105
+              model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.receive;
106
+
107
+
107 108
 
108 109
 
109 110
             }
@@ -161,6 +162,9 @@ namespace RMYY_CallCenter_Api.Controllers
161 162
             if (input.IsEnd == 1)
162 163
             {
163 164
                 model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.finish;
165
+                model.F_MaintenanceDept = User.F_DeptId.ToString();
166
+                model.F_Endtime = DateTime.Now;
167
+                model.F_Maintenancer = User.F_UserCode;
164 168
             }
165 169
         
166 170
             else if (string.IsNullOrEmpty(model.F_MaintenanceDept))
@@ -210,11 +214,17 @@ namespace RMYY_CallCenter_Api.Controllers
210 214
             Model.T_FaultRepair_Base model = baseBll.GetModel(WorkOrderCode);
211 215
             if (model != null)
212 216
             {
213
-                if (model.F_Maintenancer == User.F_UserCode)
217
+                if (model.F_MaintenanceDept == User.F_DeptId.ToString())
214 218
                 {
219
+                    if (!string.IsNullOrEmpty(model.F_Maintenancer) && User.F_UserCode!=model.F_Maintenancer)
220
+                    {
221
+                        return Error("你没有权限查收!");
222
+                    }
223
+
215 224
                     model.F_UpdateTime = DateTime.Now;
216 225
                     model.F_Maintenancer = User.F_UserCode;
217 226
                     model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.dealing;
227
+                    baseBll.Update(model);
218 228
                     AddOperatorLog("查收了工单", (int)EnumOperatorType.check, model.F_WorkOrderCode);
219 229
 
220 230
                     return Success(" 查收成功!");
@@ -241,6 +251,8 @@ namespace RMYY_CallCenter_Api.Controllers
241 251
                     model.F_AssignTime = null;
242 252
                     model.F_UpdateTime = DateTime.Now;
243 253
                     model.F_Deadline = null;
254
+
255
+                    baseBll.Update(model);
244 256
                     string s = "";
245 257
                     if (!string.IsNullOrEmpty(BackReason))
246 258
                       {
@@ -275,14 +287,16 @@ namespace RMYY_CallCenter_Api.Controllers
275 287
                 if (Type == 0)
276 288
                 {
277 289
                     model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.dealed;
278
-      
290
+                    model.F_Endtime = DateTime.Now;
279 291
                     //是返修的工单
280
-                    if (dt != null && dt.Columns.Count > 0)
292
+                    if (dt != null && dt.Rows.Count > 0)
281 293
                     {
282 294
                         int procid= Convert.ToInt32(  dt.Rows[0]["F_ProcessId"].ToString());
283 295
                         string updatesql = "UPDATE T_FaultRepair_Process set  F_ProcessingTime=GETDATE() ,F_Result='"+ Result + "' ,F_File='"+ File + "',F_Maintenancer='"+User.F_UserCode+"',F_MaintenanceDept='"+User.F_DeptId+"'  where F_ProcessId='"+procid+"'";
284 296
                         if (DbHelperSQL.ExecuteSql(updatesql) > 0)
285 297
                         {
298
+                            baseBll.Update(model);
299
+
286 300
                             AddOperatorLog("完结了工单", (int)EnumOperatorType.dealed, WorkOrderCode);
287 301
                             return Success("处理完成");
288 302
                         }
@@ -302,6 +316,7 @@ namespace RMYY_CallCenter_Api.Controllers
302 316
                     promodel.F_WorkOrderCode = WorkOrderCode;
303 317
                     if (dealBll.Add(promodel) > 0)
304 318
                     {
319
+                        baseBll.Update(model);
305 320
                         AddOperatorLog("完结了工单", (int)EnumOperatorType.dealed, WorkOrderCode);
306 321
                        return Success("处理完成");
307 322
                     }
@@ -324,6 +339,7 @@ namespace RMYY_CallCenter_Api.Controllers
324 339
                         string updatesql = "UPDATE T_FaultRepair_Process set  F_ProcessingTime=GETDATE() ,F_Result='" + Result + "' ,F_File='" + File + "',F_UpdateTime= GETDATE() where F_ProcessId='" + procid + "'";
325 340
                         if (DbHelperSQL.ExecuteSql(updatesql) > 0)
326 341
                         {
342
+                            baseBll.Update(model);
327 343
                             AddOperatorLog("异常完结了工单", (int)EnumOperatorType.exceptionended, WorkOrderCode);
328 344
                             return Success("异常完结");
329 345
                         }
@@ -345,6 +361,7 @@ namespace RMYY_CallCenter_Api.Controllers
345 361
                     promodel.F_WorkOrderCode = WorkOrderCode;
346 362
                     if (dealBll.Add(promodel) > 0)
347 363
                     {
364
+                        baseBll.Update(model);
348 365
                         AddOperatorLog("异常完结了工单", (int)EnumOperatorType.exceptionended, WorkOrderCode);
349 366
                         return Success("异常完结");
350 367
                     }
@@ -365,7 +382,7 @@ namespace RMYY_CallCenter_Api.Controllers
365 382
             Model.T_FaultRepair_Base newmodel = new Model.T_FaultRepair_Base();
366 383
             if (Type == 0)
367 384
             {
368
-                if (!string.IsNullOrEmpty(Maintenancer))
385
+                if (string.IsNullOrEmpty(Maintenancer))
369 386
                 {
370 387
                     return Error("请选择维修人");
371 388
                 }
@@ -438,8 +455,8 @@ namespace RMYY_CallCenter_Api.Controllers
438 455
                 newmodel.F_Content = Content;
439 456
                 newmodel.F_PlaceOfRepair = model.F_PlaceOfRepair;
440 457
 
441
-                newmodel.F_Maintenancer = Maintenancer;
442
-                newmodel.F_MaintenanceDept = model.F_MaintenanceDept;
458
+                //newmodel.F_Maintenancer = Maintenancer;
459
+                //newmodel.F_MaintenanceDept = model.F_MaintenanceDept;
443 460
        
444 461
                 newmodel.F_File = model.F_File;           
445 462
 
@@ -611,8 +628,11 @@ namespace RMYY_CallCenter_Api.Controllers
611 628
                 #region 协作工单的状态
612 629
                 if (!string.IsNullOrEmpty(dr["F_InternalWorkOrderCode"].ToString()) || !string.IsNullOrEmpty(dr["F_ExternalWorkOrderCode"].ToString()))
613 630
                 {
614
-                    List<Model.T_FaultRepair_Base> modellist = baseBll.GetModelList("F_WorkOrderCode in ('" + dr["F_InternalWorkOrderCode"].ToString() + "') or F_WorkOrderCode in('" + dr["F_ExternalWorkOrderCode"].ToString() + "')");
631
+                    List<Model.T_FaultRepair_Base> modellist = baseBll.GetModelList("F_WorkOrderCode in " +
632
+                        "(select col from [dbo].[SplitToNvarchar]('" + dr["F_InternalWorkOrderCode"].ToString() + "',',' )) or F_WorkOrderCode in(select col from [dbo].[SplitToNvarchar]('" + dr["F_ExternalWorkOrderCode"].ToString() + "',',' ) )");
615 633
 
634
+                    if (modellist.Count != 0)  
635
+                    { 
616 636
                     List<Model.T_FaultRepair_Base> modellistnew = modellist.Where(x => x.F_WorkOrderState < 3).ToList();
617 637
 
618 638
                     if (modellistnew != null && modellistnew.Count > 0)
@@ -623,13 +643,13 @@ namespace RMYY_CallCenter_Api.Controllers
623 643
                     {
624 644
                         dr["AssistanceState"] = "已完成";
625 645
                     }
626
-
646
+                    }
627 647
 
628 648
                 }
629 649
                 #endregion
630 650
 
631 651
                 #region  展示的工单状态
632
-                if (Convert.ToInt32(dr["F_WorkOrderState"]) ==(int) EnumFaultRepairWorkOrderState.receive)
652
+                if (Convert.ToInt32(dr["F_WorkOrderState"]) ==(int) EnumFaultRepairWorkOrderState.receive || Convert.ToInt32(dr["F_WorkOrderState"]) == (int)EnumFaultRepairWorkOrderState.neworder)
633 653
                 {
634 654
                     dr["StateName"] = "待接单";
635 655
                 }
@@ -647,8 +667,15 @@ namespace RMYY_CallCenter_Api.Controllers
647 667
 
648 668
                
649 669
                     var btns = new List<FaultButtonGroup.button>();
650
-                    //待查收 -查收 退回
651
-                    if (Convert.ToInt32(dr["F_WorkOrderState"]) == (int)EnumFaultRepairWorkOrderState.receive)
670
+
671
+                //创建完工单没有转派到部门的话,只有调度中心可以转派
672
+                //if (Convert.ToInt32(dr["F_WorkOrderState"]) == (int)EnumFaultRepairWorkOrderState.neworder)
673
+                //{
674
+                //    btns.Add(FaultButtonGroup.assign());
675
+                    
676
+                //}
677
+                //待查收 -查收 退回
678
+                if (Convert.ToInt32(dr["F_WorkOrderState"]) == (int)EnumFaultRepairWorkOrderState.receive)
652 679
                     {
653 680
                         btns.Add(FaultButtonGroup.check());
654 681
                         btns.Add(FaultButtonGroup.back());
@@ -659,7 +686,7 @@ namespace RMYY_CallCenter_Api.Controllers
659 686
                     if (Convert.ToInt32(dr["F_WorkOrderState"]) == (int)EnumFaultRepairWorkOrderState.dealing)
660 687
                     {
661 688
                         //没有协作
662
-                        if (!string.IsNullOrEmpty(dr["AssistanceState"].ToString()))
689
+                        if (string.IsNullOrEmpty(dr["AssistanceState"].ToString()))
663 690
                         {
664 691
                             btns.Add(FaultButtonGroup.assistance());
665 692
                             btns.Add(FaultButtonGroup.assign());
@@ -971,8 +998,12 @@ namespace RMYY_CallCenter_Api.Controllers
971 998
             if (model != null && model.F_Maintenancer == User.F_UserCode)
972 999
             {
973 1000
                 model.F_Maintenancer = ToUserCode;
974
-
1001
+                model.F_UpdateTime = DateTime.Now;
975 1002
                 AddOperatorLog("转派工单给" + ToUserCode, (int)EnumOperatorType.transfer, WorkOrderCode);
1003
+
1004
+                baseBll.Update(model);
1005
+                return Success("转派成功");
1006
+
976 1007
             }
977 1008
             return Error("暂时没有权限操作");
978 1009