TANG JIANG 2 年之前
父节点
当前提交
c6af543064

+ 20 - 2
src/Hotline.Api/Controllers/KnowledgeApplyController.cs

@@ -2,10 +2,12 @@
 using Hotline.KnowledgeBase;
 using Hotline.Permissions;
 using Hotline.Repository.SqlSugar.Extensions;
+using Hotline.Settings;
 using Hotline.Share.Dtos;
 using Hotline.Share.Dtos.Knowledge;
 using Hotline.Share.Enums.KnowledgeBase;
 using Hotline.Share.Requests;
+using Hotline.Users;
 using MapsterMapper;
 using Microsoft.AspNetCore.Mvc;
 using XF.Domain.Authentications;
@@ -23,6 +25,8 @@ namespace Hotline.Api.Controllers
         private readonly ISessionContext _sessionContext;
         private readonly IMapper _mapper;
         private readonly IKnowApplication _knowApplication;
+        private readonly IUserRepository _userRepository;
+        private readonly ISystemOrganizeRepository _systemOrganizeRepository;
 
         /// <summary>
         /// 
@@ -32,14 +36,18 @@ namespace Hotline.Api.Controllers
         /// <param name="sessionContext"></param>
         /// <param name="mapper"></param>
         /// <param name="knowApplication"></param>
+        /// <param name="userRepository"></param>
+        /// <param name="systemOrganizeRepository"></param>
         public KnowledgeApplyController(IKnowledgeRepository knowledgeRepository, IKnowledgeApplyRepository knowledgeApplyRepository, ISessionContext sessionContext
-            , IMapper mapper, IKnowApplication knowApplication)
+            , IMapper mapper, IKnowApplication knowApplication, IUserRepository userRepository, ISystemOrganizeRepository systemOrganizeRepository)
         {
             _knowledgeRepository = knowledgeRepository;
             _knowledgeApplyRepository = knowledgeApplyRepository;
             _sessionContext = sessionContext;
             _mapper = mapper;
             _knowApplication = knowApplication;
+            _userRepository = userRepository;
+            _systemOrganizeRepository = systemOrganizeRepository;
         }
 
         /// <summary>
@@ -87,6 +95,8 @@ namespace Hotline.Api.Controllers
             handle.HandleTime = DateTime.Now;
             handle.KnowledgeId = dto.KnowledgeId;
             handle.Opinion = dto.Opinion;
+            handle.Processor = _sessionContext.UserName;
+            handle.ProcessorId = _sessionContext.RequiredUserId;
             //修改办理信息
             await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
         }
@@ -128,7 +138,7 @@ namespace Hotline.Api.Controllers
             if (string.IsNullOrEmpty(dto.Opinion))
                 throw UserFriendlyException.SameMessage("退回原因不能为空");
             handle.Status = EKnowledgeApplyStatus.Failed;
-            handle.ReturnTime = DateTime.Now; 
+            handle.ReturnTime = DateTime.Now;
             handle.HandleTime = DateTime.Now;
             handle.Opinion = dto.Opinion;
             await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
@@ -165,6 +175,14 @@ namespace Hotline.Api.Controllers
             DataKnowledgeApplyDto dataKnowledgeApplyDto = new();
             _mapper.Map(handle, dataKnowledgeApplyDto);
 
+            var user = await _userRepository.GetAsync(handle.CreatorId, HttpContext.RequestAborted);
+            if (user != null)
+                dataKnowledgeApplyDto.CreationName = user.Name;
+
+            var organize = await _systemOrganizeRepository.GetAsync(handle.CreatorOrgId, HttpContext.RequestAborted);
+            if (organize != null)
+                dataKnowledgeApplyDto.CreationBMName = organize.OrgName;
+
             var knowledge = await _knowledgeRepository.GetAsync(p => p.Id == handle.KnowledgeId, HttpContext.RequestAborted);
             if (knowledge != null)
             {

+ 15 - 0
src/Hotline.Share/Dtos/Knowledge/KnowledgeApplyDto.cs

@@ -59,6 +59,16 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string CreationName { get; set; }
 
+        /// <summary>
+        /// 处理人
+        /// </summary>
+        public string Processor { get; set; }
+
+        /// <summary>
+        /// 申请部门
+        /// </summary>
+        public string CreationBMName { get; set; }
+
         /// <summary>
         /// 关联知识ID
         /// </summary>
@@ -78,6 +88,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// 退回时间
         /// </summary>
         public DateTime? ReturnTime { get; set; }
+
+        /// <summary>
+        /// 办理或者退回意见
+        /// </summary>
+        public string Opinion { get; set; }
     }
 
     /// <summary>

+ 14 - 0
src/Hotline/KnowledgeBase/KnowledgeApply.cs

@@ -35,13 +35,27 @@ public class KnowledgeApply : FullStateEntity
     /// <summary>
     /// 处理部门Id
     /// </summary>
+    [SugarColumn(IsNullable = true)]
     public string DepartmentId { get; set; }
 
     /// <summary>
     /// 处理部门名称
     /// </summary>
+    [SugarColumn(IsNullable = true)]
     public string Department { get; set; }
 
+    /// <summary>
+    /// 处理人Id
+    /// </summary>
+    [SugarColumn(IsNullable = true)]
+    public string ProcessorId { get; set; }
+
+    /// <summary>
+    /// 处理人
+    /// </summary>
+    [SugarColumn(IsNullable = true)]
+    public string Processor { get; set; }
+
     /// <summary>
     /// 截止时间
     /// </summary>