|
@@ -72,4 +72,61 @@ public class ArchiveTreeUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 得到分组,
|
|
|
+ *
|
|
|
+ * @param arList
|
|
|
+ * @param subTreeList 建设单位,施工单位各个合同段,监理单位各个合同段,电子档案的子节点这一层
|
|
|
+ * @param subGroupedList
|
|
|
+ */
|
|
|
+ public static void getGroupedListSub(List<ArchiveTreeContract> arList,
|
|
|
+ List<ArchiveTreeContractVO2> subTreeList, List<List<ArchiveTreeContract>> subGroupedList) {
|
|
|
+ List<ArchiveTreeContractVO2> voList = new ArrayList();
|
|
|
+ Map<Long, ArchiveTreeContract> map = new LinkedHashMap<>();
|
|
|
+
|
|
|
+
|
|
|
+ for (ArchiveTreeContract archiveTreeContract : arList) {
|
|
|
+ ArchiveTreeContractVO2 archiveTreeContractVO2 = new ArchiveTreeContractVO2(archiveTreeContract);
|
|
|
+ voList.add(archiveTreeContractVO2);
|
|
|
+ map.put(archiveTreeContract.getId(), archiveTreeContract);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ArchiveTreeContractVO2> trees = ForestNodeMergerEx.merge(voList);
|
|
|
+ if (trees == null || trees.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ ArchiveTreeContractVO2 tree = trees.get(0);
|
|
|
+
|
|
|
+ for (ArchiveTreeContractVO2 subTree : tree.getChildren()) {
|
|
|
+ if (StringUtils.isEmpty(subTree.getTreeCode())) {
|
|
|
+ //同步
|
|
|
+ subTreeList.addAll(subTree.getChildren());
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if (subTree.getChildren() == null || subTree.getChildren().size() == 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (subTree.getChildren().get(0).getExtType() == 2) {
|
|
|
+ for (ArchiveTreeContractVO2 contractNode : subTree.getChildren()) {
|
|
|
+ subTreeList.addAll(contractNode.getChildren());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ subTreeList.addAll(subTree.getChildren());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (ArchiveTreeContractVO2 subTree : subTreeList) {
|
|
|
+ List<ArchiveTreeContractVO2> tmpList = new ArrayList();
|
|
|
+ List<ArchiveTreeContract> groupList = new ArrayList();
|
|
|
+ ForestNodeMergerEx.getTreeList(subTree, tmpList);
|
|
|
+ for (ArchiveTreeContractVO2 vo2 : tmpList) {
|
|
|
+ ArchiveTreeContract ar = map.get(vo2.getId());
|
|
|
+ groupList.add(ar);
|
|
|
+ }
|
|
|
+ subGroupedList.add(groupList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|