release_1.0.0
liu 8 months ago
parent e222210897
commit 16665d2b50

@ -16,7 +16,7 @@ import java.util.List;
public interface KnowledgeFlowService {
IPage<KnowledgeFlowResVO> queryKnowledgeFlowPage(Integer processStatus,String title, String publishDeptId, String baseId, String submittedDeptId, Instant flowType,
IPage<KnowledgeFlowResVO> queryKnowledgeFlowPage(Integer processStatus,String title, String publishDeptId, String baseId, String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
Integer pageNum, Integer pageSize);

@ -17,7 +17,7 @@ public interface KnowledgeManageService {
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
String submitDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd,
Integer pageNum, Integer pageSize);

@ -22,6 +22,7 @@ import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -57,7 +58,7 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
@Override
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowPage(Integer processStatus, String title, String publishDeptId, String baseId,
String submittedDeptId, Instant flowType,
String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
Integer pageNum, Integer pageSize) {
Assert.notNull(processStatus, "审批状态不能为空");
@ -65,12 +66,12 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
IPage<KnowledgeFlowResVO> result;
// 查询待办
if (1 == processStatus) {
result = knowledgeFlowRecordService.queryKnowledgeFlowTodoPage(user.getId(), title, publishDeptId, baseId, submittedDeptId, flowType,
result = knowledgeFlowRecordService.queryKnowledgeFlowTodoPage(user.getId(), title, publishDeptId, baseId, submitDeptId, flowType,
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
}
// 查询已办
else if (2 == processStatus) {
result = knowledgeFlowRecordService.queryKnowledgeFlowCompletePage(user.getId(), title, publishDeptId, baseId, submittedDeptId, flowType,
result = knowledgeFlowRecordService.queryKnowledgeFlowCompletePage(user.getId(), title, publishDeptId, baseId, submitDeptId, flowType,
publishDateBegin, publishDateEnd, new Page<>(pageNum, pageSize));
} else {
throw new BusinessException("不支持的状态类型");
@ -81,11 +82,16 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
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));
Map<String, String> deptMap = new HashMap<>();
if (CollUtil.isNotEmpty(deptIdSet)){
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));
Map<String, String> userMap = new HashMap<>();
if (CollUtil.isNotEmpty(userIdSet)){
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(), "未知部门"));
@ -245,7 +251,7 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
SystemFlowRule nextRule;
try {
nextRule = ruleOrderList.get(index + 1);
} catch (Exception e) {
} catch (IndexOutOfBoundsException e) {
throw new BusinessException("未找到下一个审批节点,请联系管理员解决");
}
List<SystemFlowRuleUser> nextRuleUserList = systemFlowRuleUserService.lambdaQuery().eq(SystemFlowRuleUser::getFlowId, nextRule.getId())

@ -55,18 +55,18 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
String submitDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
String userId = UserUtil.getUser().getId();
// 除全部可以看所有外,其他tab都是看到自己报送的知识的状态(或参与过的)
IPage<KnowledgePageResVO> knowledgeIPage = knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
IPage<KnowledgePageResVO> knowledgeIPage = knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submitDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
List<KnowledgePageResVO> records = knowledgeIPage.getRecords();
if (CollUtil.isEmpty(records)) {
return knowledgeIPage;
}
// 获取所有部门
Set<String> submitDeptSet = records.stream().map(Knowledge::getSubmittedDeptId).collect(Collectors.toSet());
Set<String> submitDeptSet = records.stream().map(Knowledge::getSubmitDeptId).collect(Collectors.toSet());
Set<String> publishDeptSet = records.stream().map(Knowledge::getPublishDeptId).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));
@ -76,7 +76,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
List<KnowledgePageResVO> list = records.stream().map(knowledge -> {
KnowledgePageResVO node = BeanUtil.copyProperties(knowledge, KnowledgePageResVO.class);
node.setBaseName(baseMap.getOrDefault(knowledge.getBaseId(), "全部"));
node.setSubmitDeptName(deptMap.getOrDefault(knowledge.getSubmittedDeptId(), "未知部门"));
node.setSubmitDeptName(deptMap.getOrDefault(knowledge.getSubmitDeptId(), "未知部门"));
node.setPublishDeptName(deptMap.getOrDefault(knowledge.getPublishDeptId(), "未知部门"));
return node;
}).toList();
@ -171,7 +171,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
// 目前只有人工添加
knowledge.setKnowledgeFrom(1);
knowledge.setStatus(reqVO.getOperate() == 1 ? StatusEnum.DRAFT.getStatus() : StatusEnum.WAIT_APPROVAL.getStatus());
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
knowledge.setSubmitDeptId(UserUtil.getUser().getDeptId());
if (1 == reqVO.getOperate()) {
knowledge.setDraftBelongUserId(UserUtil.getUser().getId());
}
@ -233,7 +233,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
knowledge.setExcerpt(reqVO.getExcerpt());
knowledge.setBaseId(reqVO.getBaseId());
knowledge.setPublishDeptId(reqVO.getPublishDeptId());
knowledge.setSubmittedDeptId(UserUtil.getUser().getDeptId());
knowledge.setSubmitDeptId(UserUtil.getUser().getDeptId());
knowledge.setStatus(reqVO.getOperate() == 1 ? StatusEnum.DRAFT.getStatus() : StatusEnum.WAIT_APPROVAL.getStatus());
// 如果保存为草稿
@ -342,7 +342,7 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
// 查看详情的时候,需要返回相应的库名和部门名称
KnowledgeDetailResVO knowledgeDetailResVO = new KnowledgeDetailResVO(knowledge, knowledgeInfo, knowledgeContext, knowledgeLinkList, fileInfos);
knowledgeDetailResVO.setBaseName(systemBaseService.getOptById(knowledge.getBaseId()).map(SystemBase::getBaseName).orElse("未知子库"));
knowledgeDetailResVO.setSubmittedDeptName(systemDeptService.getOptById(knowledge.getSubmittedDeptId()).map(SystemDept::getDeptName).orElse("未知部门"));
knowledgeDetailResVO.setSubmittedDeptName(systemDeptService.getOptById(knowledge.getSubmitDeptId()).map(SystemDept::getDeptName).orElse("未知部门"));
knowledgeDetailResVO.setPublishDept(systemDeptService.getOptById(knowledge.getPublishDeptId()).map(SystemDept::getDeptName).orElse("未知部门"));
return knowledgeDetailResVO;
}

