Browse Source

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

xf 1 year ago
parent
commit
cce3ecbf98

+ 2 - 2
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -483,7 +483,7 @@ namespace Hotline.Api.Controllers
 				.WhereIF(pagedDto.Status.HasValue && pagedDto.Status == EKnowledgeStatus.OffShelf, x => x.Status == pagedDto.Status || (x.ExpiredTime != null && x.ExpiredTime < DateTime.Now && x.Status != EKnowledgeStatus.Drafts))
 				.WhereIF(pagedDto.IsPublic.HasValue, x => x.IsPublic == pagedDto.IsPublic)
 				.WhereIF(!string.IsNullOrEmpty(pagedDto.Summary), x => x.Summary != null && x.Summary.Contains(pagedDto.Summary!))
-				.WhereIF(!string.IsNullOrEmpty(typeSpliceName), x => SqlFunc.JsonListObjectAny(x.KnowledgeType, "Value", typeSpliceName))
+				.WhereIF(!string.IsNullOrEmpty(typeSpliceName), x => SqlFunc.JsonLike(x.KnowledgeType, typeSpliceName))
 				.WhereIF(!string.IsNullOrEmpty(hotspotHotSpotFullName), x => x.HotspotType.HotSpotFullName.EndsWith(hotspotHotSpotFullName!))
 				.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgId), x =>  x.CreatorOrgId != null && x.CreatorOrgId.EndsWith(pagedDto.CreateOrgId!))
 				.OrderByDescending(d => d.CreationTime)
@@ -524,7 +524,7 @@ namespace Hotline.Api.Controllers
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Title && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!))
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Content && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Content.Contains(pagedDto.Keyword!))
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Summary && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Summary != null && d.Summary.Contains(pagedDto.Keyword!))
-				.WhereIF(!string.IsNullOrEmpty(typeSpliceName), x => SqlFunc.JsonListObjectAny(x.KnowledgeType, "Value", typeSpliceName))
+				.WhereIF(!string.IsNullOrEmpty(typeSpliceName), x => SqlFunc.JsonLike(x.KnowledgeType, typeSpliceName))
 				.WhereIF(!string.IsNullOrEmpty(hotspotHotSpotFullName), x => x.HotspotType.HotSpotFullName.EndsWith(hotspotHotSpotFullName!))
 				.WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotName), x => x.HotspotType.HotSpotFullName.EndsWith(pagedDto.HotspotName!))
 				.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgId), x => x.CreatorOrgId != null && x.CreatorOrgId.EndsWith(pagedDto.CreateOrgId!))

+ 7 - 2
src/Hotline.Api/Controllers/OrderController.cs

@@ -44,6 +44,7 @@ using Hotline.Api.Filter;
 using Hotline.Push.Notifies;
 using Hotline.Users;
 using MongoDB.Driver;
+using System.Threading;
 
 namespace Hotline.Api.Controllers;
 
@@ -1239,7 +1240,7 @@ public class OrderController : BaseController
     [HttpGet("delay")]
     public async Task<PagedDto<OrderDelayDto>> DelayList([FromQuery] DelayListDto dto)
     {
-        var (total, items) = await _orderDelayRepository.Queryable(viewFilter: false)
+        var (total, items) = await _orderDelayRepository.Queryable(permissionVerify:true)
             .Includes(x => x.Order)
             .Includes(x => x.Workflow)
             .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
@@ -2009,7 +2010,7 @@ public class OrderController : BaseController
     [HttpGet]
     public async Task<PagedDto<OrderDto>> Query([FromQuery] QueryOrderDto dto)
     {
-        var (total, items) = await _orderRepository.Queryable()
+        var (total, items) = await _orderRepository.Queryable(permissionVerify:true)
             .Includes(x=>x.OrderScreens)
             .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!)) //标题
             .WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), d=> d.ProvinceNo.Contains(dto.ProvinceNo)) //省本地编号
@@ -2411,6 +2412,8 @@ public class OrderController : BaseController
     [HttpGet("base-data")]
     public async Task<object> BaseData()
     {
+        var wfModule = await _workflowApplication.GetWorkflowModuleAsync(WorkflowModuleConsts.OrderHandle, HttpContext.RequestAborted);
+        var definition = wfModule.Definition;
         var rsp = new
         {
             AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType),
@@ -2419,6 +2422,8 @@ public class OrderController : BaseController
             EmergencyLevelOptions = EnumExts.GetDescriptions<EEmergencyLevel>(),
             PushTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.PushType),
             OrderStatusOptions = EnumExts.GetDescriptions<EOrderStatus>(),
+            CurrentStepOptions = definition?.Steps.Select(x=>new Kv(x.Code,x.Name)),
+            IdentityTypeOptions = EnumExts.GetDescriptions<EIdentityType>()
         };
         return rsp;
     }

+ 11 - 0
src/Hotline.Application/FlowEngine/IWorkflowApplication.cs

@@ -1,4 +1,5 @@
 using Hotline.FlowEngine.Definitions;
+using Hotline.FlowEngine.WorkflowModules;
 using Hotline.FlowEngine.Workflows;
 using Hotline.Orders;
 using Hotline.Share.Dtos;
@@ -13,6 +14,8 @@ namespace Hotline.Application.FlowEngine
 {
     public interface IWorkflowApplication
     {
+        
+
         /// <summary>
         /// 开始流程
         /// </summary>
@@ -102,5 +105,13 @@ namespace Hotline.Application.FlowEngine
         /// 否决
         /// </summary>
         Task RejectAsync(RejectDto dto, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// 获取流程模板信息
+        /// </summary>
+        /// <param name="code"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task<WorkflowModule> GetWorkflowModuleAsync(string code, CancellationToken cancellationToken);
     }
 }

+ 1 - 1
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -1220,7 +1220,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
     /// <param name="cancellationToken"></param>
     /// <returns></returns>
     /// <exception cref="UserFriendlyException"></exception>
-    private async Task<WorkflowModule> GetWorkflowModuleAsync(string code, CancellationToken cancellationToken)
+    public async Task<WorkflowModule> GetWorkflowModuleAsync(string code, CancellationToken cancellationToken)
     {
         var wfModule = await _wfModuleCacheManager.GetWorkflowModuleAsync(code, cancellationToken);
         if (wfModule == null)

+ 19 - 0
src/Hotline.Share/Dtos/Kvs.cs

@@ -0,0 +1,19 @@
+namespace Hotline.Share.Dtos;
+
+public class Kvs
+{
+	public Kvs()
+	{
+	}
+
+	public Kvs(string key, string value,string splice)
+	{
+		Key = key;
+		Value = value;
+		Splice = splice;
+	}
+
+	public string Key { get; set; }
+	public string Value { get; set; }
+	public string Splice { get; set; }
+}

+ 1 - 1
src/Hotline/KnowledgeBase/Knowledge.cs

@@ -27,7 +27,7 @@ public class Knowledge : WorkflowEntity//   WorkflowEntity  FullStateEntity
 	///// 知识分类
 	///// </summary>
 	[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "知识分类")]
-	public List<Kv>? KnowledgeType { get; set; }
+	public List<Kvs>? KnowledgeType { get; set; }
 
 	/// <summary>
 	/// 热点