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