From 9e1924ff06bad9f6cc539f6bfaac86c3fe63401e Mon Sep 17 00:00:00 2001 From: zhanghai <120228220@qq.com> Date: Sun, 24 Dec 2023 20:33:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=A9=E7=95=A5=EF=BC=8C?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E7=B4=A2=E5=BC=95=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/docus/sw/souyin/CheckService.java | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/docus/sw/souyin/CheckService.java b/src/main/java/com/docus/sw/souyin/CheckService.java index cc6017c..a6ccf55 100644 --- a/src/main/java/com/docus/sw/souyin/CheckService.java +++ b/src/main/java/com/docus/sw/souyin/CheckService.java @@ -59,13 +59,25 @@ public class CheckService { if (rollFile.getName().equals("片头")) { //填充卷 Roll roll = new Roll(rollFile.getName(), rollFile.getAbsolutePath()); - + List pieceList = new ArrayList<>(); + File[] piecesFile = rollFile.listFiles(); + Pieces pieces = new Pieces(FileTypeEnum.JPG, roll.getAbsolutePath(), roll.getName()); + genPieces(pieces, piecesFile, FileTypeEnum.JPG); + pieceList.add(pieces); + roll.putAll(pieceList); rollList.add(roll); } else if (rollFile.getName().equals("片尾")) { //填充卷 Roll roll = new Roll(rollFile.getName(), rollFile.getAbsolutePath()); - + List pieceList = new ArrayList<>(); + File[] piecesFile = rollFile.listFiles(); + Pieces pieces = new Pieces(FileTypeEnum.JPG, roll.getAbsolutePath(), roll.getName()); + genPieces(pieces, piecesFile, FileTypeEnum.JPG); + pieceList.add(pieces); + roll.putAll(pieceList); rollList.add(roll); + //填充卷 + } else { // List pieceList = new ArrayList<>(); @@ -154,6 +166,7 @@ public class CheckService { //生成索引目录 Double longth = 0d; for (IndexPlate indexPlate : map.values()) { + Double panlong = 0d; List rollList = indexPlate.getRollList(); for(Roll roll:rollList){ List piecesList = roll.getPiecesList(); @@ -163,10 +176,30 @@ public class CheckService { CheckPageRow checkPageRow = new CheckPageRow(indexPlate.getName(), document.getName(), document.getDpi(), document.useStore(),document.toSize()); checkPageRows.add(checkPageRow); longth+=checkPageRow.getUseStore(); + panlong+=checkPageRow.getUseStore(); } } } + CheckPageRow checkPageRow = new CheckPageRow(indexPlate.getName(), indexPlate.getName()+"盘长度:", null, panlong,""); + checkPageRows.add(checkPageRow); } + Comparator fileComparator = new Comparator() { + @Override + public int compare(CheckPageRow file1, CheckPageRow file2) { + // 使用正则表达式提取数字部分 + int num1 = extractNumber(file1.getPhNum()); + int num2 = extractNumber(file2.getPhNum()); + + // 比较提取的数字部分 + return Integer.compare(num1, num2); + } + + private int extractNumber(String fileName) { + String numberPart = fileName.replaceAll("[^0-9]", ""); + return numberPart.isEmpty() ? 0 : Integer.parseInt(numberPart); + } + }; + Collections.sort(checkPageRows,fileComparator); //加上统计 CheckPageRow checkPageRow = new CheckPageRow("", "总计长度:", null, longth,"");