|
@@ -3,6 +3,7 @@ package com.redxun.knowledge.service;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.redxun.common.base.db.BaseDao;
|
|
|
import com.redxun.common.base.db.BaseService;
|
|
|
import com.redxun.common.model.JPaasUser;
|
|
@@ -10,11 +11,20 @@ import com.redxun.common.tool.IdGenerator;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
import com.redxun.knowledge.common.UserService;
|
|
|
import com.redxun.knowledge.entity.dao.Knowledge;
|
|
|
+import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
|
|
|
+import com.redxun.knowledge.entity.dao.KnowledgeApprove;
|
|
|
+import com.redxun.knowledge.entity.dao.KnowledgeLabel;
|
|
|
import com.redxun.knowledge.entity.dto.knowledgeDto;
|
|
|
+import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
|
|
|
+import com.redxun.knowledge.entity.vo.KnowledgeVo;
|
|
|
+import com.redxun.knowledge.mapper.KnowledgeApprovalNodeMapper;
|
|
|
+import com.redxun.knowledge.mapper.KnowledgeApproveMapper;
|
|
|
import com.redxun.knowledge.mapper.KnowledgeMapper;
|
|
|
+import org.checkerframework.checker.units.qual.K;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
import javax.annotation.Resource;
|
|
@@ -28,6 +38,12 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
@Resource
|
|
|
private KnowledgeMapper knowledgeMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private KnowledgeApprovalNodeMapper knowledgeApprovalNodeMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private KnowledgeApproveMapper knowledgeApproveMapper;
|
|
|
+
|
|
|
@Resource
|
|
|
private UserService userService;
|
|
|
|
|
@@ -68,9 +84,87 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
}
|
|
|
|
|
|
insert(knowledge);
|
|
|
+
|
|
|
+ // 从知识审批节点表拉取审批节点
|
|
|
+ List<KnowledgeApprovalNode> approvalVoList = knowledgeApprovalNodeMapper.selectList(new QueryWrapper<KnowledgeApprovalNode>().eq("IS_DEL", 0).orderByAsc("IS_FINAL", "CREATE_TIME_"));
|
|
|
+ if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
|
+ KnowledgeApprovalNode node;
|
|
|
+ for (int index = 0; index < approvalVoList.size(); index++) {
|
|
|
+ node = approvalVoList.get(index);
|
|
|
+ if (node != null) {
|
|
|
+ KnowledgeApprove knowledgeApprove = new KnowledgeApprove();
|
|
|
+ knowledgeApprove.setPkId(IdGenerator.getIdStr());
|
|
|
+ knowledgeApprove.setName(node.getName());
|
|
|
+ knowledgeApprove.setKnowledgerId(knowledge.getPkId());
|
|
|
+ knowledgeApprove.setApproverId(node.getApproverId());
|
|
|
+ knowledgeApprove.setApproverName(node.getApproverName());
|
|
|
+ knowledgeApprove.setApprovalBatch(1);
|
|
|
+ knowledgeApprove.setSort(index + 1);
|
|
|
+ knowledgeApprove.setIsFinal(node.getIsFinal());
|
|
|
+ knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
|
+ knowledgeApprove.setCreateTime(new Date());
|
|
|
+
|
|
|
+ knowledgeApproveMapper.insert(knowledgeApprove);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return knowledge.getPkId();
|
|
|
}
|
|
|
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
+ public KnowledgeVo info(String pkId) {
|
|
|
+ Knowledge knowledge = get(pkId);
|
|
|
+
|
|
|
+ List<KnowledgeApprove> approvalVoList = knowledgeApproveMapper.selectList(new QueryWrapper<KnowledgeApprove>().eq("KNOWLEDGER_ID", pkId).orderByAsc("SORT"));
|
|
|
+ List<KnowledgeApprovalVo> approvals = new ArrayList<>();
|
|
|
+ // 审核节点
|
|
|
+ if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
|
+ KnowledgeApprove approve = null;
|
|
|
+ KnowledgeApprovalVo approvalVo = null;
|
|
|
+ boolean isFirstNoneApprove = true;
|
|
|
+ for (int index = 0; index < approvalVoList.size(); index++) {
|
|
|
+ approve = approvalVoList.get(index);
|
|
|
+ approvalVo = new KnowledgeApprovalVo();
|
|
|
+ approvalVo.setPkId(approve.getPkId());
|
|
|
+ approvalVo.setName(approve.getName());
|
|
|
+ approvalVo.setApproverId(approve.getApproverId());
|
|
|
+ approvalVo.setApproverName(approve.getApproverName());
|
|
|
+ approvalVo.setActualApprover(approve.getActualApprover());
|
|
|
+ approvalVo.setActualApproverName(approve.getActualApproverName());
|
|
|
+ approvalVo.setApprovalTime(approve.getApprovalTime());
|
|
|
+ approvalVo.setSort(approve.getSort());
|
|
|
+ // 审核状态 :提交审核 审核通过 审核驳回
|
|
|
+ if (approve.getResult() == null && isFirstNoneApprove) {
|
|
|
+ isFirstNoneApprove = false;
|
|
|
+ approvalVo.setApprovalStatus("提交审核");
|
|
|
+ } else {
|
|
|
+ if (approve.getResult() == null) {
|
|
|
+ approvalVo.setApprovalStatus("");
|
|
|
+ } else if (approve.getResult() == 0) {
|
|
|
+ approvalVo.setApprovalStatus("审核驳回");
|
|
|
+ } else if (approve.getResult() == 1) {
|
|
|
+ approvalVo.setApprovalStatus("审核通过");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ approvals.add(approvalVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ KnowledgeVo knowledgeVo = new KnowledgeVo();
|
|
|
+ knowledgeVo.setPkId(knowledge.getPkId());
|
|
|
+ knowledgeVo.setCategoryId(knowledge.getCategoryId());
|
|
|
+ knowledgeVo.setType(knowledge.getType());
|
|
|
+ knowledgeVo.setTitle(knowledge.getTitle());
|
|
|
+ knowledgeVo.setAuthor(knowledge.getAuthor());
|
|
|
+ knowledgeVo.setContent(knowledge.getContent());
|
|
|
+ knowledgeVo.setSummary(knowledge.getSummary());
|
|
|
+ knowledgeVo.setAttachment(knowledge.getAttachment());
|
|
|
+ knowledgeVo.setCreateTime(knowledge.getCreateTime());
|
|
|
+ knowledgeVo.setApprovalStatus(knowledge.getApprovalStatus());
|
|
|
+ knowledgeVo.setApprovals(approvals);
|
|
|
+ return knowledgeVo;
|
|
|
+ }
|
|
|
}
|