ソースを参照

Merge branch 'release' into dev

田爽 9 ヶ月 前
コミット
804c069637

+ 17 - 11
src/Hotline.Api/Controllers/CommonPController.cs

@@ -156,30 +156,36 @@ namespace Hotline.Api.Controllers
             //今日待办 tasksOkNum
             //var time = DateTime.Parse(tadayTime);
             //工单
-            var order = await _orderRepository.Queryable(hasHandled: true)
-                .GroupBy(o => new { o.Id,o.Status }).MergeTable()
+            var order = await _orderRepository.Queryable(hasHandled: false)
+	            .Includes(d => d.OrderSpecials)
+	            .Where(d => d.Status != EOrderStatus.WaitForAccept && d.Status != EOrderStatus.BackToUnAccept && d.Status != EOrderStatus.SpecialToUnAccept)
+				.Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
+	            .Where(d => d.Status != EOrderStatus.BackToProvince && d.Status < EOrderStatus.Filed)
+	            .Where(d => d.OrderSpecials.Any() == false || d.OrderSpecials.Any(s => s.State > 0))
+				.GroupBy(o => new { o.Id,o.Status })
                 .Select(o => new
                 {
                     aboutExpire = SqlFunc.AggregateSum(SqlFunc.IIF(DateTime.Now > o.NearlyExpiredTime!.Value && DateTime.Now < o.ExpiredTime!.Value,
                         1, 0)),
-                    havExpired = SqlFunc.AggregateSum(SqlFunc.IIF(DateTime.Now > o.ExpiredTime!.Value && o.Status < EOrderStatus.Filed, 1, 0)),
+                    havExpired = SqlFunc.AggregateSum(SqlFunc.IIF(DateTime.Now > o.ExpiredTime!.Value , 1, 0)),
                     countersignHandle = SqlFunc.AggregateSum(SqlFunc.IIF(o.CounterSignType.HasValue, 1, 0)),
-                }).FirstAsync();
-            var aboutExpire = order?.aboutExpire ?? 0;
-            var havExpired = order?.havExpired ?? 0;
-            var countersignHandle = order?.countersignHandle ?? 0;
+                }).ToListAsync();
+            var aboutExpire = order?.Sum(x=>x.aboutExpire) ?? 0;
+            var havExpired = order?.Sum(x=>x.havExpired) ?? 0;
+            var countersignHandle = order?.Sum(x=> x.countersignHandle) ?? 0;
             //延期
-            var delay = await _orderDelayRepository.Queryable(hasHandled: true)
+            var delay = await _orderDelayRepository.Queryable(hasHandled: false)
                 .Where(d => d.DelayState == EDelayState.Examining).CountAsync();
             //甄别
-            var screenAudit = await _orderScreenRepository.Queryable(hasHandled: true)
+            var screenAudit = await _orderScreenRepository.Queryable(hasHandled: false)
                 .Where(d => d.Status == EScreenStatus.Apply)
                 .CountAsync();
             //var workTime = _timeLimitDomainService.CalcWorkTimeReduce(DateTime.Now, 5);
             var screenHandle = await _orderVisitedDetailRepository.Queryable(false, true)
                 .Includes(x => x.OrderVisit)
-                .LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && s.Status < EScreenStatus.End && s.IsDeleted == false)
-                .Where((x, s) => s.Id == null)
+                .LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId  && s.IsDeleted == false)
+                               //&& s.Status < EScreenStatus.End
+				.Where((x, s) => s.Id == null)
                 //.Where(x => x.OrderVisit.VisitTime < DateTime.Now && x.OrderVisit.VisitTime > workTime)
                 .Where((x, s) => x.OrderVisit.VisitState == EVisitState.Visited && x.OrderVisit.IsCanHandle)
                 .Where((x, s) => x.VisitTarget == EVisitTarget.Org && x.VisitOrgCode == _sessionContext.OrgId && (

+ 7 - 31
src/Hotline.Api/Controllers/TestController.cs

@@ -326,7 +326,7 @@ IRepository<Hotspot> hotspotRepository
                         OrderSoure = EOrderSoure.Hotline,
                         OrgCode = order.OrgLevelOneCode,
                         OrgName = order.OrgLevelOneName,
-                        CreationTime= order.CreationTime
+                        CreationTime = order.CreationTime
                     };
                     await _enforcementOrdersHandlerRepository.AddAsync(enforcementOrdersHandler, HttpContext.RequestAborted);
                 }
