## 出货明细汇总统计改为产品销售统计;

This commit is contained in:
cabbage 2025-08-08 11:56:04 +08:00
parent b6e2ed8d47
commit b943357b84
12 changed files with 171 additions and 281 deletions

View File

@ -14,7 +14,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService; import com.hzs.common.service.ITransactionCommonService;
import com.hzs.report.member.service.MemberReportService; import com.hzs.report.member.service.IMemberReportService;
import com.hzs.report.member.vo.CuMemberWalletVO; import com.hzs.report.member.vo.CuMemberWalletVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -29,23 +29,16 @@ import java.util.Map;
/** /**
* 伞下钱包明细 * 伞下钱包明细
*
* @Description:
* @Author: ljc
* @Time: 2024/3/22 15:09
* @Classname: CuMemberUnderUmbrellaWalletController
* @Package_name: com.hzs.report.member.controller.manage
*/ */
@RequestMapping("/manager/wallet") @RequestMapping("/manager/wallet")
@RestController @RestController
public class CuMemberUnderUmbrellaWalletController extends BaseController { public class CuMemberUnderUmbrellaWalletController extends BaseController {
@Autowired @Autowired
MemberReportService memberReportService; private IMemberReportService iMemberReportService;
@Autowired @Autowired
ITransactionCommonService iTransactionCommonService; private ITransactionCommonService iTransactionCommonService;
/** /**
* 查询列表 * 查询列表
@ -62,7 +55,7 @@ public class CuMemberUnderUmbrellaWalletController extends BaseController {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} else { } else {
startPage(); startPage();
List<CuMemberWalletVO> cuMemberWalletVOList = memberReportService.selectMemberUnderWalletList(memberWalletVO); List<CuMemberWalletVO> cuMemberWalletVOList = iMemberReportService.selectMemberUnderWalletList(memberWalletVO);
return getDataTable(cuMemberWalletVOList); return getDataTable(cuMemberWalletVOList);
} }
} }
@ -83,7 +76,7 @@ public class CuMemberUnderUmbrellaWalletController extends BaseController {
if (StringUtils.isEmpty(memberWalletVO.getMemberCode())) { if (StringUtils.isEmpty(memberWalletVO.getMemberCode())) {
cuMemberWalletVOList = new ArrayList<>(); cuMemberWalletVOList = new ArrayList<>();
} else { } else {
cuMemberWalletVOList = memberReportService.selectMemberUnderWalletList(memberWalletVO); cuMemberWalletVOList = iMemberReportService.selectMemberUnderWalletList(memberWalletVO);
} }
if (CollUtil.isNotEmpty(cuMemberWalletVOList)) { if (CollUtil.isNotEmpty(cuMemberWalletVOList)) {
//枚举翻译 //枚举翻译

View File

@ -15,13 +15,12 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt;
import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService; import com.hzs.common.service.ITransactionCommonService;
import com.hzs.member.base.IMemberServiceApi; import com.hzs.member.base.IMemberServiceApi;
import com.hzs.report.member.param.*; import com.hzs.report.member.param.*;
import com.hzs.report.member.service.IMemberReportService;
import com.hzs.report.member.service.IMemberService; import com.hzs.report.member.service.IMemberService;
import com.hzs.report.member.service.MemberReportService;
import com.hzs.report.member.vo.*; import com.hzs.report.member.vo.*;
import com.hzs.report.report.service.ICuMemberSettlePeriodService; import com.hzs.report.report.service.ICuMemberSettlePeriodService;
import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.IAreaServiceApi;
@ -43,7 +42,7 @@ import java.util.stream.Collectors;
public class MemberReportController extends BaseController { public class MemberReportController extends BaseController {
@Autowired @Autowired
private MemberReportService memberReportService; private IMemberReportService iMemberReportService;
@Autowired @Autowired
private ITransactionCommonService iTransactionCommonService; private ITransactionCommonService iTransactionCommonService;
@Autowired @Autowired
@ -89,12 +88,12 @@ public class MemberReportController extends BaseController {
//伞下直推新增业绩 //伞下直推新增业绩
startPage(); startPage();
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
startPayTime = DateUtils.getStartTime(startPayTime); startPayTime = DateUtils.getStartTime(startPayTime);
endPayTime = DateUtils.getEndTime(endPayTime); endPayTime = DateUtils.getEndTime(endPayTime);
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); List<DirectPushNewVo> achieList = iMemberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
memberList.forEach(itm -> { memberList.forEach(itm -> {
@ -138,14 +137,14 @@ public class MemberReportController extends BaseController {
directPushNewVo.setEndPayTime(date); directPushNewVo.setEndPayTime(date);
} }
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(), List<DirectPushNewVo> memberList = iMemberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(),
directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(), directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(),
directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex()); directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex());
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime()); Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime());
Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime()); Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); List<DirectPushNewVo> achieList = iMemberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values()); Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values());
@ -212,10 +211,10 @@ public class MemberReportController extends BaseController {
dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr)); dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr));
dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr));
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData(); CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); List<DirectPushNewVo> achieList = iMemberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType; Integer finalOrderType = orderType;
memberList.forEach(itm -> { memberList.forEach(itm -> {
@ -283,10 +282,10 @@ public class MemberReportController extends BaseController {
dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr)); dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr));
dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr));
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData(); CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); List<DirectPushNewVo> achieList = iMemberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType; Integer finalOrderType = orderType;
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values()); Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values());
@ -311,7 +310,7 @@ public class MemberReportController extends BaseController {
@GetMapping("/member-consumption") @GetMapping("/member-consumption")
public TableDataInfo memberConsumptionList(String memberCode, String memberName, Date startPayTime, Date endPayTime, Integer pkWares) { public TableDataInfo memberConsumptionList(String memberCode, String memberName, Date startPayTime, Date endPayTime, Integer pkWares) {
startPage(); startPage();
List<MemberConsumptionVo> memberReportList = memberReportService.memberConsumptionList(memberCode, memberName, startPayTime, endPayTime, pkWares); List<MemberConsumptionVo> memberReportList = iMemberReportService.memberConsumptionList(memberCode, memberName, startPayTime, endPayTime, pkWares);
return getDataTable(memberReportList); return getDataTable(memberReportList);
} }
@ -321,7 +320,7 @@ public class MemberReportController extends BaseController {
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_CONSUMPTION, method = EOperationMethod.EXPORT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_CONSUMPTION, method = EOperationMethod.EXPORT)
@PostMapping("/member-consumption-export") @PostMapping("/member-consumption-export")
public void memberConsumptionListExport(MemberConsumptionParam memberConsumptionParam, HttpServletResponse response) { public void memberConsumptionListExport(MemberConsumptionParam memberConsumptionParam, HttpServletResponse response) {
List<MemberConsumptionVo> memberReportList = memberReportService.memberConsumptionList(memberConsumptionParam.getMemberCode(), memberConsumptionParam.getMemberName(), memberConsumptionParam.getStartPayTime(), memberConsumptionParam.getEndPayTime(), memberConsumptionParam.getPkWares()); List<MemberConsumptionVo> memberReportList = iMemberReportService.memberConsumptionList(memberConsumptionParam.getMemberCode(), memberConsumptionParam.getMemberName(), memberConsumptionParam.getStartPayTime(), memberConsumptionParam.getEndPayTime(), memberConsumptionParam.getPkWares());
ExcelUtil<MemberConsumptionVo> util = new ExcelUtil<>(MemberConsumptionVo.class); ExcelUtil<MemberConsumptionVo> util = new ExcelUtil<>(MemberConsumptionVo.class);
util.exportExcel(response, memberReportList, "用户消费统计导出"); util.exportExcel(response, memberReportList, "用户消费统计导出");
} }
@ -349,7 +348,7 @@ public class MemberReportController extends BaseController {
Integer pkCountry = SecurityUtils.getPkCountry(); Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType); List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType);
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> memberResettleAchieveList = iMemberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList); pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList);
Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity())); Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity()));
@ -406,7 +405,7 @@ public class MemberReportController extends BaseController {
Integer pkCountry = SecurityUtils.getPkCountry(); Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType()); List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType());
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(), List<MemberResettleAchieveVo> memberResettleAchieveList = iMemberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(),
memberResettleAchieveParam.getEndPayTime(), memberResettleAchieveParam.getPkVertex(), memberResettleAchieveParam.getPkTeamCode(), pkCountry, memberResettleAchieveParam.getPkAwards(), orderTypeList); memberResettleAchieveParam.getEndPayTime(), memberResettleAchieveParam.getPkVertex(), memberResettleAchieveParam.getPkTeamCode(), pkCountry, memberResettleAchieveParam.getPkAwards(), orderTypeList);
Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity())); Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity()));
@ -494,9 +493,9 @@ public class MemberReportController extends BaseController {
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr); String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> staAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> endAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) { if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
@ -573,9 +572,9 @@ public class MemberReportController extends BaseController {
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr); String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> staAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> endAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) { if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
@ -615,11 +614,11 @@ public class MemberReportController extends BaseController {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
startPage(); startPage();
List<OrderCurrencyVo> memberResettleAchieveList = memberReportService.getOrderCurrencyList(memberCode, memberName, orderCode, orderType); List<OrderCurrencyVo> memberResettleAchieveList = iMemberReportService.getOrderCurrencyList(memberCode, memberName, orderCode, orderType);
List<String> orderCodeList = memberResettleAchieveList.stream().map(OrderCurrencyVo::getOrderCode).collect(Collectors.toList()); List<String> orderCodeList = memberResettleAchieveList.stream().map(OrderCurrencyVo::getOrderCode).collect(Collectors.toList());
List<MemberTradeVo> memberTradeVoList = new ArrayList<>(); List<MemberTradeVo> memberTradeVoList = new ArrayList<>();
if (orderCodeList.size() > 0) { if (orderCodeList.size() > 0) {
memberTradeVoList = memberReportService.getBySourceCodeMemberTradeList(orderCodeList); memberTradeVoList = iMemberReportService.getBySourceCodeMemberTradeList(orderCodeList);
} }
for (OrderCurrencyVo orderCurrencyVo : memberResettleAchieveList) { for (OrderCurrencyVo orderCurrencyVo : memberResettleAchieveList) {
@ -688,80 +687,36 @@ public class MemberReportController extends BaseController {
startPage(); startPage();
if (area == 1) { if (area == 1) {
// 查询省 // 查询省
orderDistributionList = memberReportService.getByProvinceOrderDistribution(startTime, endTime, pkCountry); orderDistributionList = iMemberReportService.getByProvinceOrderDistribution(startTime, endTime, pkCountry);
} else if (area == 2) { } else if (area == 2) {
// 查询市 // 查询市
orderDistributionList = memberReportService.getByCityOrderDistribution(startTime, endTime, pkCountry); orderDistributionList = iMemberReportService.getByCityOrderDistribution(startTime, endTime, pkCountry);
} else if (area == 3) { } else if (area == 3) {
// 查询区县 // 查询区县
orderDistributionList = memberReportService.getByDistrictOrderDistribution(startTime, endTime, pkCountry); orderDistributionList = iMemberReportService.getByDistrictOrderDistribution(startTime, endTime, pkCountry);
} }
return getDataTable(orderDistributionList); return getDataTable(orderDistributionList);
} }
/** /**
* 出货明细汇总统计 * 产品销售统计列表
*
* @param
* @return
*/ */
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.SELECT)
@GetMapping("/product-shipping-details-list") @GetMapping("/product-shipping")
public TableDataInfo productShippingDetailsList(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType) { public TableDataInfo productShipping(ProductShippingParam param) {
startPage(); startPage();
Integer pkCountry = SecurityUtils.getPkCountry(); List<ProductShippingVO> memberReportList = iMemberReportService.getProductOrderInfo(param);
List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(orderType);
if (endTime != null) {
endTime = DateUtils.getEndTime(endTime);
}
List<ProductOrderInfoVo> memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList);
for (ProductOrderInfoVo productOrderInfoVo : memberReportList) {
if (productOrderInfoVo.getProductPrice() != null) {
productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice());
} else {
productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO);
}
if (productOrderInfoVo.getOrderType() != null) {
productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel());
}
}
// 计算总计
Integer count = memberReportService.sumQuantity(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList);
ProductOrderInfoVo productOrderInfoVo = new ProductOrderInfoVo();
productOrderInfoVo.setProductCode("总计");
productOrderInfoVo.setProductName("-");
productOrderInfoVo.setQuantity(count);
productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO);
memberReportList.add(productOrderInfoVo);
return getDataTable(memberReportList); return getDataTable(memberReportList);
} }
/** /**
* 出货明细汇总导出 * 产品销售统计导出
*
* @return
*/ */
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.EXPORT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.EXPORT)
@PostMapping("/product-shipping-details-export") @PostMapping("/product-shipping-export")
public void productShippingDetailsExport(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType, HttpServletResponse response) { public void productShippingExport(HttpServletResponse response, ProductShippingParam param) {
Integer pkCountry = SecurityUtils.getPkCountry(); List<ProductShippingVO> memberReportList = iMemberReportService.getProductOrderInfo(param);
List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(orderType); ExcelUtil<ProductShippingVO> util = new ExcelUtil<>(ProductShippingVO.class);
if (endTime != null) {
endTime = DateUtils.getEndTime(endTime);
}
List<ProductOrderInfoVo> memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList);
for (ProductOrderInfoVo productOrderInfoVo : memberReportList) {
if (productOrderInfoVo.getProductPrice() != null) {
productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice());
} else {
productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO);
}
if (productOrderInfoVo.getOrderType() != null) {
productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel());
}
}
ExcelUtil<ProductOrderInfoVo> util = new ExcelUtil<>(ProductOrderInfoVo.class);
util.exportExcel(response, memberReportList, "出货明细汇总导出"); util.exportExcel(response, memberReportList, "出货明细汇总导出");
} }
@ -782,7 +737,7 @@ public class MemberReportController extends BaseController {
if (endTime != null) { if (endTime != null) {
endTime = DateUtils.getEndTime(endTime); endTime = DateUtils.getEndTime(endTime);
} }
List<ProductShippingDetailsInfoVo> productOrderInfoVoList = memberReportService.productShippingDetailsList(pkProduct, productName, pkClassify, pkAwards, orderTypeList, startTime, endTime, pkCountry); List<ProductShippingDetailsInfoVo> productOrderInfoVoList = iMemberReportService.productShippingDetailsList(pkProduct, productName, pkClassify, pkAwards, orderTypeList, startTime, endTime, pkCountry);
for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) { for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) {
productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice()); productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice());
productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity()))); productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity())));
@ -807,7 +762,7 @@ public class MemberReportController extends BaseController {
if (productShippingDetailsParam.getEndTime() != null) { if (productShippingDetailsParam.getEndTime() != null) {
productShippingDetailsParam.setEndTime(productShippingDetailsParam.getEndTime()); productShippingDetailsParam.setEndTime(productShippingDetailsParam.getEndTime());
} }
List<ProductShippingDetailsInfoVo> productOrderInfoVoList = memberReportService.productShippingDetailsList(productShippingDetailsParam.getPkProduct(), productShippingDetailsParam.getProductName(), productShippingDetailsParam.getPkClassify(), productShippingDetailsParam.getPkAwards(), orderTypeList, productShippingDetailsParam.getStartTime(), productShippingDetailsParam.getEndTime(), pkCountry); List<ProductShippingDetailsInfoVo> productOrderInfoVoList = iMemberReportService.productShippingDetailsList(productShippingDetailsParam.getPkProduct(), productShippingDetailsParam.getProductName(), productShippingDetailsParam.getPkClassify(), productShippingDetailsParam.getPkAwards(), orderTypeList, productShippingDetailsParam.getStartTime(), productShippingDetailsParam.getEndTime(), pkCountry);
for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) { for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) {
productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice()); productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice());
productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity()))); productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity())));
@ -831,7 +786,7 @@ public class MemberReportController extends BaseController {
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
startPage(); startPage();
reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry()); reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry());
List<ReportSummaryVo> reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo); List<ReportSummaryVo> reportSummaryList = iMemberReportService.reportSummaryList(reportSummaryVo);
for (ReportSummaryVo summaryVo : reportSummaryList) { for (ReportSummaryVo summaryVo : reportSummaryList) {
if (summaryVo.getRegisterAuthority() != null) { if (summaryVo.getRegisterAuthority() != null) {
summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel()); summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel());
@ -860,7 +815,7 @@ public class MemberReportController extends BaseController {
} }
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry()); reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry());
List<ReportSummaryVo> reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo); List<ReportSummaryVo> reportSummaryList = iMemberReportService.reportSummaryList(reportSummaryVo);
for (ReportSummaryVo summaryVo : reportSummaryList) { for (ReportSummaryVo summaryVo : reportSummaryList) {
if (summaryVo.getRegisterAuthority() != null) { if (summaryVo.getRegisterAuthority() != null) {
summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel()); summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel());
@ -1009,7 +964,7 @@ public class MemberReportController extends BaseController {
List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType()); List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType());
productDetailQueryParam.setOrderTypeList(orderTypeList); productDetailQueryParam.setOrderTypeList(orderTypeList);
productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry()); productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry());
List<ProductDetailQueryVo> productDetailList = memberReportService.productDetailQueryList(productDetailQueryParam); List<ProductDetailQueryVo> productDetailList = iMemberReportService.productDetailQueryList(productDetailQueryParam);
for (ProductDetailQueryVo productDetailQueryVo : productDetailList) { for (ProductDetailQueryVo productDetailQueryVo : productDetailList) {
if (productDetailQueryVo.getPayType() != null) { if (productDetailQueryVo.getPayType() != null) {
EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType()); EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType());
@ -1065,7 +1020,7 @@ public class MemberReportController extends BaseController {
List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType()); List<Integer> orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType());
productDetailQueryParam.setOrderTypeList(orderTypeList); productDetailQueryParam.setOrderTypeList(orderTypeList);
productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry()); productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry());
List<ProductDetailQueryVo> productDetailList = memberReportService.productDetailQueryList(productDetailQueryParam); List<ProductDetailQueryVo> productDetailList = iMemberReportService.productDetailQueryList(productDetailQueryParam);
for (ProductDetailQueryVo productDetailQueryVo : productDetailList) { for (ProductDetailQueryVo productDetailQueryVo : productDetailList) {
if (productDetailQueryVo.getPayType() != null) { if (productDetailQueryVo.getPayType() != null) {
EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType()); EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType());

View File

@ -1,24 +1,13 @@
package com.hzs.report.member.controller.manage;/** package com.hzs.report.member.controller.manage;
* @Description:
* @Author: yuhui
* @Time: 2024/7/17 14:36
* @Classname: ProductSalesStatController
* @PackageName: com.hzs.report.member.controller.manage
*/
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.hzs.common.core.constant.HttpStatus; import com.hzs.common.core.constant.HttpStatus;
import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.report.member.service.MemberReportService; import com.hzs.report.member.service.IMemberReportService;
import com.hzs.report.member.vo.ProductSaleProductVO;
import com.hzs.report.member.vo.ProductSaleStatVo; import com.hzs.report.member.vo.ProductSaleStatVo;
import com.hzs.report.member.vo.ProductSaleWaresVO;
import com.hzs.report.member.vo.WaresInfoVO;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
@ -34,24 +23,14 @@ import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* @BelongsProject: hzs_cloud
* @BelongsPackage: com.hzs.report.member.controller.manage
* @Author: yh
* @CreateTime: 2024-07-17 14:36
* @Description: TODO
* @Version: 1.0
*/
@RequestMapping("/manager/product-sales") @RequestMapping("/manager/product-sales")
@RestController @RestController
public class ProductSalesStatController extends BaseController { public class ProductSalesStatController extends BaseController {
@Autowired @Autowired
private MemberReportService memberReportService; private IMemberReportService iMemberReportService;
/** /**
* 产品销量统计 * 产品销量统计
@ -73,7 +52,7 @@ public class ProductSalesStatController extends BaseController {
if (endTime != null) { if (endTime != null) {
endTime = DateUtils.getEndTime(endTime); endTime = DateUtils.getEndTime(endTime);
} }
List<ProductSaleStatVo> productSaleStatList = memberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); List<ProductSaleStatVo> productSaleStatList = iMemberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry);
for (ProductSaleStatVo productSaleStatVo : productSaleStatList) { for (ProductSaleStatVo productSaleStatVo : productSaleStatList) {
// 产品+ 规格分组 计算小计 // 产品+ 规格分组 计算小计
productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId()); productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId());
@ -186,7 +165,7 @@ public class ProductSalesStatController extends BaseController {
if (endTime != null) { if (endTime != null) {
endTime = DateUtils.getEndTime(endTime); endTime = DateUtils.getEndTime(endTime);
} }
List<ProductSaleStatVo> productSaleStatList = memberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); List<ProductSaleStatVo> productSaleStatList = iMemberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry);
for (ProductSaleStatVo productSaleStatVo : productSaleStatList) { for (ProductSaleStatVo productSaleStatVo : productSaleStatList) {
// 产品+ 规格分组 计算小计 // 产品+ 规格分组 计算小计
productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId()); productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId());

View File

@ -9,7 +9,7 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.report.member.service.MemberReportService; import com.hzs.report.member.service.IMemberReportService;
import com.hzs.report.member.vo.SmallAreaNewAddAchieveVO; import com.hzs.report.member.vo.SmallAreaNewAddAchieveVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -23,22 +23,14 @@ import java.util.List;
/** /**
* 小区新增业绩统计 * 小区新增业绩统计
*
* @Description:
* @Author: ljc
* @Time: 2024/3/1 14:52
* @Classname: SmallAreaNewAddAchieve
* @Package_name: com.hzs.report.member.controller.manage
*/ */
@RequestMapping("/manager/small-achieve") @RequestMapping("/manager/small-achieve")
@RestController @RestController
public class SmallAreaNewAddAchieveController extends BaseController { public class SmallAreaNewAddAchieveController extends BaseController {
@Autowired @Autowired
MemberReportService memberReportService; private IMemberReportService iMemberReportService;
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.SMALL_AREA_NEW_ACHIEVE, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.SMALL_AREA_NEW_ACHIEVE, method = EOperationMethod.SELECT)
@PostMapping("/achieve-list") @PostMapping("/achieve-list")
@ -49,7 +41,7 @@ public class SmallAreaNewAddAchieveController extends BaseController {
areaNewAddAchieveVOList = new ArrayList<>(); areaNewAddAchieveVOList = new ArrayList<>();
} else { } else {
startPage(); startPage();
areaNewAddAchieveVOList = memberReportService.selectSmallAreaNewAdd(addAchieveVO); areaNewAddAchieveVOList = iMemberReportService.selectSmallAreaNewAdd(addAchieveVO);
} }
return getDataTable(areaNewAddAchieveVOList); return getDataTable(areaNewAddAchieveVOList);
} }
@ -62,7 +54,7 @@ public class SmallAreaNewAddAchieveController extends BaseController {
if (StringUtils.isEmpty(addAchieveVO.getStartDate()) || StringUtils.isEmpty(addAchieveVO.getEndDate()) || null == addAchieveVO.getAchieve()) { if (StringUtils.isEmpty(addAchieveVO.getStartDate()) || StringUtils.isEmpty(addAchieveVO.getEndDate()) || null == addAchieveVO.getAchieve()) {
areaNewAddAchieveVOList = new ArrayList<>(); areaNewAddAchieveVOList = new ArrayList<>();
} else { } else {
areaNewAddAchieveVOList = memberReportService.selectSmallAreaNewAdd(addAchieveVO); areaNewAddAchieveVOList = iMemberReportService.selectSmallAreaNewAdd(addAchieveVO);
} }
ExcelUtil<SmallAreaNewAddAchieveVO> util = new ExcelUtil<>(SmallAreaNewAddAchieveVO.class); ExcelUtil<SmallAreaNewAddAchieveVO> util = new ExcelUtil<>(SmallAreaNewAddAchieveVO.class);
util.exportExcel(response, areaNewAddAchieveVOList, "小区新增业绩"); util.exportExcel(response, areaNewAddAchieveVOList, "小区新增业绩");

View File

@ -1,6 +1,7 @@
package com.hzs.report.member.mapper; package com.hzs.report.member.mapper;
import com.hzs.report.member.param.ProductDetailQueryParam; import com.hzs.report.member.param.ProductDetailQueryParam;
import com.hzs.report.member.param.ProductShippingParam;
import com.hzs.report.member.vo.*; import com.hzs.report.member.vo.*;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -130,20 +131,9 @@ public interface MemberReportMapper {
List<OrderDistribution> getByDistrictOrderDistribution(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("pkCountry") Integer pkCountry); List<OrderDistribution> getByDistrictOrderDistribution(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("pkCountry") Integer pkCountry);
/** /**
* 出货明细汇总 * 产品销售统计列表
*
* @param productName
* @param pkClassify
* @param startTime
* @param endTime
* @return
*/ */
List<ProductOrderInfoVo> getProductOrderInfo(@Param("productName") String productName, List<ProductShippingVO> getProductOrderInfo(@Param("param") ProductShippingParam param);
@Param("pkClassify") Integer pkClassify,
@Param("startTime") Date startTime,
@Param("endTime") Date endTime,
@Param("pkCountry") Integer pkCountry,
@Param("orderTypeList") List<Integer> orderTypeList);
/** /**
* 报单汇总 * 报单汇总

View File

@ -0,0 +1,35 @@
package com.hzs.report.member.param;
import lombok.Data;
/**
* 产品销售统计入参
*/
@Data
public class ProductShippingParam {
/**
* 仓储编号
*/
private String wmsCode;
/**
* 产品编号
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
}

View File

@ -1,12 +1,13 @@
package com.hzs.report.member.service; package com.hzs.report.member.service;
import com.hzs.report.member.param.ProductDetailQueryParam; import com.hzs.report.member.param.ProductDetailQueryParam;
import com.hzs.report.member.param.ProductShippingParam;
import com.hzs.report.member.vo.*; import com.hzs.report.member.vo.*;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
public interface MemberReportService { public interface IMemberReportService {
/** /**
* 查询伞下直推新增业绩-查询会员 * 查询伞下直推新增业绩-查询会员
@ -101,13 +102,9 @@ public interface MemberReportService {
List<OrderDistribution> getByDistrictOrderDistribution(Date startTime, Date endTime, Integer pkCountry); List<OrderDistribution> getByDistrictOrderDistribution(Date startTime, Date endTime, Integer pkCountry);
/** /**
* 出货明细汇总 * 产品销售统计列表
*
* @param productName
* @param pkClassify
* @return
*/ */
List<ProductOrderInfoVo> getProductOrderInfo(String productName, Integer pkClassify, Date startTime, Date endTime, Integer pkCountry, List<Integer> orderTypeList); List<ProductShippingVO> getProductOrderInfo(ProductShippingParam param);
/** /**
* 报单汇总 * 报单汇总

View File

@ -11,7 +11,8 @@ import com.hzs.common.domain.system.config.BdAccount;
import com.hzs.common.service.ITransactionCommonService; import com.hzs.common.service.ITransactionCommonService;
import com.hzs.report.member.mapper.MemberReportMapper; import com.hzs.report.member.mapper.MemberReportMapper;
import com.hzs.report.member.param.ProductDetailQueryParam; import com.hzs.report.member.param.ProductDetailQueryParam;
import com.hzs.report.member.service.MemberReportService; import com.hzs.report.member.param.ProductShippingParam;
import com.hzs.report.member.service.IMemberReportService;
import com.hzs.report.member.vo.*; import com.hzs.report.member.vo.*;
import com.hzs.report.report.service.ICuMemberSettlePeriodService; import com.hzs.report.report.service.ICuMemberSettlePeriodService;
import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.ICurrencyServiceApi;
@ -36,7 +37,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class MemberReportServiceImpl implements MemberReportService { public class IMemberReportServiceImpl implements IMemberReportService {
@Autowired @Autowired
private MemberReportMapper memberReportMapper; private MemberReportMapper memberReportMapper;
@ -109,8 +110,8 @@ public class MemberReportServiceImpl implements MemberReportService {
} }
@Override @Override
public List<ProductOrderInfoVo> getProductOrderInfo(String productName, Integer pkClassify, Date startTime, Date endTime, Integer pkCountry, List<Integer> orderTypeList) { public List<ProductShippingVO> getProductOrderInfo(ProductShippingParam param) {
return memberReportMapper.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); return memberReportMapper.getProductOrderInfo(param);
} }
@Override @Override

View File

@ -1,83 +0,0 @@
package com.hzs.report.member.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/8/31 17:28
* @Classname: ProductOrderInfoVo
* @PackageName: com.hzs.report.member.vo
*/
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.report.member.vo
*@Author: yh
*@CreateTime: 2023-08-31 17:28
*@Description: TODO
*@Version: 1.0
*/
@Data
public class ProductOrderInfoVo {
/**
* 所属产品
*/
private Integer pkProduct;
/**
* 产品编号
*/
@Excel(name = "产品编号")
private String productCode;
/**
* 产品名称
*/
@Excel(name = "产品名称")
private String productName;
/**
* 产品分类
*/
@Excel(name = "产品分类")
private String classifyName;
/**
* 产品价格
*/
// @Excel(name = "产品价格")
private BigDecimal productPrice;
/**
* 产品单位
*/
@Excel(name = "产品单位")
private String productUnit;
/**
* 订单类型
*/
private Integer orderType;
/**
* 订单类型
*/
@Excel(name = "订单类型")
private String orderTypeStr;
/**
* 产品数量
*/
@Excel(name = "产品数量")
private Integer quantity;
/**
* 产品总价总价
*/
@Excel(name = "产品总价")
private BigDecimal productTotalPrice;
}

View File

@ -0,0 +1,35 @@
package com.hzs.report.member.vo;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
@Data
public class ProductShippingVO implements Serializable {
/**
* 仓储编号
*/
@Excel(name = "仓储编号")
private String wmsCode;
/**
* 产品名称
*/
@Excel(name = "产品名称")
private String productName;
/**
* 产品编号
*/
@Excel(name = "产品编号")
private String productCode;
/**
* 销量
*/
@Excel(name = "销量")
private Integer quantity;
}

View File

@ -387,49 +387,42 @@
group by sa.REC_PROVINCE ,ar.NAME , ci.NAME,ba.NAME group by sa.REC_PROVINCE ,ar.NAME , ci.NAME,ba.NAME
</select> </select>
<select id="getProductOrderInfo" resultType="com.hzs.report.member.vo.ProductOrderInfoVo"> <!-- 产品销售统计列表 -->
select oi.PK_PRODUCT pkProduct, <select id="getProductOrderInfo" resultType="com.hzs.report.member.vo.ProductShippingVO">
so.ORDER_TYPE orderType , select bp.wms_code,
sum(oi.QUANTITY)quantity, nvl(sum(tmp.quantity), 0) quantity,
min(a.productCode) productCode, to_char(wm_concat(bp.product_name)) product_name,
min(a.productName) productName , to_char(wm_concat(bp.product_code)) product_code
min(a.classifyName) classifyName, from bd_product bp
sum(oi.price * oi.QUANTITY) productPrice,
min(a.productUnit) productUnit,
min(a.pkClassify) pkClassify
from SA_ORDER_ITEMS oi
left join sa_order so on oi.PK_ORDER = so.pk_id
left join ( left join (
select bp.PRODUCT_CODE productCode,bp.PRODUCT_NAME productName,bc.NAME classifyName,bc.pk_id pkClassify,bp.pk_id pkProduct,bu.NAME productUnit select soi.pk_product, sum(soi.quantity) quantity
from BD_PRODUCT bp from sa_order so
left join bd_classify bc on bc.PK_ID = bp.PK_CLASSIFY left join sa_order_items soi
left join bd_unit bu on bu.PK_ID = bp.UNIT on soi.pk_order = so.pk_id
and soi.del_flag = 0
where so.del_flag = 0
and so.order_status = 1
<if test="param.startTime != null">
and so.pay_time >= to_date(#{param.startTime}, 'yyyy-mm-dd')
</if>
<if test="param.endTime != null">
and to_date(#{param.endTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') >= so.pay_time
</if>
group by soi.pk_product
) tmp
on tmp.pk_product = bp.pk_id
where bp.del_flag = 0 where bp.del_flag = 0
) a on a.pkProduct = oi.PK_PRODUCT <if test="param.wmsCode != null and param.wmsCode !=''">
where a.productCode is not null and bp.wms_code = #{param.wmsCode}
and oi.del_flag = 0 and so.del_flag = 0 and so.ORDER_STATUS = 1
<if test="startTime != null">
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') &gt;= to_char(#{startTime}, 'yyyy-mm-dd hh24:mi:ss')
</if> </if>
<if test="endTime != null"> <if test="param.productCode != null and param.productCode !=''">
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') &lt;= to_char(#{endTime}, 'yyyy-mm-dd hh24:mi:ss') and bp.product_code = #{param.productCode}
</if> </if>
<if test="productName != null and productName !=''"> <if test="param.productName != null and param.productName !=''">
and a.productName = #{productName} and bp.productName like '%' || #{param.productName} ||'%'
</if> </if>
<if test="pkClassify != null"> group by bp.wms_code
and a.pkClassify = #{pkClassify} order by quantity desc
</if>
<if test="pkCountry != null">
and so.PK_COUNTRY = #{pkCountry}
</if>
<if test="orderTypeList != null and orderTypeList.size > 0">
and SO.ORDER_TYPE in
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by oi.PK_PRODUCT , so.ORDER_TYPE
</select> </select>
<select id="reportSummaryList" resultType="com.hzs.report.member.vo.ReportSummaryVo"> <select id="reportSummaryList" resultType="com.hzs.report.member.vo.ReportSummaryVo">

View File

@ -398,8 +398,11 @@ public enum EOperationBusiness {
MEMBER_RESETTLE_ACHIEVE("伞下新增安置业绩"), MEMBER_RESETTLE_ACHIEVE("伞下新增安置业绩"),
ORDER_CURRENCY_LIST("订单币种查询"), ORDER_CURRENCY_LIST("订单币种查询"),
GET_ORDER_DISTRIBUTION("订单分布统计"), GET_ORDER_DISTRIBUTION("订单分布统计"),
PRODUCT_SHIPPING_DETAILS_LIST("出货明细汇总统计"),
PRODUCT_SHIPPING("产品销售统计"),
PRODUCT_SHIPPING_DETAILS_INFO_LIST("出货明细汇总统计详情"), PRODUCT_SHIPPING_DETAILS_INFO_LIST("出货明细汇总统计详情"),
REPORT_SUMMARY_LIST("报单汇总"), REPORT_SUMMARY_LIST("报单汇总"),
PLACE_PEG("安置反查"), PLACE_PEG("安置反查"),
PARENT_PEG("推荐反查"), PARENT_PEG("推荐反查"),