瀏覽代碼

需求变动处理

田爽 1 年之前
父節點
當前提交
91138cfcde

+ 23 - 22
src/Hotline.Api/Controllers/OrderController.cs

@@ -1622,8 +1622,6 @@ public class OrderController : BaseController
             List<RepeatableEventDetail> repeatables = _mapper.Map<List<RepeatableEventDetail>>(dto.RepeatableEventDetails);
             await _repeatableEventDetailRepository.AddRangeAsync(repeatables, HttpContext.RequestAborted);
         }
-        //写入质检
-        if (!string.IsNullOrEmpty(orderId)) await _qualityRepository.AddQualityAsync(EQualitySource.Accepted, orderId, HttpContext.RequestAborted);
         //内容分词
         await _orderRepository.OrderParticiple(dto.Content, orderId, HttpContext.RequestAborted);
         return orderId;
@@ -1991,6 +1989,9 @@ public class OrderController : BaseController
 		sendBack.Result = dto.Result;
 		sendBack.Reason = dto.Reason;
 		await _orderSendBackRepository.UpdateAsync(sendBack, HttpContext.RequestAborted);
+		var order = await _orderRepository.GetAsync(sendBack.OrderId, HttpContext.RequestAborted);
+		order.Status = EOrderStatus.WaitForAccept;
+		await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
 	}
 
 	/// <summary>
@@ -2542,16 +2543,16 @@ public class OrderController : BaseController
         return await _orderRepository.GetAboutToExpireAsync(dto, HttpContext.RequestAborted);
     }
 
-    /// <summary>
-    /// 工单即将超期节点列表
-    /// </summary>
-    /// <param name="dto"></param>
-    /// <returns></returns>
-    [HttpGet("order/about_expire_node/list")]
-    public async Task<PagedDto<WorkflowOrderDto>> AboutNodeList([FromQuery] AboutToExpireListDto dto)
-    {
-        return await _orderRepository.GetAboutToExpireNodeAsync(dto, HttpContext.RequestAborted);
-    }
+    ///// <summary>
+    ///// 工单即将超期节点列表
+    ///// </summary>
+    ///// <param name="dto"></param>
+    ///// <returns></returns>
+    //[HttpGet("order/about_expire_node/list")]
+    //public async Task<PagedDto<WorkflowOrderDto>> AboutNodeList([FromQuery] AboutToExpireListDto dto)
+    //{
+    //    return await _orderRepository.GetAboutToExpireNodeAsync(dto, HttpContext.RequestAborted);
+    //}
 
     /// <summary>
     /// 工单超期列表
@@ -2564,15 +2565,15 @@ public class OrderController : BaseController
         return await _orderRepository.GetToExpireAsync(dto, HttpContext.RequestAborted);
     }
 
-    /// <summary>
-    /// 工单超期节点列表
-    /// </summary>
-    /// <param name="dto"></param>
-    /// <returns></returns>
-    [HttpGet("order/expire_node/list")]
-    public async Task<PagedDto<WorkflowOrderDto>> NodeList([FromQuery] AboutToExpireListDto dto)
-    {
-        return await _orderRepository.GetToExpireNodeAsync(dto, HttpContext.RequestAborted);
-    }
+    ///// <summary>
+    ///// 工单超期节点列表
+    ///// </summary>
+    ///// <param name="dto"></param>
+    ///// <returns></returns>
+    //[HttpGet("order/expire_node/list")]
+    //public async Task<PagedDto<WorkflowOrderDto>> NodeList([FromQuery] AboutToExpireListDto dto)
+    //{
+    //    return await _orderRepository.GetToExpireNodeAsync(dto, HttpContext.RequestAborted);
+    //}
     #endregion
 }

+ 12 - 4
src/Hotline.Application/Handlers/FlowEngine/StartWorkflowHandler.cs

@@ -7,8 +7,10 @@ using Hotline.FlowEngine.Notifications;
 using Hotline.FlowEngine.WorkflowModules;
 using Hotline.KnowledgeBase;
 using Hotline.Orders;
+using Hotline.Quality;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
+using Hotline.Share.Enums.Quality;
 using Hotline.Share.Mq;
 using MapsterMapper;
 using MediatR;
@@ -25,15 +27,17 @@ namespace Hotline.Application.Handlers.FlowEngine
         private readonly ICapPublisher _capPublisher;
         private readonly IMapper _mapper;
         private readonly ILogger<StartWorkflowHandler> _logger;
+        private readonly IQualityRepository _qualityRepository;
 
