Merge remote-tracking branch 'origin/dev_1.0.0' into dev_1.0.0

release_1.0.0
xueqingkun 8 months ago
commit f850986442

@ -24,10 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.Instant;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -48,6 +46,10 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
private final KnowledgeService knowledgeService;
private final SystemUserService systemUserService;
private final SystemDeptService systemDeptService;
@Override
public IPage<KnowledgeFlowResVO> queryKnowledgeFlowPage(Integer processStatus, String title, String publishDeptId, String baseId,
String submittedDeptId, Instant flowType,
@ -244,24 +246,37 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService {
public List<KnowledgeFlowRecordResVO> queryKnowledgeFlowRecord(String knowledgeId, String flowId) {
List<KnowledgeFlowRecord> list = knowledgeFlowRecordService.lambdaQuery().eq(KnowledgeFlowRecord::getKnowledgeId, knowledgeId)
.eq(StrUtil.isNotBlank(flowId), KnowledgeFlowRecord::getFlowId, flowId).list();
List<KnowledgeFlowRecordResVO> list1 = list.stream().sorted(Comparator.comparingInt(KnowledgeFlowRecord::getFlowRuleOrder)).map(knowledgeFlowRecord -> {
// 根据时间进行排序
List<KnowledgeFlowRecordResVO> result = list.stream().map(knowledgeFlowRecord -> {
KnowledgeFlowRecordResVO node = new KnowledgeFlowRecordResVO();
node.setKnowledgeId(knowledgeFlowRecord.getKnowledgeId());
node.setProcessName(knowledgeFlowRecord.getProcessName());
node.setRemark(knowledgeFlowRecord.getRemark());
// 判断
node.setProcessTime(knowledgeFlowRecord.getProcessTime());
// node.setProcessUserId();
// node.setProcessDeptId();
// node.setProcessUserName();
// node.setProcessDeptName();
// node.setProcessOrder();
node.setProcessOrder(knowledgeFlowRecord.getFlowRuleOrder());
// 判断是不是发起的,如果是发起的,那么process的是发起人.否则是审批人
if (1 == knowledgeFlowRecord.getType()) {
node.setProcessTime(knowledgeFlowRecord.getCreateTime());
node.setProcessUserId(knowledgeFlowRecord.getSubmitUserId());
node.setProcessDeptId(knowledgeFlowRecord.getSubmitDeptId());
} else {
node.setProcessTime(knowledgeFlowRecord.getProcessTime());
node.setProcessUserId(knowledgeFlowRecord.getProcessUserId());
node.setProcessDeptId(knowledgeFlowRecord.getProcessDeptId());
}
return node;
}).toList();
return null;
}).sorted(Comparator.comparing(KnowledgeFlowRecordResVO::getProcessTime)).toList();
// 然后把人名和部门名进行转换
Set<String> userIdSet = result.stream().map(KnowledgeFlowRecordResVO::getProcessUserId).collect(Collectors.toSet());
List<SystemUser> systemUsers = systemUserService.listByIds(userIdSet);
Map<String, String> userNameMap = systemUsers.stream().collect(Collectors.toMap(SystemUser::getId, SystemUser::getUsername));
Set<String> deptIdSet = result.stream().map(KnowledgeFlowRecordResVO::getProcessDeptId).collect(Collectors.toSet());
List<SystemDept> systemDeptList = systemDeptService.listByIds(deptIdSet);
Map<String, String> deptNameMap = systemDeptList.stream().collect(Collectors.toMap(SystemDept::getId, SystemDept::getDeptName));
result.forEach(node -> {
node.setProcessUserName(userNameMap.getOrDefault(node.getProcessUserId(), "未知用户"));
node.setProcessDeptName(deptNameMap.getOrDefault(node.getProcessDeptId(), "未知部门"));
});
return result;
}
}

@ -107,7 +107,7 @@ public class KnowledgeFlowRecord implements Serializable {
*
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
private LocalDateTime createTime;
/**
*
@ -119,7 +119,7 @@ public class KnowledgeFlowRecord implements Serializable {
*
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
private LocalDateTime updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;

Loading…
Cancel
Save