소스 검색

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

LHB 1 개월 전
부모
커밋
8ae9aa581d

+ 24 - 32
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -96,6 +96,7 @@ import java.util.*;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 /**
@@ -383,43 +384,34 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			vo.setSecretLevelValue("1".equals(vo.getSecretLevel()) ? "机密" : ("2".equals(vo.getSecretLevel()) ? "绝密" : "秘密"));
 		}
 		List<ArchivesAutoVO.ApprovalFile> approvalFiles = vo.getApprovalFileList();
-		ArchivesAutoVO.ApprovalFile front = null;
-		ArchivesAutoVO.ApprovalFile cataLog = null;
-		ArchivesAutoVO.ApprovalFile spare = null;
-		ArchivesAutoVO.ApprovalFile back = null;
+		ArchivesAutoVO.ApprovalFile[] elementFiles = new ArchivesAutoVO.ApprovalFile[4];
+		AtomicInteger pageSize = new AtomicInteger(0);
 		if (approvalFiles != null && !approvalFiles.isEmpty()) {
-			// todo 四要素 使用名称判断
-			Map<String, List<ArchivesAutoVO.ApprovalFile>> collect = approvalFiles.stream().collect(Collectors.groupingBy(approvalFile -> {
-				if (approvalFile != null &&
-						(approvalFile.getFileName().equals("封面") || approvalFile.getFileName().equals("卷内目录") || approvalFile.getFileName().equals("卷内备考表") || approvalFile.getFileName().equals("备考表") || approvalFile.getFileName().equals("背脊"))) {
-					if (approvalFile.getFileName().equals("卷内备考表")) {
-						return "备考表";
-					}
-					return approvalFile.getFileName();
+			// 四要素 使用名称判断
+			approvalFiles.removeIf(approvalFile -> {
+				if ("封面".equals(approvalFile.getFileName()) || "封面表".equals(approvalFile.getFileName())) {
+					elementFiles[0] = approvalFile;
+					return true;
+				} else if ("卷内目录".equals(approvalFile.getFileName()) || "卷内目录表".equals(approvalFile.getFileName()) || "目录表".equals(approvalFile.getFileName()) || "目录".equals(approvalFile.getFileName())) {
+					elementFiles[1] = approvalFile;
+					return true;
+				} else if ("备考表".equals(approvalFile.getFileName()) || "卷内备考表".equals(approvalFile.getFileName())) {
+					elementFiles[2] = approvalFile;
+					return true;
+				} else if ("背脊".equals(approvalFile.getFileName()) || "背脊表".equals(approvalFile.getFileName())) {
+					elementFiles[3] = approvalFile;
+					return true;
 				}
-				return "0";
-			}, Collectors.toList()));
-			List<ArchivesAutoVO.ApprovalFile> approvalFiles1 = collect.get("0");
-			if (approvalFiles1 == null) {
-				approvalFiles1 = new ArrayList<>();
-			}
-			vo.setPageNumber(approvalFiles1.size());
-			vo.setApprovalFileList(approvalFiles1);
-			if (collect.containsKey("封面")) {
-				front = collect.get("封面").stream().max(Comparator.comparing(ArchivesAutoVO.ApprovalFile::getId)).orElse(null);
-			}
-			if (collect.containsKey("卷内目录")) {
-				cataLog = collect.get("卷内目录").stream().max(Comparator.comparing(ArchivesAutoVO.ApprovalFile::getId)).orElse(null);
-			}
-			if (collect.containsKey("备考表")) {
-				spare = collect.get("备考表").stream().max(Comparator.comparing(ArchivesAutoVO.ApprovalFile::getId)).orElse(null);
-			}
-			if (collect.containsKey("背脊")) {
-				back = collect.get("背脊").stream().max(Comparator.comparing(ArchivesAutoVO.ApprovalFile::getId)).orElse(null);
-			}
+				pageSize.addAndGet(approvalFile.getFilePage() == null ? 1 : approvalFile.getFilePage());
+				return false;
+			});
 		} else {
 			vo.setPageNumber(0);
 		}
+		ArchivesAutoVO.ApprovalFile front = elementFiles[0];
+		ArchivesAutoVO.ApprovalFile cataLog = elementFiles[1];
+		ArchivesAutoVO.ApprovalFile spare = elementFiles[2];
+		ArchivesAutoVO.ApprovalFile back = elementFiles[3];
 		String outUrl = vo.getOutUrl();
 		if (StringUtils.isNotBlank(outUrl)) {
 			// 根据 factorType 字符串生成档案号码字符串链表

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -2454,7 +2454,7 @@ public class ExcelTabController extends BladeController {
                                         String textainfo = element.text();
                                         if (textainfo == null || textainfo == "" || Func.isEmpty(textainfo)) {
                                             int x1, y1;
-                                            if (element.html().indexOf("x1") >= 0 && element.html().indexOf("y1") >= 0) {
+                                            if ((element.html().indexOf("x1") >= 0 && element.html().indexOf("y1") >= 0) || (element.hasAttr("x1") && element.hasAttr("y1"))) {
                                                 if (element.html().indexOf("el-tooltip") >= 0) {
                                                     x1 = Integer.parseInt(element.children().get(0).children().get(0).attr("x1"));
                                                     y1 = Integer.parseInt(element.children().get(0).children().get(0).attr("y1"));