1550076451 лет назад: 2
Родитель
Сommit
1496898944

+ 31 - 9
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/AffairsController.cs

@@ -2332,7 +2332,13 @@ namespace CallCenterApi.Interface.Controllers.workorder
2332 2332
                 Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
2333 2333
                 if (type == 0)
2334 2334
                 {
2335
-                    var Delay = new BLL.T_Bus_DelayTime().GetModelList("F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' and F_AssignedId=-1 and F_IsAudit=0");
2335
+                    if (User .F_RoleCode =="WLDW")
2336
+                    {
2337
+                        int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_WorkState=5 where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
2338
+                    }
2339
+                   
2340
+                    var Delay = new BLL.T_Bus_DelayTime().GetModelList("F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' " +
2341
+                        "and F_AssignedId=-1 and (F_IsAudit=0 or F_IsAudit=3)");
2336 2342
                     if (Delay != null && Delay.Count > 0)
2337 2343
                         return Error("已申请延时,请等待审核结束");
2338 2344
                 }
@@ -2361,12 +2367,17 @@ namespace CallCenterApi.Interface.Controllers.workorder
2361 2367
                         delay.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
2362 2368
                         if (type == 0)
2363 2369
                         {
2370
+                            if (User.F_RoleCode == "WLDW")
2371
+                                delay.F_IsAudit = 0;
2372
+                            else
2373
+                                delay.F_IsAudit = 3;
2364 2374
                             delay.F_AssignedId = -1;
2365 2375
                             delay.F_State = modelT_Bus_WorkOrder.F_WorkState;
2366 2376
                             delay.F_OldTime = DateTime.Parse(affairs.TFDBACKTIME_BF);
2367 2377
                         }
2368 2378
                         else
2369 2379
                         {
2380
+                          
2370 2381
                             delay.F_AssignedId = 0;
2371 2382
                             delay.F_OldTime = DateTime.Parse(affairs.TBACKTIME_BF);
2372 2383
                         }
@@ -2376,7 +2387,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
2376 2387
 
2377 2388
                         delay.F_Reason = reason;
2378 2389
                         //delay.F_State = 1;
2379
-                        delay.F_IsAudit = 0;
2390
+                      
2391
+                            
2392
+                       
2393
+
2380 2394
                         delay.F_IsDelete = 0;
2381 2395
                         //  delay.F_AssignedId = "";
2382 2396
                         delay.F_CreateUser = User.F_UserCode;
