统计报表接口,数据梳理接口
This commit is contained in:
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: WangShuo
|
* @Author: WangShuo
|
||||||
@@ -89,6 +90,9 @@ public class FranchiseReportResponse {
|
|||||||
private Integer yesterdayStoreNum = 0;
|
private Integer yesterdayStoreNum = 0;
|
||||||
@ExcelIgnore
|
@ExcelIgnore
|
||||||
private Long regionId;
|
private Long regionId;
|
||||||
|
//集团维度使用
|
||||||
|
@ExcelIgnore
|
||||||
|
private List<Long> regionIds;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,10 +83,16 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
FranchiseReportResponse response = new FranchiseReportResponse();
|
FranchiseReportResponse response = new FranchiseReportResponse();
|
||||||
|
//查集团维度
|
||||||
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
response = responseByJoinGroupNameMap.getOrDefault(bigRegionDO.getGroupName(), new FranchiseReportResponse());
|
response = responseByJoinGroupNameMap.getOrDefault(bigRegionDO.getGroupName(), new FranchiseReportResponse());
|
||||||
response.setJoinGroupName(bigRegionDO.getGroupName());
|
response.setJoinGroupName(bigRegionDO.getGroupName());
|
||||||
|
if (CollectionUtils.isEmpty(response.getRegionIds())){
|
||||||
|
response.setRegionIds(new ArrayList<>());
|
||||||
|
}
|
||||||
|
response.getRegionIds().add(shopFranchiseReportDTO.getRegionId());
|
||||||
} else {
|
} else {
|
||||||
|
//查大区维度
|
||||||
response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
|
response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,22 +149,37 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) {
|
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) {
|
||||||
Map<Long, List<FranchiseReportDTO>> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
|
Map<Long, List<FranchiseReportDTO>> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
|
||||||
for (Long regionId : responseByRegionIdMap.keySet()) {
|
//查集团维度
|
||||||
FranchiseReportResponse response = responseByRegionIdMap.get(regionId);
|
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
if (Objects.isNull(response)) {
|
for (FranchiseReportResponse responseByJoinGroupName : responseByJoinGroupNameMap.values()){
|
||||||
continue;
|
|
||||||
|
List<Long> regionIds = responseByJoinGroupName.getRegionIds();
|
||||||
|
for (Long regionId : regionIds){
|
||||||
|
BigRegionDO bigRegionDO = bigRegionDOMap.get(regionId);
|
||||||
|
List<FranchiseReportDTO> yesterdayList = yesterdayMap.getOrDefault(bigRegionDO.getRegionId(),new ArrayList<>());
|
||||||
|
responseByJoinGroupName.setYesterdayDate(yesterdayStartDate.format(formatter1));
|
||||||
|
responseByJoinGroupName.setYesterdayStoreNum(responseByJoinGroupName.getYesterdayStoreNum() +(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//大区维度
|
||||||
|
for (Long regionId : responseByRegionIdMap.keySet()) {
|
||||||
|
FranchiseReportResponse response = responseByRegionIdMap.get(regionId);
|
||||||
|
if (Objects.isNull(response)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
List<FranchiseReportDTO> yesterdayList = yesterdayMap.get(regionId);
|
||||||
|
response.setYesterdayDate(yesterdayStartDate.format(formatter1));
|
||||||
|
response.setYesterdayStoreNum(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size());
|
||||||
|
responseByRegionIdMap.put(regionId, response);
|
||||||
}
|
}
|
||||||
List<FranchiseReportDTO> yesterdayList = yesterdayMap.get(regionId);
|
|
||||||
response.setYesterdayDate(yesterdayStartDate.format(formatter1));
|
|
||||||
response.setYesterdayStoreNum(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size());
|
|
||||||
responseByRegionIdMap.put(regionId, response);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<FranchiseReportResponse> list = new ArrayList<>();
|
List<FranchiseReportResponse> list = new ArrayList<>();
|
||||||
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
list.addAll(responseByJoinGroupNameMap.values());
|
list.addAll(responseByJoinGroupNameMap.values());
|
||||||
}else{
|
} else {
|
||||||
list.addAll(responseByRegionIdMap.values());
|
list.addAll(responseByRegionIdMap.values());
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isEmpty(list)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user