Browse Source

Merge branch 'master' of http://git.fway.com.cn/Fengwo/hotline

田爽 1 year ago
parent
commit
bed82451b8

+ 30 - 0
src/Hotline.Api/Controllers/OrderController.cs

@@ -262,6 +262,36 @@ public class OrderController : BaseController
         return new PagedDto<PublishedDto>(total, _mapper.Map<IReadOnlyList<PublishedDto>>(items));
     }
 
+    /// <summary>
+    /// 发布详情
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    [Permission(EPermission.PublishedOrder)]
+    [HttpGet("published-order/{id}")]
+    public async Task<PublishedEntityDto> PublishedOrder(string id)
+    {
+        var publishedOrder = await _orderPublishRepository.GetAsync(id, HttpContext.RequestAborted);
+
+        if (publishedOrder is null)
+        {
+            throw UserFriendlyException.SameMessage("未知数据!");
+        }
+        var pubentity = _mapper.Map<PublishedEntityDto>(publishedOrder);
+        var visit = await _orderVisitRepository.Queryable().Includes(x => x.VisitDetails).FirstAsync(x => x.Id == publishedOrder.OrderId, HttpContext.RequestAborted);
+        if (visit!=null)
+        {
+            var details = visit.VisitDetails.Where(x => x.VisitTarget == EVisitTarget.Org).ToList();
+            if (details!=null && details.Count>0)
+            {
+                pubentity.IdNames = new List<IdName>();
+                details.ForEach(f => pubentity.IdNames.Add(new IdName() { Id = f.VisitOrgCode, Name = f.VisitOrgName }));
+            }
+        }
+        return pubentity;
+    }
+
+
     #endregion
 
     #region 工单回访

+ 42 - 8
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -524,17 +524,54 @@ namespace Hotline.Share.Dtos.Order
         public List<FileDto> Files { get; set; } = new();
     }
 
-    public class PublishedDto
+    public class PublishedEntityDto
     {
-        public OrderDto Order { get; set; }
+        public string Id { get; set; }
+
+        public string OrderId { get; set; }
+
+        /// <summary>
+        /// 工单编码(冗余)
+        /// </summary>
+        public string No { get; set; }
 
         /// <summary>
         /// 发布范围
         /// </summary>
-        public EPublishState? PublishState { get; set; }
+        public bool PublishState { get; set; }
+
+        /// <summary>
+        /// 整理标题
+        /// </summary>
+        public string ArrangeTitle { get; set; }
+
+        /// <summary>
+        /// 整理内容
+        /// </summary>
+        public string ArrangeContent { get; set; }
+
+        /// <summary>
+        /// 整理结果
+        /// </summary>
+        public string ArrangeOpinion { get; set; }
+
+        /// <summary>
+        /// 回访部门
+        /// </summary>
+        public List<IdName> IdNames { get; set; }
+
+    }
 
+    public class PublishedDto
+    {
+        public string Id { get; set; }
+
+        public OrderDto Order { get; set; }
 
-        public string PublishStateText => PublishState.GetDescription();
+        /// <summary>
+        /// 发布范围
+        /// </summary>
+        public bool? PublishState { get; set; }
 
         /// <summary>
         /// 整理内容
@@ -554,10 +591,7 @@ namespace Hotline.Share.Dtos.Order
         /// <summary>
         /// 发布范围
         /// </summary>
-        public EPublishState? PublishState { get; set; }
-
-
-        public string PublishStateText => PublishState.GetDescription();
+        public bool? PublishState { get; set; }
 
         /// <summary>
         /// 整理内容

+ 6 - 0
src/Hotline/Permissions/EPermission.cs

@@ -894,6 +894,12 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName ="OrderPublish",Name ="已发布列表",Description = "已发布列表")]
         PublishedOrderList =  500203,
+
+        /// <summary>
+        /// 发布详情
+        /// </summary>
+        [Display(GroupName = "OrderPublish",Name ="发布详情",Description = "发布详情")]
+        PublishedOrder = 500204,
         #endregion
 
         #region 工单回访管理