Browse Source

3.4.4 update-20250519 bug修复

xiaofei 1 month ago
parent
commit
a9a0e1713b

+ 22 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamDetail.java

@@ -57,6 +57,12 @@ public class ExamDetail extends BaseEntity implements Serializable {
     @TableField("exam_end_time")
     private Long examEndTime;
 
+    @TableField("exam_date")
+    private String examDate;
+
+    @TableField("exam_time")
+    private String examTime;
+
     @TableField("exam_place")
     private String examPlace;
     /**
@@ -213,6 +219,22 @@ public class ExamDetail extends BaseEntity implements Serializable {
         this.examEndTime = examEndTime;
     }
 
+    public String getExamDate() {
+        return examDate;
+    }
+
+    public void setExamDate(String examDate) {
+        this.examDate = examDate;
+    }
+
+    public String getExamTime() {
+        return examTime;
+    }
+
+    public void setExamTime(String examTime) {
+        this.examTime = examTime;
+    }
+
     public String getExamPlace() {
         return examPlace;
     }

+ 7 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -1116,6 +1116,13 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             examDetail.setTotalSubjects(examDetailValues.size());
             examDetail.setExamStartTime(examDetailInfo.getExamStartTime());
             examDetail.setExamEndTime(examDetailInfo.getExamEndTime());
+            if (examDetail.getExamStartTime() != null && examDetail.getExamEndTime() != null) {
+                Map<String, String> dateMap = ConvertUtil.analyzeDateAndTime(examDetail.getExamStartTime(), examDetail.getExamEndTime());
+                String date = dateMap.get("date");
+                String time = dateMap.get("time");
+                examDetail.setExamDate(date);
+                examDetail.setExamTime(time);
+            }
             examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
             examDetail.setNormal(true);
             examDetail.setCreateId(createId);

+ 30 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1449,6 +1449,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 if (!ExamCategoryEnum.REBUILD.equals(basicExam.getCategory())) {
                     examDetail.setExamStartTime(examDetailList.getExamStartTime());
                     examDetail.setExamEndTime(examDetailList.getExamEndTime());
+
+                    if (examDetail.getExamStartTime() != null && examDetail.getExamEndTime() != null) {
+                        Map<String, String> dateMap = ConvertUtil.analyzeDateAndTime(examDetail.getExamStartTime(), examDetail.getExamEndTime());
+                        String date = dateMap.get("date");
+                        String time = dateMap.get("time");
+                        examDetail.setExamDate(date);
+                        examDetail.setExamTime(time);
+                    }
                 }
                 examDetail.setTotalSubjects(count);
                 examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
@@ -1546,6 +1554,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             if (!ExamCategoryEnum.REBUILD.equals(basicExam.getCategory())) {
                 examDetail.setExamStartTime(examDetailParams.getExamStartTime());
                 examDetail.setExamEndTime(examDetailParams.getExamEndTime());
+
+                if (examDetail.getExamStartTime() != null && examDetail.getExamEndTime() != null) {
+                    Map<String, String> dateMap = ConvertUtil.analyzeDateAndTime(examDetail.getExamStartTime(), examDetail.getExamEndTime());
+                    String date = dateMap.get("date");
+                    String time = dateMap.get("time");
+                    examDetail.setExamDate(date);
+                    examDetail.setExamTime(time);
+                }
             }
             examDetail.setTotalSubjects(examDetailParams.getTotalSubjects());
             examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
@@ -1955,6 +1971,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 examDetail.setStatus(ExamDetailStatusEnum.NEW);
                 examDetail.setExamStartTime(DateDisposeUtils.parseDate(DateDisposeUtils.getDate() + " 00:00:00").getTime());
                 examDetail.setExamEndTime(DateDisposeUtils.parseDate(DateDisposeUtils.getDate() + " 23:59:00").getTime());
+                if (examDetail.getExamStartTime() != null && examDetail.getExamEndTime() != null) {
+                    Map<String, String> dateMap = ConvertUtil.analyzeDateAndTime(examDetail.getExamStartTime(), examDetail.getExamEndTime());
+                    String date = dateMap.get("date");
+                    String time = dateMap.get("time");
+                    examDetail.setExamDate(date);
+                    examDetail.setExamTime(time);
+                }
                 examDetail.setTotalSubjects(makeupExamTaskParam.getTotalSubjects());
                 examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
                 examDetail.setNormal(true);
@@ -2109,6 +2132,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examDetail.setTotalSubjects(examDetailStudentList.size());
             examDetail.setExamStartTime(examStartTime);
             examDetail.setExamEndTime(examEndTime);
+            if (examDetail.getExamStartTime() != null && examDetail.getExamEndTime() != null) {
+                Map<String, String> dateMap = ConvertUtil.analyzeDateAndTime(examDetail.getExamStartTime(), examDetail.getExamEndTime());
+                String date = dateMap.get("date");
+                String time = dateMap.get("time");
+                examDetail.setExamDate(date);
+                examDetail.setExamTime(time);
+            }
             examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
             examDetail.setNormal(true);
             examDetail.setCreateId(sysUser.getId());

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserRoleMapper.java

@@ -28,4 +28,5 @@ public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
     List<MenuDto> listAll(@Param("schoolId") Long schoolId);
 
     List<SysUserRole> listByRoleId(@Param("roleId") Long roleId, @Param("schoolId") Long schoolId);
+    List<SysUserRole> listByRoleIdAndName(@Param("roleId") Long roleId, @Param("schoolId") Long schoolId, @Param("name") String name);
 }

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserRoleService.java

@@ -19,6 +19,7 @@ import java.util.Set;
 public interface SysUserRoleService extends IService<SysUserRole> {
 
     List<SysUserRole> listByRoleId(Long id);
+    List<SysUserRole> listByRoleIdAndRealName(Long id, String name);
 
     /**
      * 根据角色ids和学校id查找

+ 24 - 24
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRoleGroupMemberServiceImpl.java

@@ -120,29 +120,29 @@ public class SysRoleGroupMemberServiceImpl extends ServiceImpl<SysRoleGroupMembe
     @Override
     public List<SysRoleGroupMemberResult> findByRoleIdAndName(Long roleId, String name) {
         List<SysRoleGroupMemberResult> sysRoleGroupMemberResultList = null;
-        if (Objects.nonNull(roleId) && Objects.nonNull(name)) {
-            List<ApproveUserResult> approveUserResultList = sysUserService.findByRoldIdAndMemberName(roleId, name);
-            if (Objects.nonNull(approveUserResultList) && approveUserResultList.size() > 0) {
-                Map<String, List<ApproveUserResult>> map = new LinkedHashMap<>();
-                List<ApproveUserResult> list = null;
-                for (ApproveUserResult a : approveUserResultList) {
-                    if (!map.containsKey(a.getRoleId() + "_" + a.getUserId())) {
-                        list = new ArrayList<>();
-                    } else {
-                        list = map.get(a.getRoleId() + "_" + a.getUserId());
-                    }
-                    list.add(a);
-                    map.put(a.getRoleId() + "_" + a.getUserId(), list);
-                }
-                sysRoleGroupMemberResultList = new ArrayList<>();
-                for (Map.Entry<String, List<ApproveUserResult>> entry : map.entrySet()) {
-                    String[] strs = entry.getKey().split("_");
-                    List<ApproveUserResult> approveUserResult = sysUserService.findById(SystemConstant.convertIdToLong(strs[1]));
-                    sysRoleGroupMemberResultList.add(new SysRoleGroupMemberResult(approveUserResult.get(0), entry.getValue()));
-                }
-            }
-        } else {
-            List<SysUserRole> sysUserRoles = sysUserRoleService.listByRoleId(roleId);
+//        if (Objects.nonNull(roleId) && Objects.nonNull(name)) {
+//            List<ApproveUserResult> approveUserResultList = sysUserService.findByRoldIdAndMemberName(roleId, name);
+//            if (Objects.nonNull(approveUserResultList) && approveUserResultList.size() > 0) {
+//                Map<String, List<ApproveUserResult>> map = new LinkedHashMap<>();
+//                List<ApproveUserResult> list = null;
+//                for (ApproveUserResult a : approveUserResultList) {
+//                    if (!map.containsKey(a.getRoleId() + "_" + a.getUserId())) {
+//                        list = new ArrayList<>();
+//                    } else {
+//                        list = map.get(a.getRoleId() + "_" + a.getUserId());
+//                    }
+//                    list.add(a);
+//                    map.put(a.getRoleId() + "_" + a.getUserId(), list);
+//                }
+//                sysRoleGroupMemberResultList = new ArrayList<>();
+//                for (Map.Entry<String, List<ApproveUserResult>> entry : map.entrySet()) {
+//                    String[] strs = entry.getKey().split("_");
+//                    List<ApproveUserResult> approveUserResult = sysUserService.findById(SystemConstant.convertIdToLong(strs[1]));
+//                    sysRoleGroupMemberResultList.add(new SysRoleGroupMemberResult(approveUserResult.get(0), entry.getValue()));
+//                }
+//            }
+//        } else {
+            List<SysUserRole> sysUserRoles = sysUserRoleService.listByRoleIdAndRealName(roleId, name);
             if (Objects.nonNull(sysUserRoles) && sysUserRoles.size() > 0) {
                 sysRoleGroupMemberResultList = new ArrayList<>();
                 for (SysUserRole s : sysUserRoles) {
@@ -158,7 +158,7 @@ public class SysRoleGroupMemberServiceImpl extends ServiceImpl<SysRoleGroupMembe
                     }
                 }
             }
-        }
+//        }
         return sysRoleGroupMemberResultList;
     }
 

+ 6 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserRoleServiceImpl.java

@@ -39,6 +39,12 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
         return sysUserRoleMapper.listByRoleId(id, sysUser.getSchoolId());
     }
 
+    @Override
+    public List<SysUserRole> listByRoleIdAndRealName(Long id, String name) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        return sysUserRoleMapper.listByRoleIdAndName(id, sysUser.getSchoolId(), name);
+    }
+
     /**
      * 根据角色ids和学校id查找
      *

+ 19 - 0
teachcloud-common/src/main/resources/mapper/SysUserRoleMapper.xml

@@ -88,5 +88,24 @@
             </if>
         </where>
     </select>
+    <select id="listByRoleIdAndName" resultType="com.qmth.teachcloud.common.entity.SysUserRole">
+        select
+        *
+        from
+        sys_user_role sur
+        join sys_user su on
+        su.id = sur.user_id
+        <where>
+            <if test="schoolId != null and schoolId != ''">
+                and su.school_id = #{schoolId}
+            </if>
+            <if test="roleId != null and roleId != ''">
+                and sur.role_id = #{roleId}
+            </if>
+            <if test="name != null and name != ''">
+                and su.real_name like concat('%',#{name},'%')
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 7 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserQuestionServiceImpl.java

@@ -423,8 +423,12 @@ public class MarkUserQuestionServiceImpl extends ServiceImpl<MarkUserQuestionMap
         }
         List<SysUser> sysUserList = this.baseMapper.listDefaultMarkerByExamIdAndPaperNumber(examId, paperNumber);
         List<MarkUserQuestion> markUserQuestions = new ArrayList<>();
-        for (SysUser sysUser : sysUserList) {
-            for (MarkQuestion markQuestion : markQuestions) {
+        for (MarkQuestion markQuestion : markQuestions) {
+            List<MarkUserQuestion> markUserQuestionList = this.listByExamIdAndPaperNumberAndQuestionId(examId, paperNumber, markQuestion.getId());
+            if (CollectionUtils.isNotEmpty(markUserQuestionList)) {
+                continue;
+            }
+            for (SysUser sysUser : sysUserList) {
                 MarkUserQuestion markUserQuestion = this.getByExamIdAndPaperNumberAndQuestionIdAndUserId(examId, paperNumber, markQuestion.getId(), sysUser.getId());
                 if (markUserQuestion == null) {
                     markUserQuestions.add(new MarkUserQuestion(examId, paperNumber, markQuestion.getId(), sysUser.getId()));
@@ -564,7 +568,7 @@ public class MarkUserQuestionServiceImpl extends ServiceImpl<MarkUserQuestionMap
         List<MarkTaskSmsDto> markTaskSmsDtoList = this.findMarkTaskSms(examId, courseId, paperNumber);
         if (CollectionUtils.isNotEmpty(markTaskSmsDtoList)) {
             for (MarkTaskSmsDto m : markTaskSmsDtoList) {
-                if(StringUtils.isBlank(m.getMobileNumber())){
+                if (StringUtils.isBlank(m.getMobileNumber())) {
                     continue;
                 }
                 StringJoiner stringJoiner = new StringJoiner("-");