|
@@ -37,6 +37,7 @@ import org.springblade.archive.mapper.ArchivesAutoMapper;
|
|
|
import org.springblade.archive.service.IArchivesAutoService;
|
|
|
import org.springblade.business.entity.ArchiveFile;
|
|
|
import org.springblade.business.feign.ArchiveFileClient;
|
|
|
+import org.springblade.common.utils.CommonUtil;
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
@@ -155,6 +156,52 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
return page.setRecords(archivesAutos);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据搜索获取档案柜
|
|
|
+ * @param archivesAuto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String,List<Map<String,String>>>> getArchivesCabinet(ArchivesAutoVO archivesAuto) {
|
|
|
+ //获取单位首节点
|
|
|
+ ArchiveTreeContract contract = archiveTreeContractClient.getFirstNodeByTreeCode(archivesAuto.getProjectId(),archivesAuto.getArchiveType());
|
|
|
+ archivesAuto.setNodeId(contract.getId());
|
|
|
+ //根据单位查询所有档案
|
|
|
+ List<ArchivesAutoVO> archivesAutos = baseMapper.getArchivesCabinet(archivesAuto);
|
|
|
+ if (archivesAutos != null && archivesAutos.size() > 0) {
|
|
|
+ List<List<ArchivesAutoVO>> listList = CommonUtil.splitList(archivesAutos, 160);
|
|
|
+ //所有页,所有柜子
|
|
|
+ List<Map<String, List<Map<String, String>>>> allPageCabinet = new ArrayList<>();
|
|
|
+ //所有的柜子
|
|
|
+ List<Map<String,String>> allCabinet = new ArrayList<>();
|
|
|
+ int CabinetTotal = 1;
|
|
|
+ //把所有档案分成柜子
|
|
|
+ for (List<ArchivesAutoVO> list : listList) {
|
|
|
+ //一个柜子
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
+ map.put("id",CabinetTotal+"");
|
|
|
+ map.put("name",CabinetTotal+"");
|
|
|
+ String[] min = list.get(0).getFileNumber().split("-");
|
|
|
+ String[] max = list.get(list.size()-1).getFileNumber().split("-");
|
|
|
+ map.put("content",min[min.length-1]+"~"+max[max.length-1]);
|
|
|
+ //把每一个柜子都添加
|
|
|
+ allCabinet.add(map);
|
|
|
+ }
|
|
|
+ //把所有柜子按页分隔,每页4个
|
|
|
+ List<List<Map<String, String>>> lists = CommonUtil.splitList(allCabinet, 4);
|
|
|
+ //区分页数
|
|
|
+ for (List<Map<String, String>> list : lists) {
|
|
|
+ Map<String,List<Map<String,String>>> listMap = new HashMap<>();
|
|
|
+ listMap.put("children",list);
|
|
|
+ allPageCabinet.add(listMap);
|
|
|
+ }
|
|
|
+ return allPageCabinet;
|
|
|
+
|
|
|
+ }else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<ArchivesAutoVO> selectArchivesAutoFilePage(ArchivesAutoVO vo) {
|
|
|
Query query = new Query();
|
|
@@ -1684,4 +1731,5 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
return autoMapper.getArchiveDestroyUser();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|