Procházet zdrojové kódy

档案查询,获取柜子内部数据及高亮显示

qianxb před 2 roky
rodič
revize
db96f9810e

+ 2 - 1
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchivesAutoVO.java

@@ -144,8 +144,9 @@ public class ArchivesAutoVO extends ArchivesAuto {
 	private Integer cabinetNumber;
 
 	/**
-	 * 案卷柜子里的状态
+	 * 案卷柜子里的状态
 	 */
+	private Integer isSelect;
 
 	@ApiModelProperty("批量保存")
 	private List<ArchivesAutoVO> list;

+ 1 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -148,8 +148,7 @@ public class ArchivesAutoController extends BladeController {
 				//查询具体柜子里的数据
 				archivesAuto.setSize(160);
 				archivesAuto.setCurrent(archivesAuto.getCabinetNumber());
-				List<ArchivesAutoVO> pages = archivesAutoService.pageByArchivesAuto2(archivesAuto);
-				return R.data(pages);
+				return archivesAutoService.pageByArchivesAuto2(archivesAuto);
 			}
 		}
 	}

+ 3 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.java

@@ -129,4 +129,7 @@ public interface ArchivesAutoMapper extends BaseMapper<ArchivesAuto> {
     List<ArchivesAutoVO> getArchivesCabinet(@Param("vo") ArchivesAutoVO archivesAuto);
 
 	List<ArchivesAutoVO> pageByArchivesAuto3(IPage page, @Param("vo") ArchivesAutoVO vo);
+
+	List<ArchivesAutoVO> pageByArchivesAuto4(@Param("vo") ArchivesAutoVO vo);
+
 }

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

@@ -484,6 +484,17 @@
         ) matc left join u_archives_auto uaa on matc.id = uaa.node_id left join u_archive_file uaf on uaa.id =
         uaf.archive_id
         where uaa.is_deleted = 0 and uaa.is_archive = 1
+        GROUP BY uaa.id
+        order by uaa.tree_sort,uaa.auto_file_sort,uaa.file_number asc
+    </select>
+
+    <select id="pageByArchivesAuto4" resultMap="archivesAutoResultMap">
+        select uaa.id from
+        (SELECT id FROM m_archive_tree_contract WHERE project_id =#{vo.projectId}
+        and  ancestors like concat('%',#{vo.nodeId},'%')
+        ) matc left join u_archives_auto uaa on matc.id = uaa.node_id left join u_archive_file uaf on uaa.id =
+        uaf.archive_id
+        where uaa.is_deleted = 0 and uaa.is_archive = 1
         <if test="vo.searchType == 1 and vo.queryValue != null and vo.queryValue != ''">
             and uaa.name like concat('%',#{vo.queryValue},'%')
         </if>

+ 2 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchivesAutoService.java

@@ -20,6 +20,7 @@ import org.springblade.archive.entity.ArchivesAuto;
 import org.springblade.archive.vo.ArchivesAutoVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.tool.api.R;
 import org.springblade.manager.entity.ArchiveTreeContract;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.user.entity.User;
@@ -86,5 +87,5 @@ public interface IArchivesAutoService extends BaseService<ArchivesAuto> {
 
 	List<Map<String,List<Map<String,String>>>> getArchivesCabinet(ArchivesAutoVO archivesAuto);
 
-	List<ArchivesAutoVO> pageByArchivesAuto2(ArchivesAutoVO archivesAuto);
+	R pageByArchivesAuto2(ArchivesAutoVO archivesAuto);
 }

+ 27 - 3
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -45,6 +45,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.manager.entity.ArchiveTreeContract;
@@ -157,7 +158,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	}
 
 	@Override
-	public List<ArchivesAutoVO> pageByArchivesAuto2(ArchivesAutoVO vo) {
+	public R pageByArchivesAuto2(ArchivesAutoVO vo) {
 		IPage<ArchivesAutoVO> page = new Page<>(vo.getCurrent(),vo.getSize());
 		if (StringUtils.isNotBlank(vo.getStorageTime())) {
 			vo.setStorageTimes(Arrays.asList(vo.getStorageTime().split(",")));
@@ -180,10 +181,18 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		//获取单位首节点
 		ArchiveTreeContract	contract = archiveTreeContractClient.getFirstNodeByTreeCode(vo.getProjectId(),vo.getArchiveType());
 		vo.setNodeId(contract.getId());
-		//根据单位查询所有档案
+		//根据单位查询出当前箱子所有档案,最大为160条
 		List<ArchivesAutoVO> archivesAutos = baseMapper.pageByArchivesAuto3(page, vo);
+		//根据条件筛选
+		List<ArchivesAutoVO> selectAutos = baseMapper.pageByArchivesAuto4(vo);
+		List<Long> ids = selectAutos.stream().map(l -> l.getId()).collect(Collectors.toList());
 		if (archivesAutos != null && archivesAutos.size() >0) {
 			archivesAutos.stream().forEach(aa -> {
+				if (ids.contains(aa.getId())){
+					aa.setIsSelect(1);
+				}else {
+					aa.setIsSelect(0);
+				}
 				if (StringUtils.isNotBlank(aa.getStorageTime())) {
 					aa.setStorageTimeValue("3".equals(aa.getStorageTime()) ? "永久" : ("2".equals(aa.getStorageTime()) ? "30年" : "10年"));
 				}
@@ -191,8 +200,23 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 					aa.setSecretLevelValue("1".equals(aa.getSecretLevel()) ? "机密" : ("2".equals(aa.getSecretLevel()) ? "绝密" : "秘密"));
 				}
 			});
+			//格式
+			List<List<ArchivesAutoVO>> listList = CommonUtil.splitList(archivesAutos, 8);
+			//一页,所有格子
+			List<Map<String, List<ArchivesAutoVO>>> allCell = new ArrayList<>();
+			//
+			for (List<ArchivesAutoVO> list : listList) {
+				//一个格子
+				List<ArchivesAutoVO> oneCell = new ArrayList<>();
+				oneCell.addAll(list);
+				Map<String, List<ArchivesAutoVO>> map = new HashMap<>();
+				map.put("children",oneCell);
+				allCell.add(map);
+			}
+			return R.data(allCell);
+		}else {
+			return null;
 		}
-		return archivesAutos;
 	}
 
 	/**