Commit 1001ea66 authored by lixuan's avatar lixuan

feat: 房源

parent e8e0fb03
Pipeline #145629 failed with stages
......@@ -70,4 +70,6 @@ public class BusinessEntityStatisticsDetail {
private BigDecimal ssCount = BigDecimal.ZERO;
private BigDecimal gsSsCount = BigDecimal.ZERO;
private BigDecimal gsXsCount = BigDecimal.ZERO;
}
......@@ -2,6 +2,8 @@ package com.ruoyi.system.domain.house.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class PageBusinessEntityStatisticsDetail {
......@@ -28,4 +30,14 @@ public class PageBusinessEntityStatisticsDetail {
private long sjScCount;
private long sjTotalCount;
private BigDecimal xsCount = BigDecimal.ZERO;
private BigDecimal ssCount = BigDecimal.ZERO;
private long gsCount;
private BigDecimal gsXsCount = BigDecimal.ZERO;
private BigDecimal gsSsCount = BigDecimal.ZERO;
}
......@@ -30,7 +30,7 @@ public interface HouseResourceMapper {
List<HouseResource> selectAll();
List<HouseResource> selectPageBusinessEntityStatistics();
List<HouseResourcePage> selectPageBusinessEntityStatistics();
List<HouseResourcePage> selectForContrast(@Param("two") String two, @Param("name") String name);
......
......@@ -463,8 +463,9 @@ public class HouseResourceServiceImpl implements HouseResourceService {
CompletableFuture<BigDecimal> xsCountFuture = CompletableFuture.supplyAsync(() -> list.stream().map(HouseResourcePage::getIncome).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add), executor);
CompletableFuture<BigDecimal> ssCountFuture = CompletableFuture.supplyAsync(() -> list.stream().map(HouseResourcePage::getTaxCount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add), executor);
CompletableFuture<BigDecimal> gsSsCountFuture = CompletableFuture.supplyAsync(() -> list.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).map(HouseResourcePage::getTaxCount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add), executor);
CompletableFuture<Long> gsCountFuture = CompletableFuture.supplyAsync(() -> list.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).count(), executor);
CompletableFuture<BigDecimal> gsSsCountFuture = CompletableFuture.supplyAsync(() -> list.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).map(HouseResourcePage::getTaxCount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add), executor);
CompletableFuture<BigDecimal> gsXsCountFuture = CompletableFuture.supplyAsync(() -> list.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).map(HouseResourcePage::getIncome).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add), executor);
List<String> houseResourceIds = list.stream().map(HouseResourcePage::getId).collect(Collectors.toList());
List<HouseResourceBusinessEntityInfoMapping> houseResourceMappings = houseResourceBusinessEntityInfoMappingMapper.selectByHouseResourceIds(houseResourceIds);
......@@ -501,8 +502,9 @@ public class HouseResourceServiceImpl implements HouseResourceService {
businessEntityStatisticsDetail.setXsCount(xsCountFuture.join());
businessEntityStatisticsDetail.setSsCount(ssCountFuture.join());
businessEntityStatisticsDetail.setGsSsCount(gsSsCountFuture.join());
businessEntityStatisticsDetail.setGsCount(gsCountFuture.join());
businessEntityStatisticsDetail.setGsSsCount(gsSsCountFuture.join());
businessEntityStatisticsDetail.setGsXsCount(gsXsCountFuture.join());
businessEntityStatisticsDetail.setGyCount(industrySellFutures.get("工业").join());
businessEntityStatisticsDetail.setJzyCount(industrySellFutures.get("建筑业").join());
......@@ -526,16 +528,16 @@ public class HouseResourceServiceImpl implements HouseResourceService {
@Override
public PageBusinessEntityStatisticsDetail pageBusinessEntityStatistics(PageBusinessEntityStatisticsQuery query) {
List<HouseResource> list = houseResourceMapper.selectPageBusinessEntityStatistics();
List<HouseResourcePage> list = houseResourceMapper.selectPageBusinessEntityStatistics();
if (CollectionUtils.isEmpty(list)) {
return new PageBusinessEntityStatisticsDetail();
}
List<HouseResource> result = new ArrayList<>();
List<HouseResourcePage> result = new ArrayList<>();
if (!CollectionUtils.isEmpty(query.getTwos())) {
for (String two : query.getTwos()) {
for (HouseResource houseResource : list) {
if (two.equals(houseResource.getTwo())) {
result.add(houseResource);
for (HouseResourcePage houseResourcePage : list) {
if (two.equals(houseResourcePage.getTwo())) {
result.add(houseResourcePage);
}
}
}
......@@ -549,9 +551,9 @@ public class HouseResourceServiceImpl implements HouseResourceService {
if (!CollectionUtils.isEmpty(gridRegionUsers) && !SecurityUtils.getLoginUser().getUser().isAdmin() && !SecurityUtils.getLoginUser().getUser().getUserId().equals("794aa2c8b5c24933a30591dd7dc439ed") && !SecurityUtils.getLoginUser().getUser().getUserId().equals("ca1df7d1a3f347dc9e73e8283dd134a5")) {
List<String> twos = gridRegionUsers.stream().map(GridRegionUser::getWgId).collect(Collectors.toList());
for (String two : twos) {
for (HouseResource houseResource : list) {
if (two.equals(houseResource.getTwo())) {
result.add(houseResource);
for (HouseResourcePage houseResourcePage : list) {
if (two.equals(houseResourcePage.getTwo())) {
result.add(houseResourcePage);
}
}
}
......@@ -570,12 +572,19 @@ public class HouseResourceServiceImpl implements HouseResourceService {
pageBusinessEntityStatisticsDetail.setScCount(result.stream().filter(x -> x.getType() == 7).count());
pageBusinessEntityStatisticsDetail.setTotalCount(result.size());
pageBusinessEntityStatisticsDetail.setSjLyCount(result.stream().filter(x -> x.getType() == 1).collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjDlCount(result.stream().filter(x -> x.getType() == 4).collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjJqCount(result.stream().filter(x -> x.getType() == 5).collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjZhtCount(result.stream().filter(x -> x.getType() == 6).collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjScCount(result.stream().filter(x -> x.getType() == 7).collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjTotalCount(result.stream().collect(Collectors.groupingBy(HouseResource::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjLyCount(result.stream().filter(x -> x.getType() == 1).collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjDlCount(result.stream().filter(x -> x.getType() == 4).collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjJqCount(result.stream().filter(x -> x.getType() == 5).collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjZhtCount(result.stream().filter(x -> x.getType() == 6).collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjScCount(result.stream().filter(x -> x.getType() == 7).collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setSjTotalCount(result.stream().collect(Collectors.groupingBy(HouseResourcePage::getThree)).size());
pageBusinessEntityStatisticsDetail.setXsCount(result.stream().map(HouseResourcePage::getIncome).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
pageBusinessEntityStatisticsDetail.setSsCount(result.stream().map(HouseResourcePage::getTaxCount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
pageBusinessEntityStatisticsDetail.setGsCount(result.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).count());
pageBusinessEntityStatisticsDetail.setGsXsCount(result.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).map(HouseResourcePage::getIncome).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
pageBusinessEntityStatisticsDetail.setGsSsCount(result.stream().filter(x -> Objects.nonNull(x.getGs()) && x.getGs().equals(Boolean.TRUE)).map(HouseResourcePage::getTaxCount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
return pageBusinessEntityStatisticsDetail;
}
......
......@@ -773,9 +773,11 @@
<select id="selectAll" resultType="com.ruoyi.system.domain.house.HouseResource">
SELECT * FROM house_resource
</select>
<select id="selectPageBusinessEntityStatistics" resultType="com.ruoyi.system.domain.house.HouseResource">
<select id="selectPageBusinessEntityStatistics" resultType="com.ruoyi.system.domain.house.vo.HouseResourcePage">
SELECT
t1.*
t1.*,
SUM(t5.year_sell) AS income,
SUM(t5.year_tax) AS taxCount
FROM
house_resource t1
LEFT JOIN grid_region t2 ON t2.wg_code = t1.four
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment