xiaof 3 năm trước cách đây
mục cha
commit
9dfa5eaba6

+ 39 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -18,13 +18,11 @@ import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
+import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.ClassifyEnum;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.PageSizeEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
-import com.qmth.teachcloud.common.service.BasicAttachmentService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
+import com.qmth.teachcloud.common.enums.*;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
@@ -32,6 +30,7 @@ import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -80,6 +79,18 @@ public class CreatePdfUtil {
     @Resource
     FileStoreUtil fileStoreUtil;
 
+    @Autowired
+    BasicCampusService basicCampusService;
+
+    @Autowired
+    SysOrgService sysOrgService;
+
+    @Autowired
+    BasicCourseService basicCourseService;
+
+    @Autowired
+    BasicClazzService basicClazzService;
+
     /**
      * 创建登记表
      *
@@ -129,17 +140,34 @@ public class CreatePdfUtil {
         }
         Map<String, Object> htmlMap = new HashMap<>();
         if (Objects.nonNull(examDetailCourseList) && examDetailCourseList.size() > 0) {
-//            Set<Long> examDetailCourseIds = new HashSet<>();
-//            htmlMap.put("examDetailCourseId", StringUtils.join(examDetailCourseIds, ", "));
             List<String> paperNumbers = examDetailCourseList.stream().map(s -> s.getPaperNumber()).collect(Collectors.toList());
+            List<String> courseCodes = examDetailCourseList.stream().map(s -> s.getCourseCode()).collect(Collectors.toList());
             List<String> courseNames = examDetailCourseList.stream().map(s -> s.getCourseName()).collect(Collectors.toList());
             htmlMap.put("courseName", String.join(", ", courseNames));
             htmlMap.put("courseCode", String.join(", ", paperNumbers));
+            // 学院
+            Set<String> stringSet = new HashSet<>();
+            List<BasicCourse> basicCourses = basicCourseService.findBySchoolIdAndCourseCode(examDetail.getSchoolId(), courseCodes);
+            for (BasicCourse basicCours : basicCourses) {
+                List<SysOrg> sysOrgs = sysOrgService.findParentsByOrgId(basicCours.getTeachingRoomId());
+                Set<String> collegeName = sysOrgs.stream().filter(m-> OrgTypeEnum.COLLEGE.equals(m.getType())).map(m->m.getName()).collect(Collectors.toSet());
+                if(CollectionUtils.isEmpty(collegeName)) {
+                    collegeName = sysOrgs.stream().filter(m -> OrgTypeEnum.FACULTY.equals(m.getType())).map(m -> m.getName()).collect(Collectors.toSet());
+                }
+                if(!CollectionUtils.isEmpty(collegeName)) {
+                    stringSet.addAll(collegeName);
+                }
+            }
+            htmlMap.put("collegeName", CollectionUtils.isEmpty(stringSet) ? "" : String.join(",", stringSet));
         } else {
             htmlMap.put("courseName", "");
             htmlMap.put("courseCode", "");
+            htmlMap.put("collegeName", "");
         }
+        List<Long> classIds = examDetailCourseList.stream().filter(m->StringUtils.isNotBlank(m.getClazzId())).map(m-> Long.valueOf(m.getClazzId())).distinct().collect(Collectors.toList());
+        String campusName = CollectionUtils.isEmpty(classIds) ? "" : basicCampusService.findCampusNamesByClazzIdList(classIds, ",");
         htmlMap.put("schoolName", schoolName);
+        htmlMap.put("campusName", campusName);
         htmlMap.put("examSite", examDetail.getExamPlace());
         htmlMap.put("examRoom", examDetail.getExamRoom());
         htmlMap.put("startTime", DateUtil.format(new Date(examDetail.getExamStartTime()), SystemConstant.DEFAULT_DATE_PATTERN));
@@ -153,6 +181,8 @@ public class CreatePdfUtil {
         Set<String> proctorCollege = new HashSet();
         Set<String> examManager = new HashSet();
 
+        String className1 = basicClazzService.findClazzNamesByClazzIds(classIds, ",");
+
         if (Objects.nonNull(extendColumnList) && extendColumnList.size() > 0) {
             for (String s : extendColumnList) {
                 List<Map> mapList = JSONObject.parseArray(s, Map.class);
@@ -174,7 +204,7 @@ public class CreatePdfUtil {
         }
 
         htmlMap.put("startCollege", String.join(",", startCollege));
-        htmlMap.put("className", String.join(",", className));
+        htmlMap.put("className", StringUtils.isNotBlank(className1) ? className1 : String.join(",", className));
         htmlMap.put("proctorCollege", String.join(",", proctorCollege));
         htmlMap.put("examManager", String.join(",", examManager));
 

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

@@ -45,5 +45,5 @@ public interface BasicCampusService extends IService<BasicCampus> {
      * @param separator 校区连接符
      * @return 连接符连好的校区
      */
-    String findCampusNamesByClazzIdList(List<Long> clazzIdList,String separator);
+    String findCampusNamesByClazzIdList(List<Long> clazzIdList, String separator);
 }

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCourseService.java

@@ -101,4 +101,6 @@ public interface BasicCourseService extends IService<BasicCourse> {
      * @return
      */
     Long getOrgIdBySchoolIdAndCourseCode(Long schoolId, String courseCode);
+
+    List<BasicCourse> findBySchoolIdAndCourseCode(Long schoolId, List<String> courseCodes);
 }

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCampusServiceImpl.java

@@ -125,7 +125,7 @@ public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, Basic
     @Override
     public String findCampusNamesByClazzIdList(List<Long> clazzIdList, String separator) {
         String campusNames = "";
-        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+//        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         List<Long> campusId = basicClazzService.list(new QueryWrapper<BasicClazz>().lambda()
                 .in(BasicClazz::getId,clazzIdList))
                 .stream()
@@ -134,7 +134,7 @@ public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, Basic
                 .collect(Collectors.toList());
         if (!CollectionUtils.isEmpty(campusId)){
             List<BasicCampus> basicCampusList = this.list(new QueryWrapper<BasicCampus>().lambda()
-                    .eq(BasicCampus::getSchoolId,schoolId)
+//                    .eq(BasicCampus::getSchoolId,schoolId)
                     .in(BasicCampus::getId,campusId));
             campusNames = basicCampusList.stream().map(BasicCampus::getCampusName).distinct().collect(Collectors.joining(separator));
         }

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -269,6 +269,13 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         return basicCourse.getTeachingRoomId();
     }
 
+    @Override
+    public List<BasicCourse> findBySchoolIdAndCourseCode(Long schoolId, List<String> courseCodes) {
+        QueryWrapper<BasicCourse> basicCourseQueryWrapper = new QueryWrapper<>();
+        basicCourseQueryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).in(BasicCourse::getCode, courseCodes);
+        return this.list(basicCourseQueryWrapper);
+    }
+
     private List<BasicCourse> editEntityHelp(List<BasicCourseParams> basicCourseParamsList, SysUser sysUser) {
         Long schoolId = sysUser.getSchoolId();
         List<BasicCourse> basicCourseList = new ArrayList<>();