@@ -2412,7 +2426,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
2412 2426
                             {
2413 2427
                                 if (!string.IsNullOrEmpty(model.F_SubWorkorder1))
2414 2428
                                 {
2415
-                                    var modellist = workorderBLL.GetModelList("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + model.F_SubWorkorder1 + "',',' ))  and F_IsDelete =0  ");
2429
+                                    var modellist = workorderBLL.GetModelList
2430
+                                        ("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + model.F_SubWorkorder1 + "',',' )) " +
2431
+                                        " and F_IsDelete =0  ");
2416 2432
 
2417 2433
                                     if (modellist != null && modellist.Count > 0)
2418 2434
                                     {
@@ -2435,7 +2451,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
2435 2451
                                                 "F_OffDate from  T_Sys_WorkOFFDays  with(nolock) where F_OffState = 1   " +
2436 2452
                                                 "and F_OffDate>'" + newlimittime + "' order by F_OffDate").Tables[0];
2437 2453
                                             var resdatetime1 = dt1.Rows[dt1.Rows.Count - 1]["F_OffDate"].ToString();
2438
-                                            resdatetime1 = Convert.ToDateTime(resdatetime1).ToString("yyyy-MM-dd") + " " + delaynew.F_OldTime.Value.ToString("HH:mm:ss");
2454
+                                            resdatetime1 = Convert.ToDateTime(resdatetime1).ToString("yyyy-MM-dd") + " " +
2455
+                                                delaynew.F_OldTime.Value.ToString("HH:mm:ss");
2439 2456
 
2440 2457
                                             delaynew.F_NewTime = Convert.ToDateTime(resdatetime1);
2441 2458
 
@@ -2460,13 +2477,18 @@ namespace CallCenterApi.Interface.Controllers.workorder
2460 2477
                         try
2461 2478
                         {
2462 2479
 
2480
+                            if (User.F_RoleCode == "WLDW"||type !=0)
2481
+                            {
2482
+                                string jsonParam = "paras=" + paras.ToJson() + "&message=申请延时&url=http://59.227.93.14:9000/share/fwgdyqsqjk&WorkOrderId=" + modelT_Bus_WorkOrder.F_WorkOrderId;
2483
+
2484
+                                var responseString = HttpMethods.HttpPost(FrontUrl + "/Affairs/receive_Push", jsonParam);
2485
+                                bendiack jo = JsonConvert.DeserializeObject<bendiack>(responseString);
2486
+                                if (jo.state != "success")
2487
+                                    return Error("申请延时失败");
2488
+
2489
+                            }
2463 2490
 
2464
-                            string jsonParam = "paras=" + paras.ToJson() + "&message=申请延时&url=http://59.227.93.14:9000/share/fwgdyqsqjk&WorkOrderId=" + modelT_Bus_WorkOrder.F_WorkOrderId;
2465 2491
 
2466
-                            var responseString = HttpMethods.HttpPost(FrontUrl +"/Affairs/receive_Push", jsonParam);
2467
-                            bendiack jo = JsonConvert.DeserializeObject<bendiack>(responseString);
2468
-                            if (jo.state != "success")
2469
-                                return Error("申请延时失败");
2470 2492
 
2471 2493
                         }
2472 2494
                         catch

+ 363 - 90
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -6,6 +6,7 @@ using CallCenterApi.Interface.Controllers.Base;
6 6
 using CallCenterApi.Interface.Controllers.Sms;
7 7
 using CallCenterApi.Interface.Models.Common;
8 8
 using CallCenterApi.Model;
9
+using Newtonsoft.Json;
9 10
 using Newtonsoft.Json.Linq;
10 11
 using System;
11 12
 using System.Collections.Generic;
@@ -825,6 +826,17 @@ namespace CallCenterApi.Interface.Controllers.workorder
825 826
                     }
826 827
 
827 828
                 }
829
+                if (jianhang == 4)
830
+                {
831
+                    if (User.F_RoleCode == "ZXLD" || User.F_RoleCode == "YSZY"
832
+                          || User.F_RoleCode == "ZXLDGLYGLY" || User.F_RoleCode == "GLY"
833
+                          || User.F_RoleCode == "DDZG" || User.F_RoleCode == "SPZJZ"
834
+                          || User.F_RoleCode == "SPZ")
835
+                    {
836
+                        buttons.Add(ButtonGroup.ejdelay());
837
+
838
+                    }
839
+                }
828 840
                 if (isproresult == 3 && dr["F_IsProResult"].ToString() == "3" && strstate == "6")
829 841
                 {
830 842
                     buttons.Add(ButtonGroup.PassResult());
@@ -2284,16 +2296,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
2284 2296
                     sql += " and F_DealTime<='" + dealstrendtime + "' ";
2285 2297
                 }
2286 2298
             }
2287
-            int jianhang = RequestString.GetInt("jianhang", -1);//省平台工单
2288
-            if (jianhang == 4)
2289
-            {
2290
-                sql += " and F_InfoSource = '2580'";
2291
-            }
2292
-            else
2299
+            if (strtab!="2")
2293 2300
             {
2294
-                if (strtab !="5")
2295
-                sql += " and F_InfoSource != '2580'";
2301
+                int jianhang = RequestString.GetInt("jianhang", -1);//省平台工单
2302
+                if (jianhang == 4)
2303
+                {
2304
+                    sql += " and F_InfoSource = '2580'";
2305
+                }
2306
+                else
2307
+                {
2308
+                    if (strtab != "5")
2309
+                        sql += " and F_InfoSource != '2580'";
2310
+                }
2296 2311
             }
2312
+        
2297 2313
             switch (strtab)
2298 2314
             {
2299 2315
                 case "-1"://待处理工单(其他来源)
@@ -4024,6 +4040,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
4024 4040
                         sql += "  and F_WorkOrderID in(select F_WorkOrderID from T_Bus_AssignedInfo WITH(NOLOCK) where F_State=1 and F_IsDelete=0 ";
4025 4041
                         sql += " and F_CreateUser='" + User.F_UserCode + "')";
4026 4042
                     }
4043
+                    sql += " and F_WorkOrderID in(select F_WorkOrderID from T_Bus_DelayTime WITH(NOLOCK) where F_IsAudit=0)";
4027 4044
 
4028 4045
                     break;
4029 4046
                 case "8"://退回审核中的工单 
@@ -15909,7 +15926,37 @@ namespace CallCenterApi.Interface.Controllers.workorder
15909 15926
                 return Error("权限不足");
15910 15927
             }
15911 15928
         }
15912
-
15929
+        public class bendiack
15930
+        {
15931
+            public string state;
15932
+            public string message;
15933
+        }
15934
+        public class receive_case_delay_apply
15935
+        {/// <summary>
15936
+         /// 任务单唯一标识
15937
+         /// </summary>
15938
+            public string TROWGUID { set; get; }
15939
+            /// <summary>
15940
+            /// 申请人姓名
15941
+            /// </summary>
15942
+            public string APPLY_NAME { set; get; }
15943
+            /// <summary>
15944
+            /// 申请延期天数
15945
+            /// </summary>
15946
+            public int APPLY_DELAYNUM { set; get; }
15947
+            /// <summary>
15948
+            /// 申请延期原因
15949
+            /// </summary>
15950
+            public string APPLY_REASON { set; get; }
15951
+            /// <summary>
15952
+            /// 申请延期类型
15953
+            /// 代码项名称	
15954
+            /// 办结延时	10	
15955
+            ///  退回延时	20	
15956
+            /// </summary>
15957
+            public string APPLY_TYPE { set; get; }
15958
+        }
15959
+        private BLL.T_Sys_Affairs affairsBll = new BLL.T_Sys_Affairs();
15913 15960
         /// <summary>
15914 15961
         /// 审核延时工单
15915 15962
         /// </summary>
@@ -15941,11 +15988,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
15941 15988
                             {
15942 15989
                                 workstate = modelT_Bus_DelayTime.F_State.Value;
15943 15990
                             }
15944
-
15945
-
15946
-
15947
-
15948
-                            int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_WorkState=" + workstate + ",F_LimitTime='" + newlimittime + "'   where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
15991
+                           
15949 15992
                             #endregion
15950 15993
 
15951 15994
                             #region 保存审核信息
@@ -15954,55 +15997,168 @@ namespace CallCenterApi.Interface.Controllers.workorder
15954 15997
                             modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
15955 15998
                             modelT_Bus_DelayTime.F_RefuseReason = reason;
15956 15999
                             modelT_Bus_DelayTime.F_AgreeTime = newlimittime;
15957
-                            new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
16000
+                           
15958 16001
                             #endregion
15959 16002
                             string type = "同意"; string des = "";
15960 16003
                             if (modelT_Bus_DelayTime.F_IsAudit == 1)
