Merge branch 'master' into cc_20250516_dataHandler
This commit is contained in:
@@ -72,7 +72,7 @@ public class ZxjpApiRequest {
|
|||||||
@ApiModelProperty(value = "所属督导")
|
@ApiModelProperty(value = "所属督导")
|
||||||
private String shopSupervisorUserName;
|
private String shopSupervisorUserName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "门店类型(1-加盟公司、2-加盟部加盟店、3-自有加盟、4-强加盟、)")
|
@ApiModelProperty(value = "加盟模式(1-加盟公司、2-加盟部加盟店、3-自有加盟、4-强加盟、)")
|
||||||
private Integer joinMode;
|
private Integer joinMode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "经营模式(0 无 1直营 2加盟)")
|
@ApiModelProperty(value = "经营模式(0 无 1直营 2加盟)")
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -78,17 +79,25 @@ public class FranchiseReportResponse {
|
|||||||
@ColumnWidth(20)
|
@ColumnWidth(20)
|
||||||
private BigDecimal loanMarginTotal = BigDecimal.ZERO;
|
private BigDecimal loanMarginTotal = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "收款金额总计")
|
||||||
|
@ExcelProperty(value = "收款金额总计=加盟费+管理/品牌/设计费+保证金",order = 13)
|
||||||
|
@ColumnWidth(25)
|
||||||
|
private BigDecimal total = BigDecimal.ZERO;
|
||||||
|
|
||||||
@ApiModelProperty(value = "昨日日期")
|
@ApiModelProperty(value = "昨日日期")
|
||||||
@ExcelProperty(value = "昨日日期",order = 13)
|
@ExcelProperty(value = "昨日日期",order = 14)
|
||||||
@ColumnWidth(15)
|
@ColumnWidth(15)
|
||||||
private String yesterdayDate;
|
private String yesterdayDate;
|
||||||
|
|
||||||
@ApiModelProperty(value = "昨天门店数")
|
@ApiModelProperty(value = "昨天门店数")
|
||||||
@ExcelProperty(value = "昨天门店数",order = 14)
|
@ExcelProperty(value = "昨天门店数",order = 15)
|
||||||
@ColumnWidth(15)
|
@ColumnWidth(15)
|
||||||
private Integer yesterdayStoreNum = 0;
|
private Integer yesterdayStoreNum = 0;
|
||||||
@ExcelIgnore
|
@ExcelIgnore
|
||||||
private Long regionId;
|
private Long regionId;
|
||||||
|
//集团维度使用
|
||||||
|
@ExcelIgnore
|
||||||
|
private List<Long> regionIds;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -630,9 +630,29 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Async
|
||||||
public void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request) {
|
public void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request) {
|
||||||
String url = "";
|
String url = "";
|
||||||
try {
|
try {
|
||||||
|
FranchiseReportResponse total = new FranchiseReportResponse();
|
||||||
|
total.setYesterdayDate(list.get(0).getYesterdayDate());
|
||||||
|
total.setJoinGroupName("总计");
|
||||||
|
for (FranchiseReportResponse response : list){
|
||||||
|
response.setTotal(response.getFranchiseFeeTotal().add(response.getManagementBrandingDesignFeeTotal()).add(response.getLoanMarginTotal()));
|
||||||
|
total.setTotal(total.getTotal().add(response.getTotal()));
|
||||||
|
total.setStoreNum(total.getStoreNum() + response.getStoreNum());
|
||||||
|
total.setNormalStoreNum(total.getNormalStoreNum() + response.getNormalStoreNum());
|
||||||
|
total.setRestaurantStoreNum(total.getRestaurantStoreNum() + response.getRestaurantStoreNum());
|
||||||
|
total.setNoShowStoreNum(total.getNoShowStoreNum() + response.getNoShowStoreNum());
|
||||||
|
total.setFranchiseFeeTotal(total.getFranchiseFeeTotal().add(response.getFranchiseFeeTotal()));
|
||||||
|
total.setFirstYearBrandingFeeTotal(total.getFirstYearBrandingFeeTotal().add(response.getFirstYearBrandingFeeTotal()));
|
||||||
|
total.setFirstYearManagementFeeTotal(total.getFirstYearManagementFeeTotal().add(response.getFirstYearManagementFeeTotal()));
|
||||||
|
total.setPerformanceBondTotal(total.getPerformanceBondTotal().add(response.getPerformanceBondTotal()));
|
||||||
|
total.setManagementBrandingDesignFeeTotal(total.getManagementBrandingDesignFeeTotal().add(response.getManagementBrandingDesignFeeTotal()));
|
||||||
|
total.setLoanMarginTotal(total.getLoanMarginTotal().add(response.getLoanMarginTotal()));
|
||||||
|
total.setYesterdayStoreNum(total.getYesterdayStoreNum() + response.getYesterdayStoreNum());
|
||||||
|
}
|
||||||
|
list.add(total);
|
||||||
url = easyExcelUtil.exportExcelSpecial(FranchiseReportResponse.class, list, null,
|
url = easyExcelUtil.exportExcelSpecial(FranchiseReportResponse.class, list, null,
|
||||||
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||||
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import java.time.LocalDate;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,8 +58,8 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
request.setRegionIds(regionIdByGroupName);
|
request.setRegionIds(regionIdByGroupName);
|
||||||
} else {
|
} else {
|
||||||
request.getRegionIds().retainAll(regionIdByGroupName);
|
request.getRegionIds().retainAll(regionIdByGroupName);
|
||||||
if (CollectionUtils.isEmpty(request.getRegionIds())){
|
if (CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL);
|
throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -75,14 +76,30 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
List<BigRegionDO> bigRegionDOList = bigRegionDAO.getByRegionIdList(new ArrayList<>(regionSet));
|
List<BigRegionDO> bigRegionDOList = bigRegionDAO.getByRegionIdList(new ArrayList<>(regionSet));
|
||||||
Map<Long, BigRegionDO> bigRegionDOMap = bigRegionDOList.stream().collect(Collectors.toMap(BigRegionDO::getRegionId, bigRegionDO -> bigRegionDO));
|
Map<Long, BigRegionDO> bigRegionDOMap = bigRegionDOList.stream().collect(Collectors.toMap(BigRegionDO::getRegionId, bigRegionDO -> bigRegionDO));
|
||||||
Map<Long, FranchiseReportResponse> responseByRegionIdMap = new HashMap<>();
|
Map<Long, FranchiseReportResponse> responseByRegionIdMap = new HashMap<>();
|
||||||
|
Map<String, FranchiseReportResponse> responseByJoinGroupNameMap = new HashMap<>();
|
||||||
for (FranchiseReportDTO shopFranchiseReportDTO : shopFranchiseReportList) {
|
for (FranchiseReportDTO shopFranchiseReportDTO : shopFranchiseReportList) {
|
||||||
FranchiseReportResponse response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
|
BigRegionDO bigRegionDO = bigRegionDOMap.get(shopFranchiseReportDTO.getRegionId());
|
||||||
if (response == null) {
|
if (bigRegionDO == null) {
|
||||||
response = new FranchiseReportResponse();
|
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.getOrDefault(shopFranchiseReportDTO.getRegionId(), new FranchiseReportResponse());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(request.getJoinGroupName()) || CollectionUtils.isNotEmpty(request.getRegionIds())) {
|
||||||
response.setRegionId(shopFranchiseReportDTO.getRegionId());
|
response.setRegionId(shopFranchiseReportDTO.getRegionId());
|
||||||
response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName());
|
response.setRegionName(bigRegionDO.getRegionName());
|
||||||
String groupName = bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName();
|
String groupName = bigRegionDO.getGroupName();
|
||||||
if (StringUtils.isBlank(groupName)) {
|
if (StringUtils.isBlank(groupName)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -108,7 +125,11 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
|
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
|
||||||
}
|
}
|
||||||
responseByRegionIdMap.put(shopFranchiseReportDTO.getRegionId(), response);
|
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
|
responseByJoinGroupNameMap.put(bigRegionDO.getGroupName(), response);
|
||||||
|
} else {
|
||||||
|
responseByRegionIdMap.put(shopFranchiseReportDTO.getRegionId(), response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
FranchiseReportRequest yesterdayRequest = new FranchiseReportRequest();
|
FranchiseReportRequest yesterdayRequest = new FranchiseReportRequest();
|
||||||
yesterdayRequest.setRegionIds(request.getRegionIds());
|
yesterdayRequest.setRegionIds(request.getRegionIds());
|
||||||
@@ -125,8 +146,23 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
yesterdayRequest.setBuildEndTime(yesterdayEndTime);
|
yesterdayRequest.setBuildEndTime(yesterdayEndTime);
|
||||||
List<FranchiseReportDTO> yesterdayShopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(yesterdayRequest);
|
List<FranchiseReportDTO> yesterdayShopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(yesterdayRequest);
|
||||||
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) {
|
Map<Long, List<FranchiseReportDTO>> yesterdayMap = new HashMap<>();
|
||||||
Map<Long, List<FranchiseReportDTO>> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
|
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()) {
|
for (Long regionId : responseByRegionIdMap.keySet()) {
|
||||||
FranchiseReportResponse response = responseByRegionIdMap.get(regionId);
|
FranchiseReportResponse response = responseByRegionIdMap.get(regionId);
|
||||||
if (Objects.isNull(response)) {
|
if (Objects.isNull(response)) {
|
||||||
@@ -139,7 +175,13 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<FranchiseReportResponse> list = new ArrayList<>(responseByRegionIdMap.values());
|
|
||||||
|
List<FranchiseReportResponse> list = new ArrayList<>();
|
||||||
|
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||||
|
list.addAll(responseByJoinGroupNameMap.values());
|
||||||
|
} else {
|
||||||
|
list.addAll(responseByRegionIdMap.values());
|
||||||
|
}
|
||||||
if (CollectionUtils.isEmpty(list)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
log.info("数据为空");
|
log.info("数据为空");
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package com.cool.store.service.impl;
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
|
|
||||||
import com.cool.store.dao.EnterpriseUserDAO;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.dao.PosAndOrderInfoDAO;
|
import com.cool.store.entity.LineInfoDO;
|
||||||
import com.cool.store.dao.ShopInfoDAO;
|
|
||||||
import com.cool.store.dao.ShopStageInfoDAO;
|
|
||||||
import com.cool.store.entity.PosAndOrderInfoDO;
|
import com.cool.store.entity.PosAndOrderInfoDO;
|
||||||
import com.cool.store.entity.ShopInfoDO;
|
import com.cool.store.entity.ShopInfoDO;
|
||||||
import com.cool.store.entity.ShopStageInfoDO;
|
import com.cool.store.entity.ShopStageInfoDO;
|
||||||
@@ -33,7 +31,8 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
||||||
|
@Resource
|
||||||
|
private LineInfoDAO lineInfoDAO;
|
||||||
@Resource
|
@Resource
|
||||||
private ShopInfoDAO shopInfoDAO;
|
private ShopInfoDAO shopInfoDAO;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -73,6 +72,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
|||||||
PosAndOrderResponse response = new PosAndOrderResponse();
|
PosAndOrderResponse response = new PosAndOrderResponse();
|
||||||
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId, type);
|
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId, type);
|
||||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
||||||
|
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfo.getLineId());
|
||||||
if (Objects.nonNull(posAndOrderInfoDO)) {
|
if (Objects.nonNull(posAndOrderInfoDO)) {
|
||||||
response.setShopId(posAndOrderInfoDO.getShopId());
|
response.setShopId(posAndOrderInfoDO.getShopId());
|
||||||
response.setAccount(posAndOrderInfoDO.getAccount());
|
response.setAccount(posAndOrderInfoDO.getAccount());
|
||||||
@@ -83,7 +83,13 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
|||||||
response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser()));
|
response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser()));
|
||||||
}
|
}
|
||||||
else{
|
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;
|
return response;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ public class SyncDataServiceImpl implements SyncDataService {
|
|||||||
}
|
}
|
||||||
request.setFxyAccount(lineInfoDO.getMobile());
|
request.setFxyAccount(lineInfoDO.getMobile());
|
||||||
request.setXzgAccount(shopInfo.getShopCode());
|
request.setXzgAccount(shopInfo.getShopCode());
|
||||||
|
|
||||||
request.setYlsAccount(shopInfo.getShopCode());
|
request.setYlsAccount(shopInfo.getShopCode());
|
||||||
request.setWqfAccount(shopInfo.getShopCode());
|
request.setWqfAccount(shopInfo.getShopCode());
|
||||||
request.setDownstreamSystemShopName(shopInfo.getShopName());
|
request.setDownstreamSystemShopName(shopInfo.getShopName());
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cool.store.controller.webb;
|
package com.cool.store.controller.webb;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cool.store.request.FranchiseReportRequest;
|
import com.cool.store.request.FranchiseReportRequest;
|
||||||
import com.cool.store.response.FranchiseReportResponse;
|
import com.cool.store.response.FranchiseReportResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
@@ -28,7 +29,7 @@ public class PCFranchiseReportController {
|
|||||||
|
|
||||||
@RequestMapping("/getZxjpOpenShopReport")
|
@RequestMapping("/getZxjpOpenShopReport")
|
||||||
@ApiOperation("正新鸡排开店")
|
@ApiOperation("正新鸡排开店")
|
||||||
public ResponseResult<List<FranchiseReportResponse>> getList(@RequestBody FranchiseReportRequest request) {
|
public ResponseResult< List<FranchiseReportResponse>> getList(@RequestBody FranchiseReportRequest request) {
|
||||||
return ResponseResult.success( franchiseReportService.zxjpOpenShopReport(request));
|
return ResponseResult.success( franchiseReportService.zxjpOpenShopReport(request));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user