|
|
|
@ -50,16 +50,16 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
|
|
|
|
|
String title,
|
|
|
|
|
String publishDeptId,
|
|
|
|
|
String baseId,
|
|
|
|
|
String submittedDeptId,
|
|
|
|
|
LocalDateTime publishDateBegin,
|
|
|
|
|
LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
|
|
|
|
|
String title,
|
|
|
|
|
String publishDeptId,
|
|
|
|
|
String baseId,
|
|
|
|
|
String submittedDeptId,
|
|
|
|
|
LocalDateTime publishDateBegin,
|
|
|
|
|
LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
|
|
|
|
|
String userId = UserUtil.getUser().getId();
|
|
|
|
|
IPage<KnowledgePageResVO> knowledgeIPage = knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
|
|
|
|
|
List<KnowledgePageResVO> records = knowledgeIPage.getRecords();
|
|
|
|
|
if (CollUtil.isEmpty(records)){
|
|
|
|
|
if (CollUtil.isEmpty(records)) {
|
|
|
|
|
return knowledgeIPage;
|
|
|
|
|
}
|
|
|
|
|
// 获取所有部门
|
|
|
|
@ -84,13 +84,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void saveKnowledge(SaveKnowledgeReqVO reqVO) {
|
|
|
|
|
if (2 == reqVO.getOperate()){
|
|
|
|
|
if (2 == reqVO.getOperate()) {
|
|
|
|
|
Assert.notBlank(reqVO.getBaseId(), "应用子库不能为空");
|
|
|
|
|
KnowledgeInfo knowledgeInfo = reqVO.getKnowledgeInfo();
|
|
|
|
|
Assert.notNull(knowledgeInfo,"有效日期不能为空");
|
|
|
|
|
Assert.notBlank(reqVO.getPublishDeptId(),"发文部门不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getPublishDate(),"发文时间不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getTimeliness(),"有效日期不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo, "有效日期不能为空");
|
|
|
|
|
Assert.notBlank(reqVO.getPublishDeptId(), "发文部门不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getPublishDate(), "发文时间不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getTimeliness(), "有效日期不能为空");
|
|
|
|
|
}
|
|
|
|
|
var context = new KnowledgeContext();
|
|
|
|
|
context.setContext(reqVO.getContent());
|
|
|
|
@ -107,12 +107,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
knowledge.setInfoId(baseInfo.getId());
|
|
|
|
|
knowledge.setBaseId(reqVO.getBaseId());
|
|
|
|
|
knowledge.setPublishDeptId(reqVO.getPublishDeptId());
|
|
|
|
|
knowledge.setExcerpt(reqVO.getExcerpt());
|
|
|
|
|
// 目前只有人工添加
|
|
|
|
|
knowledge.setKnowledgeFrom(1);
|
|
|
|
|
knowledge.setStatus(reqVO.getOperate() == 1 ? StatusEnum.DRAFT.getStatus() : StatusEnum.WAIT_APPROVAL.getStatus());
|
|
|
|
|
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
|
|
|
|
|
if (1 == reqVO.getOperate()) {
|
|
|
|
|
knowledge.setDraftBelongUserId( UserUtil.getUser().getId());
|
|
|
|
|
knowledge.setDraftBelongUserId(UserUtil.getUser().getId());
|
|
|
|
|
}
|
|
|
|
|
knowledgeService.save(knowledge);
|
|
|
|
|
// 保存知识的基本信息
|
|
|
|
@ -126,6 +127,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
}
|
|
|
|
|
for (KnowledgeLinkVO knowLedgeLinkVO : reqVO.getLinkList()) {
|
|
|
|
|
KnowledgeLink knowledgeLink = new KnowledgeLink();
|
|
|
|
|
knowledgeLink.setKnowledgeId(knowledge.getId());
|
|
|
|
|
knowledgeLink.setLinkName(knowLedgeLinkVO.getLinkName());
|
|
|
|
|
knowledgeLink.setLinkUrl(knowLedgeLinkVO.getLinkUrl());
|
|
|
|
|
knowledgeLinkService.save(knowledgeLink);
|
|
|
|
@ -145,13 +147,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void updateKnowledge(ModifyKnowledgeReqVO reqVO) {
|
|
|
|
|
if (2 == reqVO.getOperate()){
|
|
|
|
|
if (2 == reqVO.getOperate()) {
|
|
|
|
|
Assert.notBlank(reqVO.getBaseId(), "应用子库不能为空");
|
|
|
|
|
KnowledgeInfo knowledgeInfo = reqVO.getKnowledgeInfo();
|
|
|
|
|
Assert.notNull(knowledgeInfo,"有效日期不能为空");
|
|
|
|
|
Assert.notBlank(reqVO.getPublishDeptId(),"发文部门不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getPublishDate(),"发文时间不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getTimeliness(),"有效日期不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo, "有效日期不能为空");
|
|
|
|
|
Assert.notBlank(reqVO.getPublishDeptId(), "发文部门不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getPublishDate(), "发文时间不能为空");
|
|
|
|
|
Assert.notNull(knowledgeInfo.getTimeliness(), "有效日期不能为空");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Knowledge knowledge = knowledgeService.getOptById(reqVO.getKnowledgeId()).orElseThrow(() -> new BusinessException("未找到知识"));
|
|
|
|
@ -166,6 +168,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
|
|
|
|
|
// 然后更新
|
|
|
|
|
knowledge.setTitle(reqVO.getTitle());
|
|
|
|
|
knowledge.setExcerpt(reqVO.getExcerpt());
|
|
|
|
|
knowledge.setBaseId(reqVO.getBaseId());
|
|
|
|
|
knowledge.setPublishDeptId(reqVO.getPublishDeptId());
|
|
|
|
|
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
|
|
|
|
@ -280,6 +283,8 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
public void deleteKnowledge(String knowledgeId, String remark) {
|
|
|
|
|
// 删除是逻辑删除,如果当前状态是草稿,且没有走过审批流程,则可以直接删除
|
|
|
|
|
Knowledge knowledge = knowledgeService.getOptById(knowledgeId).orElseThrow(() -> new BusinessException("未找到知识"));
|
|
|
|
|
// 如果非草稿,则校验是否是通过/驳回/已失效状态,如果是,则需要走审批流程进行删除
|
|
|
|
|
Set<Integer> canDeleteStatusSet = Set.of(StatusEnum.PASS.getStatus(), StatusEnum.REJECT.getStatus(), StatusEnum.INVALID.getStatus());
|
|
|
|
|
if (Objects.equals(StatusEnum.DRAFT.getStatus(), knowledge.getStatus())) {
|
|
|
|
|
// 需要判断之前是否走过审批流程
|
|
|
|
|
if (flowRecordService.lambdaQuery().eq(KnowledgeFlowRecord::getKnowledgeId, knowledgeId).count() == 0) {
|
|
|
|
@ -297,10 +302,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
knowledge.setStatus(StatusEnum.DELETE.getStatus());
|
|
|
|
|
knowledgeService.updateById(knowledge);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 如果非草稿,则校验是否是通过/驳回/已失效状态,如果是,则需要走审批流程进行删除
|
|
|
|
|
Set<Integer> canDeleteStatusSet = Set.of(StatusEnum.PASS.getStatus(), StatusEnum.REJECT.getStatus(), StatusEnum.INVALID.getStatus());
|
|
|
|
|
if (canDeleteStatusSet.contains(knowledge.getStatus())) {
|
|
|
|
|
} else if (canDeleteStatusSet.contains(knowledge.getStatus())) {
|
|
|
|
|
// 这时需要走审批流程进行删除
|
|
|
|
|
UserInfo user = UserUtil.getUser();
|
|
|
|
|
knowledgeFlowService.submitFlowProcess(knowledge, FlowTypeEnum.DELETE, user.getId(), user.getDeptId(), remark);
|
|
|
|
|