15961 16004
                             {
15962
-                                #region 修改交办记录
15963
-                                modelT_Bus_AssignedInfo.F_IsSure = 1;
15964
-                                modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
15965
-                                assignBLL.Update(modelT_Bus_AssignedInfo);
15966
-                                if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16005
+                              
16006
+
16007
+                                if (modelT_Bus_WorkOrder.F_InfoSource == 2580)
15967 16008
                                 {
15968
-                                    TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
15969
-                                    int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
15970
-                                    modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
15971
-                                         modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
15972
-                                         .AddHours(tss);
15973
-                                    new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16009
+                                    modelT_Bus_DelayTime.F_IsAudit = 3;
16010
+                                    string workordercode = modelT_Bus_WorkOrder.F_WorkOrderId;
16011
+                                    if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_MainWorkorder1))
16012
+                                    {
16013
+                                        workordercode = modelT_Bus_WorkOrder.F_MainWorkorder1;
16014
+                                    }
16015
+                                    var affairs = affairsBll.GetModel(workordercode);
16016
+                                    if (affairs != null)
16017
+                                    {
16018
+                                        
16019
+                                        var day = int.Parse
16020
+                                          (DbHelperSQL.GetSingle(" select count(1) from " +
16021
+                                          "T_Sys_WorkOFFDays  where F_OffState = 1  and  " +
16022
+                                          $" F_OffDate > '{modelT_Bus_DelayTime.F_OldTime.Value.ToString("yyyy-MM-dd")}' " +
16023
+                                          $"and F_OffDate <= '{newlimittime.ToString("yyyy-MM-dd")}'  ").ToString());
16024
+                                        receive_case_delay_apply paras = new receive_case_delay_apply();
16025
+                                        paras.TROWGUID = affairs.TROWGUID;
16026
+                                        paras.APPLY_NAME = User.F_UserName;
16027
+                                        paras.APPLY_DELAYNUM = day;
16028
+                                        paras.APPLY_TYPE = "10";
16029
+                                        if (!string.IsNullOrEmpty(modelT_Bus_DelayTime.F_Reason))
16030
+                                            paras.APPLY_REASON = modelT_Bus_DelayTime.F_Reason;
16031
+                                        else
16032
+                                            paras.APPLY_REASON = reason;
16033
+                                        int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_WorkState=" + 
16034
+                                            workstate + "  where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
16035
+                                        try
16036
+                                        {
16037
+
16038
+                                            string jsonParam = "paras=" + paras.ToJson() + 
16039
+                                                "&message=申请延时&url=http://59.227.93.14:9000/share/fwgdyqsqjk&WorkOrderId=" +
16040
+                                                modelT_Bus_WorkOrder.F_WorkOrderId;
16041
+
16042
+                                            var responseString = HttpMethods.HttpPost(FrontUrl + "/Affairs/receive_Push", jsonParam);
16043
+                                            bendiack jo = JsonConvert.DeserializeObject<bendiack>(responseString);
16044
+                                            if (jo.state != "success")
16045
+                                                return Error(jo.message );
16046
+
16047
+                                        }
16048
+                                        catch
16049
+                                        {
16050
+                                            return Error("推送省平台延时审核失败");
16051
+                                        }
16052
+                                        des = ",推送省平台延时审核";
16053
+                                    }
16054
+                                    else
16055
+                                    {
16056
+                                       
16057
+
16058
+                                        #region 修改交办记录
16059
+
16060
+                                        modelT_Bus_AssignedInfo.F_IsSure = 1;
16061
+                                        modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16062
+                                        assignBLL.Update(modelT_Bus_AssignedInfo);
16063
+                                        if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16064
+                                        {
16065
+                                            TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
16066
+                                            int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16067
+                                            modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16068
+                                                 modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16069
+                                                 .AddHours(tss);
16070
+                                            new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16071
+
16072
+                                        }
16073
+                                        int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_WorkState=" +
16074
+                                            workstate + ",F_LimitTime='" + newlimittime + "'   where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
16075
+                                        #endregion
16076
+                                        #region 处理协办单位
16077
+                                        #endregion
16078
+                                        des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16079
+                                    }
15974 16080
 
15975 16081
                                 }
15976
-                                #endregion
15977
-                                #region 处理协办单位
15978
-                                #endregion
15979
-                                des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16082
+                                else
16083
+                                {
16084
+                                    #region 保存审核信息
16085
+
16086
+                                    #endregion
16087
+                                    #region 修改交办记录
16088
+
16089
+                                    modelT_Bus_AssignedInfo.F_IsSure = 1;
16090
+                                    modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16091
+                                    assignBLL.Update(modelT_Bus_AssignedInfo);
16092
+                                    if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16093
+                                    {
16094
+                                        TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
16095
+                                        int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16096
+                                        modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16097
+                                             modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16098
+                                             .AddHours(tss);
16099
+                                        new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16100
+
16101
+                                    }
16102
+                                    int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_WorkState=" + workstate + ",F_LimitTime='" + newlimittime + "'   where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
16103
+                                    #endregion
16104
+                                    #region 处理协办单位
16105
+                                    #endregion
16106
+                                    des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16107
+                                }
16108
+
16109
+
16110
+
16111
+
16112
+
16113
+
16114
+                           
15980 16115
                             }
15981 16116
                             else
