|
|
@@ -17,6 +17,8 @@ import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
+import org.springblade.manager.entity.ArchiveTreeContract;
|
|
|
+import org.springblade.manager.feign.ArchiveTreeContractClient;
|
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
|
import org.springblade.system.entity.DictBiz;
|
|
|
import org.springblade.system.feign.IDictBizClient;
|
|
|
@@ -48,6 +50,7 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
|
|
|
|
|
|
private final ArchiveInspectionInfoClient archiveInspectionInfoClient;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
+ private final ArchiveTreeContractClient archiveTreeContractClient;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -371,4 +374,31 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
|
|
|
public Integer selectMaxSortByContractId(Long contractId) {
|
|
|
return baseMapper.selectMaxSortByContractId(contractId);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean flushArchiveFileSort(Long projectId) {
|
|
|
+ List<ArchiveFile>archileFileList=baseMapper.selectArchiveFileByProjectId(projectId);
|
|
|
+ Map<String, List<ArchiveFile>> archiveMap = archileFileList.stream().collect(Collectors.groupingBy(ArchiveFile::getNodeId));
|
|
|
+ List<Long> NodeIds = archileFileList.stream()
|
|
|
+ .map(ArchiveFile::getNodeId)
|
|
|
+ .map(Long::parseLong)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<ArchiveTreeContract> sortIds = archiveTreeContractClient.getArchiveTreeContractListByListOrderByTreeSort(NodeIds);
|
|
|
+ int sort=10100001;
|
|
|
+ for (ArchiveTreeContract nodeId : sortIds) {
|
|
|
+ if(archiveMap.containsKey(nodeId.getId().toString())){
|
|
|
+ List<ArchiveFile> archiveFiles = archiveMap.get(nodeId.getId().toString());
|
|
|
+ if (archiveFiles != null) {
|
|
|
+ archiveFiles = archiveFiles.stream()
|
|
|
+ .sorted(Comparator.comparing(ArchiveFile::getSort, Comparator.nullsLast(Integer::compareTo)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ for (ArchiveFile archiveFile : archiveFiles) {
|
|
|
+ archiveFile.setSort(sort++);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.updateBatchById(archileFileList);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|