Ver Fonte

Merge branch 'master' of http://git.12345lm.cn/Fengwo/hotline

TANG JIANG há 1 ano atrás
pai
commit
1972694363

+ 10 - 17
src/Hotline.Api/Controllers/OrderController.cs

@@ -1339,7 +1339,10 @@ public class OrderController : BaseController
     [HttpGet("screen")]
     public async Task<PagedDto<OrderScreenListDto>> ScreenList([FromQuery] ScreenListDto dto)
     {
-        var query = _orderScreenRepository.Queryable(viewFilter: false)
+        var view = dto.source == 1;
+        var handler = dto.source == 1;
+
+		var query = _orderScreenRepository.Queryable(viewFilter: view, handlerFilter: handler)
             .Includes(x => x.Order)
             .Includes(x => x.VisitDetail)
             .Includes(x => x.Visit, d => d.Order)
@@ -1348,21 +1351,11 @@ public class OrderController : BaseController
                 x => x.Visit.Order.Title.Contains(dto.Keyword!) || x.Visit.Order.No.Contains(dto.Keyword!));
         if (dto.Status is EScreenStatus.Apply)
         {
-            query.Where(x => (x.Status == EScreenStatus.Apply || x.Status == EScreenStatus.Approval)
-                            && ((SqlFunc.JsonArrayLength(x.Workflow.HandlerUsers) > 0
-                            && SqlFunc.JsonListObjectAny(x.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId))
-                            || (SqlFunc.JsonArrayLength(x.Workflow.HandlerUsers) == 0
-                            && SqlFunc.JsonListObjectAny(x.Workflow.HandlerOrgs, "Key",
-                                _sessionContext.RequiredOrgId))));
+            query.Where(x => (x.Status == EScreenStatus.Apply || x.Status == EScreenStatus.Approval));
         }
         if (dto.Status.HasValue && dto.Status == EScreenStatus.MyHandle)
         {
-            query.Where(x => (x.Status != EScreenStatus.Apply)
-                              && ((SqlFunc.JsonArrayLength(x.Workflow.HandlerUsers) > 0
-                                   && SqlFunc.JsonListObjectAny(x.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId))
-                                  || (SqlFunc.JsonArrayLength(x.Workflow.HandlerUsers) == 0
-                                      && SqlFunc.JsonListObjectAny(x.Workflow.HandlerOrgs, "Key",
-                                          _sessionContext.RequiredOrgId))));
+            query.Where(x => (x.Status != EScreenStatus.Apply));
         }
         var (total, items) = await query
             //.WhereIF(dto.Status.HasValue && dto.Status == EScreenStatus.MyHandle,
@@ -1376,10 +1369,10 @@ public class OrderController : BaseController
     }
 
 
-    /// <summary>
-    /// 开始工单甄别流程
-    /// </summary>
-    [Permission(EPermission.ApplyScreen)]
+	/// <summary>
+	/// 开始工单甄别流程
+	/// </summary>
+	[Permission(EPermission.ApplyScreen)]
     [HttpPost("screen/startflow")]
     [LogFilter("开始工单甄别流程")]
     public async Task StartFlow([FromBody] ScreenStartFlowDto dto)

+ 7 - 1
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -422,9 +422,15 @@ namespace Hotline.Share.Dtos.Order
 	    public DateTime? CreationTimeEnd { get; set; }
 
         public string? OrderId { get; set; }
+
+        /// <summary>
+        /// 甄别查询来源  1 甄别待办  2 甄别列表
+        /// </summary>
+        public int source { get; set; }
+
 	}
 
-    public record MayScreenListDto : PagedKeywordRequest
+	public record MayScreenListDto : PagedKeywordRequest
     {
 	    /// <summary>
 	    /// 部门编号

+ 4 - 4
src/XF.Domain.Repository/Entity.cs

@@ -157,13 +157,13 @@ public abstract class WorkflowEntity : FullStateEntity, IWorkflow
     /// 办理人id
     /// </summary>
     [SugarColumn(ColumnDataType = "json", IsJson = true)]
-    public List<HandlerGroupItem> HandlerUsers { get; set; } = new();
+    public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
 
     /// <summary>
     /// 办理部门id
     /// </summary>
     [SugarColumn(ColumnDataType = "json", IsJson = true)]
-    public List<HandlerGroupItem> HandlerOrgs { get; set; } = new();
+    public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
 
     #endregion
 
@@ -333,13 +333,13 @@ public abstract class PositionWorkflowEntity : PositionEntity, IWorkflow
     /// 办理人id
     /// </summary>
     [SugarColumn(ColumnDataType = "json", IsJson = true)]
-    public List<HandlerGroupItem> HandlerUsers { get; set; } = new();
+    public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
 
     /// <summary>
     /// 办理部门id
     /// </summary>
     [SugarColumn(ColumnDataType = "json", IsJson = true)]
-    public List<HandlerGroupItem> HandlerOrgs { get; set; } = new();
+    public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
 
     #endregion