|
|
@ -1,6 +1,8 @@
|
|
|
|
package com.supervision.knowsub.service.impl;
|
|
|
|
package com.supervision.knowsub.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
@ -16,6 +18,7 @@ import com.supervision.knowsub.model.*;
|
|
|
|
import com.supervision.knowsub.service.*;
|
|
|
|
import com.supervision.knowsub.service.*;
|
|
|
|
import com.supervision.knowsub.util.UserUtil;
|
|
|
|
import com.supervision.knowsub.util.UserUtil;
|
|
|
|
import com.supervision.knowsub.vo.knowledge.KnowledgeFlowResVO;
|
|
|
|
import com.supervision.knowsub.vo.knowledge.KnowledgeFlowResVO;
|
|
|
|
|
|
|
|
import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
@ -57,17 +60,38 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
|
|
|
|
String submittedDeptId, Instant flowType,
|
|
|
|
String submittedDeptId, Instant flowType,
|
|
|
|
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
|
|
|
|
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
|
|
|
|
Integer pageNum, Integer pageSize) {
|
|
|
|
Integer pageNum, Integer pageSize) {
|
|
|
|
|
|
|
|
Assert.notNull(processStatus, "审批状态不能为空");
|
|
|
|
|
|
|
|
UserInfo user = UserUtil.getUser();
|
|
|
|
|
|
|
|
IPage<KnowledgeFlowResVO> result;
|
|
|
|
// 查询待办
|
|
|
|
// 查询待办
|
|
|
|
if (1 == processStatus) {
|
|
|
|
if (1 == processStatus) {
|
|
|
|
return knowledgeFlowRecordService.queryKnowledgeFlowTodoPage(title, publishDeptId, baseId, submittedDeptId, flowType,
|
|
|
|
result = knowledgeFlowRecordService.queryKnowledgeFlowTodoPage(user.getId(), title, publishDeptId, baseId, submittedDeptId, flowType,
|
|
|
|
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
|
|
|
|
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 查询已办
|
|
|
|
// 查询已办
|
|
|
|
if (2 == processStatus) {
|
|
|
|
else if (2 == processStatus) {
|
|
|
|
return knowledgeFlowRecordService.queryKnowledgeFlowCompletePage(title, publishDeptId, baseId, submittedDeptId, flowType,
|
|
|
|
result = knowledgeFlowRecordService.queryKnowledgeFlowCompletePage(user.getId(), title, publishDeptId, baseId, submittedDeptId, flowType,
|
|
|
|
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
|
|
|
|
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
throw new BusinessException("不支持的状态类型");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
throw new BusinessException("不支持的状态类型");
|
|
|
|
// 然后填充一些字段
|
|
|
|
|
|
|
|
List<KnowledgeFlowResVO> records = result.getRecords();
|
|
|
|
|
|
|
|
// 获取所有部门
|
|
|
|
|
|
|
|
Set<String> publishDeptSet = records.stream().map(KnowledgeFlowResVO::getPublishDeptId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
Set<String> submitDeptSet = records.stream().map(KnowledgeFlowResVO::getSubmitDeptId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
Collection<String> deptIdSet = CollUtil.union(submitDeptSet, publishDeptSet);
|
|
|
|
|
|
|
|
Map<String, String> deptMap = systemDeptService.listByIds(deptIdSet).stream().collect(Collectors.toMap(SystemDept::getId, SystemDept::getDeptName));
|
|
|
|
|
|
|
|
// 获取所有子库
|
|
|
|
|
|
|
|
Set<String> userIdSet = records.stream().map(KnowledgeFlowResVO::getSubmitUserId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, String> userMap = systemUserService.listByIds(userIdSet).stream().collect(Collectors.toMap(SystemUser::getId, SystemUser::getUsername));
|
|
|
|
|
|
|
|
for (KnowledgeFlowResVO record : records) {
|
|
|
|
|
|
|
|
record.setSubmitUserName(userMap.getOrDefault(record.getSubmitUserId(), "未知用户"));
|
|
|
|
|
|
|
|
record.setSubmitDeptName(deptMap.getOrDefault(record.getSubmitDeptId(), "未知部门"));
|
|
|
|
|
|
|
|
record.setPublishDeptName(deptMap.getOrDefault(record.getPublishDeptId(), "未知部门"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -131,6 +155,7 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
|
|
|
|
todo.setKnowledgeId(knowledge.getId());
|
|
|
|
todo.setKnowledgeId(knowledge.getId());
|
|
|
|
todo.setRuleId(nextRule.getId());
|
|
|
|
todo.setRuleId(nextRule.getId());
|
|
|
|
todo.setTodoUserId(todoUser.getUserId());
|
|
|
|
todo.setTodoUserId(todoUser.getUserId());
|
|
|
|
|
|
|
|
todo.setSubmitUserId(userId);
|
|
|
|
todo.insert();
|
|
|
|
todo.insert();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -234,6 +259,7 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
|
|
|
|
todo.setFlowId(nextRule.getFlowId());
|
|
|
|
todo.setFlowId(nextRule.getFlowId());
|
|
|
|
todo.setKnowledgeId(knowledgeFlowTodo.getKnowledgeId());
|
|
|
|
todo.setKnowledgeId(knowledgeFlowTodo.getKnowledgeId());
|
|
|
|
todo.setTodoUserId(todoUser.getUserId());
|
|
|
|
todo.setTodoUserId(todoUser.getUserId());
|
|
|
|
|
|
|
|
todo.setSubmitUserId(submitFlowRecord.getSubmitUserId());
|
|
|
|
todo.setFlowType(knowledgeFlowTodo.getFlowType());
|
|
|
|
todo.setFlowType(knowledgeFlowTodo.getFlowType());
|
|
|
|
todo.setRuleId(nextRule.getId());
|
|
|
|
todo.setRuleId(nextRule.getId());
|
|
|
|
todo.insert();
|
|
|
|
todo.insert();
|
|
|
|