|
|
@@ -1628,9 +1628,13 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
//获取到所有taskid 去extra表一次性查出数据
|
|
|
List<String> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
|
|
|
|
|
|
- if (taskIds.size() > 0) {
|
|
|
+ Set<String> processInstanceIds = tasks.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
|
|
|
+
|
|
|
|
|
|
+ if (taskIds.size() > 0) {
|
|
|
List<WorkflowExtra> workflowExtras = workflowExtraMapper.selectList(Wrappers.lambdaQuery(WorkflowExtra.class).in(WorkflowExtra::getTaskId, taskIds));
|
|
|
+ List<WorkflowRecord> workflowRecords = workflowRecordMapper.selectList(Wrappers.lambdaQuery(WorkflowRecord.class).in(WorkflowRecord::getProcessId, processInstanceIds));
|
|
|
+ Map<String, List<WorkflowRecord>> mapRecords = workflowRecords.stream().collect(Collectors.groupingBy(WorkflowRecord::getProcessId));
|
|
|
for (Task task : tasks) {
|
|
|
PendingTaskVo vo = new PendingTaskVo();
|
|
|
Optional<WorkflowExtra> extra = workflowExtras.stream().filter(x -> x.getTaskId().equals(task.getId())).findFirst();
|
|
|
@@ -1645,10 +1649,11 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
vo.setProcessName(x.getProcessName());
|
|
|
});
|
|
|
//查询审批记录中的驳回记录是否有驳回(最后一条)或者自动驳回(倒数第二条)
|
|
|
- List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
|
|
|
- new QueryWrapper<WorkflowRecord>().lambda()
|
|
|
- .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
|
|
|
- );
|
|
|
+// List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
|
|
|
+// new QueryWrapper<WorkflowRecord>().lambda()
|
|
|
+// .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
|
|
|
+// );
|
|
|
+ List<WorkflowRecord> recordList = mapRecords.get(task.getProcessInstanceId());
|
|
|
if (!recordList.isEmpty() && recordList.size() > 1) {
|
|
|
String comment = recordList.get(recordList.size() - 1).getMessage();
|
|
|
if (comment.contains("【驳回】")) {
|
|
|
@@ -5515,12 +5520,12 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
|
|
|
circulateMessage = "【" + user.getName() + "】添加了传阅人【" + circulatedName + "】,当前传阅人【" + addCirculatedName + "】";
|
|
|
}
|
|
|
}
|
|
|
- if(!appendUserTaskCirculated.isEmpty()){
|
|
|
+ if (!appendUserTaskCirculated.isEmpty()) {
|
|
|
WeChatUtil weChatUtil = SpringUtil.getBean(WeChatUtil.class);
|
|
|
CommonPropertiesConfig cpConfig = SpringUtil.getBean(CommonPropertiesConfig.class);
|
|
|
Map<Long, User> userMap = userService.listByIds(appendUserTaskCirculated).stream().filter(x -> StrUtil.isNotEmpty(x.getOpenId())).collect(Collectors.toMap(User::getId, x -> x));
|
|
|
for (Long userId : appendUserTaskCirculated) {
|
|
|
- if(!userMap.containsKey(userId)){
|
|
|
+ if (!userMap.containsKey(userId)) {
|
|
|
continue;
|
|
|
}
|
|
|
|