@@ -788,7 +788,7 @@ IRepository<Hotspot> hotspotRepository
             "20240622000060",
             "20240621000144",
         };
-        
+
         var orders = await _orderRepository.Queryable()
             .Includes(d => d.OrderExtension)
             .Where(d => numbers.Contains(d.No))
@@ -923,37 +923,13 @@ IRepository<Hotspot> hotspotRepository
     [HttpGet("t5")]
     public async Task Test5()
     {
-        var traces = await _workflowTraceRepository.Queryable()
-            .Where(d => d.Status == EWorkflowStepStatus.Handled && d.HandlerOrgAreaCode == null)
-            .ToListAsync(HttpContext.RequestAborted);
-
-        var orgIds = traces.Select(d => d.HandlerOrgId).ToList();
-        var orgs = await _systemOrganizeRepository.Queryable()
-            .Where(d => orgIds.Contains(d.Id))
-            .ToListAsync(HttpContext.RequestAborted);
+        //var orderCount = await _orderRepository.Queryable()
+        //    .Where(d => d.Status >= EOrderStatus.Filed &&
+        //              d.CurrentStepId == null)
 
-        var updateSteps = new List<WorkflowTrace>();
-        foreach (var trace in traces)
-        {
-            var org = orgs.FirstOrDefault(d => d.Id == trace.HandlerOrgId);
-            if (org == null)
-            {
-                _logger.LogWarning($"未找到部门,Id:{trace.HandlerOrgId}");
-                continue;
-            }
-
-            if (!trace.HandlerOrgIsCenter.HasValue)
-                trace.HandlerOrgIsCenter = org.IsCenter;
-            if (string.IsNullOrEmpty(trace.HandlerOrgAreaCode))
-                trace.HandlerOrgAreaCode = org.AreaCode;
-            if (string.IsNullOrEmpty(trace.HandlerOrgAreaName))
-                trace.HandlerOrgAreaName = org.AreaName;
-
-            updateSteps.Add(trace);
-        }
 
-        _logger.LogWarning($"更新数据:{updateSteps.Count} 条");
-        await _workflowTraceRepository.UpdateRangeAsync(updateSteps, HttpContext.RequestAborted);
+        //_logger.LogWarning($"更新数据:{updateSteps.Count} 条");
+        //await _workflowTraceRepository.UpdateRangeAsync(updateSteps, HttpContext.RequestAborted);
     }
 
     [HttpGet("rsa")]

+ 17 - 8
src/Hotline/FlowEngine/Workflows/Workflow.cs

@@ -580,6 +580,10 @@ public partial class Workflow
 
     private void ResetActualStep()
     {
+        ActualHandleStepCode = null;
+        ActualHandleStepName = null;
+        ActualHandleStepId = null;
+        ActualHandleStepCreateTime = null;
         ActualHandleStepAcceptTime = null;
         ActualHandleTime = null;
         ActualHandlerId = null;
@@ -592,14 +596,19 @@ public partial class Workflow
 
     private void ResetCurrentStep()
     {
-        //CurrentStepAcceptTime = null;
-        //CurrentHandleTime = null;
-        //CurrentHandlerId = null;
-        //CurrentHandlerName = null;
-        //CurrentHandleOrgId = null;
-        //CurrentHandleOrgName = null;
-        //CurrentHandleOrgAreaCode = null;
-        //CurrentHandleOrgAreaName = null;
+        CurrentStepId = null;
+        CurrentStepCode = null;
+        CurrentStepName = null;
+        CurrentStepCreateTime = null;
+        CurrentStepAcceptTime = null;
+        CurrentHandleTime = null;
+        CurrentHandlerId = null;
+        CurrentHandlerName = null;
+        CurrentHandleOrgId = null;
+        CurrentHandleOrgName = null;
+        CurrentHandleOrgLevel = null;
+        CurrentHandleOrgAreaCode = null;
+        CurrentHandleOrgAreaName = null;
     }
 
     /// <summary>