Browse Source

pc端统计销售与app 统计数据一致

liyuan 2 weeks ago
parent
commit
75bd77ae8e

+ 3 - 5
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -1,7 +1,6 @@
 package org.springblade.salesPart.order.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -84,7 +83,6 @@ import org.springblade.salesPart.share.service.IShareSalesItemsService;
 import org.springblade.salesPart.ship.mapper.ShipMapper;
 import org.springblade.salesPart.ship.service.IShipItemsRecordService;
 import org.springblade.salesPart.ship.service.IShipItemsService;
-import org.springblade.salesPart.shopping.mapper.ShoppingMallDetailMapper;
 import org.springblade.salesPart.stock.service.IStockDescService;
 import org.springblade.salesPart.storage.mapper.StorageDescMapper;
 import org.springblade.salesPart.util.UserUtils;
@@ -4932,9 +4930,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 
 
 		long xsCount = saleDetailDtoList.stream().filter(e -> !OrderStatusEnum.COMPLETED.value.equals(e.getStatus()) && e.getBsType().equals("销售")).count();
-		appStatisticsVo.setIncome(subTotalMoneyActual.abs().subtract(subTotalMoneyReturns));
-		appStatisticsVo.setCost(costprieActual.abs().subtract(costprieReturns));
-		appStatisticsVo.setProfit(profitActual.abs().subtract(profitReturns));
+		appStatisticsVo.setIncome(subTotalMoneyActual.abs().subtract(subTotalMoneyReturns).subtract(subTotalMoneyCancel));
+		appStatisticsVo.setCost(costprieActual.abs().subtract(costprieReturns).subtract(costprieCancel));
+		appStatisticsVo.setProfit(profitActual.abs().subtract(profitReturns).subtract(profitCancel));
 		appStatisticsVo.setAverageAmount(appStatisticsVo.getIncome().divide(new BigDecimal(xsCount), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
 		appStatisticsVo.setExpenditure(expenditure == null ? BigDecimal.ZERO : expenditure.setScale(0, RoundingMode.DOWN));
 		return R.data(appStatisticsVo);

+ 4 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java

@@ -909,7 +909,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
 		BigDecimal costprieActual = saleDetailDtoList.stream().filter(e -> !OrderStatusEnum.CANCELLED.value.equals(e.getStatus()) && !OrderStatusEnum.COMPLETED.value.equals(e.getStatus()))
 			.map(SaleDetailDto::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
 			.setScale(0, RoundingMode.HALF_UP);
-		// 剩余数量
+		// 毛利
 		BigDecimal profitActual = saleDetailDtoList.stream().filter(e -> !OrderStatusEnum.CANCELLED.value.equals(e.getStatus()) && !OrderStatusEnum.COMPLETED.value.equals(e.getStatus()))
 			.map(SaleDetailDto::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
 			.setScale(0, RoundingMode.HALF_UP);
@@ -985,9 +985,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
 			return R.data(statisticsVo);
 		}
 		statisticsVo.setGoodsSum(goodsNumActual.abs().add(goodsNumCancel));
-		statisticsVo.setAmount(subTotalMoneyActual.abs().add(subTotalMoneyCancel));
-		statisticsVo.setCostPrice(costprieActual.abs().add(costprieCancel));
-		statisticsVo.setProfit(profitActual.abs().add(profitCancel));
+		statisticsVo.setAmount(subTotalMoneyActual.abs());
+		statisticsVo.setCostPrice(costprieActual.abs());
+		statisticsVo.setProfit(profitActual.abs());
 		statisticsVo.setFreight(freight.abs().add(freightCancel));
 		statisticsVo.setFreightCancellation(freightCancel.add(freightReturns));
 		statisticsVo.setGoodsSumCancellation(goodsNumCancel.add(goodsNumReturns));