|
|
|
@ -86,11 +86,11 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
// 进行只是的标记操作
|
|
|
|
|
markKnowledgeOperationFlag(list);
|
|
|
|
|
// status是查全部,则在页面展示的时候,需要把16,17进行转换
|
|
|
|
|
if (ObjectUtil.isNull(status)){
|
|
|
|
|
if (ObjectUtil.isNull(status)) {
|
|
|
|
|
for (KnowledgePageResVO knowledgePageResVO : list) {
|
|
|
|
|
// 如果状态是16,17,则在页面展示的时候,展示为通过
|
|
|
|
|
if (Objects.equals(knowledgePageResVO.getStatus(), StatusEnum.RECALL_APPROVAL_RECALL.getStatus())
|
|
|
|
|
|| Objects.equals(knowledgePageResVO.getStatus(), StatusEnum.RECALL_APPROVAL_DELETE.getStatus())){
|
|
|
|
|
|| Objects.equals(knowledgePageResVO.getStatus(), StatusEnum.RECALL_APPROVAL_DELETE.getStatus())) {
|
|
|
|
|
knowledgePageResVO.setStatus(StatusEnum.PASS.getStatus());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -377,6 +377,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
Knowledge knowledge = knowledgeService.getOptById(knowledgeId).orElseThrow(() -> new BusinessException("未找到知识"));
|
|
|
|
|
// 如果非草稿,则校验是否是通过/驳回/已撤回/已失效状态,如果是,则需要走审批流程进行删除
|
|
|
|
|
Set<Integer> canDeleteStatusSet = Set.of(StatusEnum.PASS.getStatus(), StatusEnum.RECALL_APPROVAL_RECALL.getStatus(), StatusEnum.RECALL_APPROVAL_DELETE.getStatus(), StatusEnum.INVALID.getStatus());
|
|
|
|
|
// 如果是审批草稿,需要进行判断之前是否有过记录
|
|
|
|
|
if (Objects.equals(StatusEnum.DRAFT.getStatus(), knowledge.getStatus())) {
|
|
|
|
|
// 需要判断之前是否走过审批流程
|
|
|
|
|
if (flowRecordService.lambdaQuery().eq(KnowledgeFlowRecord::getKnowledgeId, knowledgeId).count() == 0) {
|
|
|
|
@ -395,6 +396,21 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
|
|
|
|
|
.set(Knowledge::getDraftBelongUserId, null)
|
|
|
|
|
.eq(Knowledge::getId, knowledge.getId()).update();
|
|
|
|
|
}
|
|
|
|
|
} else if (Objects.equals(StatusEnum.RECALL_APPROVAL_SUBMIT.getStatus(), knowledge.getStatus())) {
|
|
|
|
|
// 如果是新增驳回的,需要判断除了本次驳回的,是否有被审批通过过,如果有被报送且审批通过过,就要走流程进行删除
|
|
|
|
|
if (flowRecordService.lambdaQuery().eq(KnowledgeFlowRecord::getKnowledgeId, knowledgeId).eq(KnowledgeFlowRecord::getFlowType, FlowTypeEnum.SUBMIT.getFlowType()).eq(KnowledgeFlowRecord::getProcessStatus, 1).count() > 0) {
|
|
|
|
|
// 如果有,则走流程进行删除
|
|
|
|
|
// 这时需要走审批流程进行删除
|
|
|
|
|
UserInfo user = UserUtil.getUser();
|
|
|
|
|
knowledgeFlowService.submitFlowProcess(knowledge, FlowTypeEnum.DELETE, user.getId(), user.getDeptId(), remark);
|
|
|
|
|
// 然后将状态修改为待审核
|
|
|
|
|
knowledgeService.lambdaUpdate().set(Knowledge::getStatus, StatusEnum.WAIT_APPROVAL_DELETE.getStatus()).eq(Knowledge::getId, knowledge.getId()).update();
|
|
|
|
|
}else {
|
|
|
|
|
// 如果有过审批记录,则直接修改状态为逻辑删除
|
|
|
|
|
knowledgeService.lambdaUpdate().set(Knowledge::getStatus, StatusEnum.DELETE.getStatus())
|
|
|
|
|
.set(Knowledge::getDraftBelongUserId, null)
|
|
|
|
|
.eq(Knowledge::getId, knowledge.getId()).update();
|
|
|
|
|
}
|
|
|
|
|
} else if (canDeleteStatusSet.contains(knowledge.getStatus())) {
|
|
|
|
|
// 这时需要走审批流程进行删除
|
|
|
|
|
UserInfo user = UserUtil.getUser();
|
|
|
|
|