Jelajahi Sumber

3.3.1 update

xiaofei 1 tahun lalu
induk
melakukan
066aed2aed

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/examRule/CodeName.java

@@ -8,6 +8,14 @@ public class CodeName {
     private String code;
     private String name;
 
+    public CodeName() {
+    }
+
+    public CodeName(String code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
     public String getCode() {
         return code;
     }

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/examRule/CodeNameEnable.java

@@ -7,6 +7,14 @@ public class CodeNameEnable extends CodeName {
 
     private Boolean enable;
 
+    public CodeNameEnable() {
+    }
+
+    public CodeNameEnable(String code, String name, Boolean enable) {
+        super(code, name);
+        this.enable = enable;
+    }
+
     public Boolean getEnable() {
         return enable;
     }

+ 17 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.examRule.CodeName;
 import com.qmth.distributed.print.business.bean.examRule.CodeNameEnable;
 import com.qmth.distributed.print.business.bean.examRule.CodeNameEnableRate;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
@@ -37,10 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -215,6 +213,21 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
                         jsonObject.setEnable(false);
                     }
                 }
+                // 单独处理试卷数量、应考人数、实考人数
+                List<CodeName> skipCodes = Arrays.asList(new CodeName("paperCount", "试卷数量"), new CodeName("examCount", "应考人数"), new CodeName("actualExamCount", "实考人数"));
+                for (CodeName skipCode : skipCodes) {
+                    Optional<CodeNameEnable> objectOptional = displayRanges.stream().filter(m -> m.getCode().equals(skipCode.getCode())).findFirst();
+                    if (objectOptional.isPresent()) {
+                        packageScopeList.add(objectOptional.get());
+                    } else {
+                        packageScopeList.add(new CodeNameEnable(skipCode.getCode(), skipCode.getName(), false));
+                    }
+                }
+                for (CodeNameEnable displayRange : displayRanges) {
+                    if (skipCodes.contains(displayRange.getCode())) {
+
+                    }
+                }
                 object.put("basic", packageScopeList);
                 basicTemplate.setDisplayRange(JSONObject.toJSONString(object));
             }

+ 20 - 17
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -313,24 +313,27 @@ public class CreatePdfUtil {
                 basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, finalSet));
                 basicPlate.add(basicMap);
             }
+
+            if("paperCount".equals(code)){
+                Map<String, String> basicMap1 = new HashMap<>();
+                basicMap1.put("code", "paperCount");
+                basicMap1.put("name", "试卷数量");
+                basicMap1.put("value", examStudentList.size() + " + " + backupCount);
+                basicPlate.add(basicMap1);
+            } else if("examCount".equals(code)){
+                Map<String, String> basicMap2 = new HashMap<>();
+                basicMap2.put("code", "examCount");
+                basicMap2.put("name", "应考人数");
+                basicMap2.put("value", String.valueOf(examStudentList.size()));
+                basicPlate.add(basicMap2);
+            } else if("actualExamCount".equals(code)){
+                Map<String, String> basicMap3 = new HashMap<>();
+                basicMap3.put("code", "actualExamCount");
+                basicMap3.put("name", "实考人数");
+                basicMap3.put("value", "");
+                basicPlate.add(basicMap3);
+            }
         }
-        Map<String, String> basicMap1 = new HashMap<>();
-        basicMap1.put("code", "paperCount");
-        basicMap1.put("name", "试卷数量");
-        basicMap1.put("value", examStudentList.size() + " + " + backupCount);
-        basicPlate.add(basicMap1);
-
-        Map<String, String> basicMap2 = new HashMap<>();
-        basicMap2.put("code", "examCount");
-        basicMap2.put("name", "应考人数");
-        basicMap2.put("value", String.valueOf(examStudentList.size()));
-        basicPlate.add(basicMap2);
-
-        Map<String, String> basicMap3 = new HashMap<>();
-        basicMap3.put("code", "actualExamCount");
-        basicMap3.put("name", "实考人数");
-        basicMap3.put("value", "");
-        basicPlate.add(basicMap3);
 
         pdfPackageDto.setBasicPlate(basicPlate);
         printCommonService.saveAttachmentPackagePdf(pdfPackageDto, examDetail, variablePdfList, printCount, fileTempList);

+ 12 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/PdfFillUtils.java

@@ -286,6 +286,18 @@ public class PdfFillUtils {
                 basicMap.put("name", name);
                 basicMap.put("value", "xxx");
                 basicPlate.add(basicMap);
+            } else if ("examCount".equals(code)) {
+                Map<String, String> basicMap = new HashMap<>();
+                basicMap.put("code", code);
+                basicMap.put("name", name);
+                basicMap.put("value", "xxx + x");
+                basicPlate.add(basicMap);
+            } else if ("actualExamCount".equals(code)) {
+                Map<String, String> basicMap = new HashMap<>();
+                basicMap.put("code", code);
+                basicMap.put("name", name);
+                basicMap.put("value", "");
+                basicPlate.add(basicMap);
             } else {
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
@@ -294,24 +306,6 @@ public class PdfFillUtils {
                 basicPlate.add(basicMap);
             }
         }
-
-        Map<String, String> basicMap1 = new HashMap<>();
-        basicMap1.put("code", "paperCount");
-        basicMap1.put("name", "试卷数量");
-        basicMap1.put("value", "xxx + x");
-        basicPlate.add(basicMap1);
-
-        Map<String, String> basicMap2 = new HashMap<>();
-        basicMap2.put("code", "examCount");
-        basicMap2.put("name", "应考人数");
-        basicMap2.put("value", "xxx");
-        basicPlate.add(basicMap2);
-
-        Map<String, String> basicMap3 = new HashMap<>();
-        basicMap3.put("code", "actualExamCount");
-        basicMap3.put("name", "实考人数");
-        basicMap3.put("value", "");
-        basicPlate.add(basicMap3);
         pdfPackageDto.setBasicPlate(basicPlate);
 
         try {