|
|
@@ -1,14 +1,19 @@
|
|
|
package org.springblade.salesPart.statistics.controller;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
+import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.salesPart.dto.*;
|
|
|
+import org.springblade.salesPart.entity.PjProductLaunch;
|
|
|
+import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
|
|
|
import org.springblade.salesPart.statistics.service.IStatisticsService;
|
|
|
import org.springblade.salesPart.vo.CapitalSummaryDataVo;
|
|
|
import org.springblade.salesPart.vo.CapitalSummaryVo;
|
|
|
@@ -19,6 +24,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author :jixinyuan
|
|
|
@@ -32,6 +39,8 @@ public class StatisticsController {
|
|
|
|
|
|
private IStatisticsService statisticsService;
|
|
|
|
|
|
+ private IProductLaunchService productLaunchService;
|
|
|
+
|
|
|
/**
|
|
|
* 首页金额统计
|
|
|
*/
|
|
|
@@ -117,6 +126,18 @@ public class StatisticsController {
|
|
|
public void saleDetailExport(SaleDetail saleDetailDto, HttpServletResponse response) {
|
|
|
List<SaleDetailDto> saleDetailDtoList = statisticsService.saleDetailExport(saleDetailDto);
|
|
|
if ("XS,TKXS".contains(saleDetailDto.getBsType())) {
|
|
|
+ if (!CollectionUtils.isEmpty(saleDetailDtoList)) {
|
|
|
+ List<String> goodsIds = saleDetailDtoList.stream().map(SaleDetailDto::getGoodsId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ List<PjProductLaunch> productLaunchList = productLaunchService.list(new LambdaQueryWrapper<PjProductLaunch>()
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0).eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId()).in(PjProductLaunch::getGoodsId, goodsIds));
|
|
|
+ for (SaleDetailDto dto: saleDetailDtoList) {
|
|
|
+ PjProductLaunch nowGoodsProduct = productLaunchList.stream().filter(item -> item.getGoodsId().equals(Long.valueOf(dto.getGoodsId()))).findFirst().orElse(null);
|
|
|
+ if (nowGoodsProduct == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ dto.setProductPrice(nowGoodsProduct.getPriceOne());
|
|
|
+ }
|
|
|
+ }
|
|
|
ExcelUtil.export(response, "统计销售明细", "统计销售明细", saleDetailDtoList, SaleDetailDto.class);
|
|
|
} else if ("RZCG".equals(saleDetailDto.getBsType())) {
|
|
|
ExcelUtil.export(response, "融资采购明细", "统计采购明细", BeanUtil.copy(saleDetailDtoList, SaleDetailRZDto.class), SaleDetailRZDto.class);
|