Explorar el Código

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

tangjiang hace 3 meses
padre
commit
4abf75dce8

+ 18 - 6
src/Hotline.Api/Controllers/CaseController.cs

@@ -358,9 +358,9 @@ namespace Hotline.Api.Controllers
         }
 
         /// <summary>
-        /// 案库申请理由
+        /// 案库申请理由
         /// </summary>
-        /// <param name="Id">案库ID</param>
+        /// <param name="Id">案库ID</param>
         /// <returns></returns>
         [HttpGet("list/reason/{Id}")]
         public async Task<CaseApplyReasonDto> ReasonPlan(string Id)
@@ -447,7 +447,7 @@ namespace Hotline.Api.Controllers
         }
 
         /// <summary>
-        /// 案库列表导出
+        /// 案库列表导出
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -455,7 +455,7 @@ namespace Hotline.Api.Controllers
         public async Task<IActionResult> GetPlanListExportAsync([FromBody] ExportExcelDto<CaseListDto> dto)
         {
             var items = (await _caseApplication.QueryAllCaseListAsync(dto.QueryDto, HttpContext.RequestAborted)).Item2;
-            return _exportApplication.GetExcelFile(dto, items, "案明细导出");
+            return _exportApplication.GetExcelFile(dto, items, "案明细导出");
         }
 
         /// <summary>
@@ -524,10 +524,22 @@ namespace Hotline.Api.Controllers
         #region 案例库检索
 
         /// <summary>
-        /// 案例库列表前10
+        /// 检索列表
+        /// </summary>
+        /// <param name="pagedDto"></param>
+        /// <returns></returns>
+        [HttpGet("search")]
+        public async Task<PagedDto<CaseDataDto>> QueryOnShelfCaseList([FromQuery] CaseListDto pagedDto)
+        {
+            pagedDto.Status = ECaseStatus.OnShelf;
+            return (await _caseApplication.QueryAllCaseListAsync(pagedDto, HttpContext.RequestAborted)).ToPaged();
+        }
+
+        /// <summary>
+        /// 检索列表前10
         /// </summary>
         /// <returns></returns>