-        public StartWorkflowHandler(
+		public StartWorkflowHandler(
             IOrderDomainService orderDomainService,
             IKnowledgeDomainService knowledgeDomainService,
             ITelDomainService telDomainService,
             IOrderRepository orderRepository,
             ICapPublisher capPublisher,
             IMapper mapper,
-            ILogger<StartWorkflowHandler> logger)
+            ILogger<StartWorkflowHandler> logger,
+            IQualityRepository qualityRepository)
         {
             _orderDomainService = orderDomainService;
             _knowledgeDomainService = knowledgeDomainService;
@@ -42,7 +46,9 @@ namespace Hotline.Application.Handlers.FlowEngine
             _capPublisher = capPublisher;
             _mapper = mapper;
             _logger = logger;
-        }
+            _qualityRepository = qualityRepository;
+
+		}
 
         /// <summary>Handles a notification</summary>
         /// <param name="notification">The notification</param>
@@ -65,7 +71,9 @@ namespace Hotline.Application.Handlers.FlowEngine
                     await _orderRepository.UpdateAsync(order, cancellationToken);
                     await _capPublisher.PublishAsync(EventNames.HotlineOrderFlowStarted, _mapper.Map<OrderDto>(order),
                         cancellationToken: cancellationToken);
-                    break;
+                    //写入质检
+                    await _qualityRepository.AddQualityAsync(EQualitySource.Accepted, order.Id, cancellationToken);
+					break;
                 case WorkflowModuleConsts.KnowledgeAdd:
                 case WorkflowModuleConsts.KnowledgeUpdate:
                 case WorkflowModuleConsts.KnowledgeDelete:

+ 41 - 41
src/Hotline.Repository.SqlSugar/Orders/OrderRepository.cs

@@ -130,26 +130,26 @@ namespace Hotline.Repository.SqlSugar.Orders
 		/// <param name="dto"></param>
 		/// <param name="cancellationToken"></param>
 		/// <returns></returns>
-		public async Task<PagedDto<WorkflowOrderDto>> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken)
-		{
-			var setting = _systemSettingCacheManager.GetSetting(SettingConstants.OrderAboutToExpire);
-			var value = setting?.SettingValue[0];
-			value = string.IsNullOrEmpty(value) ? "0" : value;
-			DateTime stTime = DateTime.Now.AddDays(int.Parse(value));
-			stTime = _timeLimitDomainService.WorkDay(DateTime.Now);
-			DateTime stTime2 = _timeLimitDomainService.WorkDay(DateTime.Now);
-			RefAsync<int> total = 0;
-			var items = await Db.Queryable<Workflow>()
-				.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
-				.Where(x => x.ModuleCode == "OrderHandle")
-				.WhereIF(dto.IsProvince.HasValue, (x, o) => o.IsProvince == dto.IsProvince)
-				.WhereIF(!string.IsNullOrEmpty(dto.Keyword), (x, o) => o.Title.Contains(dto.Keyword!) || o.No.Contains(dto.Keyword!))
-				.Where((x, o) => (int)x.Status < 20 && stTime >= x.ExpiredTime && stTime2 <= x.ExpiredTime)
-				.Select((x, o) => new WorkflowOrder { Order = o }, true)
-				.OrderByDescending(x => x.CreationTime)
-				.ToPageListAsync(dto.PageIndex, dto.PageSize, total, cancellationToken);
-			return new PagedDto<WorkflowOrderDto>(total, _mapper.Map<IReadOnlyList<WorkflowOrderDto>>(items));
-		}
+		//public async Task<PagedDto<WorkflowOrderDto>> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken)
+		//{
+		//	var setting = _systemSettingCacheManager.GetSetting(SettingConstants.OrderAboutToExpire);
+		//	var value = setting?.SettingValue[0];
+		//	value = string.IsNullOrEmpty(value) ? "0" : value;
+		//	DateTime stTime = DateTime.Now.AddDays(int.Parse(value));
+		//	stTime = _timeLimitDomainService.WorkDay(DateTime.Now);
+		//	DateTime stTime2 = _timeLimitDomainService.WorkDay(DateTime.Now);
+		//	RefAsync<int> total = 0;
+		//	var items = await Db.Queryable<Workflow>()
+		//		.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
+		//		.Where(x => x.ModuleCode == "OrderHandle")
+		//		.WhereIF(dto.IsProvince.HasValue, (x, o) => o.IsProvince == dto.IsProvince)
+		//		.WhereIF(!string.IsNullOrEmpty(dto.Keyword), (x, o) => o.Title.Contains(dto.Keyword!) || o.No.Contains(dto.Keyword!))
+		//		.Where((x, o) => (int)x.Status < 20 && stTime >= x.ExpiredTime && stTime2 <= x.ExpiredTime)
+		//		.Select((x, o) => new WorkflowOrder { Order = o }, true)
+		//		.OrderByDescending(x => x.CreationTime)
+		//		.ToPageListAsync(dto.PageIndex, dto.PageSize, total, cancellationToken);
+		//	return new PagedDto<WorkflowOrderDto>(total, _mapper.Map<IReadOnlyList<WorkflowOrderDto>>(items));
+		//}
 
 		/// <summary>
 		/// 已超期列表