15982 16117
                             {
15983
-                                TimeSpan ts = DateTime.Now.Subtract(modelT_Bus_DelayTime.F_CreateTime.Value);
15984
-                                int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
15985
-                                Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
15986
-                                modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
15987
-                                     .Value.AddHours(tss);
15988
-                              keyValuePairs.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
15989
-                              
15990
-                                // modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
15991
-                                //  .Value.AddHours(tss);
15992
-                                workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
15993
-                                modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
15994
-                                if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16118
+                              if(modelT_Bus_WorkOrder.F_InfoSource ==2580)
15995 16119
                                 {
15996
-                                    modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
15997
-                                         modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
15998
-                                         .AddHours(tss);
15999
-                                    new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16120
+                                  
16121
+                                    Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16122
+                                  
16123
+                                    keyValuePairs.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
16124
+                                    keyValuePairs.Add("F_WorkState", workstate);
16125
+
16126
+                                    workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16127
+
16128
+                                  
16129
+                                    modelT_Bus_AssignedInfo.F_IsSure = 5;
16130
+                                    assignBLL.Update(modelT_Bus_AssignedInfo);
16000 16131
                                 }
16001
-                                modelT_Bus_AssignedInfo.F_IsSure = 5;
16002
-                                assignBLL.Update(modelT_Bus_AssignedInfo);
16132
+                               else
16133
+                                {
16134
+                                    TimeSpan ts = DateTime.Now.Subtract(modelT_Bus_DelayTime.F_CreateTime.Value);
16135
+                                    int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16136
+                                    Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16137
+                                    modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
16138
+                                         .Value.AddHours(tss);
16139
+                                    keyValuePairs.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
16140
+
16141
+                                    // modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
16142
+                                    //  .Value.AddHours(tss);
16143
+                                    workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16144
+                                    modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
16145
+                                    if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16146
+                                    {
16147
+                                        modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16148
+                                             modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16149
+                                             .AddHours(tss);
16150
+                                        new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16151
+                                    }
16152
+                                    modelT_Bus_AssignedInfo.F_IsSure = 5;
16153
+                                    assignBLL.Update(modelT_Bus_AssignedInfo);
16154
+
16155
+                                }
16156
+
16157
+
16158
+
16003 16159
                                 type = "拒绝";
16004 16160
                             }
16005
-
16161
+                            new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
16006 16162
                             #region 插入操作记录
16007 16163
                             Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
16008 16164
                             oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
@@ -16078,12 +16234,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
16078 16234
                                     if (modelT_Bus_DelayTime.F_State != null && modelT_Bus_DelayTime.F_State != 1)
16079 16235
                                         workstate = modelT_Bus_DelayTime.F_State.Value;
16080 16236
 
16081
-                                    Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16082
-                                    keyValuePairs.Add("F_WorkState", workstate);
16083
-                                    //  modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
16084
-                                    keyValuePairs.Add("F_LimitTime", modelT_Bus_DelayTime.F_NewTime);
16085
-                                    //  modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_DelayTime.F_NewTime;
16086
-                                    workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16237
+                                   
16087 16238
                                     #endregion
16088 16239
 
16089 16240
                                     #region 保存审核信息
@@ -16093,62 +16244,184 @@ namespace CallCenterApi.Interface.Controllers.workorder
16093 16244
 
16094 16245
                                     modelT_Bus_DelayTime.F_RefuseReason = reason;
16095 16246
                                     modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
16096
-                                    new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
16247
+                                   
16097 16248
                                     #endregion
16098 16249
                                     string type = "同意"; string des = "";
16099 16250
                                     if (modelT_Bus_DelayTime.F_IsAudit == 1)
