From b943357b84f868e5560bef43daa472fd6c08d87d Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 8 Aug 2025 11:56:04 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=87=BA=E8=B4=A7=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E7=BB=9F=E8=AE=A1=E6=94=B9=E4=B8=BA=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E9=94=80=E5=94=AE=E7=BB=9F=E8=AE=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CuMemberUnderUmbrellaWalletController.java | 17 +-- .../manage/MemberReportController.java | 125 ++++++------------ .../manage/ProductSalesStatController.java | 31 +---- .../SmallAreaNewAddAchieveController.java | 16 +-- .../member/mapper/MemberReportMapper.java | 16 +-- .../member/param/ProductShippingParam.java | 35 +++++ ...Service.java => IMemberReportService.java} | 11 +- ...mpl.java => IMemberReportServiceImpl.java} | 9 +- .../report/member/vo/ProductOrderInfoVo.java | 83 ------------ .../report/member/vo/ProductShippingVO.java | 35 +++++ .../report/member/MemberReportMapper.xml | 69 +++++----- .../common/core/enums/EOperationBusiness.java | 5 +- 12 files changed, 171 insertions(+), 281 deletions(-) create mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java rename bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/{MemberReportService.java => IMemberReportService.java} (94%) rename bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/{MemberReportServiceImpl.java => IMemberReportServiceImpl.java} (97%) delete mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductOrderInfoVo.java create mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/CuMemberUnderUmbrellaWalletController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/CuMemberUnderUmbrellaWalletController.java index ad47a3f6..843a9dc7 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/CuMemberUnderUmbrellaWalletController.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/CuMemberUnderUmbrellaWalletController.java @@ -14,7 +14,7 @@ import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.security.utils.SecurityUtils; 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 org.springframework.beans.factory.annotation.Autowired; 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") @RestController public class CuMemberUnderUmbrellaWalletController extends BaseController { @Autowired - MemberReportService memberReportService; - + private IMemberReportService iMemberReportService; @Autowired - ITransactionCommonService iTransactionCommonService; + private ITransactionCommonService iTransactionCommonService; /** * 查询列表 @@ -62,7 +55,7 @@ public class CuMemberUnderUmbrellaWalletController extends BaseController { return getDataTable(new ArrayList<>()); } else { startPage(); - List cuMemberWalletVOList = memberReportService.selectMemberUnderWalletList(memberWalletVO); + List cuMemberWalletVOList = iMemberReportService.selectMemberUnderWalletList(memberWalletVO); return getDataTable(cuMemberWalletVOList); } } @@ -83,7 +76,7 @@ public class CuMemberUnderUmbrellaWalletController extends BaseController { if (StringUtils.isEmpty(memberWalletVO.getMemberCode())) { cuMemberWalletVOList = new ArrayList<>(); } else { - cuMemberWalletVOList = memberReportService.selectMemberUnderWalletList(memberWalletVO); + cuMemberWalletVOList = iMemberReportService.selectMemberUnderWalletList(memberWalletVO); } if (CollUtil.isNotEmpty(cuMemberWalletVOList)) { //枚举翻译 diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java index 9f0b7147..9f643dec 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java @@ -15,13 +15,12 @@ import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; 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.service.ITransactionCommonService; import com.hzs.member.base.IMemberServiceApi; 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.MemberReportService; import com.hzs.report.member.vo.*; import com.hzs.report.report.service.ICuMemberSettlePeriodService; import com.hzs.system.base.IAreaServiceApi; @@ -43,7 +42,7 @@ import java.util.stream.Collectors; public class MemberReportController extends BaseController { @Autowired - private MemberReportService memberReportService; + private IMemberReportService iMemberReportService; @Autowired private ITransactionCommonService iTransactionCommonService; @Autowired @@ -89,12 +88,12 @@ public class MemberReportController extends BaseController { //伞下直推新增业绩 startPage(); - List memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); + List memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); if (CollectionUtil.isNotEmpty(memberList)) { startPayTime = DateUtils.getStartTime(startPayTime); endPayTime = DateUtils.getEndTime(endPayTime); - List achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); + List achieList = iMemberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); memberList.forEach(itm -> { @@ -138,14 +137,14 @@ public class MemberReportController extends BaseController { directPushNewVo.setEndPayTime(date); } //伞下直推新增业绩 - List memberList = memberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(), + List memberList = iMemberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(), directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(), directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex()); if (CollectionUtil.isNotEmpty(memberList)) { Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime()); Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime()); - List achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); + List achieList = iMemberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); Map transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values()); @@ -212,10 +211,10 @@ public class MemberReportController extends BaseController { dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); //伞下直推新增业绩 - List memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); + List memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); if (CollectionUtil.isNotEmpty(memberList)) { CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData(); - List achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); + List achieList = iMemberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); Integer finalOrderType = orderType; memberList.forEach(itm -> { @@ -283,10 +282,10 @@ public class MemberReportController extends BaseController { dpo.setSettleTableNameSta(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(startDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); //伞下直推新增业绩 - List memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); + List memberList = iMemberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); if (CollectionUtil.isNotEmpty(memberList)) { CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData(); - List achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); + List achieList = iMemberReportService.directPushNewAchieUpList(dpo, pkMember, orderType); Integer finalOrderType = orderType; Map transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values()); @@ -311,7 +310,7 @@ public class MemberReportController extends BaseController { @GetMapping("/member-consumption") public TableDataInfo memberConsumptionList(String memberCode, String memberName, Date startPayTime, Date endPayTime, Integer pkWares) { startPage(); - List memberReportList = memberReportService.memberConsumptionList(memberCode, memberName, startPayTime, endPayTime, pkWares); + List memberReportList = iMemberReportService.memberConsumptionList(memberCode, memberName, startPayTime, endPayTime, pkWares); return getDataTable(memberReportList); } @@ -321,7 +320,7 @@ public class MemberReportController extends BaseController { @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_CONSUMPTION, method = EOperationMethod.EXPORT) @PostMapping("/member-consumption-export") public void memberConsumptionListExport(MemberConsumptionParam memberConsumptionParam, HttpServletResponse response) { - List memberReportList = memberReportService.memberConsumptionList(memberConsumptionParam.getMemberCode(), memberConsumptionParam.getMemberName(), memberConsumptionParam.getStartPayTime(), memberConsumptionParam.getEndPayTime(), memberConsumptionParam.getPkWares()); + List memberReportList = iMemberReportService.memberConsumptionList(memberConsumptionParam.getMemberCode(), memberConsumptionParam.getMemberName(), memberConsumptionParam.getStartPayTime(), memberConsumptionParam.getEndPayTime(), memberConsumptionParam.getPkWares()); ExcelUtil util = new ExcelUtil<>(MemberConsumptionVo.class); util.exportExcel(response, memberReportList, "用户消费统计导出"); } @@ -349,7 +348,7 @@ public class MemberReportController extends BaseController { Integer pkCountry = SecurityUtils.getPkCountry(); List orderTypeList = EOrderBusiness.getOrderTypeList(orderType); - List memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime, + List memberResettleAchieveList = iMemberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList); Map memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity())); @@ -406,7 +405,7 @@ public class MemberReportController extends BaseController { Integer pkCountry = SecurityUtils.getPkCountry(); List orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType()); - List memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(), + List memberResettleAchieveList = iMemberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(), memberResettleAchieveParam.getEndPayTime(), memberResettleAchieveParam.getPkVertex(), memberResettleAchieveParam.getPkTeamCode(), pkCountry, memberResettleAchieveParam.getPkAwards(), orderTypeList); Map 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 endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); - List staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, + List staAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); - List endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, + List endAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); 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 endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); - List staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, + List staAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); - List endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, + List endAchieveList = iMemberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) { @@ -615,11 +614,11 @@ public class MemberReportController extends BaseController { return getDataTable(new ArrayList<>()); } startPage(); - List memberResettleAchieveList = memberReportService.getOrderCurrencyList(memberCode, memberName, orderCode, orderType); + List memberResettleAchieveList = iMemberReportService.getOrderCurrencyList(memberCode, memberName, orderCode, orderType); List orderCodeList = memberResettleAchieveList.stream().map(OrderCurrencyVo::getOrderCode).collect(Collectors.toList()); List memberTradeVoList = new ArrayList<>(); if (orderCodeList.size() > 0) { - memberTradeVoList = memberReportService.getBySourceCodeMemberTradeList(orderCodeList); + memberTradeVoList = iMemberReportService.getBySourceCodeMemberTradeList(orderCodeList); } for (OrderCurrencyVo orderCurrencyVo : memberResettleAchieveList) { @@ -688,80 +687,36 @@ public class MemberReportController extends BaseController { startPage(); if (area == 1) { // 查询省 - orderDistributionList = memberReportService.getByProvinceOrderDistribution(startTime, endTime, pkCountry); + orderDistributionList = iMemberReportService.getByProvinceOrderDistribution(startTime, endTime, pkCountry); } else if (area == 2) { // 查询市 - orderDistributionList = memberReportService.getByCityOrderDistribution(startTime, endTime, pkCountry); + orderDistributionList = iMemberReportService.getByCityOrderDistribution(startTime, endTime, pkCountry); } else if (area == 3) { // 查询区县 - orderDistributionList = memberReportService.getByDistrictOrderDistribution(startTime, endTime, pkCountry); + orderDistributionList = iMemberReportService.getByDistrictOrderDistribution(startTime, endTime, pkCountry); } return getDataTable(orderDistributionList); } /** - * 出货明细汇总统计 - * - * @param - * @return + * 产品销售统计列表 */ - @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.SELECT) - @GetMapping("/product-shipping-details-list") - public TableDataInfo productShippingDetailsList(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType) { + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.SELECT) + @GetMapping("/product-shipping") + public TableDataInfo productShipping(ProductShippingParam param) { startPage(); - Integer pkCountry = SecurityUtils.getPkCountry(); - List orderTypeList = EOrderShipment.getOrderTypeList(orderType); - if (endTime != null) { - endTime = DateUtils.getEndTime(endTime); - } - List 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); + List memberReportList = iMemberReportService.getProductOrderInfo(param); return getDataTable(memberReportList); } /** - * 出货明细汇总导出 - * - * @return + * 产品销售统计导出 */ - @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.EXPORT) - @PostMapping("/product-shipping-details-export") - public void productShippingDetailsExport(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType, HttpServletResponse response) { - Integer pkCountry = SecurityUtils.getPkCountry(); - List orderTypeList = EOrderShipment.getOrderTypeList(orderType); - if (endTime != null) { - endTime = DateUtils.getEndTime(endTime); - } - List 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 util = new ExcelUtil<>(ProductOrderInfoVo.class); + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.EXPORT) + @PostMapping("/product-shipping-export") + public void productShippingExport(HttpServletResponse response, ProductShippingParam param) { + List memberReportList = iMemberReportService.getProductOrderInfo(param); + ExcelUtil util = new ExcelUtil<>(ProductShippingVO.class); util.exportExcel(response, memberReportList, "出货明细汇总导出"); } @@ -782,7 +737,7 @@ public class MemberReportController extends BaseController { if (endTime != null) { endTime = DateUtils.getEndTime(endTime); } - List productOrderInfoVoList = memberReportService.productShippingDetailsList(pkProduct, productName, pkClassify, pkAwards, orderTypeList, startTime, endTime, pkCountry); + List productOrderInfoVoList = iMemberReportService.productShippingDetailsList(pkProduct, productName, pkClassify, pkAwards, orderTypeList, startTime, endTime, pkCountry); for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) { productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice()); productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity()))); @@ -807,7 +762,7 @@ public class MemberReportController extends BaseController { if (productShippingDetailsParam.getEndTime() != null) { productShippingDetailsParam.setEndTime(productShippingDetailsParam.getEndTime()); } - List productOrderInfoVoList = memberReportService.productShippingDetailsList(productShippingDetailsParam.getPkProduct(), productShippingDetailsParam.getProductName(), productShippingDetailsParam.getPkClassify(), productShippingDetailsParam.getPkAwards(), orderTypeList, productShippingDetailsParam.getStartTime(), productShippingDetailsParam.getEndTime(), pkCountry); + List productOrderInfoVoList = iMemberReportService.productShippingDetailsList(productShippingDetailsParam.getPkProduct(), productShippingDetailsParam.getProductName(), productShippingDetailsParam.getPkClassify(), productShippingDetailsParam.getPkAwards(), orderTypeList, productShippingDetailsParam.getStartTime(), productShippingDetailsParam.getEndTime(), pkCountry); for (ProductShippingDetailsInfoVo productShippingDetailsInfoVo : productOrderInfoVoList) { productShippingDetailsInfoVo.setAwardsPrice(productShippingDetailsInfoVo.getPrice()); productShippingDetailsInfoVo.setPriceTotal(productShippingDetailsInfoVo.getPrice().multiply(BigDecimal.valueOf(productShippingDetailsInfoVo.getQuantity()))); @@ -831,7 +786,7 @@ public class MemberReportController extends BaseController { R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); startPage(); reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry()); - List reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo); + List reportSummaryList = iMemberReportService.reportSummaryList(reportSummaryVo); for (ReportSummaryVo summaryVo : reportSummaryList) { if (summaryVo.getRegisterAuthority() != null) { summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel()); @@ -860,7 +815,7 @@ public class MemberReportController extends BaseController { } R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry()); - List reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo); + List reportSummaryList = iMemberReportService.reportSummaryList(reportSummaryVo); for (ReportSummaryVo summaryVo : reportSummaryList) { if (summaryVo.getRegisterAuthority() != null) { summaryVo.setRegisterName(ERegistrationAuthority.getEnumByValue(summaryVo.getRegisterAuthority()).getLabel()); @@ -1009,7 +964,7 @@ public class MemberReportController extends BaseController { List orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType()); productDetailQueryParam.setOrderTypeList(orderTypeList); productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry()); - List productDetailList = memberReportService.productDetailQueryList(productDetailQueryParam); + List productDetailList = iMemberReportService.productDetailQueryList(productDetailQueryParam); for (ProductDetailQueryVo productDetailQueryVo : productDetailList) { if (productDetailQueryVo.getPayType() != null) { EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType()); @@ -1065,7 +1020,7 @@ public class MemberReportController extends BaseController { List orderTypeList = EOrderShipment.getOrderTypeList(productDetailQueryParam.getOrderType()); productDetailQueryParam.setOrderTypeList(orderTypeList); productDetailQueryParam.setPkCountry(SecurityUtils.getPkCountry()); - List productDetailList = memberReportService.productDetailQueryList(productDetailQueryParam); + List productDetailList = iMemberReportService.productDetailQueryList(productDetailQueryParam); for (ProductDetailQueryVo productDetailQueryVo : productDetailList) { if (productDetailQueryVo.getPayType() != null) { EPayType payType = EPayType.getEnumByValue(productDetailQueryVo.getPayType()); diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/ProductSalesStatController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/ProductSalesStatController.java index 00ad4acc..36c1e853 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/ProductSalesStatController.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/ProductSalesStatController.java @@ -1,24 +1,13 @@ -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 - */ +package com.hzs.report.member.controller.manage; import com.github.pagehelper.PageInfo; import com.hzs.common.core.constant.HttpStatus; 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.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.report.member.service.MemberReportService; -import com.hzs.report.member.vo.ProductSaleProductVO; +import com.hzs.report.member.service.IMemberReportService; 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.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; @@ -34,24 +23,14 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.*; -import java.util.function.Function; 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") @RestController public class ProductSalesStatController extends BaseController { @Autowired - private MemberReportService memberReportService; - + private IMemberReportService iMemberReportService; /** * 产品销量统计 @@ -73,7 +52,7 @@ public class ProductSalesStatController extends BaseController { if (endTime != null) { endTime = DateUtils.getEndTime(endTime); } - List productSaleStatList = memberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); + List productSaleStatList = iMemberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); for (ProductSaleStatVo productSaleStatVo : productSaleStatList) { // 产品+ 规格分组 计算小计 productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId()); @@ -186,7 +165,7 @@ public class ProductSalesStatController extends BaseController { if (endTime != null) { endTime = DateUtils.getEndTime(endTime); } - List productSaleStatList = memberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); + List productSaleStatList = iMemberReportService.productSaleStatList(skuCode, productName, orderType, startTime, endTime, pkCountry); for (ProductSaleStatVo productSaleStatVo : productSaleStatList) { // 产品+ 规格分组 计算小计 productSaleStatVo.setGroupByInfo(productSaleStatVo.getPkProduct() + "-" + productSaleStatVo.getSpecsNameId()); diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/SmallAreaNewAddAchieveController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/SmallAreaNewAddAchieveController.java index d3553a19..acd20725 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/SmallAreaNewAddAchieveController.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/SmallAreaNewAddAchieveController.java @@ -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.page.TableDataInfo; 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 org.springframework.beans.factory.annotation.Autowired; 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") @RestController public class SmallAreaNewAddAchieveController extends BaseController { - @Autowired - MemberReportService memberReportService; - + private IMemberReportService iMemberReportService; @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.SMALL_AREA_NEW_ACHIEVE, method = EOperationMethod.SELECT) @PostMapping("/achieve-list") @@ -49,7 +41,7 @@ public class SmallAreaNewAddAchieveController extends BaseController { areaNewAddAchieveVOList = new ArrayList<>(); } else { startPage(); - areaNewAddAchieveVOList = memberReportService.selectSmallAreaNewAdd(addAchieveVO); + areaNewAddAchieveVOList = iMemberReportService.selectSmallAreaNewAdd(addAchieveVO); } return getDataTable(areaNewAddAchieveVOList); } @@ -62,7 +54,7 @@ public class SmallAreaNewAddAchieveController extends BaseController { if (StringUtils.isEmpty(addAchieveVO.getStartDate()) || StringUtils.isEmpty(addAchieveVO.getEndDate()) || null == addAchieveVO.getAchieve()) { areaNewAddAchieveVOList = new ArrayList<>(); } else { - areaNewAddAchieveVOList = memberReportService.selectSmallAreaNewAdd(addAchieveVO); + areaNewAddAchieveVOList = iMemberReportService.selectSmallAreaNewAdd(addAchieveVO); } ExcelUtil util = new ExcelUtil<>(SmallAreaNewAddAchieveVO.class); util.exportExcel(response, areaNewAddAchieveVOList, "小区新增业绩"); diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java index 9f014656..52a7c7a3 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java @@ -1,6 +1,7 @@ package com.hzs.report.member.mapper; import com.hzs.report.member.param.ProductDetailQueryParam; +import com.hzs.report.member.param.ProductShippingParam; import com.hzs.report.member.vo.*; import org.apache.ibatis.annotations.Param; @@ -130,20 +131,9 @@ public interface MemberReportMapper { List getByDistrictOrderDistribution(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("pkCountry") Integer pkCountry); /** - * 出货明细汇总 - * - * @param productName - * @param pkClassify - * @param startTime - * @param endTime - * @return + * 产品销售统计列表 */ - List getProductOrderInfo(@Param("productName") String productName, - @Param("pkClassify") Integer pkClassify, - @Param("startTime") Date startTime, - @Param("endTime") Date endTime, - @Param("pkCountry") Integer pkCountry, - @Param("orderTypeList") List orderTypeList); + List getProductOrderInfo(@Param("param") ProductShippingParam param); /** * 报单汇总 diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java new file mode 100644 index 00000000..56defe04 --- /dev/null +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java @@ -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; + +} diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/IMemberReportService.java similarity index 94% rename from bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java rename to bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/IMemberReportService.java index f6375aa6..b436d1ce 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/IMemberReportService.java @@ -1,12 +1,13 @@ package com.hzs.report.member.service; import com.hzs.report.member.param.ProductDetailQueryParam; +import com.hzs.report.member.param.ProductShippingParam; import com.hzs.report.member.vo.*; import java.util.Date; import java.util.List; -public interface MemberReportService { +public interface IMemberReportService { /** * 查询伞下直推新增业绩-查询会员 @@ -101,13 +102,9 @@ public interface MemberReportService { List getByDistrictOrderDistribution(Date startTime, Date endTime, Integer pkCountry); /** - * 出货明细汇总 - * - * @param productName - * @param pkClassify - * @return + * 产品销售统计列表 */ - List getProductOrderInfo(String productName, Integer pkClassify, Date startTime, Date endTime, Integer pkCountry, List orderTypeList); + List getProductOrderInfo(ProductShippingParam param); /** * 报单汇总 diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/IMemberReportServiceImpl.java similarity index 97% rename from bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java rename to bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/IMemberReportServiceImpl.java index 7140e303..641e65b7 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/IMemberReportServiceImpl.java @@ -11,7 +11,8 @@ import com.hzs.common.domain.system.config.BdAccount; import com.hzs.common.service.ITransactionCommonService; import com.hzs.report.member.mapper.MemberReportMapper; 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.report.service.ICuMemberSettlePeriodService; import com.hzs.system.base.ICurrencyServiceApi; @@ -36,7 +37,7 @@ import java.util.stream.Collectors; @Slf4j @Service -public class MemberReportServiceImpl implements MemberReportService { +public class IMemberReportServiceImpl implements IMemberReportService { @Autowired private MemberReportMapper memberReportMapper; @@ -109,8 +110,8 @@ public class MemberReportServiceImpl implements MemberReportService { } @Override - public List getProductOrderInfo(String productName, Integer pkClassify, Date startTime, Date endTime, Integer pkCountry, List orderTypeList) { - return memberReportMapper.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); + public List getProductOrderInfo(ProductShippingParam param) { + return memberReportMapper.getProductOrderInfo(param); } @Override diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductOrderInfoVo.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductOrderInfoVo.java deleted file mode 100644 index a7d65286..00000000 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductOrderInfoVo.java +++ /dev/null @@ -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; - - -} diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java new file mode 100644 index 00000000..1194339d --- /dev/null +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java @@ -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; + +} diff --git a/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml b/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml index be0f407c..1a200347 100644 --- a/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml +++ b/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml @@ -387,49 +387,42 @@ group by sa.REC_PROVINCE ,ar.NAME , ci.NAME,ba.NAME - + select bp.wms_code, + nvl(sum(tmp.quantity), 0) quantity, + to_char(wm_concat(bp.product_name)) product_name, + to_char(wm_concat(bp.product_code)) product_code + from bd_product bp 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 - from BD_PRODUCT bp - left join bd_classify bc on bc.PK_ID = bp.PK_CLASSIFY - left join bd_unit bu on bu.PK_ID = bp.UNIT + select soi.pk_product, sum(soi.quantity) quantity + from sa_order so + left join sa_order_items soi + on soi.pk_order = so.pk_id + and soi.del_flag = 0 + where so.del_flag = 0 + and so.order_status = 1 + + and so.pay_time >= to_date(#{param.startTime}, 'yyyy-mm-dd') + + + and to_date(#{param.endTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') >= so.pay_time + + group by soi.pk_product + ) tmp + on tmp.pk_product = bp.pk_id where bp.del_flag = 0 - ) a on a.pkProduct = oi.PK_PRODUCT - where a.productCode is not null - and oi.del_flag = 0 and so.del_flag = 0 and so.ORDER_STATUS = 1 - - and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') >= to_char(#{startTime}, 'yyyy-mm-dd hh24:mi:ss') + + and bp.wms_code = #{param.wmsCode} - - and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{endTime}, 'yyyy-mm-dd hh24:mi:ss') + + and bp.product_code = #{param.productCode} - - and a.productName = #{productName} + + and bp.productName like '%' || #{param.productName} ||'%' - - and a.pkClassify = #{pkClassify} - - - and so.PK_COUNTRY = #{pkCountry} - - - and SO.ORDER_TYPE in - - #{item} - - - group by oi.PK_PRODUCT , so.ORDER_TYPE + group by bp.wms_code + order by quantity desc