|
|
@@ -11,6 +11,7 @@ import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.common.enums.CommonEnum;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
@@ -43,9 +44,12 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -472,11 +476,14 @@ public class ProductLaunchController extends BladeController {
|
|
|
.map(Dept::getFullName).collect(Collectors.joining(" | "));
|
|
|
item.setSharedCompany(deptName);
|
|
|
}
|
|
|
- if (!stockDescList.isEmpty()) {
|
|
|
- List<PjStockDesc> stockDescs = stockDescList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId())).collect(Collectors.toList());
|
|
|
- if (!stockDescs.isEmpty()) {
|
|
|
- item.setRebatePrice(stockDescs.get(0).getRebatePrice() + "");
|
|
|
- }
|
|
|
+ if (stockDescList.isEmpty()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ List<PjStockDesc> stockDescs = stockDescList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId())).collect(Collectors.toList());
|
|
|
+ if (!stockDescs.isEmpty()) {
|
|
|
+ List<PjStockDesc> nonZeroList = stockDescs.stream().filter(sd -> Objects.nonNull(sd.getBalanceQuantity()) && sd.getBalanceQuantity().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
|
|
|
+ BigDecimal allRebatePrice = nonZeroList.stream().map(PjStockDesc::getRebatePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ item.setRebatePrice(allRebatePrice.compareTo(BigDecimal.ZERO) == 0 ? CommonEnum.ZERO.info : String.valueOf(allRebatePrice.divide(new BigDecimal(nonZeroList.size()), 2, RoundingMode.HALF_UP)));
|
|
|
}
|
|
|
}
|
|
|
ExcelUtil.export(response, "导出产品上下架数据", "产品上下架数据表", BeanUtil.copyProperties(pjProductLaunchList, ProductLaunchExportExcel.class), ProductLaunchExportExcel.class);
|