This commit is contained in:
yitonglei 2022-08-01 16:17:54 +08:00
parent 4d8f0c63ae
commit ca9133004a
5 changed files with 61 additions and 2 deletions

View File

@ -86,10 +86,12 @@ public class CensusControllerV3 {
PageData<Map<String, Object>> pageData1 = resourceService.resourceApplicationDetails(params);
return new Result<PageData<Map<String, Object>>>().ok(pageData1);
case "基础设施":
PageData<Map<String, Object>> pageData2 = resourceService.resourceInfrastructureDetails(params);
//PageData<Map<String, Object>> pageData2 = resourceService.resourceInfrastructureDetails(params);
PageData<Map<String, Object>> pageData2 = resourceService.resourceInstallationOrDataResourceDetails(params);
return new Result<PageData<Map<String, Object>>>().ok(pageData2);
case "数据资源":
PageData<Map<String, Object>> pageData3 = resourceService.resourceDatasDetails(params);
//PageData<Map<String, Object>> pageData3 = resourceService.resourceDatasDetails(params);
PageData<Map<String, Object>> pageData3 = resourceService.resourceInstallationOrDataResourceDetails(params);
return new Result<PageData<Map<String, Object>>>().ok(pageData3);
case "知识库":
PageData<Map<String, Object>> pageData4 = resourceService.resourceKnowledgeDetails(params);

View File

@ -168,4 +168,6 @@ public interface ResourceDao extends BaseDao<ResourceEntity> {
List<ResourceDTO> selectUsersApplyAndCount(@Param("userIds") List<Long> userIds);
List<Map<String, Object>> selectDevelopDocResource();
List<Map<String,Object>> resourceInstallationOrDataResourceDetails(Map params);
}

View File

@ -133,4 +133,6 @@ public interface ResourceService extends CrudService<ResourceEntity, ResourceDTO
List<Map> selectDevelopDoc();
PageData<Map<String,Object>> resourceInstallationOrDataResourceDetails(Map<String, Object> params);
}

View File

@ -1426,6 +1426,49 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
}
public PageData<Map<String,Object>> resourceInstallationOrDataResourceDetails(Map<String, Object> params){
List<Map<String, Object>> result;
Integer page = Integer.parseInt(params.get("page").toString()) - 1;
Integer pageSize = Integer.parseInt(params.get("limit").toString());
Object[] pas = {params.get("id"), params.get("id")};
List<Map<String, Object>> result2;
result2 = resourceDao.resourceInstallationOrDataResourceDetails(params);
if (!result2.isEmpty() && result2 != null) {
List<List<Map<String, Object>>> partition = Lists.partition(result2, pageSize);
result = new CopyOnWriteArrayList<>(partition.get(page));
} else {
return new PageData<>(result2, 0);
}
CompletableFuture<Void> resourceCollectionNum01 = CompletableFuture.runAsync(() -> {//被申请数量 resourceCarNum
result.forEach(r -> {
Integer integer = baseDao.selectResourceCarNum(params);
r.put("resourceCarNum", integer);
});
}, executor);
CompletableFuture<Void> resourceCollectionNum02 = CompletableFuture.runAsync(() -> {//被浏览数量
result.forEach(r -> {
Integer integer = baseDao.selectResourceBrowseNum(params);
r.put("resourceBrowseNum", integer);
});
}, executor);
CompletableFuture<Void> resourceCollectionNum03 = CompletableFuture.runAsync(() -> {//被收藏数量
result.forEach(r -> {
Integer integer = baseDao.selectResourceCollectionNum(params);
r.put("resourceCollectionNum", integer);
});
}, executor);
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCollectionNum01, resourceCollectionNum02, resourceCollectionNum03);
all.join();
return new PageData<>(result, result2.size());
}
@Override
public PageData<Map<String, Object>> resourceInfrastructureDetails(Map<String, Object> params) {
List<Map<String, Object>> result;

View File

@ -1458,4 +1458,14 @@
where tdr.del_flag != 1 and tda.attr_type='技术文档'
</select>
<select id="resourceInstallationOrDataResourceDetails" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName
FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id
WHERE a.type = #{resourceType} AND a.del_flag = 0
<if test="id != '0'.toString()">
AND (b.ID = #{id} OR INSTR(b.pids,#{id}))
</if>
GROUP BY a.dept_id,b.name
ORDER BY a.dept_id,b.name
</select>
</mapper>