16100 16251
                                     {
16101 16252
                                         #region 修改交办记录
16102 16253
 
16103
-                                        modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16104
-                                        assignBLL.Update(modelT_Bus_AssignedInfo);
16105
-                                        if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16254
+
16255
+                                        if (modelT_Bus_WorkOrder.F_InfoSource == 2580)
16106 16256
                                         {
16107
-                                            TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
16108
-                                            int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16109
-                                            modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16110
-                                                 modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16111
-                                                 .AddHours(tss);
16112
-                                            new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16257
+                                            modelT_Bus_DelayTime.F_IsAudit = 3;
16258
+                                            string workordercode = modelT_Bus_WorkOrder.F_WorkOrderId;
16259
+                                            if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_MainWorkorder1))
16260
+                                            {
16261
+                                                workordercode = modelT_Bus_WorkOrder.F_MainWorkorder1;
16262
+                                            }
16263
+                                            var affairs = affairsBll.GetModel(workordercode);
16264
+                                            if (affairs != null)
16265
+                                            {
16266
+                                                modelT_Bus_DelayTime.F_IsAudit = 3;
16267
+                                                var day = int.Parse
16268
+                                                  (DbHelperSQL.GetSingle(" select count(1) from " +
16269
+                                                  "T_Sys_WorkOFFDays  where F_OffState = 1  and  " +
16270
+                                                  $" F_OffDate > '{modelT_Bus_DelayTime.F_OldTime.Value.ToString("yyyy-MM-dd")}' " +
16271
+                                                  $"and F_OffDate <= '{modelT_Bus_DelayTime.F_NewTime.Value .ToString("yyyy-MM-dd")}'  ").ToString());
16272
+                                                receive_case_delay_apply paras = new receive_case_delay_apply();
16273
+                                                paras.TROWGUID = affairs.TROWGUID;
16274
+                                                paras.APPLY_NAME = User.F_UserName;
16275
+                                                paras.APPLY_DELAYNUM = day;
16276
+                                                paras.APPLY_TYPE = "10";
16277
+                                                if (!string.IsNullOrEmpty(modelT_Bus_DelayTime.F_Reason))
16278
+                                                    paras.APPLY_REASON = modelT_Bus_DelayTime.F_Reason;
16279
+                                                else
16280
+                                                    paras.APPLY_REASON = reason;
16281
+                                                Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16282
+                                                keyValuePairs.Add("F_WorkState", workstate);
16283
+                                              
16284
+                                                workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16285
+                                                try
16286
+                                                {
16287
+
16288
+                                                    string jsonParam = "paras=" + paras.ToJson() +
16289
+                                                        "&message=申请延时&url=http://59.227.93.14:9000/share/fwgdyqsqjk&WorkOrderId=" +
16290
+                                                        modelT_Bus_WorkOrder.F_WorkOrderId;
16291
+
16292
+                                                    var responseString = HttpMethods.HttpPost(FrontUrl + "/Affairs/receive_Push", jsonParam);
16293
+                                                    bendiack jo = JsonConvert.DeserializeObject<bendiack>(responseString);
16294
+                                                    if (jo.state != "success")
16295
+                                                        return Error(jo.message);
16296
+
16297
+                                                }
16298
+                                                catch
16299
+                                                {
16300
+                                                    return Error("推送省平台延时审核失败");
16301
+                                                }
16302
+                                                des = ",推送省平台延时审核";
16303
+                                            }
16304
+                                            else
16305
+                                            {
16306
+                                                Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16307
+                                                keyValuePairs.Add("F_WorkState", workstate);
16308
+                                                //  modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
16309
+                                                keyValuePairs.Add("F_LimitTime", modelT_Bus_DelayTime.F_NewTime);
16310
+                                                //  modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_DelayTime.F_NewTime;
16311
+                                                workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16312
+                                                modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16313
+                                                assignBLL.Update(modelT_Bus_AssignedInfo);
16314
+                                                if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16315
+                                                {
16316
+                                                    TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
16317
+                                                    int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16318
+                                                    modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16319
+                                                         modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16320
+                                                         .AddHours(tss);
16321
+                                                    new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16322
+
16323
+                                                }
16324
+
16325
+                                                #endregion
16326
+                                                #region 处理协办单位
16327
+                                                var xblist = assignItemBLL.GetModelList(" F_IsDelete=0 and F_State=1 and  ISNULL(F_FeedbackTime, '')='' and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
16328
+                                                foreach (var xb in xblist)
16329
+                                                {
16330
+                                                    //xb.F_LimitTime = DateTime.Now;
16331
+                                                    xb.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16332
+
16333
+                                                    assignItemBLL.Update(xb);
16334
+                                                }
16335
+                                                #endregion
16336
+                                                des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16337
+                                            }
16113 16338
 
16114 16339
                                         }
16115
-                                        #endregion
16116
-                                        #region 处理协办单位
16117
-                                        var xblist = assignItemBLL.GetModelList(" F_IsDelete=0 and F_State=1 and  ISNULL(F_FeedbackTime, '')='' and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
16118
-                                        foreach (var xb in xblist)
16340
+                                        else
16119 16341
                                         {
16120
-                                            //xb.F_LimitTime = DateTime.Now;
16121
-                                            xb.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16342
+                                            Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
16343
+                                            keyValuePairs.Add("F_WorkState", workstate);
16344
+                                            //  modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
16345
+                                            keyValuePairs.Add("F_LimitTime", modelT_Bus_DelayTime.F_NewTime);
16346
+                                            //  modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_DelayTime.F_NewTime;
16347
+                                            workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
16348
+                                            modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16349
+                                            assignBLL.Update(modelT_Bus_AssignedInfo);
16350
+                                            if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16351
+                                            {
16352
+                                                TimeSpan ts = modelT_Bus_DelayTime.F_AgreeTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
16353
+                                                int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16354
+                                                modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16355
+                                                     modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16356
+                                                     .AddHours(tss);
16357
+                                                new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16358
+
16359
+                                            }
16360
+
16361
+                                            #region 处理协办单位
16362
+                                            var xblist = assignItemBLL.GetModelList(" F_IsDelete=0 and F_State=1 and  ISNULL(F_FeedbackTime, '')='' and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "'");
16363
+                                            foreach (var xb in xblist)
16364
+                                            {
16365
+                                                //xb.F_LimitTime = DateTime.Now;
16366
+                                                xb.F_LimitTime = modelT_Bus_DelayTime.F_AgreeTime;
16122 16367
 
16123
-                                            assignItemBLL.Update(xb);
16368
+                                                assignItemBLL.Update(xb);
16369
+                                            }
16370
+                                            #endregion
16371
+                                            des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16124 16372
                                         }
16125
-                                        #endregion
16126
-                                        des = ",原定时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_AgreeTime;
16373
+
16374
+
16375
+
16376
+                                      
16127 16377
                                     }
16128 16378
                                     else
16129 16379
                                     {
16130
-                                        TimeSpan ts = DateTime.Now.Subtract(modelT_Bus_DelayTime.F_CreateTime.Value);
16131
-                                        int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16132
-                                        Dictionary<string, object> keyValuePairs1 = new Dictionary<string, object>();
16133
-                                        keyValuePairs1.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
16134
-                                        modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
16135
-                                            .Value.AddHours(tss);
16136
-                                        workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs1);
16137
-                                        modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
16138
-                                        if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16380
+                                        if (modelT_Bus_WorkOrder.F_InfoSource == 2580)
16139 16381
                                         {
16140
-                                            modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16141
-                                                 modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16142
-                                                 .AddHours(tss);
16143
-                                            new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16382
+
16383
+                                            Dictionary<string, object> keyValuePairs1 = new Dictionary<string, object>();
16384
+
16385
+                                            keyValuePairs1.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
16386
+                                            keyValuePairs1.Add("F_WorkState", workstate);
16387
+
16388
+                                            workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs1);
16389
+
16390
+
16391
+                                            modelT_Bus_AssignedInfo.F_IsSure = 5;
16392
+                                            assignBLL.Update(modelT_Bus_AssignedInfo);
16393
+                                        }
16394
+                                        else
16395
+                                        {
16396
+
16397
+                                            TimeSpan ts = DateTime.Now.Subtract(modelT_Bus_DelayTime.F_CreateTime.Value);
16398
+                                            int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
16399
+                                            Dictionary<string, object> keyValuePairs1 = new Dictionary<string, object>();
16400
+                                            keyValuePairs1.Add("F_WorkState", workstate);
16401
+                                            keyValuePairs1.Add("F_LimitTime", modelT_Bus_WorkOrder.F_LimitTime);
16402
+                                            modelT_Bus_WorkOrder.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime
16403
+                                                .Value.AddHours(tss);
16404
+                                            workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs1);
16405
+                                            modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
16406
+                                            if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
16407
+                                            {
16408
+                                                modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
16409
+                                                     modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
16410
+                                                     .AddHours(tss);
16411
+                                                new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
16412
+                                            }
16413
+                                            modelT_Bus_AssignedInfo.F_IsSure = 5;
16414
+                                            assignBLL.Update(modelT_Bus_AssignedInfo);
16144 16415
                                         }
16145
-                                        modelT_Bus_AssignedInfo.F_IsSure = 5;
16146
-                                        assignBLL.Update(modelT_Bus_AssignedInfo);
16416
+
16417
+
16418
+
16419
+
16147 16420
 
16148 16421
 
16149 16422
                                         type = "拒绝";
16150 16423
                                     }
16151
-
16424
+                                    new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
16152 16425
                                     #region 插入操作记录
16153 16426
                                     Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
16154 16427
                                     oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;