From a742c34d5a30a04d0e93af9d45c1300b233db5a2 Mon Sep 17 00:00:00 2001 From: anhc <3442943606@qq.com> Date: Tue, 20 Sep 2022 09:54:37 +0800 Subject: [PATCH] =?UTF-8?q?Excel=E5=AF=BC=E5=85=A5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=9B=BEreview=EF=BC=8C=E5=A4=84=E7=90=86=E5=B1=82=E7=BA=A7?= =?UTF-8?q?=E8=B7=B3=E7=BA=A7=E4=BB=A5=E5=8F=8A=E9=80=92=E5=BD=92=E8=B7=B3?= =?UTF-8?q?=E7=BA=A7=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/com.actionsoft.apps.coe.pal.batch.jar | Bin 225891 -> 226115 bytes .../web/create/shape/ImportShapeExcel1.java | 107 +++++++++++++----- 2 files changed, 77 insertions(+), 30 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.batch/lib/com.actionsoft.apps.coe.pal.batch.jar b/com.actionsoft.apps.coe.pal.batch/lib/com.actionsoft.apps.coe.pal.batch.jar index c550ca5aebf21e5310fcd427cba0d9ee305dd728..c12eb0a5d54b366ff91e3a76dbf71e970156ef54 100644 GIT binary patch delta 25300 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 delta 25079 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 levelMap,Map> nodeMap,double offset,double leftMinLine){ + private double changeUpLeftOffset(String shapeNum,Map>> levelMap,Map> nodeMap,double offset,double leftMinLine){ double leftLine = leftMinLine; - String shapeNum = node.getShapeNum(); if (!shapeNum.contains(".")){ return leftLine; } @@ -655,21 +654,31 @@ public class ImportShapeExcel1 { String[] split = shapeNum.split("\\."); String level = ""+ (Integer.parseInt(split[0])-1); String branch = split[1]; + if (Integer.parseInt(level)<0){ + return leftLine; + } Map> numList = levelMap.get(level); - + if (null == numList){ + //层级跳级处理 + double upLeftLine = this.changeUpLeftOffset(level+"."+branch, levelMap, nodeMap, offset, leftLine); + leftLine = Math.min(leftLine,upLeftLine); + return Math.min(leftLine,leftMinLine); + } List upList = numList.get(level + "." + branch); if (upList == null || upList.isEmpty()){ - return leftLine; + //分支父级跳级处理 + double upLeftLine = this.changeUpLeftOffset(level+"."+branch, levelMap, nodeMap, offset, leftLine); + leftLine = Math.min(leftLine,upLeftLine); + return Math.min(leftLine,leftMinLine); } - double upLeftLine = this.changeUpLeftOffset(upList.get(0), levelMap, nodeMap, offset, leftLine); + double upLeftLine = this.changeUpLeftOffset(upList.get(0).getShapeNum(), levelMap, nodeMap, offset, leftLine); leftLine = Math.min(leftLine,upLeftLine); //移动父级节点 double moveLeftLine = this.moveLeftNode(upList, nodeMap, offset, leftLine,true,false); - leftLine = Math.min(leftLine,moveLeftLine); return Math.min(leftLine,leftMinLine); @@ -723,9 +732,8 @@ public class ImportShapeExcel1 { return leftLine; } - private double changeSubLeftOffset(CellObject node,Map>> levelMap,Map> nodeMap,double offset,double leftMinLine){ + private double changeSubLeftOffset(String shapeNum,Map>> levelMap,Map> nodeMap,double offset,double leftMinLine){ double leftLine = leftMinLine; - String shapeNum = node.getShapeNum(); if (!shapeNum.contains(".")){ return leftLine; @@ -735,8 +743,18 @@ public class ImportShapeExcel1 { String[] split = shapeNum.split("\\."); String level = ""+ (Integer.parseInt(split[0])+1); String branch = split[1]; + if (Integer.parseInt(level)<0){ + return leftLine; + } Map> numList = levelMap.get(level); + if(null == numList){ + //层级跳级处理 + double subLeftOffset = this.changeSubLeftOffset(level+"."+branch, levelMap, nodeMap, offset, leftLine); + leftLine = Math.min(leftLine,subLeftOffset); + return Math.min(leftLine,leftMinLine); + } + List subList = numList.get(level + "." + branch); if (subList == null || subList.isEmpty()){ subList = numList.get(level); @@ -766,17 +784,19 @@ public class ImportShapeExcel1 { } } + }else { + //下级分支跳级直连 + double subLeftOffset = this.changeSubLeftOffset(level+"."+branch, levelMap, nodeMap, offset, leftLine); + leftLine = Math.min(leftLine,subLeftOffset); } - return leftLine; + return Math.min(leftLine,leftMinLine); } - double subLeftOffset = this.changeSubLeftOffset(subList.get(0), levelMap, nodeMap, offset, leftLine); - + double subLeftOffset = this.changeSubLeftOffset(subList.get(0).getShapeNum(), levelMap, nodeMap, offset, leftLine); leftLine = Math.min(leftLine,subLeftOffset); //移动子级节点 double moveLeftLine = this.moveLeftNode(subList, nodeMap, offset, leftLine,true,true); - leftLine = Math.min(leftLine,moveLeftLine); return Math.min(leftLine,leftMinLine); @@ -786,7 +806,7 @@ public class ImportShapeExcel1 { double rightLine = rightMaxLine; //递归处理父级所有图形+连线的x的偏移量 - double upRightOffset = this.changeUpRightOffset(nodes.get(0), levelMap, nodeMap, offset, rightLine); + double upRightOffset = this.changeUpRightOffset(nodes.get(0).getShapeNum(), levelMap, nodeMap, offset, rightLine); rightLine = Math.max(rightLine,upRightOffset); @@ -795,15 +815,14 @@ public class ImportShapeExcel1 { rightLine = Math.max(rightLine,moveRightOffset); //递归处理子级所有图形+连线x的偏移量 - double subRightOffset = this.changeSubRightOffset(nodes.get(0), levelMap, nodeMap, offset, rightLine); + double subRightOffset = this.changeSubRightOffset(nodes.get(0).getShapeNum(), levelMap, nodeMap, offset, rightLine); rightLine = Math.max(subRightOffset,rightLine); return Math.max(rightLine,rightMaxLine); } - private double changeUpRightOffset(CellObject node,Map>> levelMap,Map> nodeMap,double offset,double rightMaxLine){ + private double changeUpRightOffset(String shapeNum,Map>> levelMap,Map> nodeMap,double offset,double rightMaxLine){ double rightLine = rightMaxLine; - String shapeNum = node.getShapeNum(); if (!shapeNum.contains(".")){ return rightLine; } @@ -812,14 +831,28 @@ public class ImportShapeExcel1 { String[] split = shapeNum.split("\\."); String level = ""+ (Integer.parseInt(split[0])-1); String branch = split[1]; - Map> numList = levelMap.get(level); - List upList = numList.get(level + "." + branch); - if (upList == null || upList.isEmpty()){ + if (Integer.parseInt(level)<0){ return rightLine; } - double upRightOffset = this.changeUpRightOffset(upList.get(0), levelMap, nodeMap, offset, rightLine); + Map> numList = levelMap.get(level); + if (null == numList){ + //层级跳级 处理 + double upRightOffset = this.changeUpRightOffset(level+"."+branch, levelMap, nodeMap, offset, rightLine); + rightLine = Math.max(rightLine,upRightOffset); + return Math.max(rightLine,rightMaxLine); + } + + List upList = numList.get(level + "." + branch); + if (upList == null || upList.isEmpty()){ + //分支父级跳级处理 + double upRightOffset = this.changeUpRightOffset(level+"."+branch, levelMap, nodeMap, offset, rightLine); + rightLine = Math.max(rightLine,upRightOffset); + return Math.max(rightLine,rightMaxLine); + } + + double upRightOffset = this.changeUpRightOffset(upList.get(0).getShapeNum(), levelMap, nodeMap, offset, rightLine); rightLine = Math.max(rightLine,upRightOffset); //移动父节点x的偏移量 @@ -878,10 +911,8 @@ public class ImportShapeExcel1 { return rightLine; } - private double changeSubRightOffset(CellObject node,Map>> levelMap,Map> nodeMap,double offset,double rightMaxLine){ + private double changeSubRightOffset(String shapeNum,Map>> levelMap,Map> nodeMap,double offset,double rightMaxLine){ double rightLine = rightMaxLine; - String shapeNum = node.getShapeNum(); - if (!shapeNum.contains(".")){ return rightLine; } @@ -890,10 +921,18 @@ public class ImportShapeExcel1 { String[] split = shapeNum.split("\\."); String level = ""+ (Integer.parseInt(split[0])+1); String branch = split[1]; + if (Integer.parseInt(level)<0){ + return rightLine; + } Map> numList = levelMap.get(level); + if(null == numList){ + //层级跳级处理 + double subRightOffset = this.changeSubRightOffset(level + "." + branch, levelMap, nodeMap, offset, rightLine); + rightLine = Math.max(rightLine,subRightOffset); + return Math.max(rightLine,rightMaxLine); + } List subList = numList.get(level + "." + branch); - if (subList == null || subList.isEmpty()){ subList = numList.get(level); if (subList != null){ @@ -919,17 +958,19 @@ public class ImportShapeExcel1 { } } } + }else{ + //分支下级跳级处理 + double subRightOffset = this.changeSubRightOffset(level + "." + branch, levelMap, nodeMap, offset, rightLine); + rightLine = Math.max(rightLine,subRightOffset); } - return rightLine; + return Math.max(rightLine,rightMaxLine); } - double subRightOffset = this.changeSubRightOffset(subList.get(0), levelMap, nodeMap, offset, rightLine); - + double subRightOffset = this.changeSubRightOffset(subList.get(0).getShapeNum(), levelMap, nodeMap, offset, rightLine); rightLine = Math.max(rightLine,subRightOffset); //移动子级节点 double moveRightOffset = this.moveRightNode(subList, nodeMap, offset, rightLine, true, true); - rightLine = Math.max(rightLine,moveRightOffset); return Math.max(rightLine,rightMaxLine); @@ -1498,6 +1539,12 @@ public class ImportShapeExcel1 { } Map> numList = levelMap.get(level); + if (null == numList){ + //跳级 直接递归找上级 + List upBranchNode = this.findUpBranchNode(levelMap, level + "." + branch); + list.addAll(upBranchNode); + return list; + } List cellObjects = numList.get(level + "." + branch); if (cellObjects==null){