-        [HttpGet("list/top10")]
+        [HttpGet("search/top10")]
         public async Task<List<CasePageViewDto>> QueryTop10CaseList()
         {
             return await _caseListRepository.Queryable()

+ 14 - 2
src/Hotline.Api/Controllers/PlanController.cs

@@ -523,10 +523,22 @@ namespace Hotline.Api.Controllers
         #region 预案库检索
 
         /// <summary>
-        /// 预案库列表前10
+        /// 检索列表
+        /// </summary>
+        /// <param name="pagedDto"></param>
+        /// <returns></returns>
+        [HttpGet("search")]
+        public async Task<PagedDto<PlanDataDto>> QueryOnShelfPlanList([FromQuery] PlanListDto pagedDto)
+        {
+            pagedDto.Status = EPlanStatus.OnShelf;
+            return (await _planApplication.QueryAllPlanListAsync(pagedDto, HttpContext.RequestAborted)).ToPaged();
+        }
+
+        /// <summary>
+        /// 检索列表前10
         /// </summary>
         /// <returns></returns>
-        [HttpGet("list/top10")]
+        [HttpGet("search/top10")]
         public async Task<List<PlanPageViewDto>> QueryTop10PlanList()
         {
             return await _planListRepository.Queryable()

+ 33 - 15
src/Hotline.Application/Caselibrary/CaseApplication.cs

@@ -15,8 +15,8 @@ using Hotline.Share.Tools;
 using Hotline.Application.Tools;
 using SqlSugar;
 using Hotline.CaseLibrary;
-using Hotline.Planlibrary;
-using Hotline.Share.Dtos.Planlibrary;
+using Hotline.Orders;
+using Hotline.KnowledgeBase;
 
 namespace Hotline.Application.Caselibrary
 {
@@ -28,11 +28,13 @@ namespace Hotline.Application.Caselibrary
 
         #region 注册
 
-        private readonly IRepository<CaseList> _caseListRepository;                      //案例库列表
-        private readonly IRepository<CaseRelationType> _caseRelationTypeRepository;      //案例库关联类型
-        private readonly IRepository<CaseType> _caseTypeRepository;                      //案例库分类管理
-        private readonly IRepository<CaseTypeOrg> _caseTypeOrgRepository;                //案例库分类关联机构
-        private readonly IRepository<CaseCollect> _caseCollectRepository;                //案例库收藏评分
+        private readonly IRepository<CaseList> _caseListRepository;                           //案例库列表
+        private readonly IRepository<CaseRelationType> _caseRelationTypeRepository;           //案例库关联类型
+        private readonly IRepository<CaseType> _caseTypeRepository;                           //案例库分类管理
+        private readonly IRepository<CaseTypeOrg> _caseTypeOrgRepository;                     //案例库分类关联机构
+        private readonly IRepository<CaseCollect> _caseCollectRepository;                     //案例库收藏评分
+        private readonly IRepository<Order> _orderRepository;                                 //工单
+        private readonly IRepository<Hotline.KnowledgeBase.Knowledge> _knowledgeRepository;   //知识库
         private readonly ISessionContext _sessionContext;
         private readonly IMapper _mapper;
         private readonly IRepository<Hotspot> _hotspotTypeRepository;
@@ -40,20 +42,26 @@ namespace Hotline.Application.Caselibrary
         private readonly IBulletinApplication _bulletinApplication;
 
         public CaseApplication(
-            IRepository<CaseList> CaseListRepository,
-            IRepository<CaseRelationType> CaseRelationTypeRepository,
-            IRepository<CaseType> CaseTypeRepository,
-            IRepository<CaseTypeOrg> CaseTypeOrgRepository,
+            IRepository<CaseList> caseListRepository,
+            IRepository<CaseRelationType> caseRelationTypeRepository,
+            IRepository<CaseType> caseTypeRepository,
+            IRepository<CaseTypeOrg> caseTypeOrgRepository,
+            IRepository<CaseCollect> caseCollectRepository,
+            IRepository<Order> orderRepository,
+            IRepository<Hotline.KnowledgeBase.Knowledge> knowledgeRepository,
             ISessionContext sessionContext,
             IMapper mapper,
             IRepository<Hotspot> hotspotTypeRepository,
             IFileRepository fileRepository,
             IBulletinApplication bulletinApplication)
         {
-            _caseListRepository = CaseListRepository;
-            _caseRelationTypeRepository = CaseRelationTypeRepository;
-            _caseTypeRepository = CaseTypeRepository;
-            _caseTypeOrgRepository = CaseTypeOrgRepository;
+            _caseListRepository = caseListRepository;
+            _caseRelationTypeRepository = caseRelationTypeRepository;
+            _caseTypeRepository = caseTypeRepository;
+            _caseTypeOrgRepository = caseTypeOrgRepository;
+            _caseCollectRepository = caseCollectRepository;
+            _orderRepository = orderRepository;
+            _knowledgeRepository = knowledgeRepository;
             _sessionContext = sessionContext;
             _mapper = mapper;
             _hotspotTypeRepository = hotspotTypeRepository;
@@ -413,7 +421,17 @@ namespace Hotline.Application.Caselibrary
             if (collect != null)
                 CaseInfoDto.Collect = _mapper.Map<CaseCollectDto>(collect);
 
+            // 工单
+            var order = await _orderRepository.GetAsync(x => x.Id == CaseInfoDto.OrderId, cancellationToken);
+            if (order != null)
+                CaseInfoDto.OrderTitle = order.Title;
 
+            // 知识库
+            var knowledge = await _knowledgeRepository.GetAsync(x => x.Id == CaseInfoDto.KnowledgeId, cancellationToken);
+            if (knowledge != null)
+                CaseInfoDto.KnowledgeTitle = knowledge.Title;
+
+            // 附件
             if (CaseInfoDto.FileJson != null && CaseInfoDto.FileJson.Any())
             {
                 var ids = CaseInfoDto.FileJson.Select(x => x.Id).ToList();

+ 5 - 0
src/Hotline.Share/Dtos/Caselibrary/CaseDataDto.cs

@@ -100,6 +100,11 @@ namespace Hotline.Share.Dtos.Caselibrary
         /// </summary>
         public string StatusName => NewStatus.GetDescription();
 
+        /// <summary>
+        /// 案例状态申请
+        /// </summary>
+        public ECaseApplyStatus? ApplyStatus { get; set; }
+
         /// <summary>
         /// 案例分类
         /// </summary>

+ 20 - 0
src/Hotline.Share/Dtos/Caselibrary/CaseListDto.cs

@@ -390,6 +390,26 @@ namespace Hotline.Share.Dtos.Caselibrary
             return "";
         }
 
+        /// <summary>
+        /// 工单ID
+        /// </summary>
+        public string? OrderId { get; set; }
+
+        /// <summary>
+        /// 工单
+        /// </summary>
+        public string? OrderTitle { get; set; }
+
+        /// <summary>
+        /// 知识库ID
+        /// </summary>
+        public string? KnowledgeId { get; set; }
+
+        /// <summary>
+        /// 知识库
+        /// </summary>
+        public string? KnowledgeTitle { get; set; }
+
 
         public CaseCollectDto Collect { get; set; }
 

+ 5 - 0
src/Hotline.Share/Dtos/Planlibrary/PlanDataDto.cs

@@ -100,6 +100,11 @@ namespace Hotline.Share.Dtos.Planlibrary
 
         public EPlanStatus NewStatus => Status != EPlanStatus.Drafts && DateTime.Now > ExpiredTime ? EPlanStatus.Overdue : Status;
 
+        /// <summary>
+        /// 文档状态申请
+        /// </summary>
+        public EPlanApplyStatus ApplyStatus { get; set; }
+
         /// <summary>
         /// 文档状态名称
         /// </summary>