@ -23,7 +23,7 @@ public interface KnowledgeFlowRecordMapper extends BaseMapper<KnowledgeFlowRecor
@Param("title") String title,
@Param("publishDeptId") String publishDeptId,
@Param("baseId") String baseId,
@Param("submittedDeptId") String submittedDeptId,
@Param("submitDeptId") String submitDeptId,
@Param("flowType") Instant flowType,
@Param("publishDateBegin") LocalDateTime publishDateBegin,
@Param("publishDateEnd") LocalDateTime publishDateEnd,
@ -33,7 +33,7 @@ public interface KnowledgeFlowRecordMapper extends BaseMapper<KnowledgeFlowRecor
@Param("title") String title,
@Param("publishDeptId") String publishDeptId,
@Param("baseId") String baseId,
@Param("submittedDeptId") String submittedDeptId,
@Param("submitDeptId") String submitDeptId,
@Param("flowType") Instant flowType,
@Param("publishDateBegin") LocalDateTime publishDateBegin,
@Param("publishDateEnd") LocalDateTime publishDateEnd,

@ -21,7 +21,7 @@ public interface KnowledgeMapper extends BaseMapper<Knowledge> {
@Param("title") String title,
@Param("publishDeptId") String publishDeptId,
@Param("baseId") String baseId,
@Param("submittedDeptId") String submittedDeptId,
@Param("submitDeptId") String submitDeptId,
@Param("publishDateBegin") LocalDateTime publishDateBegin,
@Param("publishDateEnd") LocalDateTime publishDateEnd,
@Param("userId") String userId, Page<Knowledge> page);

