Ver código fonte

Merge remote-tracking branch 'origin/dev' into dev

dzx 6 meses atrás
pai
commit
cdcac57720

+ 7 - 1
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -303,7 +303,13 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
     @Override
     public Boolean activateStudent(Long userId, Long modifyUserId) {
         //激活用户信息
-        User user = userMapper.selectById(userId);
+        User user = userMapper.selectOne(
+                new MPJLambdaWrapper<User>()
+                        .disableLogicDel()
+                        .select(User::getId)
+                        .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
+                        .eq(User::getId, userId)
+        );
         user.setDeleteMark(DeleteMark.NODELETE.getCode());
         user.setEnabledMark(EnabledMark.ENABLED.getCode());
         user.setModifyUserId(modifyUserId);

+ 14 - 9
src/main/java/com/xjrsoft/module/workflow/service/impl/WorkflowExecuteServiceImpl.java

@@ -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,11 +1649,12 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
                     vo.setProcessName(x.getProcessName());
                 });
                 //查询审批记录中的驳回记录是否有驳回(最后一条)或者自动驳回(倒数第二条)
-                List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
-                        new QueryWrapper<WorkflowRecord>().lambda()
-                                .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
-                );
-                if (!recordList.isEmpty() && recordList.size() > 1) {
+//                List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
+//                        new QueryWrapper<WorkflowRecord>().lambda()
+//                                .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
+//                );
+                List<WorkflowRecord> recordList = mapRecords.get(task.getProcessInstanceId());
+                if (recordList != null && recordList.size() > 1) {
                     String comment = recordList.get(recordList.size() - 1).getMessage();
                     if (comment.contains("【驳回】")) {
                         User rejectUser = userService.getById(recordList.get(recordList.size() - 1).getCreateUserId());
@@ -1658,7 +1663,7 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
                         vo.setRejectState("系统自动驳回");
                     }
                 }
-                if (!recordList.isEmpty() && recordList.size() > 2) {
+                if (recordList != null && recordList.size() > 2) {
                     String comment2 = recordList.get(recordList.size() - 2).getMessage();
                     if (comment2.contains("自动驳回")) {
                         vo.setRejectState("系统自动驳回");
@@ -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;
                 }