|
@@ -181,6 +181,26 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
KnowledgeApprovalNodeVo node;
|
|
KnowledgeApprovalNodeVo node;
|
|
for (int index = 0; index < approvalVoList.size(); index++) {
|
|
for (int index = 0; index < approvalVoList.size(); index++) {
|
|
|
|
+ //自定义节点存在,加入到默认节点的下一个节点
|
|
|
|
+ if (index == 1 && StringUtils.isNotEmpty(knowledgeDto.getCustomNodes())){
|
|
|
|
+ KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
|
|
|
|
+ knowledgeApprove.setPkId(IdGenerator.getIdStr());
|
|
|
|
+ knowledgeApprove.setName("自定义节点");
|
|
|
|
+ knowledgeApprove.setKnowledgerId(knowledge.getPkId());
|
|
|
|
+ knowledgeApprove.setApproverId(knowledgeDto.getCustomNodes());
|
|
|
|
+ String approverName = Arrays.asList(knowledgeApprove.getApproverId().split(",")).parallelStream().map(e -> userService.queryByUsername(e).getFullName()).
|
|
|
|
+ collect(Collectors.joining(","));
|
|
|
|
+ knowledgeApprove.setApproverName(approverName);
|
|
|
|
+ knowledgeApprove.setApprovalBatch(1);
|
|
|
|
+ knowledgeApprove.setUpdateBy(users.getUserId());
|
|
|
|
+ knowledgeApprove.setSort(2);
|
|
|
|
+ knowledgeApprove.setIsFinal(0);
|
|
|
|
+ knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
|
|
+ knowledgeApprove.setCreateTime(new Date());
|
|
|
|
+ knowledgeApproveMapper.insert(knowledgeApprove);
|
|
|
|
+ index--;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
node = approvalVoList.get(index);
|
|
node = approvalVoList.get(index);
|
|
if (node != null) {
|
|
if (node != null) {
|
|
KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
|
|
KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
|
|
@@ -191,7 +211,11 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
knowledgeApprove.setApproverName(node.getApproverName());
|
|
knowledgeApprove.setApproverName(node.getApproverName());
|
|
knowledgeApprove.setApprovalBatch(1);
|
|
knowledgeApprove.setApprovalBatch(1);
|
|
knowledgeApprove.setUpdateBy(users.getUserId());
|
|
knowledgeApprove.setUpdateBy(users.getUserId());
|
|
- knowledgeApprove.setSort(index + 1);
|
|
|
|
|
|
+ if (index > 0 && StringUtils.isNotEmpty(knowledgeDto.getCustomNodes())){
|
|
|
|
+ knowledgeApprove.setSort(index + 2);
|
|
|
|
+ } else {
|
|
|
|
+ knowledgeApprove.setSort(index + 1);
|
|
|
|
+ }
|
|
knowledgeApprove.setIsFinal(node.getIsFinal());
|
|
knowledgeApprove.setIsFinal(node.getIsFinal());
|
|
knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
knowledgeApprove.setCreateTime(new Date());
|
|
knowledgeApprove.setCreateTime(new Date());
|
|
@@ -362,6 +386,18 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
if (e.getCreateBy().equals(userService.queryLoginUser())){
|
|
if (e.getCreateBy().equals(userService.queryLoginUser())){
|
|
e.setIsOrganizationId(0);
|
|
e.setIsOrganizationId(0);
|
|
}
|
|
}
|
|
|
|
+ //如果知识还没有人进行审核,支持撤回(第一个节点审核结果为空,可撤回)(草稿无法撤回)
|
|
|
|
+ if (!filter.getParams().containsKey("isDraft")){
|
|
|
|
+ String knowledgeId = e.getPkId();
|
|
|
|
+ List<KnowledgeApprove> knowledgeApproveList = knowledgeApproveMapper.selectList(new QueryWrapper<KnowledgeApprove>().eq("KNOWLEDGER_ID", e.getPkId()));
|
|
|
|
+ if(knowledgeApproveList.get(0).getResult() == null){
|
|
|
|
+ e.setIsWithdraw(0);
|
|
|
|
+ } else {
|
|
|
|
+ e.setIsWithdraw(1);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ e.setIsWithdraw(1);
|
|
|
|
+ }
|
|
});
|
|
});
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
@@ -943,4 +979,24 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
//转移
|
|
//转移
|
|
knowledgeMapper.transferCategory(knowledgeIds,categoryId);
|
|
knowledgeMapper.transferCategory(knowledgeIds,categoryId);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 知识撤回
|
|
|
|
+ * @param knowledgeId
|
|
|
|
+ */
|
|
|
|
+ public void knowledgeWithdraw(String knowledgeId) {
|
|
|
|
+ //判断知识是否被审核过了
|
|
|
|
+ List<KnowledgeApprove> knowledgeApproveList = knowledgeApproveMapper.
|
|
|
|
+ selectList(new QueryWrapper<KnowledgeApprove>().eq("KNOWLEDGER_ID", knowledgeId));
|
|
|
|
+ if (knowledgeApproveList.stream().findFirst().get().getResult() != null){
|
|
|
|
+ throw new RuntimeException("知识被审核过了,无法撤回");
|
|
|
|
+ }
|
|
|
|
+ //撤回(知识审核状态修改为6且进入草稿,审核记录删除)
|
|
|
|
+ Knowledge knowledge = this.get(knowledgeId);
|
|
|
|
+ knowledge.setPkId(knowledgeId);
|
|
|
|
+ knowledge.setApprovalStatus(6);
|
|
|
|
+ knowledge.setIsDraft(0);
|
|
|
|
+ knowledgeMapper.updateById(knowledge);
|
|
|
|
+ knowledgeApproveMapper.deleteByKnowledgeId(knowledgeId);
|
|
|
|
+ }
|
|
}
|
|
}
|