|
@@ -35,6 +35,7 @@ import com.redxun.knowledge.utils.ObjectUtil;
|
|
|
import com.redxun.knowledge.utils.PageListUtils;
|
|
|
import com.redxun.search.service.SearchService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -96,6 +97,9 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
@Autowired
|
|
|
private KnowledgeApprovalNodeServiceImpl knowledgeApprovalNodeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KnowledgeCpMapper knowledgeCpMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public BaseDao<Knowledge> getRepository() {
|
|
@@ -117,12 +121,16 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String create(KnowledgeDto knowledgeDto) {
|
|
|
- if (Objects.isNull(knowledgeCategoryMapper.selectById(knowledgeDto.getCategoryId())) && knowledgeDto.getIsDraft() == 1){
|
|
|
- throw new RuntimeException("输入的分类不存在,请重新输入");
|
|
|
+ public String create(KnowledgeDto knowledgeDto,KnowledgeCp knowledgecp) {
|
|
|
+ if (knowledgeDto != null && knowledgecp != null){
|
|
|
+ throw new RuntimeException("未知错误");
|
|
|
}
|
|
|
+ Knowledge knowledge = new Knowledge();
|
|
|
+ IUser users = ContextUtil.getCurrentUser();
|
|
|
if (knowledgeDto != null) {
|
|
|
- Knowledge knowledge = new Knowledge();
|
|
|
+ if (Objects.isNull(knowledgeCategoryMapper.selectById(knowledgeDto.getCategoryId())) && knowledgeDto.getIsDraft() == 1){
|
|
|
+ throw new RuntimeException("输入的分类不存在,请重新输入");
|
|
|
+ }
|
|
|
knowledge.setPkId(IdGenerator.getIdStr());
|
|
|
knowledge.setTitles(knowledgeDto.getTitles());
|
|
|
knowledge.setCategoryId(knowledgeDto.getCategoryId());
|
|
@@ -141,7 +149,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
knowledge.setIsDraft(1);
|
|
|
}
|
|
|
knowledge.setContent(knowledgeDto.getContent());
|
|
|
- IUser users = ContextUtil.getCurrentUser();
|
|
|
knowledge.setCreateDepId(users.getDeptId());
|
|
|
knowledge.setTenantId(users.getTenantId());
|
|
|
knowledge.setCompanyId(users.getCompanyId());
|
|
@@ -157,40 +164,40 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
if (user != null) {
|
|
|
knowledge.setAuthor(user.getFullName());
|
|
|
}
|
|
|
+ insert(knowledge);
|
|
|
+ }
|
|
|
|
|
|
+ if (knowledgecp != null){
|
|
|
+ BeanUtils.copyProperties(knowledgecp,knowledge);
|
|
|
insert(knowledge);
|
|
|
+ }
|
|
|
+ // 从知识审批节点表拉取审批节点(不是草稿则拉取)
|
|
|
+ if (knowledge.getIsDraft() != null && knowledge.getIsDraft() == 1) {
|
|
|
+ List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(knowledge.getCategoryId(),knowledge.getCreateBy());
|
|
|
+ if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
|
+ KnowledgeApprovalNodeVo 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.setUpdateBy(users.getUserId());
|
|
|
+ knowledgeApprove.setSort(index + 1);
|
|
|
+ knowledgeApprove.setIsFinal(node.getIsFinal());
|
|
|
+ knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
|
+ knowledgeApprove.setCreateTime(new Date());
|
|
|
|
|
|
- // 从知识审批节点表拉取审批节点(不是草稿则拉取)
|
|
|
- if (knowledge.getIsDraft() != null && knowledge.getIsDraft() == 1) {
|
|
|
- List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(knowledgeDto.getCategoryId());
|
|
|
- if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
|
- KnowledgeApprovalNodeVo 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.setUpdateBy(users.getUserId());
|
|
|
- knowledgeApprove.setSort(index + 1);
|
|
|
- knowledgeApprove.setIsFinal(node.getIsFinal());
|
|
|
- knowledgeApprove.setCreateBy(userService.queryLoginUser());
|
|
|
- knowledgeApprove.setCreateTime(new Date());
|
|
|
-
|
|
|
- knowledgeApproveMapper.insert(knowledgeApprove);
|
|
|
- }
|
|
|
+ knowledgeApproveMapper.insert(knowledgeApprove);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return knowledge.getPkId();
|
|
|
}
|
|
|
-
|
|
|
- return "";
|
|
|
+ return knowledge.getPkId();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -198,8 +205,8 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
* @param category
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<KnowledgeApprovalNodeVo> getKnowledgeApprovalNode(String category){
|
|
|
- List<KnowledgeApprovalNodeVo> knowledgeApprovalNodeVoList = knowledgeApprovalNodeService.findAllNodesByCategoryId(category);
|
|
|
+ private List<KnowledgeApprovalNodeVo> getKnowledgeApprovalNode(String category,String userId){
|
|
|
+ List<KnowledgeApprovalNodeVo> knowledgeApprovalNodeVoList = knowledgeApprovalNodeService.findAllNodesByCategoryId(category,userId);
|
|
|
return knowledgeApprovalNodeVoList;
|
|
|
}
|
|
|
|
|
@@ -384,11 +391,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
if (entity.getIsDraft() != null && entity.getIsDraft() == 0){
|
|
|
entity.setApprovalStatus(6);
|
|
|
IUser users = ContextUtil.getCurrentUser();
|
|
|
- entity.setCreateDepId(users.getDeptId());
|
|
|
- entity.setTenantId(users.getTenantId());
|
|
|
- entity.setCompanyId(users.getCompanyId());
|
|
|
- entity.setCreateBy(users.getUserId());
|
|
|
- entity.setCreateTime(new Date());
|
|
|
entity.setUpdateBy(users.getUserId());
|
|
|
entity.setUpdateTime(new Date());
|
|
|
return this.getRepository().updateById(entity);
|
|
@@ -400,7 +402,7 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
//删除原有的审批节点
|
|
|
knowledgeApproveMapper.deleteByKnowledgeId(entity.getPkId());
|
|
|
//重新拉取审核节点
|
|
|
- List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(entity.getCategoryId());
|
|
|
+ List<KnowledgeApprovalNodeVo> approvalVoList = getKnowledgeApprovalNode(entity.getCategoryId(),knowledge.getCreateBy());
|
|
|
if (ObjectUtils.isNotEmpty(approvalVoList)) {
|
|
|
KnowledgeApprovalNodeVo node;
|
|
|
for (int index = 0; index < approvalVoList.size(); index++) {
|
|
@@ -877,4 +879,25 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
List<OsGroup> groups = knowledgeMapper.getByDimIdUserIdRelTypeIdIsMain("1", userId, "1", MBoolean.YES.name(), tenantId);
|
|
|
return groups.size() > 0 ? (OsGroup)groups.get(0) : null;
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void importKnowledge() {
|
|
|
+ //查询需要导入的数据(组织架构格式化)
|
|
|
+ List<KnowledgeCp> knowledgeCpList = knowledgeCpMapper.selectList(null);
|
|
|
+ knowledgeCpList.parallelStream().forEach(e -> {
|
|
|
+ if (StringUtils.isNotEmpty(e.getOrganizationId())){
|
|
|
+ String s = e.getOrganizationId().replaceAll("\\\\", "");
|
|
|
+ e.setOrganizationId(s);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //取出第一条数据
|
|
|
+ KnowledgeCp knowledgeCp = knowledgeCpList.stream().findAny().get();
|
|
|
+ KnowledgeDto knowledgeDto = new KnowledgeDto();
|
|
|
+ BeanUtils.copyProperties(knowledgeCp,knowledgeDto);
|
|
|
+ String pkId = this.create(null,knowledgeCp);
|
|
|
+ //导入成功,删除原数据
|
|
|
+ if (StringUtils.isNotEmpty(pkId) && knowledgeCp.getPkId().equals(pkId)){
|
|
|
+ knowledgeCpMapper.deleteCp(pkId);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|