Browse Source

3.2.3 bug修改

xiaofei 2 years ago
parent
commit
28e0605e3d

+ 24 - 20
distributed-print-business/src/main/resources/mapper/ConditionMapper.xml

@@ -106,10 +106,10 @@
     </select>
     <select id="listCourseForAudit" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-        bc.code code,
-        bc.name name
+            bc.code code,
+            bc.name name
         FROM
-        basic_course bc
+            basic_course bc
         <where>
             EXISTS( SELECT
             1
@@ -122,22 +122,6 @@
                 <if test="examId != null">
                     AND et.exam_id = #{examId}
                 </if>
-                <if test="dpr != null">
-                    <if test="dpr.requestUserId != null">
-                        <if test="byCreateUser == true">
-                            AND et.create_id = #{dpr.requestUserId}
-                        </if>
-                        <if test="byAssignUser == true">
-                            AND et.user_id = #{dpr.requestUserId}
-                        </if>
-                    </if>
-                    <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                        AND et.org_id IN
-                        <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                            #{item}
-                        </foreach>
-                    </if>
-                </if>
             </where>)
             <if test="enable != null">
                 and bc.enable = #{enable}
@@ -169,7 +153,27 @@
         order by et.paper_number
     </select>
     <select id="listPaperNumberAudit" resultType="java.lang.String">
-
+        SELECT
+            et.paper_number
+        FROM
+            exam_task et
+            LEFT JOIN
+            basic_exam be ON et.exam_id = be.id
+        <where>
+            <if test="semesterId != null">
+                AND be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                AND et.exam_id = #{examId}
+            </if>
+            <if test="courseCode != null and courseCode != ''">
+                AND et.course_code = #{courseCode}
+            </if>
+            <if test="userId != null">
+                AND et.user_id = #{userId}
+            </if>
+        </where>
+        order by et.paper_number
     </select>
     <select id="listPrintPlan" resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
         select a.id, a.name, a.status from exam_print_plan a

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

@@ -532,4 +532,5 @@ public interface CommonCacheService {
     public Integer getMaxOrgCode(Long schoolId);
 
     public Integer setMaxOrgCode(Long schoolId, Integer maxCode);
+    public void removeMaxOrgCode(Long schoolId);
 }

+ 9 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/CommonCacheServiceImpl.java

@@ -799,9 +799,10 @@ public class CommonCacheServiceImpl implements CommonCacheService {
     @Override
     @Cacheable(value = SystemConstant.ORG_CODE_CACHE, key = "#p0", unless = "#result == null")
     public Integer getMaxOrgCode(Long schoolId) {
+        SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
         QueryWrapper<SysOrg> orgQueryWrapper = new QueryWrapper<>();
         orgQueryWrapper.lambda().eq(SysOrg::getSchoolId, schoolId)
-                .eq(SysOrg::getParentId, schoolId)
+                .eq(SysOrg::getParentId, rootOrg.getId())
                 .like(SysOrg::getCode, SystemConstant.ORG_PREFIX);
         List<SysOrg> sysOrgList = sysOrgService.list(orgQueryWrapper);
         if (sysOrgList.isEmpty()) {
@@ -822,4 +823,11 @@ public class CommonCacheServiceImpl implements CommonCacheService {
     public Integer setMaxOrgCode(Long schoolId, Integer maxCode) {
         return maxCode;
     }
+
+    @Override
+    @CacheEvict(value = SystemConstant.ORG_CODE_CACHE, key = "#p0")
+    public void removeMaxOrgCode(Long schoolId) {
+
+    }
+
 }

+ 5 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -163,6 +163,11 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 if (codeSysOrg != null && (org.getId() == null || !org.getId().equals(codeSysOrg.getId()))) {
                     throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
                 }
+
+                // 机构代码以code开头,则清除缓存
+                if(org.getCode().startsWith(SystemConstant.ORG_PREFIX)){
+                    commonCacheService.removeMaxOrgCode(schoolId);
+                }
             }
             // 机构代码为空,若为一级学院,则自动生成code
             else {