PC端加盟报表

This commit is contained in:
shuo.wang
2025-05-16 15:37:47 +08:00
parent 28b3851c71
commit 8ec0939ecc
2 changed files with 40 additions and 33 deletions

View File

@@ -87,13 +87,13 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
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())){
if (CollectionUtils.isEmpty(response.getRegionIds())) {
response.setRegionIds(new ArrayList<>());
}
response.getRegionIds().add(shopFranchiseReportDTO.getRegionId());
} else {
//查大区维度
response = responseByRegionIdMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new FranchiseReportResponse());
response = responseByRegionIdMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new FranchiseReportResponse());
}
if (CollectionUtils.isNotEmpty(request.getJoinGroupName()) || CollectionUtils.isNotEmpty(request.getRegionIds())) {
@@ -146,35 +146,36 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
yesterdayRequest.setBuildEndTime(yesterdayEndTime);
List<FranchiseReportDTO> yesterdayShopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(yesterdayRequest);
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) {
Map<Long, List<FranchiseReportDTO>> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
//查集团维度
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);
Map<Long, List<FranchiseReportDTO>> yesterdayMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)){
yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
}
//查集团维度
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<FranchiseReportResponse> list = new ArrayList<>();
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
list.addAll(responseByJoinGroupNameMap.values());

View File

@@ -1,10 +1,8 @@
package com.cool.store.service.impl;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.PosAndOrderInfoDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.dao.*;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.PosAndOrderInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.entity.ShopStageInfoDO;
@@ -33,7 +31,8 @@ import java.util.Objects;
*/
@Service
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
@Resource
private LineInfoDAO lineInfoDAO;
@Resource
private ShopInfoDAO shopInfoDAO;
@Resource
@@ -73,6 +72,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
PosAndOrderResponse response = new PosAndOrderResponse();
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId, type);
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfo.getLineId());
if (Objects.nonNull(posAndOrderInfoDO)) {
response.setShopId(posAndOrderInfoDO.getShopId());
response.setAccount(posAndOrderInfoDO.getAccount());
@@ -83,7 +83,13 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser()));
}
else{
response.setAccount(shopInfo.getShopCode());
if (type.equals(PosAndOrderEnum.POS.getCode())){
response.setAccount(lineInfoDO.getMobile());
}
if (type.equals(PosAndOrderEnum.XIN_FA_SYS.getCode())){
response.setAccount(shopInfo.getShopCode());
}
}
return response;
}