Explorar o código

知识申请关联

TANG JIANG %!s(int64=2) %!d(string=hai) anos
pai
achega
14914356f7

+ 21 - 19
src/Hotline.Api/Controllers/KnowledgeApplyController.cs

@@ -92,6 +92,7 @@ namespace Hotline.Api.Controllers
             handle.Status = EKnowledgeApplyStatus.Succeed;
             handle.HandleTime = DateTime.Now;
             handle.KnowledgeId = dto.KnowledgeId;
+            handle.Code = dto.Code;
             handle.Opinion = dto.Opinion;
             handle.Processor = _sessionContext.UserName;
             handle.ProcessorId = _sessionContext.RequiredUserId;
@@ -181,31 +182,32 @@ namespace Hotline.Api.Controllers
             if (organize != null)
                 dataKnowledgeApplyDto.CreationBMName = organize.OrgName;
 
-            var knowledge = await _knowledgeRepository.GetAsync(p => p.Id == handle.KnowledgeId, HttpContext.RequestAborted);
-            if (knowledge != null)
+            //这里查询最新的版本
+            if (!string.IsNullOrEmpty(handle.Code))
             {
-                dataKnowledgeApplyDto.KBID = knowledge.Id;
-                dataKnowledgeApplyDto.KBTitle = knowledge.Title;
+                var knowledge = await _knowledgeRepository
+                     .Queryable()
+                     .Where(p => p.Code == handle.Code && p.IsDeleted == false && (p.Status == EKnowledgeStatus.OnShelf || p.Status == EKnowledgeStatus.OffShelf))
+                     .OrderByDescending(p => p.Version)
+                     .Take(1)
+                     .FirstAsync();
+                if (knowledge != null)
+                {
+                    dataKnowledgeApplyDto.KBID = knowledge.Id;
+                    dataKnowledgeApplyDto.KBTitle = knowledge.Title;
+                }
             }
+            ////这里查询对应的版本
+            //var knowledge = await _knowledgeRepository.GetAsync(p => p.Id == handle.KnowledgeId, HttpContext.RequestAborted);
+            //if (knowledge != null)
+            //{
+            //    dataKnowledgeApplyDto.KBID = knowledge.Id;
+            //    dataKnowledgeApplyDto.KBTitle = knowledge.Title;
+            //}
 
             return dataKnowledgeApplyDto;
         }
 
-        /// <summary>
-        /// 查询-新增知识申请
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("addapply")]
-        public async Task<IReadOnlyList<DataAddApplyDto>> GetAddApply()
-        {
-            var list = await _knowledgeApplyRepository
-                    .Queryable()
-                    .Where(d => d.CreatorId == _sessionContext.RequiredUserId && d.KnowledgeApplyType == EKnowledgeApplyType.Add && d.Status == EKnowledgeApplyStatus.Handling)
-                    .OrderByDescending(p => p.CreationTime)
-                    .ToListAsync();
-            return _mapper.Map<IReadOnlyList<DataAddApplyDto>>(list);
-        }
-
         #region 我的知识申请
         /// <summary>
         /// 我的知识申请--全部

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

@@ -346,7 +346,8 @@ namespace Hotline.Api.Controllers
                    Department = sys.OrgName,
                    o.Id,
                    o.Title,
-                   o.Status
+                   o.Status,
+                   o.Code
                })
            //将结果合并成一个表
            .MergeTable()

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

@@ -23,6 +23,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string KnowledgeId { get; set; }
 
+        /// <summary>
+        /// 知识Code
+        /// </summary>
+        public string Code { get; set; }
+
         /// <summary>
         /// 内容
         /// </summary>
@@ -110,6 +115,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string KnowledgeId { get; set; }
 
+        /// <summary>
+        /// 知识Code
+        /// </summary>
+        public string Code { get; set; }
+
         /// <summary>
         /// 办理或者退回意见
         /// </summary>

+ 5 - 0
src/Hotline.Share/Dtos/Knowledge/KnowledgeDataDto.cs

@@ -158,6 +158,11 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string Id { get; set; }
 
+        /// <summary>
+        /// 知识Code
+        /// </summary>
+        public string Code { get; set; }
+
         /// <summary>
         /// 标题
         /// </summary>

+ 0 - 5
src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

@@ -105,11 +105,6 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public List<string> Additions { get; set; }
 
-        /// <summary>
-        /// 关联知识申请
-        /// </summary>
-        public string Applies { get; set; }
-
         /// <summary>
         /// 关联知识
         /// </summary>

+ 0 - 8
src/Hotline/KnowledgeBase/Knowledge.cs

@@ -97,14 +97,6 @@ public class Knowledge : WorkflowEntity//   WorkflowEntity  FullStateEntity
     [SugarColumn(ColumnDataType = "varchar(2000)", IsJson = true, IsNullable = true)]
     public List<string> Additions { get; set; }
 
-    /// <summary>
-    /// 关联知识申请
-    /// </summary>
-    //[SugarColumn(ColumnDataType = "varchar(1000)", IsJson = true)]
-    //public List<string> Applies { get; set; }
-    [SugarColumn(IsNullable = true)]
-    public string Applies { get; set; }
-
     /// <summary>
     /// 关联知识
     /// </summary>

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

@@ -17,6 +17,12 @@ public class KnowledgeApply : FullStateEntity
     [SugarColumn(IsNullable = true)]
     public string KnowledgeId { get; set; }
 
+    /// <summary>
+    /// 知识Code
+    /// </summary>
+    [SugarColumn(IsNullable = true)]
+    public string Code { get; set; }
+
     /// <summary>
     /// 内容
     /// </summary>

+ 2 - 26
src/Hotline/KnowledgeBase/KnowledgeDomainService.cs

@@ -147,20 +147,8 @@ namespace Hotline.KnowledgeBase
                 kn.Code = Convert.ToInt64((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
 
             kn.Status = EKnowledgeStatus.Auditing;
-            var knowledgeId = await _knowledgeRepository.AddAsync(kn, cancellationToken);
+            return await _knowledgeRepository.AddAsync(kn, cancellationToken);
 
-            //如果存在知识申请,修改知识申请关联ID
-            if (!string.IsNullOrEmpty(dto.Applies))
-            {
-                var apply = await _knowledgeApplyRepository.GetAsync(p => p.Id == dto.Applies, cancellationToken);
-                if (apply != null)
-                {
-                    apply.KnowledgeId = knowledgeId;
-                    await _knowledgeApplyRepository.UpdateAsync(apply, cancellationToken);
-                }
-            }
-
-            return knowledgeId;
         }
 
         /// <summary>
@@ -187,19 +175,7 @@ namespace Hotline.KnowledgeBase
             knowledge.Id = null;
             knowledge.Version = 0;
 
-            var knowledgeId = await _knowledgeRepository.AddAsync(knowledge, cancellationToken);
-            if (!string.IsNullOrEmpty(dto.Applies))
-            {
-                var apply = await _knowledgeApplyRepository.GetAsync(p => p.Id == dto.Applies, cancellationToken);
-                if (apply != null)
-                {
-                    apply.KnowledgeId = knowledgeId;
-                    await _knowledgeApplyRepository.UpdateAsync(apply, cancellationToken);
-                }
-            }
-
-            //新增一条数据
-            return knowledgeId;
+            return await _knowledgeRepository.AddAsync(knowledge, cancellationToken);
 
         }