|
@@ -7,7 +7,6 @@ using MapsterMapper;
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using SqlSugar;
|
|
|
-using System.Xml.Linq;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Exceptions;
|
|
|
|
|
@@ -26,7 +25,7 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IMapper _mapper;
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 登录信息
|
|
|
+ ///
|
|
|
/// </summary>
|
|
|
/// <param name="knowledgeRepository"></param>
|
|
|
/// <param name="knowledgeTempRepository"></param>
|
|
@@ -105,6 +104,7 @@ namespace Hotline.Api.Controllers
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
+ #region 知识管理
|
|
|
/// <summary>
|
|
|
/// 知识库-知识修改-查询详情
|
|
|
/// </summary>
|
|
@@ -145,6 +145,10 @@ namespace Hotline.Api.Controllers
|
|
|
KnowledgeId = know.Id
|
|
|
};
|
|
|
await _knowledgePVRepository.AddAsync(knowledgePv);
|
|
|
+
|
|
|
+ //修改浏览量
|
|
|
+ know.PageView++;
|
|
|
+ await _knowledgeRepository.UpdateAsync(know);
|
|
|
return know;
|
|
|
}
|
|
|
|
|
@@ -171,6 +175,7 @@ namespace Hotline.Api.Controllers
|
|
|
kn.Status = EKnowledgeStatus.Auditing;
|
|
|
|
|
|
return await _knowledgeRepository.AddAsync(kn);
|
|
|
+ //调用流程创建
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -187,7 +192,7 @@ namespace Hotline.Api.Controllers
|
|
|
var know = await _knowledgeRepository.GetAsync(dto.Id);
|
|
|
if (know is null || know.IsDeleted)
|
|
|
throw UserFriendlyException.SameMessage("无效知识");
|
|
|
- if (know.Status == EKnowledgeStatus.Auditing || know.Status == EKnowledgeStatus.Update)
|
|
|
+ if (know.Status == EKnowledgeStatus.Auditing)
|
|
|
throw UserFriendlyException.SameMessage("审批中数据不能修改");
|
|
|
var knowledge = _mapper.Map<Knowledge>(dto);
|
|
|
knowledge.Code = know.Code;
|
|
@@ -196,19 +201,22 @@ namespace Hotline.Api.Controllers
|
|
|
knowledge.Status = EKnowledgeStatus.Auditing;
|
|
|
knowledge.Id = "";
|
|
|
knowledge.Version = know.Version + 1;
|
|
|
+ knowledge.IsHistory = true;
|
|
|
//新增一条数据
|
|
|
|
|
|
await _knowledgeRepository.AddAsync(knowledge);
|
|
|
|
|
|
+ //调用流程创建
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 审批操作
|
|
|
/// </summary>
|
|
|
/// <param name="Ids"></param>
|
|
|
+ /// <param name="ApprovalStatus">审核状态:0:通过;1:不通过</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("knowledge-approvalhandle")]
|
|
|
- public async Task ApprovalHandle(List<string> Ids)
|
|
|
+ public async Task ApprovalHandle(List<string> Ids, string ApprovalStatus)
|
|
|
{
|
|
|
if (Ids is null || Ids.Count == 0)
|
|
|
throw UserFriendlyException.SameMessage("数据不能为空");
|
|
@@ -221,21 +229,31 @@ namespace Hotline.Api.Controllers
|
|
|
//调用流程审批接口
|
|
|
|
|
|
//处理数据
|
|
|
- know.Status = EKnowledgeStatus.Succeed;
|
|
|
- know.IsOnShelf = true;
|
|
|
- know.OnShelfTime = DateTime.Now;
|
|
|
+ if (ApprovalStatus == "0")
|
|
|
+ {
|
|
|
+ know.Status = EKnowledgeStatus.Succeed;
|
|
|
+ know.IsOnShelf = true;
|
|
|
+ know.OnShelfTime = DateTime.Now;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ know.Status = EKnowledgeStatus.Failed;
|
|
|
+ }
|
|
|
+ know.IsHistory = false;
|
|
|
await _knowledgeRepository.UpdateAsync(know);
|
|
|
//处理原始数据的状态
|
|
|
var oldKnow = await _knowledgeRepository.GetAsync(p => p.Code == know.Code && p.Status == EKnowledgeStatus.Succeed && p.Id != know.Id);
|
|
|
if (oldKnow != null)
|
|
|
{
|
|
|
- oldKnow.Status = EKnowledgeStatus.Update;
|
|
|
+ oldKnow.IsHistory = true;
|
|
|
await _knowledgeRepository.UpdateAsync(oldKnow);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region 知识列表
|
|
|
/// <summary>
|
|
|
/// 我的草稿箱
|
|
@@ -311,7 +329,7 @@ namespace Hotline.Api.Controllers
|
|
|
.Includes(it => it.User)
|
|
|
.Includes(it => it.SystemOrganize)
|
|
|
.Includes(it => it.KnowledgeType)
|
|
|
- .Where(p => p.IsDeleted == false && p.Status != EKnowledgeStatus.Update)//
|
|
|
+ .Where(p => p.IsDeleted == false && p.IsHistory == false)//
|
|
|
.Where(p => bmList.Contains(p.CreatorOrgId))//组织Id
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateUserName), d => d.User.Name.Contains(pagedDto.CreateUserName!))//创建人
|
|
|
.WhereIF(!string.IsNullOrEmpty(pagedDto.CreateBMName), d => d.SystemOrganize.OrgName.Contains(pagedDto.CreateBMName!))//创建部门
|
|
@@ -523,6 +541,31 @@ namespace Hotline.Api.Controllers
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
+ #region 审核管理
|
|
|
+ /// <summary>
|
|
|
+ /// 审核管理-全部
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="pagedDto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("knowledge-approvedalllist")]
|
|
|
+ public async Task<PagedDto<KnowledgeApprovalDataDto>> ApprovedAllList([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
+ {
|
|
|
+ var (total, items) = await _knowledgeRepository
|
|
|
+ .Queryable()
|
|
|
+ .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.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
|
+
|
|
|
+ .OrderByDescending(p => p.CreationTime)
|
|
|
+ .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize);
|
|
|
+
|
|
|
+ return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 待审核
|
|
|
/// </summary>
|
|
@@ -531,12 +574,16 @@ namespace Hotline.Api.Controllers
|
|
|
[HttpPost("knowledge-tobereviewed")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ToBeReviewed([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
+ //审核类型字段加在哪里
|
|
|
+ //我审核通过的和我审核不通过的怎么查询
|
|
|
+ //
|
|
|
+ //还需要增加审核类型查询条件
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
.Queryable()
|
|
|
.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))//&& p.AssignUserIds.Contains(pagedDto.UserId!)
|
|
|
+ .Where(p => p.IsDeleted == false && 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.Title), d => d.Title.Contains(pagedDto.Title!))
|
|
@@ -555,6 +602,8 @@ namespace Hotline.Api.Controllers
|
|
|
[HttpPost("knowledge-approvedlist")]
|
|
|
public async Task<PagedDto<KnowledgeApprovalDataDto>> ApprovedList([FromBody] KnowledgeApprovalPagedListDto pagedDto)
|
|
|
{
|
|
|
+ //自己审批了哪些数据,通过什么方式去查询这个数据是属于自己的
|
|
|
+
|
|
|
var (total, items) = await _knowledgeRepository
|
|
|
.Queryable()
|
|
|
.Includes(it => it.User)
|
|
@@ -594,6 +643,7 @@ namespace Hotline.Api.Controllers
|
|
|
|
|
|
return new PagedDto<KnowledgeApprovalDataDto>(total, _mapper.Map<IReadOnlyList<KnowledgeApprovalDataDto>>(items));
|
|
|
}
|
|
|
+ #endregion
|
|
|
|
|
|
}
|
|
|
}
|