Bläddra i källkod

档案申请验收

qianxb 1 år sedan
förälder
incheckning
b1031c20fc

+ 2 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchivesAutoVO2.java

@@ -30,4 +30,6 @@ public class ArchivesAutoVO2  {
 
     private Integer pageN;
 
+    private String ancestors;
+
 }

+ 1 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -1036,7 +1036,7 @@
     </select>
     <select id="getUnitAllArchive2" resultType="org.springblade.archive.vo.ArchivesAutoVO2">
         select
-               SUBSTRING_INDEX(SUBSTRING_INDEX(matc.ancestors,",",#{grade}),",",-1) as masterNode,
+               concat(matc.ancestors,',',matc.id)  as ancestors,
                uaa.id,uaa.name,uaa.page_n ,uaa.remark ,uaa.file_number,
                 (select bdb.dict_value  from blade_dict_biz bdb WHERE bdb.is_sealed = 0 and bdb.code = 'storage_period' and bdb.dict_key = uaa.storage_time limit 1 ) as storageTimeValue
         from m_archive_tree_contract matc right join u_archives_auto uaa on matc.id = uaa.node_id

+ 10 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -2769,13 +2769,21 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		}
 		List<ArchiveInspectPreviewVO.NodeList> nodeLists = new ArrayList<>();
 		//档案按照二级节点分组
-		Map<Long, List<ArchivesAutoVO2>> archiveMap = unitAllArchive.stream().collect(Collectors.groupingBy(ArchivesAutoVO2::getMasterNode));
+//		Map<Long, List<ArchivesAutoVO2>> archiveMap = unitAllArchive.stream().collect(Collectors.groupingBy(ArchivesAutoVO2::getMasterNode));
 		//循环二级节点,分别统计档案数据,把档案设置进结果集
 		for (ArchiveTreeContract unitNode : unitNodes) {
 			//获取节点名称
 			String nodeName = unitNode.getNodeName();
 			//获取节点档案
-			List<ArchivesAutoVO2> list = archiveMap.get(unitNode.getId());
+			Iterator<ArchivesAutoVO2> iterator = unitAllArchive.iterator();
+			List<ArchivesAutoVO2> list = new ArrayList<>();
+			while(iterator.hasNext()){
+				ArchivesAutoVO2 vo2 = iterator.next();
+				if (vo2.getAncestors().contains(unitNode.getId()+"")){
+					list.add(vo2);
+					iterator.remove();
+				}
+			}
 			ArchiveInspectPreviewVO.NodeList nodeList = new ArchiveInspectPreviewVO.NodeList();
 			if (list == null || list.size() == 0) {
 				//如果档案为空,直接设置名称跳出