From 9cadebf23516358218fd92d6a753ded444bcd724 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 6 May 2025 14:05:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=94=E5=88=A9=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serve/modules/tzc/entity/TzcRebate.java | 8 +++- .../modules/tzc/entity/bo/TzcRebateParam.java | 5 +++ .../tzc/entity/vo/TzcCustomerDispatchVo.java | 15 +++++++ .../modules/tzc/entity/vo/TzcRebateVo.java | 6 +++ .../entity/dto/TzcCustomerDispatchQuery.java | 34 ++++++++++++++ .../erp/entity/so/ErpDispatchSumPmsQuery.java | 36 +++++++++++++++ .../erp/entity/vo/ErpDispatchSumPmsVo.java | 33 ++++++++++++++ .../erp/mapper/ErpDispatchDataMapper.java | 9 ++++ .../TzcRebateApplication4CostService.java | 9 ++++ .../service/TzcRebateApplicationService.java | 2 + .../TzcRebateApplication4CostServiceImpl.java | 33 ++++++++++++++ .../impl/TzcRebateApplicationServiceImpl.java | 15 +++++-- .../mapper/erp/ErpDispatchDataMapper.xml | 44 +++++++++++++++++++ 13 files changed, 244 insertions(+), 5 deletions(-) create mode 100644 cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcCustomerDispatchVo.java create mode 100644 cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/dto/TzcCustomerDispatchQuery.java create mode 100644 cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/so/ErpDispatchSumPmsQuery.java create mode 100644 cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/vo/ErpDispatchSumPmsVo.java diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java index 06ddc07..091245a 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java @@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.mbp.handler.SplitStringTypeHandler; import lombok.Data; +import org.apache.ibatis.type.JdbcType; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -22,7 +24,7 @@ import javax.validation.constraints.NotBlank; * @since 2025-04-15 */ @Data -@TableName("tzc_rebate") +@TableName(value = "tzc_rebate",autoResultMap = true) public class TzcRebate implements Serializable { private static final long serialVersionUID = 1L; @@ -96,6 +98,10 @@ public class TzcRebate implements Serializable { /** 返利总金额 */ private BigDecimal rebateAmount; + /** 附件id */ + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] attachIds; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java index bb91596..bd32cb4 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java @@ -76,6 +76,11 @@ public class TzcRebateParam{ /** 备注 */ private String remark; + /** + * 附件id + */ + private String[] attachIds; + /** * 产品类型:brand、category、series、spu、sku */ diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcCustomerDispatchVo.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcCustomerDispatchVo.java new file mode 100644 index 0000000..a53165e --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcCustomerDispatchVo.java @@ -0,0 +1,15 @@ +package com.qs.serve.modules.tzc.entity.vo; + +import lombok.Data; + +/** + * 返回客户的进货期间的总金额 + * @author YenHex + * @since 2025/5/6 + */ +@Data +public class TzcCustomerDispatchVo { + + + +} diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcRebateVo.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcRebateVo.java index aded02c..f75768d 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcRebateVo.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/vo/TzcRebateVo.java @@ -1,7 +1,10 @@ package com.qs.serve.modules.tzc.entity.vo; +import com.baomidou.mybatisplus.annotation.TableField; +import com.qs.serve.mbp.handler.SplitStringTypeHandler; import com.qs.serve.modules.tzc.entity.*; import lombok.Data; +import org.apache.ibatis.type.JdbcType; import java.util.List; @@ -22,4 +25,7 @@ public class TzcRebateVo extends TzcRebate { private List levelsList; + /** 附件列表 */ + private List attachList; + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/dto/TzcCustomerDispatchQuery.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/dto/TzcCustomerDispatchQuery.java new file mode 100644 index 0000000..c51517b --- /dev/null +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/dto/TzcCustomerDispatchQuery.java @@ -0,0 +1,34 @@ +package com.qs.serve.modules.erp.entity.dto; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +/** + * 查询客户期间的请求参数 + * @author YenHex + * @since 2025/5/6 + */ +@Data +public class TzcCustomerDispatchQuery { + + /** + * 客户编码 + */ + String supplierCode; + + LocalDate startDate; + + LocalDate endDate; + + BigDecimal totalAmount; + + List categoryIds; + + List spuIds; + + List skuIds; + +} diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/so/ErpDispatchSumPmsQuery.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/so/ErpDispatchSumPmsQuery.java new file mode 100644 index 0000000..7779ab2 --- /dev/null +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/so/ErpDispatchSumPmsQuery.java @@ -0,0 +1,36 @@ +package com.qs.serve.modules.erp.entity.so; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +/** + * @author YenHex + * @since 2023/6/7 + */ +@Data +public class ErpDispatchSumPmsQuery { + + @NotNull + String supplierCode; + + @NotNull + LocalDate startDate; + + @NotNull + LocalDate endDate; + + List brandIds; + + List seriesIds; + + List categoryIds; + + List spuIds; + + List skuIds; + +} diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/vo/ErpDispatchSumPmsVo.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/vo/ErpDispatchSumPmsVo.java new file mode 100644 index 0000000..2cfd829 --- /dev/null +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/entity/vo/ErpDispatchSumPmsVo.java @@ -0,0 +1,33 @@ +package com.qs.serve.modules.erp.entity.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +/** + * @author YenHex + * @since 2023/6/7 + */ +@Data +public class ErpDispatchSumPmsVo { + + /** + * 客户编码 + */ + String supplierCode; + + LocalDate startDate; + + LocalDate endDate; + + BigDecimal totalAmount; + + List categoryIds; + + List spuIds; + + List skuIds; + +} diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java index e2258e3..9951e2e 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java @@ -3,6 +3,8 @@ package com.qs.serve.modules.erp.mapper; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.erp.entity.ErpDispatchData; +import com.qs.serve.modules.erp.entity.so.ErpDispatchSumPmsQuery; +import com.qs.serve.modules.erp.entity.vo.ErpDispatchSumPmsVo; import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -71,5 +73,12 @@ public interface ErpDispatchDataMapper extends BaseMapper { @InterceptorIgnore(tenantLine = "1") List querySumCost4BudgetTarger(@Param("skuCodes")List skuCodes); + /** + * 查询发货单合计(根据品类维度) + * @return + */ + @InterceptorIgnore(tenantLine = "1") + List queryCusAmtByPms(@Param("query") ErpDispatchSumPmsQuery query); + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplication4CostService.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplication4CostService.java index e4059af..d7e1209 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplication4CostService.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplication4CostService.java @@ -4,6 +4,7 @@ import com.qs.serve.modules.tzc.entity.*; import com.qs.serve.modules.tzc.entity.bo.TzcRebateParam; import com.qs.serve.modules.tzc.entity.vo.TzcRebateVo; +import java.math.BigDecimal; import java.util.List; /** @@ -34,5 +35,13 @@ public interface TzcRebateApplication4CostService { List centerList, List levelsList); + /** + * 获取命中返利坎级的信息 + * @param dispatchAmt + * @param activityId + * @return + */ + Object getHitRebateInfo(BigDecimal dispatchAmt,Long activityId); + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java index 049cf11..1361cbb 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java @@ -25,5 +25,7 @@ public interface TzcRebateApplicationService { */ TzcRebate modifyRebate(TzcRebateParam param); + + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java index 3a30309..310f49f 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tzc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.qs.serve.common.exception.Assert; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.entity.*; @@ -40,6 +41,16 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio private final TbsActivityGoodsService tbsActivityGoodsService; private final TbsActivityCenterGoodsService tbsActivityCenterGoodsService; + + private final TzcRebateService tzcRebateService; + private final TzcRebateSubjectService tzcRebateSubjectService; + private final TzcRebateCenterService tzcRebateCenterService; + private final TzcRebatePeriodService tzcRebatePeriodService; + private final TzcRebateLevelsArgumentService tzcRebateLevelsArgumentService; + private final TzcRebateGoodsService tzcRebateGoodsService; + private final TzcRebateLevelsConfigService tzcRebateLevelsConfigService; + private final TzcRebateLevelsService tzcRebateLevelsService; + @Override public Long buildCostAndActivity(TzcRebate rebate, List argumentList, @@ -317,4 +328,26 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio return maxAmount; } + @Override + public Object getHitRebateInfo(BigDecimal dispatchAmt, Long activityId) { + if(dispatchAmt.compareTo(BigDecimal.ZERO)<0){ + Assert.throwEx("发货金额不能小于0"); + } + TbsActivity activity = tbsActivityService.getById(activityId); + TzcRebate rebate = tzcRebateService.getById(activity.getRebateId()); + List levelsArgumentList = tzcRebateLevelsArgumentService.list( + new LambdaQueryWrapper().eq(TzcRebateLevelsArgument::getRebateId, rebate.getId()) + ); + List levelsList = tzcRebateLevelsService.list( + new LambdaQueryWrapper() + .eq(TzcRebateLevels::getRebateId, rebate.getId()) + .orderByDesc(TzcRebateLevels::getLevelNum) + ); + for (TzcRebateLevels levels : levelsList) { + + } + + return null; + } + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java index d43780f..22cf8f7 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.qs.serve.common.exception.Assert; import com.qs.serve.common.utils.CopierUtil; import com.qs.serve.framework.base.model.ResultFlag; +import com.qs.serve.framework.base.util.CollectionUtil; import com.qs.serve.framework.redis.utils.CodeGenUtil; import com.qs.serve.modules.bms.entity.BmsSubject; import com.qs.serve.modules.bms.entity.BmsSupplier; @@ -17,7 +18,9 @@ import com.qs.serve.modules.goods.entity.dto.GoodsTargetInfo; import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; import com.qs.serve.modules.goods.service.GoodsApplicationService; import com.qs.serve.modules.sys.common.AuthContextUtils; +import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.entity.TbsActivityTemplate; import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService; @@ -39,10 +42,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -74,6 +74,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ private final BmsSubjectMapper bmsSubjectMapper; private final GoodsApplicationService goodsApplicationService; private final TbsCenterDtoService tbsCenterDtoService; + private SysAttachService attachService; @Override public TzcRebateVo getRebateVoById(Long id) { @@ -100,6 +101,11 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ tzcRebateVo.setGoodsList(goodsList); tzcRebateVo.setConfigList(configList); + if(CollectionUtil.isNotEmpty(tzcRebateVo.getAttachIds())){ + List attachIds = Arrays.asList(tzcRebateVo.getAttachIds()); + List attachList = attachService.listByIds(attachIds); + tzcRebateVo.setAttachList(attachList); + } return tzcRebateVo; } @@ -418,6 +424,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ rebate.setSupplierCode(supplier.getCode()); rebate.setSupplierName(supplier.getName()); rebate.setRebateAmount(param.getRebateAmount()); + rebate.setAttachIds(param.getAttachIds()); rebate.setRemark(param.getRemark()); return rebate; } diff --git a/cms-modules/cms-system/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml index fc1dbde..f635f78 100644 --- a/cms-modules/cms-system/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml +++ b/cms-modules/cms-system/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml @@ -122,5 +122,49 @@ GROUP BY DATE_FORMAT(date,'%Y%m'),cus_code + +