@ -76,7 +76,7 @@ public class Knowledge implements Serializable {
* ID
*/
@Schema(description = "报送部门ID")
private String submittedDeptId;
private String submitDeptId;
@Schema(description = "草稿归属人ID,注意,在发布之后或撤回之后应该及时修改")
private String draftBelongUserId;

@ -20,7 +20,7 @@ public interface KnowledgeFlowRecordService extends IService<KnowledgeFlowRecord
*
*/
IPage<KnowledgeFlowResVO> queryKnowledgeFlowTodoPage(String userId, String title, String publishDeptId, String baseId,
String submittedDeptId, Instant flowType,
String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
Page<KnowledgeFlowResVO> page);
@ -28,7 +28,7 @@ public interface KnowledgeFlowRecordService extends IService<KnowledgeFlowRecord
*
*/
IPage<KnowledgeFlowResVO> queryKnowledgeFlowCompletePage(String userId, String title, String publishDeptId, String baseId,
String submittedDeptId, Instant flowType,
String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
Page<KnowledgeFlowResVO> page);

@ -24,7 +24,7 @@ public interface KnowledgeService extends IService<Knowledge> {
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
String submitDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize);

@ -22,16 +22,16 @@ public class KnowledgeFlowRecordServiceImpl extends ServiceImpl<KnowledgeFlowRec
implements KnowledgeFlowRecordService {
@Override
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowTodoPage(String userId, String title, String publishDeptId, String baseId, String submittedDeptId, Instant flowType,
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowTodoPage(String userId, String title, String publishDeptId, String baseId, String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd,
Page<KnowledgeFlowResVO> page) {
return this.baseMapper.queryKnowledgeFlowTodoPage(userId, title, publishDeptId, baseId, submittedDeptId, flowType, publishDateBegin, publishDateEnd, page);
return this.baseMapper.queryKnowledgeFlowTodoPage(userId, title, publishDeptId, baseId, submitDeptId, flowType, publishDateBegin, publishDateEnd, page);
}
@Override
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowCompletePage(String userId, String title, String publishDeptId, String baseId, String submittedDeptId, Instant flowType,
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowCompletePage(String userId, String title, String publishDeptId, String baseId, String submitDeptId, Instant flowType,
LocalDateTime publishDateBegin, LocalDateTime publishDateEnd, Page<KnowledgeFlowResVO> page) {
return this.baseMapper.queryKnowledgeFlowCompletePage(userId, title, publishDeptId, baseId, submittedDeptId, flowType, publishDateBegin, publishDateEnd, page);
return this.baseMapper.queryKnowledgeFlowCompletePage(userId, title, publishDeptId, baseId, submitDeptId, flowType, publishDateBegin, publishDateEnd, page);
}
@Override

@ -25,10 +25,10 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper, Knowledge
String title,
String publishDeptId,
String baseId,
String submittedDeptId,
String submitDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize) {
return this.baseMapper.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, new Page<>(pageNum, pageSize));
return this.baseMapper.queryKnowledgePage(status, title, publishDeptId, baseId, submitDeptId, publishDateBegin, publishDateEnd, userId, new Page<>(pageNum, pageSize));
}
}

@ -19,6 +19,8 @@ public class KnowledgeFlowResVO {
private String flowType;
@Schema(description = "发文部门名称")
private String publishDeptName;
@Schema(description = "流转状态 1草稿 2通过 3驳回 4已撤回 5已失效 6已删除 10待审批(新增) 11待审批(删除) 12待审批(撤回)")
private Integer status;
private String publishDeptId;
@Schema(description = "报送部门名称")

@ -34,11 +34,12 @@
select t1.id as todoId,
t1.flow_id as flowId,
t2.id as knowledgeId,
t2.status as status,
t2.title as title,
t1.flow_type as flowType,
t2.publish_dept_id as publishDeptId,
t2.submitted_dept_id as submittedDeptId,
t1.submit_user_id as submitUserId,
t2.submit_dept_id as submitDeptId,
t1.submit_user_id as submitUserId
from ks_knowledge_flow_todo t1
left join ks_knowledge t2 on t1.knowledge_id = t2.id
left join ks_knowledge_info t3 on t2.info_id = t3.id
@ -53,8 +54,8 @@
<if test="publishDeptId != null and publishDeptId != ''">
and t2.publish_dept_id = #{publishDeptId}
</if>
<if test="submitted_dept_id != null and submitted_dept_id != ''">
and t2.submitted_dept_id = #{submittedDeptId}
<if test="submitDeptId != null and submitDeptId != ''">
and t2.submit_dept_id = #{submitDeptId}
</if>
<if test="publishDateBegin != null and publishDateBegin != ''">
and t3.publish_date <![CDATA[ >= ]]> #{publishDateBegin}
@ -74,9 +75,10 @@
t1.flow_id as flowId,
t2.id as knowledgeId,
t2.title as title,
t2.status as status,
t1.flow_type as flowType,
t2.publish_dept_id as publishDeptId,
t1.submitted_dept_id as submittedDeptId,
t1.submit_dept_id as submitDeptId,
t1.submit_user_id as submitUserId,
t2.knowledge_from as knowledgeFrom
from ks_knowledge_flow_record t1
@ -93,8 +95,8 @@
<if test="publishDeptId != null and publishDeptId != ''">
and t2.publish_dept_id = #{publishDeptId}
</if>
<if test="submittedDeptId != null and submittedDeptId != ''">
and t2.submitted_dept_id = #{submittedDeptId}
<if test="submitDeptId != null and submitDeptId != ''">
and t2.submit_dept_id = #{submitDeptId}
</if>
<if test="publishDateBegin != null and publishDateBegin != ''">
and t3.publish_date <![CDATA[ >= ]]> #{publishDateBegin}

@ -14,7 +14,7 @@
<result property="publishDeptId" column="publish_dept_id" jdbcType="VARCHAR"/>
<result property="knowledgeFrom" column="knowledge_from" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="submittedDeptId" column="submitted_dept" jdbcType="VARCHAR"/>
<result property="submitDeptId" column="submitted_dept" jdbcType="VARCHAR"/>
<result property="draftBelongUserId" column="draft_belong_user_id" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@ -26,7 +26,7 @@
id
,title,excerpt,content_id,info_id,
base_id,publish_dept_id,knowledge_from,
status,submitted_dept_id,create_user_id,
status,submit_dept_id,create_user_id,
create_time,update_user_id,update_time
</sql>
<select id="queryKnowledgePage" resultType="com.supervision.knowsub.vo.knowledge.KnowledgePageResVO">
@ -65,8 +65,8 @@
<if test="baseId != null and baseId != ''">
and base_id = #{baseId}
</if>
<if test="submittedDeptId != null and submittedDeptId != ''">
and submitted_dept_id = #{submittedDeptId}
<if test="submitDeptId != null and submitDeptId != ''">
and submit_dept_id = #{submitDeptId}
</if>
<if test="publishDateBegin != null and publishDateBegin != ''">
and create_time <![CDATA[ >= ]]> #{publishDateBegin}

Loading…
Cancel
Save