@@ -173,27 +173,27 @@ namespace Hotline.Repository.SqlSugar.Orders
 			return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
 		}
 
-        /// <summary>
-        /// 已超期节点列表
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        public async Task<PagedDto<WorkflowOrderDto>> GetToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken)
-        {
-	        DateTime stTime = _timeLimitDomainService.WorkDay(DateTime.Now);
-			RefAsync<int> total = 0;
-			var  items= await Db.Queryable<Workflow>()
-                .LeftJoin<Order>((x,o)=>x.ExternalId == o.Id)
-                .Where(x => x.ModuleCode == "OrderHandle")
-                .WhereIF(dto.IsProvince.HasValue, (x, o) => o.IsProvince == dto.IsProvince)
-                .WhereIF(!string.IsNullOrEmpty(dto.Keyword), (x, o) => o.Title.Contains(dto.Keyword!) || o.No.Contains(dto.Keyword!))
-                .Where((x,o) => (((int)x.Status >= 20 && x.EndTime >= x.ExpiredTime) || ((int)x.Status < 20 && stTime >= x.ExpiredTime)))
-                .Select((x, o) => new WorkflowOrder { Order = o }, true)
-                .OrderByDescending(x => x.CreationTime)
-                .ToPageListAsync(dto.PageIndex, dto.PageSize, total, cancellationToken);
-	        return new PagedDto<WorkflowOrderDto>(total, _mapper.Map<IReadOnlyList<WorkflowOrderDto>>(items));
-        }
+   //     /// <summary>
+   //     /// 已超期节点列表
+   //     /// </summary>
+   //     /// <param name="dto"></param>
+   //     /// <param name="cancellationToken"></param>
+   //     /// <returns></returns>
+   //     public async Task<PagedDto<WorkflowOrderDto>> GetToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken)
+   //     {
+	  //      DateTime stTime = _timeLimitDomainService.WorkDay(DateTime.Now);
+			//RefAsync<int> total = 0;
+			//var  items= await Db.Queryable<Workflow>()
+   //             .LeftJoin<Order>((x,o)=>x.ExternalId == o.Id)
+   //             .Where(x => x.ModuleCode == "OrderHandle")
+   //             .WhereIF(dto.IsProvince.HasValue, (x, o) => o.IsProvince == dto.IsProvince)
+   //             .WhereIF(!string.IsNullOrEmpty(dto.Keyword), (x, o) => o.Title.Contains(dto.Keyword!) || o.No.Contains(dto.Keyword!))
+   //             .Where((x,o) => (((int)x.Status >= 20 && x.EndTime >= x.ExpiredTime) || ((int)x.Status < 20 && stTime >= x.ExpiredTime)))
+   //             .Select((x, o) => new WorkflowOrder { Order = o }, true)
+   //             .OrderByDescending(x => x.CreationTime)
+   //             .ToPageListAsync(dto.PageIndex, dto.PageSize, total, cancellationToken);
+	  //      return new PagedDto<WorkflowOrderDto>(total, _mapper.Map<IReadOnlyList<WorkflowOrderDto>>(items));
+   //     }
 
 		/// <summary>
 		/// 工单词库批量删除

+ 2 - 2
src/Hotline/Orders/IOrderRepository.cs

@@ -18,9 +18,9 @@ namespace Hotline.Orders
         Task RemoveOrderObserveBatchAsync(List<string> ids, CancellationToken cancellationToken);
         Task RemoveOrderFinalityBatchAsync(List<string> ids, CancellationToken cancellationToken);
         Task<PagedDto<OrderDto>> GetToExpireAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
-        Task<PagedDto<WorkflowOrderDto>> GetToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
+        //Task<PagedDto<WorkflowOrderDto>> GetToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
         Task<PagedDto<OrderDto>> GetAboutToExpireAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
-        Task<PagedDto<WorkflowOrderDto>> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
+        //Task<PagedDto<WorkflowOrderDto>> GetAboutToExpireNodeAsync(AboutToExpireListDto dto, CancellationToken cancellationToken);
         Task OrderParticiple(string inputStr, string orderId, CancellationToken cancellationToken);
 	}
 }