Commit 455d911b by xiaoer.li@freemud.com

fix 促销均摊拆分小料数量

parent c83b361c
...@@ -107,8 +107,7 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -107,8 +107,7 @@ public class MaterialPromotionService implements IPromotionService {
} }
} }
materialGoods.setActivityDiscountsDtos(activityDiscountsDtos); materialGoods.setActivityDiscountsDtos(activityDiscountsDtos);
//materialGoods.setTotalDiscountAmount((materialGoods.getOriginalPrice().intValue() - materialGoods.getSalePrice().intValue()) * product.getQty()); materialGoods.setTotalDiscountAmount(material.getTotalDiscountAmount() * (material.getQty() == product.getQty() ? 1 : product.getQty()));
materialGoods.setTotalDiscountAmount(material.getTotalDiscountAmount());
product.setProductType(GoodsTypeEnum.MATERIAL.getGoodsType()); product.setProductType(GoodsTypeEnum.MATERIAL.getGoodsType());
} }
} }
...@@ -149,8 +148,8 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -149,8 +148,8 @@ public class MaterialPromotionService implements IPromotionService {
materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity()); materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setGoodsId(material.getGoodsId()); materialApportion.setGoodsId(material.getGoodsId());
materialApportion.setTotalDiscountAmount(material.getApportionAmount() * material.getGoodsQuantity()); materialApportion.setTotalDiscountAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setQty(material.getGoodsQuantity());
materialApportion.setPk(pk); materialApportion.setPk(pk);
//ApportionDetails apportionDetails = new ApportionDetails();
ArrayList<ApportionDetails> apportionDetailsList = new ArrayList<>(); ArrayList<ApportionDetails> apportionDetailsList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(material.getApportionDetails())) { if (CollectionUtils.isNotEmpty(material.getApportionDetails())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) {
...@@ -168,6 +167,7 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -168,6 +167,7 @@ public class MaterialPromotionService implements IPromotionService {
MaterialApportion apportion = mApportion.get(pk); MaterialApportion apportion = mApportion.get(pk);
apportion.setApportionAmount(apportion.getApportionAmount() + material.getApportionAmount() * material.getGoodsQuantity()); apportion.setApportionAmount(apportion.getApportionAmount() + material.getApportionAmount() * material.getGoodsQuantity());
apportion.setTotalDiscountAmount(apportion.getTotalDiscountAmount() + material.getApportionAmount() * material.getGoodsQuantity()); apportion.setTotalDiscountAmount(apportion.getTotalDiscountAmount() + material.getApportionAmount() * material.getGoodsQuantity());
apportion.setQty(apportion.getQty() + material.getGoodsQuantity());
List<ApportionDetails> details = apportion.getDetails(); List<ApportionDetails> details = apportion.getDetails();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : material.getApportionDetails()) {
if (apportion.getDetails().stream().filter(e -> e.getActivityCode().equals(apportionDetail.getActivityCode())).count() == 0) { if (apportion.getDetails().stream().filter(e -> e.getActivityCode().equals(apportionDetail.getActivityCode())).count() == 0) {
...@@ -195,6 +195,7 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -195,6 +195,7 @@ public class MaterialPromotionService implements IPromotionService {
private Integer totalDiscountAmount; private Integer totalDiscountAmount;
private List<ApportionDetails> details; private List<ApportionDetails> details;
private String pk; private String pk;
private Integer qty;
} }
@Data @Data
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment