瀏覽代碼

已结案工单超时时间读取

zhengbingbing 5 年之前
父節點
當前提交
ed3e984f5a

+ 169 - 4
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -238,6 +238,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
238 238
                             }
239 239
                         }
240 240
                     }
241
+                    if (state == 9)
242
+                    {
243
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
244
+                        var dttime = DateTime.Now;
245
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
246
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
247
+                        dr["LimitTime"] = lt;
248
+                        if (!string.IsNullOrWhiteSpace(lt))
249
+                        {
250
+                            var ltime = DateTime.Parse(lt);
251
+                            TimeSpan ts = ltime.Subtract(dttime);
252
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
253
+                            if (tss < 0) { tss = -tss; }
254
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
255
+                            if (ltime < dttime)
256
+                            {
257
+                                dr["OverState"] = 3;
258
+                                dr["GapTime"] = "超时" + gshsj;
259
+                            }
260
+                        }
261
+                    }
241 262
                 }
242 263
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
243 264
                 {
@@ -503,6 +524,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
503 524
                             }
504 525
                         }
505 526
                     }
527
+                    if (state == 9)
528
+                    {
529
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
530
+                        var dttime = DateTime.Now;
531
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
532
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
533
+                        dr["LimitTime"] = lt;
534
+                        if (!string.IsNullOrWhiteSpace(lt))
535
+                        {
536
+                            var ltime = DateTime.Parse(lt);
537
+                            TimeSpan ts = ltime.Subtract(dttime);
538
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
539
+                            if (tss < 0) { tss = -tss; }
540
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
541
+                            if (ltime < dttime)
542
+                            {
543
+                                dr["OverState"] = 3;
544
+                                dr["GapTime"] = "超时" + gshsj;
545
+                            }
546
+                        }
547
+                    }
506 548
                 }
507 549
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
508 550
                 {
@@ -852,6 +894,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
852 894
                             }
853 895
                         }
854 896
                     }
897
+                    if (state == 9)
898
+                    {
899
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
900
+                        var dttime = DateTime.Now;
901
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
902
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
903
+                        dr["LimitTime"] = lt;
904
+                        if (!string.IsNullOrWhiteSpace(lt))
905
+                        {
906
+                            var ltime = DateTime.Parse(lt);
907
+                            TimeSpan ts = ltime.Subtract(dttime);
908
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
909
+                            if (tss < 0) { tss = -tss; }
910
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
911
+                            if (ltime < dttime)
912
+                            {
913
+                                dr["OverState"] = 3;
914
+                                dr["GapTime"] = "超时" + gshsj;
915
+                            }
916
+                        }
917
+                    }
855 918
                 }
856 919
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
857 920
                 {
@@ -1190,9 +1253,31 @@ namespace CallCenterApi.Interface.Controllers.workorder
1190 1253
                                 }
1191 1254
 
1192 1255
                             }
1193
-                            ispd = dtjb.Rows[0]["F_IsNext"].ToString();
1194
-                            dr["PDState"] = ispd;
1256
+                            
1257
+                        }
1258
+                        if (state == 9)
1259
+                        {
1260
+                            var closetime = dr["F_DealTime"].ToString();//关闭工单时间
1261
+                            var dttime = DateTime.Now;
1262
+                            if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
1263
+                            var lt = dr["F_LimitTime"].ToString();//限制时间
1264
+                            dr["LimitTime"] = lt;
1265
+                            if (!string.IsNullOrWhiteSpace(lt))
1266
+                            {
1267
+                                var ltime = DateTime.Parse(lt);
1268
+                                TimeSpan ts = ltime.Subtract(dttime);
1269
+                                int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
1270
+                                if (tss < 0) { tss = -tss; }
1271
+                                string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
1272
+                                if (ltime < dttime)
1273
+                                {
1274
+                                    dr["OverState"] = 3;
1275
+                                    dr["GapTime"] = "超时" + gshsj;
1276
+                                }
1277
+                            }
1195 1278
                         }
1279
+                        ispd = dtjb.Rows[0]["F_IsNext"].ToString();
1280
+                        dr["PDState"] = ispd;
1196 1281
                     }
1197 1282
                 }
1198 1283
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
@@ -1456,6 +1541,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
1456 1541
                             }
1457 1542
                         }
1458 1543
                     }
1544
+                    if (state == 9)
1545
+                    {
1546
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
1547
+                        var dttime = DateTime.Now;
1548
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
1549
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
1550
+                        dr["LimitTime"] = lt;
1551
+                        if (!string.IsNullOrWhiteSpace(lt))
1552
+                        {
1553
+                            var ltime = DateTime.Parse(lt);
1554
+                            TimeSpan ts = ltime.Subtract(dttime);
1555
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
1556
+                            if (tss < 0) { tss = -tss; }
1557
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
1558
+                            if (ltime < dttime)
1559
+                            {
1560
+                                dr["OverState"] = 3;
1561
+                                dr["GapTime"] = "超时" + gshsj;
1562
+                            }
1563
+                        }
1564
+                    }
1459 1565
                 }
1460 1566
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
1461 1567
                 {
@@ -1715,6 +1821,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
1715 1821
                             }
1716 1822
                         }
1717 1823
                     }
1824
+                    if (state == 9)
1825
+                    {
1826
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
1827
+                        var dttime = DateTime.Now;
1828
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
1829
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
1830
+                        dr["LimitTime"] = lt;
1831
+                        if (!string.IsNullOrWhiteSpace(lt))
1832
+                        {
1833
+                            var ltime = DateTime.Parse(lt);
1834
+                            TimeSpan ts = ltime.Subtract(dttime);
1835
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
1836
+                            if (tss < 0) { tss = -tss; }
1837
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
1838
+                            if (ltime < dttime)
1839
+                            {
1840
+                                dr["OverState"] = 3;
1841
+                                dr["GapTime"] = "超时" + gshsj;
1842
+                            }
1843
+                        }
1844
+                    }
1718 1845
                 }
1719 1846
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
1720 1847
                 {
@@ -1966,6 +2093,25 @@ namespace CallCenterApi.Interface.Controllers.workorder
1966 2093
                                 }
1967 2094
                             }
1968 2095
                         }
2096
+                        if (state == 9)
2097
+                        {
2098
+                            var closetime = dr["F_DealTime"].ToString();//关闭工单时间
2099
+                            var dttime = DateTime.Now;
2100
+                            if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
2101
+                            if (!string.IsNullOrWhiteSpace(lt))
2102
+                            {
2103
+                                var ltime = DateTime.Parse(lt);
2104
+                                TimeSpan ts = ltime.Subtract(dttime);
2105
+                                int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
2106
+                                if (tss < 0) { tss = -tss; }
2107
+                                string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
2108
+                                if (ltime < dttime)
2109
+                                {
2110
+                                    dr["OverState"] = 3;
2111
+                                    dr["GapTime"] = "超时" + gshsj;
2112
+                                }
2113
+                            }
2114
+                        }
1969 2115
 
1970 2116
                         ispd = dtjb.Rows[0]["F_IsNext"].ToString();
1971 2117
                         dr["PDState"] = ispd;
@@ -2200,10 +2346,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
2200 2346
                 int state = Int32.Parse(dr["F_WorkState"].ToString());
2201 2347
                 if (state > 1 )
2202 2348
                 {
2349
+                    var lt = dr["F_LimitTime"].ToString();//限制时间
2350
+                    dr["LimitTime"] = lt;
2203 2351
                     if (state < 6 || state == 8)
2204 2352
                     {
2205
-                        var lt = dr["F_LimitTime"].ToString();//限制时间
2206
-                        dr["LimitTime"] = lt;
2207 2353
                         if (!string.IsNullOrWhiteSpace(lt))
2208 2354
                         {
2209 2355
                             var ltime = DateTime.Parse(lt);
@@ -2234,6 +2380,25 @@ namespace CallCenterApi.Interface.Controllers.workorder
2234 2380
                             }
2235 2381
                         }
2236 2382
                     }
2383
+                    if (state == 9)
2384
+                    {
2385
+                        var closetime = dr["F_DealTime"].ToString();//关闭工单时间
2386
+                        var dttime = DateTime.Now;
2387
+                        if (!string.IsNullOrWhiteSpace(closetime)) { dttime = DateTime.Parse(closetime); }
2388
+                        if (!string.IsNullOrWhiteSpace(lt))
2389
+                        {
2390
+                            var ltime = DateTime.Parse(lt);
2391
+                            TimeSpan ts = ltime.Subtract(dttime);
2392
+                            int tss = Int32.Parse(Math.Round(ts.TotalSeconds, 0).ToString());
2393
+                            if (tss < 0) { tss = -tss; }
2394
+                            string gshsj = DateTimeConvert.parseTimeSeconds(tss, 1);
2395
+                            if (ltime < dttime)
2396
+                            {
2397
+                                dr["OverState"] = 3;
2398
+                                dr["GapTime"] = "超时" + gshsj;
2399
+                            }
2400
+                        }
2401
+                    }
2237 2402
                 }
2238 2403
                 if (dr["F_LeaveRecordId"] != null && dr["F_LeaveRecordId"].ToString() != "")
2239 2404
                 {