田爽 1 year ago
parent
commit
8baf1e86ba

+ 3 - 2
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -1568,8 +1568,8 @@ namespace Hotline.Api.Controllers.Bi
         {
         {
 			if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
 			if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
 				throw UserFriendlyException.SameMessage("请选择时间!");
 				throw UserFriendlyException.SameMessage("请选择时间!");
-
-            var (total, items) = await _orderSpecialDetailRepository.Queryable()
+			dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
+			var (total, items) = await _orderSpecialDetailRepository.Queryable()
                 .Includes(x=>x.OrderSpecial)
                 .Includes(x=>x.OrderSpecial)
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgName), x => x.OrgName.Contains(dto.OrgName!))
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgName), x => x.OrgName.Contains(dto.OrgName!))
 				.Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
 				.Where(x => x.OrderSpecial.ESpecialType == ESpecialType.ReTransact)
@@ -1598,6 +1598,7 @@ namespace Hotline.Api.Controllers.Bi
         {
         {
 			if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
 			if (!dto.StartTime.HasValue || !dto.EndTime.HasValue)
 				throw UserFriendlyException.SameMessage("请选择时间!");
 				throw UserFriendlyException.SameMessage("请选择时间!");
+			dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
 			var (total, items) = await _orderSpecialDetailRepository.Queryable()
 			var (total, items) = await _orderSpecialDetailRepository.Queryable()
 				.Includes(x => x.OrderSpecial,s=>s.Order)
 				.Includes(x => x.OrderSpecial,s=>s.Order)
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgName),x=>x.OrgName.Contains(dto.OrgName!))
                 .WhereIF(!string.IsNullOrEmpty(dto.OrgName),x=>x.OrgName.Contains(dto.OrgName!))

+ 3 - 2
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -698,12 +698,13 @@ namespace Hotline.FlowEngine.Workflows
         public async Task<ICollection<Kv>> GetLevelOneOrgsAsync(string workflowId, CancellationToken cancellation)
         public async Task<ICollection<Kv>> GetLevelOneOrgsAsync(string workflowId, CancellationToken cancellation)
         {
         {
             var workflow = await GetWorkflowAsync(workflowId, withSteps: true, cancellationToken: cancellation);
             var workflow = await GetWorkflowAsync(workflowId, withSteps: true, cancellationToken: cancellation);
-            return workflow.Steps.Where(d => d.BusinessType == EBusinessType.Department &&
+            var list = workflow.Steps.Distinct().Where(d => d.BusinessType == EBusinessType.Department &&
                                              d.HandlerType == EHandlerType.OrgLevel &&
                                              d.HandlerType == EHandlerType.OrgLevel &&
                                              d.StepHandlers.Any(d =>
                                              d.StepHandlers.Any(d =>
                                                  !string.IsNullOrEmpty(d.OrgId) && d.OrgId.CheckIfOrgLevelIs(1)))
                                                  !string.IsNullOrEmpty(d.OrgId) && d.OrgId.CheckIfOrgLevelIs(1)))
                 .Select(d => new Kv(d.StepHandlers.First().OrgId, d.StepHandlers.First().OrgName))
                 .Select(d => new Kv(d.StepHandlers.First().OrgId, d.StepHandlers.First().OrgName))
-                .ToList();
+				.ToList();
+            return list.Where((x, i) => list.FindIndex(z => z.Key == x.Key) == i).ToList();
         }
         }
 
 
         /// <summary>
         /// <summary>