|
@@ -1,4 +1,5 @@
|
|
|
-using Hotline.KnowledgeBase;
|
|
|
+using Hotline.Application.Knowledge;
|
|
|
+using Hotline.KnowledgeBase;
|
|
|
using Hotline.Permissions;
|
|
|
using Hotline.Repository.SqlSugar.Extensions;
|
|
|
using Hotline.Settings;
|
|
@@ -10,6 +11,7 @@ using MapsterMapper;
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using SqlSugar;
|
|
|
+using System.Threading;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Exceptions;
|
|
|
|
|
@@ -23,8 +25,9 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IKnowledgeRepository _knowledgeRepository;
|
|
|
private readonly IKnowledgeTempRepository _knowledgeTempRepository;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
- private readonly IKnowledgeDomainService _knowledgeService;
|
|
|
+ private readonly IKnowledgeDomainService _knowledgeDomainService;
|
|
|
private readonly IMapper _mapper;
|
|
|
+ private readonly IKnowApplication _knowApplication;
|
|
|
|
|
|
/// <summary>
|
|
|
///
|
|
@@ -34,14 +37,16 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="sessionContext"></param>
|
|
|
/// <param name="knowledgeDomainService"></param>
|
|
|
/// <param name="mapper"></param>
|
|
|
+ /// <param name="knowApplication"></param>
|
|
|
public KnowledgeController(IKnowledgeRepository knowledgeRepository, IKnowledgeTempRepository knowledgeTempRepository,
|
|
|
- ISessionContext sessionContext, IKnowledgeDomainService knowledgeService, IMapper mapper)
|
|
|
+ ISessionContext sessionContext, IKnowledgeDomainService knowledgeDomainService, IMapper mapper, IKnowApplication knowApplication)
|
|
|
{
|
|
|
_knowledgeRepository = knowledgeRepository;
|
|
|
_knowledgeTempRepository = knowledgeTempRepository;
|
|
|
_sessionContext = sessionContext;
|
|
|
- _knowledgeService = knowledgeService;
|
|
|
+ _knowledgeDomainService = knowledgeDomainService;
|
|
|
_mapper = mapper;
|
|
|
+ _knowApplication = knowApplication;
|
|
|
}
|
|
|
#region 草稿箱
|
|
|
/// <summary>
|
|
@@ -49,14 +54,14 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- [Permission(EPermission.KnowledgeTempAdd)]
|
|
|
- [HttpPost("knowledgetemp-add")]
|
|
|
- public async Task<string> KnowledgeTempAdd([FromBody] AddKnowledgeDto dto)
|
|
|
+ [Permission(EPermission.KnowledgeDraftsAdd)]
|
|
|
+ [HttpPost("draftsadd")]
|
|
|
+ public async Task<string> KnowledgeDraftsAdd([FromBody] AddKnowledgeDto dto)
|
|
|
{
|
|
|
var kn = _mapper.Map<KnowledgeTemp>(dto);
|
|
|
if (string.IsNullOrEmpty(dto.Code))
|
|
|
kn.Code = Convert.ToInt64((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
|
|
|
- kn.PageView = 0;
|
|
|
+
|
|
|
return await _knowledgeTempRepository.AddAsync(kn, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
@@ -65,9 +70,9 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- [Permission(EPermission.KnowledgeTempUpdate)]
|
|
|
- [HttpPost("knowledgetemp-update")]
|
|
|
- public async Task KnowledgeTempUpdate([FromBody] UpdateKnowledgeDto dto)
|
|
|
+ [Permission(EPermission.KnowledgeDraftsUpdate)]
|
|
|
+ [HttpPut("draftsupdate")]
|
|
|
+ public async Task KnowledgeDraftsUpdate([FromBody] UpdateKnowledgeDto dto)
|
|
|
{
|
|
|
var kn = _mapper.Map<KnowledgeTemp>(dto);
|
|
|
await _knowledgeTempRepository.UpdateAsync(kn, HttpContext.RequestAborted);
|
|
@@ -78,8 +83,8 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
- [HttpGet("knowledgetemp-info")]
|
|
|
- public async Task<KnowledgeTemp> KnowledgeTempInfo(string Id)
|
|
|
+ [HttpGet("draftsinfo/{id}")]
|
|
|
+ public async Task<KnowledgeTemp> KnowledgeDraftsInfo(string Id)
|
|
|
{
|
|
|
var temp = await _knowledgeTempRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
|
if (temp is null)
|
|
@@ -92,15 +97,38 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
- [Permission(EPermission.KnowledgeTempDelete)]
|
|
|
- [HttpGet("knowledgetemp-delete")]
|
|
|
- public async Task KnowledgeTempDelete(string Id)
|
|
|
+ [Permission(EPermission.KnowledgeDraftsDelete)]
|
|
|
+ [HttpDelete("draftsdelete")]
|
|
|
+ public async Task KnowledgeDraftsDelete(string Id)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(Id))
|
|
|
throw UserFriendlyException.SameMessage("Id不能为空!");
|
|
|
await _knowledgeTempRepository.RemoveAsync(p => p.Id == Id, false, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 我的草稿箱
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="pagedDto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [Permission(EPermission.KnowledgeMyDraftsList)]
|
|
|
+ [HttpPost("mydraftslist")]
|
|
|
+ public async Task<PagedDto<KnowledgeDataDto>> MyDraftsList([FromBody] MyDraftsListPagedDto pagedDto)
|
|
|
+ {
|
|
|
+ var (total, items) = await _knowledgeTempRepository
|
|
|
+ .Queryable()
|
|
|
+ .Includes(it => it.User)
|
|
|
+ .Includes(it => it.KnowledgeType)
|
|
|
+ .Where(p => p.CreatorId == _sessionContext.RequiredUserId)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), d => d.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
+ .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
|
|
|
+ .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
|
|
|
+ .OrderByDescending(p => p.CreationTime)
|
|
|
+ .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
|
|
|
+ }
|
|
|
#endregion
|
|
|
|
|
|
#region 知识管理
|
|
@@ -109,10 +137,10 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
- [HttpGet("knowledge-updateinfo")]
|
|
|
+ [HttpGet("updateinfo/{Id}")]
|
|
|
public async Task<Knowledge> KnowledgeUpdateInfo(string Id)
|
|
|
{
|
|
|
- var know = await _knowledgeService.KnowledgeUpdateInfo(Id, HttpContext.RequestAborted);
|
|
|
+ var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
|
if (know is null)
|
|
|
throw UserFriendlyException.SameMessage("知识查询失败!");
|
|
|
return know;
|
|
@@ -123,10 +151,10 @@ namespace Hotline.Api.Controllers
|
|
|
/// </summary>
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
- [HttpGet("knowledge-info")]
|
|
|
+ [HttpGet("info/{Id}")]
|
|
|
public async Task<Knowledge> KnowledgeInfo(string Id)
|
|
|
{
|
|
|
- return await _knowledgeService.KnowledgeInfo(Id, HttpContext.RequestAborted);
|
|
|
+ return await _knowledgeDomainService.KnowledgeInfo(Id, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -135,10 +163,10 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.AddKnowledge)]
|
|
|
- [HttpPost("knowledge-add")]
|
|
|
+ [HttpPost("knowadd")]
|
|
|
public async Task<string> KnowledgeAdd([FromBody] AddKnowledgeDto dto)
|
|
|
{
|
|
|
- return await _knowledgeService.KnowledgeAdd(dto, HttpContext.RequestAborted);
|
|
|
+ return await _knowledgeDomainService.KnowledgeAdd(dto, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -147,11 +175,11 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeUpdate)]
|
|
|
- [HttpPost("knowledge-update")]
|
|
|
+ [HttpPut("knowupdate")]
|
|
|
public async Task KnowledgeUpdate([FromBody] UpdateKnowledgeDto dto)
|
|
|
{
|
|
|
//新增一条数据
|
|
|
- await _knowledgeService.KnowledgeUpdate(dto, HttpContext.RequestAborted);
|
|
|
+ await _knowledgeDomainService.KnowledgeUpdate(dto, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -160,7 +188,7 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeDelete)]
|
|
|
- [HttpGet("knowledge-delete")]
|
|
|
+ [HttpDelete("knowdelete")]
|
|
|
public async Task KnowledgeDelete(string Id)
|
|
|
{
|
|
|
var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
@@ -180,7 +208,7 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="ApprovalStatus">审核状态:0:通过;1:不通过</param>
|
|
|
/// <param name="HandleOpinions">办理意见</param>
|
|
|
/// <returns></returns>
|
|
|
- [HttpPost("knowledge-approvalhandle")]
|
|
|
+ [HttpPut("approvalhandle")]
|
|
|
public async Task ApprovalHandle(List<string> Ids, string ApprovalStatus, string? HandleOpinions)
|
|
|
{
|
|
|
if (Ids is null || Ids.Count == 0)
|
|
@@ -188,7 +216,7 @@ namespace Hotline.Api.Controllers
|
|
|
if (ApprovalStatus == "1" && string.IsNullOrEmpty(HandleOpinions))
|
|
|
throw UserFriendlyException.SameMessage("办理意见不能为空");
|
|
|
//审批操作
|
|
|
- await _knowledgeService.ApprovalHandle(Ids, ApprovalStatus, HandleOpinions, HttpContext.RequestAborted);
|
|
|
+ await _knowledgeDomainService.ApprovalHandle(Ids, ApprovalStatus, HandleOpinions, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -197,13 +225,13 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeOffShelf)]
|
|
|
- [HttpGet("knowledge-offshelf")]
|
|
|
+ [HttpPut("offshelf")]
|
|
|
public async Task KnowledgeOffShelf(string Id)
|
|
|
{
|
|
|
var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
|
- if (know != null && know.IsOnShelf == true)
|
|
|
+ if (know != null && know.Status == EKnowledgeStatus.OnShelf)
|
|
|
{
|
|
|
- know.IsOnShelf = false;
|
|
|
+ know.Status = EKnowledgeStatus.OffShelf;
|
|
|
know.OnShelfTime = null;
|
|
|
know.OffShelfTime = DateTime.Now;
|
|
|
await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
|
|
@@ -219,13 +247,13 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="Id"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeOnTheShelf)]
|
|
|
- [HttpGet("knowledge-ontheshelf")]
|
|
|
+ [HttpPut("ontheshelf")]
|
|
|
public async Task KnowledgeOnTheShelf(string Id)
|
|
|
{
|
|
|
var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
|
- if (know != null && know.IsOnShelf == false)
|
|
|
+ if (know != null && know.Status == EKnowledgeStatus.OffShelf)
|
|
|
{
|
|
|
- know.IsOnShelf = true;
|
|
|
+ know.Status = EKnowledgeStatus.OnShelf;
|
|
|
know.OnShelfTime = DateTime.Now;
|
|
|
know.OffShelfTime = null;
|
|
|
await _knowledgeRepository.UpdateAsync(know, HttpContext.RequestAborted);
|
|
@@ -238,354 +266,15 @@ namespace Hotline.Api.Controllers
|
|
|
|
|
|
#region 知识列表
|
|
|
/// <summary>
|
|
|
- /// 我的草稿箱
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.KnowledgeMyDraftsList)]
|
|
|
- [HttpPost("knowledge-mydraftslist")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> MyDraftsList([FromBody] MyDraftsListPagedDto pagedDto)
|
|
|
- {
|
|
|
- var (total, items) = await _knowledgeTempRepository
|
|
|
- .Queryable()
|
|
|
- .Includes(it => it.User)
|
|
|
- .Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.CreatorId == _sessionContext.RequiredUserId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), d => d.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 测试列表查询数据
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("knowledge-testlist")]
|
|
|
- [AllowAnonymous]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> testlist([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- RefAsync<int> total = 0;
|
|
|
- var temp = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
|
|
|
- .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
|
|
|
- .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
|
|
|
-
|
|
|
- .Where(o => o.IsDeleted == false)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), (o, cus, sys, kn) => o.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), (o, cus, sys, kn) => o.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), (o, cus, sys, kn) => o.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, (o, cus, sys, kn) => o.OnShelfTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, (o, cus, sys, kn) => o.OnShelfTime <= pagedDto.EndTime)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), (o, cus, sys, kn) => cus.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), (o, cus, sys, kn) => sys.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
-
|
|
|
- .Select((o, cus, sys, kn) => new
|
|
|
- {
|
|
|
- index = SqlFunc.RowNumber($"{o.Version} desc ", $"{o.Code}"),
|
|
|
- CreationName = cus.Name,
|
|
|
- CreationBMName = sys.OrgName,
|
|
|
- KnowledgeTypeName = kn.SpliceName,
|
|
|
- o.Id,
|
|
|
- o.Code,
|
|
|
- o.Title,
|
|
|
- o.Version,
|
|
|
- o.KnowledgeTypeId,
|
|
|
- o.IsDeleted,
|
|
|
- o.HotspotId,
|
|
|
- o.OnShelfTime,
|
|
|
- o.CreationTime,
|
|
|
- o.PageView,
|
|
|
- o.Status,
|
|
|
- o.OffShelfTime,
|
|
|
- o.LastModificationTime
|
|
|
- })
|
|
|
- .MergeTable()//将结果合并成一个表
|
|
|
- .Where(d => d.index == 1)
|
|
|
- // .ToSql();
|
|
|
- .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
|
|
|
- return new PagedDto<KnowledgeDataDto>(total.Value, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(temp));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 全部知识
|
|
|
+ /// 知识查询
|
|
|
/// </summary>
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeAllList)]
|
|
|
- [HttpPost("knowledge-alllist")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> AllList([FromBody] AllKnowledgePagedListDto pagedDto)
|
|
|
+ [HttpGet()]
|
|
|
+ public async Task<PagedDto<KnowledgeDataDto>> GetKnowList([FromBody] KnowPagedListDto pagedDto)
|
|
|
{
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
-
|
|
|
- RefAsync<int> total = 0;
|
|
|
- var temp = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
|
|
|
- .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
|
|
|
- .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
|
|
|
-
|
|
|
- .Where((o, cus, sys, kn) => o.IsDeleted == false)
|
|
|
- .Where((o, cus, sys, kn) => bmList.Contains(o.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), (o, cus, sys, kn) => o.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), (o, cus, sys, kn) => o.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), (o, cus, sys, kn) => o.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), (o, cus, sys, kn) => cus.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), (o, cus, sys, kn) => sys.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
-
|
|
|
- //创建时间
|
|
|
- .WhereIF(pagedDto.StartTime != null, (o, cus, sys, kn) => o.CreationTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, (o, cus, sys, kn) => o.CreationTime <= pagedDto.EndTime)
|
|
|
- //上架时间
|
|
|
- .WhereIF(pagedDto.StartOnShelfTime != null, (o, cus, sys, kn) => o.OnShelfTime >= pagedDto.StartOnShelfTime)
|
|
|
- .WhereIF(pagedDto.EndOnShelfTime != null, (o, cus, sys, kn) => o.OnShelfTime <= pagedDto.EndOnShelfTime)
|
|
|
- //下架时间
|
|
|
- .WhereIF(pagedDto.StartOffShelfTime != null, (o, cus, sys, kn) => o.OffShelfTime >= pagedDto.StartOffShelfTime)
|
|
|
- .WhereIF(pagedDto.EndOffShelfTime != null, (o, cus, sys, kn) => o.OffShelfTime <= pagedDto.EndOffShelfTime)
|
|
|
-
|
|
|
- .Select((o, cus, sys, kn) => new
|
|
|
- {
|
|
|
- index = SqlFunc.RowNumber($"{o.Version} desc ", $"{o.Code}"),
|
|
|
- CreationName = cus.Name,
|
|
|
- CreationBMName = sys.OrgName,
|
|
|
- KnowledgeTypeName = kn.SpliceName,
|
|
|
- o.Id,
|
|
|
- o.Code,
|
|
|
- o.Title,
|
|
|
- o.Version,
|
|
|
- o.KnowledgeTypeId,
|
|
|
- o.IsDeleted,
|
|
|
- o.HotspotId,
|
|
|
- o.OnShelfTime,
|
|
|
- o.CreationTime,
|
|
|
- o.PageView,
|
|
|
- o.Status,
|
|
|
- o.OffShelfTime,
|
|
|
- o.LastModificationTime
|
|
|
- })
|
|
|
- .MergeTable()//将结果合并成一个表
|
|
|
- .Where(d => d.index == 1)
|
|
|
-
|
|
|
- .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
|
|
|
- return new PagedDto<KnowledgeDataDto>(total.Value, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(temp));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 已上架
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.OnTheShelfKnowledge)]
|
|
|
- [HttpPost("knowledge-ontheshelf")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> OnTheShelf([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
-
|
|
|
- RefAsync<int> total = 0;
|
|
|
- var temp = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
|
|
|
- .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
|
|
|
- .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
|
|
|
-
|
|
|
- .Where((o, cus, sys, kn) => o.IsDeleted == false && o.IsOnShelf == true && o.Status == EKnowledgeStatus.Succeed)
|
|
|
- .Where((o, cus, sys, kn) => bmList.Contains(o.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), (o, cus, sys, kn) => o.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), (o, cus, sys, kn) => o.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), (o, cus, sys, kn) => o.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, (o, cus, sys, kn) => o.OnShelfTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, (o, cus, sys, kn) => o.OnShelfTime <= pagedDto.EndTime)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), (o, cus, sys, kn) => cus.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), (o, cus, sys, kn) => sys.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
-
|
|
|
- .Select((o, cus, sys, kn) => new
|
|
|
- {
|
|
|
- index = SqlFunc.RowNumber($"{o.Version} desc ", $"{o.Code}"),
|
|
|
- CreationName = cus.Name,
|
|
|
- CreationBMName = sys.OrgName,
|
|
|
- KnowledgeTypeName = kn.SpliceName,
|
|
|
- o.Id,
|
|
|
- o.Code,
|
|
|
- o.Title,
|
|
|
- o.Version,
|
|
|
- o.KnowledgeTypeId,
|
|
|
- o.IsDeleted,
|
|
|
- o.HotspotId,
|
|
|
- o.OnShelfTime,
|
|
|
- o.CreationTime,
|
|
|
- o.PageView,
|
|
|
- o.Status,
|
|
|
- o.OffShelfTime,
|
|
|
- o.LastModificationTime
|
|
|
- })
|
|
|
- .MergeTable()//将结果合并成一个表
|
|
|
- .Where(d => d.index == 1)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
|
|
|
- return new PagedDto<KnowledgeDataDto>(total.Value, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(temp));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 已下架
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.OffShelfKnowledge)]
|
|
|
- [HttpPost("knowledge-offshelf")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> OffShelf([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
-
|
|
|
- RefAsync<int> total = 0;
|
|
|
- var temp = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .LeftJoin<User>((o, cus) => o.CreatorId == cus.Id)
|
|
|
- .LeftJoin<SystemOrganize>((o, cus, sys) => o.CreatorOrgId == sys.Id)
|
|
|
- .LeftJoin<KnowledgeType>((o, cus, sys, kn) => o.KnowledgeTypeId == kn.Id)
|
|
|
-
|
|
|
- .Where((o, cus, sys, kn) => o.IsDeleted == false && o.IsOnShelf == false && o.Status == EKnowledgeStatus.Succeed)//
|
|
|
- .Where((o, cus, sys, kn) => bmList.Contains(o.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), (o, cus, sys, kn) => o.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), (o, cus, sys, kn) => o.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), (o, cus, sys, kn) => o.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, (o, cus, sys, kn) => o.OffShelfTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, (o, cus, sys, kn) => o.OffShelfTime <= pagedDto.EndTime)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), (o, cus, sys, kn) => cus.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), (o, cus, sys, kn) => sys.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
-
|
|
|
- .Select((o, cus, sys, kn) => new
|
|
|
- {
|
|
|
- index = SqlFunc.RowNumber($"{o.Version} desc ", $"{o.Code}"),
|
|
|
- CreationName = cus.Name,
|
|
|
- CreationBMName = sys.OrgName,
|
|
|
- KnowledgeTypeName = kn.SpliceName,
|
|
|
- o.Id,
|
|
|
- o.Code,
|
|
|
- o.Title,
|
|
|
- o.Version,
|
|
|
- o.KnowledgeTypeId,
|
|
|
- o.IsDeleted,
|
|
|
- o.HotspotId,
|
|
|
- o.OnShelfTime,
|
|
|
- o.CreationTime,
|
|
|
- o.PageView,
|
|
|
- o.Status,
|
|
|
- o.OffShelfTime,
|
|
|
- o.LastModificationTime
|
|
|
- })
|
|
|
- .MergeTable()//将结果合并成一个表
|
|
|
- .Where(d => d.index == 1)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPageListAsync(pagedDto.PageIndex, pagedDto.PageSize, total);
|
|
|
- return new PagedDto<KnowledgeDataDto>(total.Value, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(temp));
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 审批中
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.UnderApprovalKnowledge)]
|
|
|
- [HttpPost("knowledge-underapproval")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> UnderApproval([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
- var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .Includes(it => it.User)
|
|
|
- .Includes(it => it.SystemOrganize)
|
|
|
- .Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.Status == EKnowledgeStatus.Auditing && p.IsDeleted == false)
|
|
|
- .Where(p => bmList.Contains(p.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), d => d.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), d => d.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 审批完成
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.ApprovedKnowledge)]
|
|
|
- [HttpPost("knowledge-approved")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> Approved([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
- var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .Includes(it => it.User)
|
|
|
- .Includes(it => it.SystemOrganize)
|
|
|
- .Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.Status == EKnowledgeStatus.Succeed && p.IsDeleted == false)
|
|
|
- .Where(p => bmList.Contains(p.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), d => d.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), d => d.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 审批不通过
|
|
|
- /// </summary>
|
|
|
- /// <param name="pagedDto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [Permission(EPermission.ApprovalFailedKnowledge)]
|
|
|
- [HttpPost("knowledge-approvalfailed")]
|
|
|
- public async Task<PagedDto<KnowledgeDataDto>> ApprovalFailed([FromBody] KnowledgePagedListDto pagedDto)
|
|
|
- {
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.UserId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(new List<Knowledge>()));
|
|
|
- var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .Includes(it => it.User)
|
|
|
- .Includes(it => it.SystemOrganize)
|
|
|
- .Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.Status == EKnowledgeStatus.Failed && p.IsDeleted == false)
|
|
|
- .Where(p => bmList.Contains(p.CreatorOrgId!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.KnowledgeTypeId), d => d.KnowledgeTypeId == pagedDto.KnowledgeTypeId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.HotspotId), d => d.HotspotId == pagedDto.HotspotId)
|
|
|
- .WhereIF(pagedDto.StartTime != null, d => d.CreationTime >= pagedDto.StartTime)
|
|
|
- .WhereIF(pagedDto.EndTime != null, d => d.CreationTime <= pagedDto.EndTime)
|
|
|
- .OrderByDescending(p => p.CreationTime)
|
|
|
- .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- return new PagedDto<KnowledgeDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeDataDto>>(items));
|
|
|
+ return await _knowApplication.GetKnowList(pagedDto);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
@@ -597,23 +286,16 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeRetrieval)]
|
|
|
- [HttpPost("knowledge-knowretrieval")]
|
|
|
+ [HttpGet("knowretrieval")]
|
|
|
public async Task<PagedDto<KnowledgeRetrievalDataDto>> KnowRetrieval([FromBody] KnowledgeRetrievalPagedListDto pagedDto)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(pagedDto.Keyword))
|
|
|
throw UserFriendlyException.SameMessage("请输入关键字");
|
|
|
|
|
|
- //是否需要验证本部门以及下级部门的数据,不要注释下面这3行
|
|
|
- var bmList = await _knowledgeService.GetChildBMId(_sessionContext.RequiredOrgId);
|
|
|
- if (bmList == null || bmList.Count == 0)
|
|
|
- return new PagedDto<KnowledgeRetrievalDataDto>(0, _mapper.Map<IReadOnlyList<KnowledgeRetrievalDataDto>>(new List<Knowledge>()));
|
|
|
-
|
|
|
- string a = EKnowledgeRetrievalType.All.ToString();
|
|
|
RefAsync<int> total = 0;
|
|
|
var temp = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
- .Where(p => p.IsDeleted == false && p.Status == EKnowledgeStatus.Succeed)
|
|
|
- .Where(p => bmList.Contains(p.CreatorOrgId!)) //是否需要验证本部门以及下级部门的数据,不要注释此行
|
|
|
+ .Queryable(true)
|
|
|
+ .Where(p => p.Status == EKnowledgeStatus.OnShelf)
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.RetrievalType) || pagedDto.RetrievalType == EKnowledgeRetrievalType.All.ToString(),
|
|
|
d => d.Title.Contains(pagedDto.Keyword) || d.Content.Contains(pagedDto.Keyword) || d.Additions.Contains(pagedDto.Keyword))
|
|
|
.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Title.ToString(), d => d.Title.Contains(pagedDto.Keyword))
|
|
@@ -645,17 +327,16 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeApprovedAllList)]
|
|
|
- [HttpPost("knowledge-approvedalllist")]
|
|
|
+ [HttpGet("approvedalllist")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ApprovedAllList([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
+ .Queryable(true)
|
|
|
.Includes(it => it.User)
|
|
|
.Includes(it => it.SystemOrganize)
|
|
|
.Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.IsDeleted == false)//&& p.AssignUserIds.Contains(_sessionContext.UserId!)
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateOrgName!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
|
|
|
.OrderByDescending(p => p.CreationTime)
|
|
@@ -670,7 +351,7 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeToBeReviewed)]
|
|
|
- [HttpPost("knowledge-tobereviewed")]
|
|
|
+ [HttpGet("tobereviewed")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ToBeReviewed([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
//审核类型字段加在哪里
|
|
@@ -678,13 +359,13 @@ namespace Hotline.Api.Controllers
|
|
|
//
|
|
|
//还需要增加审核类型查询条件
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
+ .Queryable(true)
|
|
|
.Includes(it => it.User)
|
|
|
.Includes(it => it.SystemOrganize)
|
|
|
.Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.IsDeleted == false && p.Status == EKnowledgeStatus.Auditing && p.AssignUserIds.Contains(_sessionContext.UserId!))
|
|
|
+ .Where(p => p.Status == EKnowledgeStatus.Auditing && p.AssignUserIds.Contains(_sessionContext.UserId!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateOrgName!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
|
|
|
.OrderByDescending(p => p.CreationTime)
|
|
@@ -699,19 +380,19 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeApprovedList)]
|
|
|
- [HttpPost("knowledge-approvedlist")]
|
|
|
+ [HttpGet("approvedlist")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ApprovedList([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
//自己审批了哪些数据,通过什么方式去查询这个数据是属于自己的
|
|
|
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
+ .Queryable(true)
|
|
|
.Includes(it => it.User)
|
|
|
.Includes(it => it.SystemOrganize)
|
|
|
.Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.IsDeleted == false && p.Status == EKnowledgeStatus.Succeed)//&& p.AssignUserIds.Contains(pagedDto.UserId!)
|
|
|
+ .Where(p => p.Status == EKnowledgeStatus.OnShelf || p.Status == EKnowledgeStatus.OffShelf)
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateOrgName!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
|
|
|
.OrderByDescending(p => p.CreationTime)
|
|
@@ -726,17 +407,17 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="pagedDto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowledgeApprovedFailedList)]
|
|
|
- [HttpPost("knowledge-approvedfailedlist")]
|
|
|
+ [HttpGet("approvedfailedlist")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ApprovedFailedList([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
- .Queryable()
|
|
|
+ .Queryable(true)
|
|
|
.Includes(it => it.User)
|
|
|
.Includes(it => it.SystemOrganize)
|
|
|
.Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.IsDeleted == false && p.Status == EKnowledgeStatus.Failed)//&& p.AssignUserIds.Contains(pagedDto.UserId!)
|
|
|
+ .Where(p => p.Status == EKnowledgeStatus.Failed)
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(pagedDto.CreateOrgName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateOrgName!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
|
|
|
.OrderByDescending(p => p.CreationTime)
|