Browse Source

feat: 计算返利添加测试日志

master
Yen 2 months ago
parent
commit
6a618e4bdc
  1. 68
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController2.java
  2. 3
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityService.java
  3. 69
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  4. 7
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

68
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController2.java

@ -65,65 +65,9 @@ public class TbsActivityController2 {
private ErpDispatchSumPmsVo buildVrpDispatchSumPms(Long activityId) {
TbsActivity activity = tbsActivityService.getById(activityId);
ErpDispatchSumPmsQuery query = new ErpDispatchSumPmsQuery();
query.setSupplierCode(activity.getSupplierCode());
query.setStartDate(activity.getActStartDate());
query.setEndDate(activity.getActEndDate());
List<TbsActivityGoods> activityGoodsList = tbsActivityGoodsService.list(
new LambdaQueryWrapper<TbsActivityGoods>()
.eq(TbsActivityGoods::getActivityId, activityId));
Map<String,List<TbsActivityGoods>> actGoodsMap = activityGoodsList.stream()
.collect(Collectors.groupingBy(TbsActivityGoods::getTargetType));
boolean hasGoods = false;
List<TbsActivityGoods> brandGoodsList = actGoodsMap.get("brand");
if(brandGoodsList!=null){
List<Long> ids = brandGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setBrandIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> seriesGoodsList = actGoodsMap.get("series");
if(seriesGoodsList!=null){
List<Long> ids = seriesGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSeriesIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> categoryGoodsList = actGoodsMap.get("category");
if(categoryGoodsList!=null){
List<Long> ids = categoryGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setCategoryIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> spuGoodsList = actGoodsMap.get("spu");
if(spuGoodsList!=null){
List<Long> ids = spuGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSpuIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> skuGoodsList = actGoodsMap.get("sku");
if(skuGoodsList!=null){
List<Long> ids = skuGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSkuIds(ids);
hasGoods = true;
}
ErpDispatchSumPmsVo sumPmsVo = new ErpDispatchSumPmsVo();
sumPmsVo.setSupplierCode(query.getSupplierCode());
sumPmsVo.setStartDate(query.getStartDate());
sumPmsVo.setEndDate(query.getEndDate());
sumPmsVo.setCategoryIds(query.getCategoryIds());
sumPmsVo.setSpuIds(query.getSpuIds());
sumPmsVo.setSkuIds(query.getSkuIds());
BigDecimal amt = BigDecimal.ZERO;
if (hasGoods){
amt = erpDispatchDataMapper.queryCusAmtByPms(query);
if (amt==null){
amt = BigDecimal.ZERO;
}
ErpDispatchSumPmsVo erpDispatchSumPmsVo = tbsActivityService.getDispatchSumByActivity(activity);
BigDecimal amt = erpDispatchSumPmsVo.getTotalAmount();
List<TbsActivitySubject> activitySubjects = tbsActivitySubjectService.list(new LambdaQueryWrapper<TbsActivitySubject>()
.eq(TbsActivitySubject::getActivityId,activityId));
@ -157,10 +101,8 @@ public class TbsActivityController2 {
dispatchSumVoList.add(subjectDispatchSumVo);
}
}
sumPmsVo.setSubjectDispatchAmountList(dispatchSumVoList);
}
sumPmsVo.setTotalAmount(amt);
return sumPmsVo;
erpDispatchSumPmsVo.setSubjectDispatchAmountList(dispatchSumVoList);
return erpDispatchSumPmsVo;
}
/**

3
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityService.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.erp.entity.vo.ErpDispatchSumPmsVo;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo;
@ -14,6 +15,8 @@ import java.util.List;
*/
public interface TbsActivityService extends IService<TbsActivity> {
ErpDispatchSumPmsVo getDispatchSumByActivity(TbsActivity activity);
/**
* 申请活动加载列表
* @param id

69
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -11,6 +11,9 @@ import com.qs.serve.common.utils.StringUtils;
import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.mapper.BmsSubjectFormMapper;
import com.qs.serve.modules.bms.service.*;
import com.qs.serve.modules.erp.entity.so.ErpDispatchSumPmsQuery;
import com.qs.serve.modules.erp.entity.vo.ErpDispatchSumPmsVo;
import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
@ -73,8 +76,74 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
private final SysConfigService configService;
private final ErpDispatchDataMapper erpDispatchDataMapper;
private final TbsActivityAmtCheckMapper activityAmtCheckMapper;
@Override
public ErpDispatchSumPmsVo getDispatchSumByActivity(TbsActivity activity) {
ErpDispatchSumPmsQuery query = new ErpDispatchSumPmsQuery();
query.setSupplierCode(activity.getSupplierCode());
query.setStartDate(activity.getActStartDate());
query.setEndDate(activity.getActEndDate());
List<TbsActivityGoods> activityGoodsList = activityGoodsService.list(
new LambdaQueryWrapper<TbsActivityGoods>()
.eq(TbsActivityGoods::getActivityId, activity.getId()));
Map<String,List<TbsActivityGoods>> actGoodsMap = activityGoodsList.stream()
.collect(Collectors.groupingBy(TbsActivityGoods::getTargetType));
boolean hasGoods = false;
List<TbsActivityGoods> brandGoodsList = actGoodsMap.get("brand");
if(brandGoodsList!=null){
List<Long> ids = brandGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setBrandIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> seriesGoodsList = actGoodsMap.get("series");
if(seriesGoodsList!=null){
List<Long> ids = seriesGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSeriesIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> categoryGoodsList = actGoodsMap.get("category");
if(categoryGoodsList!=null){
List<Long> ids = categoryGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setCategoryIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> spuGoodsList = actGoodsMap.get("spu");
if(spuGoodsList!=null){
List<Long> ids = spuGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSpuIds(ids);
hasGoods = true;
}
List<TbsActivityGoods> skuGoodsList = actGoodsMap.get("sku");
if(skuGoodsList!=null){
List<Long> ids = skuGoodsList.stream()
.map(TbsActivityGoods::getTargetId).collect(Collectors.toList());
query.setSkuIds(ids);
hasGoods = true;
}
ErpDispatchSumPmsVo sumPmsVo = new ErpDispatchSumPmsVo();
sumPmsVo.setSupplierCode(query.getSupplierCode());
sumPmsVo.setStartDate(query.getStartDate());
sumPmsVo.setEndDate(query.getEndDate());
sumPmsVo.setCategoryIds(query.getCategoryIds());
sumPmsVo.setSpuIds(query.getSpuIds());
sumPmsVo.setSkuIds(query.getSkuIds());
BigDecimal amt = BigDecimal.ZERO;
if (hasGoods) {
amt = erpDispatchDataMapper.queryCusAmtByPms(query);
if (amt==null){
amt = BigDecimal.ZERO;
}
}
sumPmsVo.setTotalAmount(amt);
return sumPmsVo;
}
@Override
public void initReopenState() {
LocalDate now = LocalDate.now();

7
cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -16,6 +16,7 @@ import com.qs.serve.common.utils.CopierUtil;
import com.qs.serve.common.utils.PageUtil;
import com.qs.serve.common.utils.StringUtils;
import com.qs.serve.framework.redis.utils.CodeGenUtil;
import com.qs.serve.modules.erp.entity.vo.ErpDispatchSumPmsVo;
import com.qs.serve.modules.sync.AsyncFactory;
import com.qs.serve.modules.sys.common.AuthContextUtils;
import com.qs.serve.modules.tag.util.TagFiledUtil;
@ -828,6 +829,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
validActivity(cotractFlag,activity,true,isCurrentCommit);
VtbVerification verification = new VtbVerification();
verification.setId(verificationBo.getId());
verification.setRebateId(activity.getRebateId());
verification.setRebatePeriodId(activity.getRebatePeriodId());
verification.setCostApplyCode(costApply.getCode());
verification.setActivityCode(activity.getActivityCode());
verification.setPayConditionId(verificationBo.getPayConditionId());
@ -913,11 +916,11 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
totalAmount = totalAmount.add(verificationSubject.getUsedAmount());
totalDispatchAmt = totalDispatchAmt.add(verificationSubject.getFinalDispatchAmt());
}
ErpDispatchSumPmsVo dispatchSumPmsVo = activityService.getDispatchSumByActivity(activity);
verification.setAutoDispatchAmt(dispatchSumPmsVo.getTotalAmount());
verification.setFinalDispatchAmt(totalDispatchAmt);
verification.setAmount(totalAmount);
verification.setAmountRecord(totalAmount);
// TODO 系统自动获取的发货金额
verification.setAutoDispatchAmt(BigDecimal.ZERO);
//保存
this.saveOrUpdate(verification);

Loading…
Cancel
Save