|
|
@@ -570,10 +570,10 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.apply("find_in_set(ord_no,'" + billNo + "')")
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) <= '" + saleDetailDto.getDateEnd()+"'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) <= '" + saleDetailDto.getDateEnd() + "'")
|
|
|
);
|
|
|
- if(pjOrderList.isEmpty()){
|
|
|
+ if (pjOrderList.isEmpty()) {
|
|
|
return R.data(new Page<>());
|
|
|
}
|
|
|
List<Long> pids = pjOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
@@ -589,7 +589,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())
|
|
|
- && !"线下退款".equals(e.getRefundType())).map(PjOrderItems::getReturnsAmount)
|
|
|
+ && !"线下退款".equals(e.getRefundType())).map(PjOrderItems::getReturnsAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
amount = amount.abs();
|
|
|
@@ -685,7 +685,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.in(PjOrderItems::getPid, pids));
|
|
|
}
|
|
|
- for (PjOrder item : pjOrderList) {
|
|
|
+ /*for (PjOrder item : pjOrderList) {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoList.stream()
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
@@ -742,6 +742,78 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
items.setSurplusAmount(items.getSubTotalMoney().subtract(items.getOutGoodsTotalShipAmount()));
|
|
|
}
|
|
|
}
|
|
|
+ }*/
|
|
|
+ for (PjOrder item : pjOrderList) {
|
|
|
+ List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoList.stream()
|
|
|
+ .filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
+ if (!saleDetailDtoList1.isEmpty()) {
|
|
|
+ BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())
|
|
|
+ && !"线下退款".equals(e.getRefundType())).map(PjOrderItems::getReturnsAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
+ amount = amount.abs();
|
|
|
+ for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
+ items.setRemarks(item.getRemarks());
|
|
|
+ if (!pjOrderItemsList.isEmpty()) {
|
|
|
+ PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
+ if (orderItems != null) {
|
|
|
+ items.setItemRemarks(orderItems.getRemarks());
|
|
|
+ items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
+ items.setPrice(orderItems.getPrice());
|
|
|
+ items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
+ items.setSubTotalMoney(items.getSubTotalMoney().add(item.getFreight()));
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())) {
|
|
|
+ items.setCostprie(orderItems.getGoodsNum().multiply(orderItems.getRebatePrice()));
|
|
|
+ } else {
|
|
|
+ items.setCostprie(orderItems.getGoodsNum().multiply(orderItems.getCostpriePrice()));
|
|
|
+ }
|
|
|
+ items.setProfit(items.getSubTotalMoney().subtract(items.getCostprie()));
|
|
|
+ items.setReturnsNumber(orderItems.getReturnsNumber());
|
|
|
+ items.setReturnsAmount(orderItems.getReturnsAmount());
|
|
|
+ items.setOutGoodsTotalShipNum(orderItems.getOutGoodsTotalShipNum());
|
|
|
+ items.setOutGoodsTotalShipAmount(orderItems.getOutGoodsTotalShipAmount());
|
|
|
+ items.setPrimaryGoodsTotalNum(orderItems.getPrimaryGoodsTotalNum());
|
|
|
+ items.setPrimaryGoodsTotalMoney(orderItems.getPrimaryGoodsTotalAmount());
|
|
|
+ items.setCostpriePrice(orderItems.getCostpriePrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("已取消".equals(items.getStatus())) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00"));
|
|
|
+ items.setProfit(new BigDecimal("0.00"));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00"));
|
|
|
+ items.setFreight(new BigDecimal("0.00"));
|
|
|
+ items.setCostprie(new BigDecimal("0.00"));
|
|
|
+ } else {
|
|
|
+ if ("TKXS".equals(item.getBsType()) || "TKCG".equals(item.getBsType())) {
|
|
|
+ if (amount.compareTo(items.getSubTotalMoney().abs()) >= 0) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ amount = amount.subtract(items.getSubTotalMoney().abs());
|
|
|
+ } else {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00").subtract(items.getSubTotalMoney().abs().subtract(amount)));
|
|
|
+ amount = new BigDecimal("0.00");
|
|
|
+ }
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00").subtract(items.getReturnsNumber()));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getReturnsAmount()).subtract(item.getFreight()));
|
|
|
+ items.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
+ BigDecimal costprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal profit = items.getSubTotalMoney().abs().subtract(costprie);
|
|
|
+ items.setProfit(new BigDecimal("0.00").subtract(profit));
|
|
|
+ items.setCostprie(new BigDecimal("0.00").subtract(costprie));
|
|
|
+ } else {
|
|
|
+ if (amount.compareTo(items.getSubTotalMoney()) >= 0) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ amount = amount.subtract(items.getSubTotalMoney());
|
|
|
+ } else {
|
|
|
+ items.setBalanceAmount(items.getSubTotalMoney().subtract(amount));
|
|
|
+ amount = new BigDecimal("0.00");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ items.setSurplusNum(items.getGoodsNum().subtract(items.getOutGoodsTotalShipNum()));
|
|
|
+ items.setSurplusAmount(items.getSubTotalMoney().subtract(items.getOutGoodsTotalShipAmount()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
BigDecimal goodsNumCancel = saleDetailDtoList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
.map(SaleDetailDto::getGoodsNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
@@ -898,8 +970,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.apply("find_in_set(ord_no,'" + billNo + "')")
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) <= '" + saleDetailDto.getDateEnd()+"'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) <= '" + saleDetailDto.getDateEnd() + "'")
|
|
|
);
|
|
|
List<Long> pids = pjOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
|
|
|
@@ -909,7 +981,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.in(PjOrderItems::getPid, pids));
|
|
|
}
|
|
|
- for (PjOrder item : pjOrderList) {
|
|
|
+ /*for (PjOrder item : pjOrderList) {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoIPage.stream()
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
@@ -981,7 +1053,80 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
saleDetailDtoList2.add(items);
|
|
|
}
|
|
|
}
|
|
|
+ }*/
|
|
|
+ for (PjOrder item : pjOrderList) {
|
|
|
+ List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoIPage.stream()
|
|
|
+ .filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
+ if (!saleDetailDtoList1.isEmpty()) {
|
|
|
+ BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())
|
|
|
+ && !"线下退款".equals(e.getRefundType())).map(PjOrderItems::getReturnsAmount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
+ amount = amount.abs();
|
|
|
+ for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
+ items.setRemarks(item.getRemarks());
|
|
|
+ if (!pjOrderItemsList.isEmpty()) {
|
|
|
+ PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
+ if (orderItems != null) {
|
|
|
+ items.setItemRemarks(orderItems.getRemarks());
|
|
|
+ items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
+ items.setPrice(orderItems.getPrice());
|
|
|
+ items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
+ items.setSubTotalMoney(items.getSubTotalMoney().add(item.getFreight()));
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())) {
|
|
|
+ items.setCostprie(orderItems.getGoodsNum().multiply(orderItems.getRebatePrice()));
|
|
|
+ } else {
|
|
|
+ items.setCostprie(orderItems.getGoodsNum().multiply(orderItems.getCostpriePrice()));
|
|
|
+ }
|
|
|
+ items.setProfit(items.getSubTotalMoney().subtract(items.getCostprie()));
|
|
|
+ items.setReturnsNumber(orderItems.getReturnsNumber());
|
|
|
+ items.setReturnsAmount(orderItems.getReturnsAmount());
|
|
|
+ items.setOutGoodsTotalShipNum(orderItems.getOutGoodsTotalShipNum());
|
|
|
+ items.setOutGoodsTotalShipAmount(orderItems.getOutGoodsTotalShipAmount());
|
|
|
+ items.setPrimaryGoodsTotalNum(orderItems.getPrimaryGoodsTotalNum());
|
|
|
+ items.setPrimaryGoodsTotalMoney(orderItems.getPrimaryGoodsTotalAmount());
|
|
|
+ items.setCostpriePrice(orderItems.getCostpriePrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("已取消".equals(items.getStatus())) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00"));
|
|
|
+ items.setProfit(new BigDecimal("0.00"));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00"));
|
|
|
+ items.setFreight(new BigDecimal("0.00"));
|
|
|
+ items.setCostprie(new BigDecimal("0.00"));
|
|
|
+ } else {
|
|
|
+ if ("TKXS".equals(item.getBsType()) || "TKCG".equals(item.getBsType())) {
|
|
|
+ if (amount.compareTo(items.getSubTotalMoney().abs()) >= 0) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ amount = amount.subtract(items.getSubTotalMoney().abs());
|
|
|
+ } else {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00").subtract(items.getSubTotalMoney().abs().subtract(amount)));
|
|
|
+ amount = new BigDecimal("0.00");
|
|
|
+ }
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00").subtract(items.getReturnsNumber()));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getReturnsAmount()).subtract(item.getFreight()));
|
|
|
+ items.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
+ BigDecimal costprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal profit = items.getSubTotalMoney().abs().subtract(costprie);
|
|
|
+ items.setProfit(new BigDecimal("0.00").subtract(profit));
|
|
|
+ items.setCostprie(new BigDecimal("0.00").subtract(costprie));
|
|
|
+ } else {
|
|
|
+ if (amount.compareTo(items.getSubTotalMoney()) >= 0) {
|
|
|
+ items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
+ amount = amount.subtract(items.getSubTotalMoney());
|
|
|
+ } else {
|
|
|
+ items.setBalanceAmount(items.getSubTotalMoney().subtract(amount));
|
|
|
+ amount = new BigDecimal("0.00");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ items.setSurplusNum(items.getGoodsNum().subtract(items.getOutGoodsTotalShipNum()));
|
|
|
+ items.setSurplusAmount(items.getSubTotalMoney().subtract(items.getOutGoodsTotalShipAmount()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
return saleDetailDtoList2;
|
|
|
}
|
|
|
@@ -1005,8 +1150,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd()+"'");
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd() + "'");
|
|
|
if ("2".equals(saleDetailDto.getBsType())) {
|
|
|
lambdaQueryWrapper.isNotNull(PjOrder::getSalerId);
|
|
|
lambdaQueryWrapper.groupBy(PjOrder::getSalerName);
|
|
|
@@ -1032,8 +1177,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd()+"'");
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd() + "'");
|
|
|
if ("2".equals(saleDetailDto.getBsType())) {
|
|
|
orderLambdaQueryWrapper.apply("find_in_set(saler_name,'" + name + "')");
|
|
|
} else {
|
|
|
@@ -1061,9 +1206,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
orders = orderList.stream().filter(e -> e.getCustomerName().equals(item.getCustomerName())).collect(Collectors.toList());
|
|
|
}
|
|
|
if (!orders.isEmpty()) {
|
|
|
- detail.setFreight(orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
- "!已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- BigDecimal freightR1 = orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
+ detail.setFreight(orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
+ !"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ BigDecimal freightR1 = orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
List<Long> idList = orders.stream().filter(e -> "XS".equals(e.getBsType())).map(PjOrder::getId).collect(Collectors.toList());
|
|
|
List<Long> idListR = orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
@@ -1122,9 +1267,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
detail.setSalesQuantity(salesQuantity);
|
|
|
detail.setReturnQuantity(new BigDecimal("0").subtract(returnQuantity));
|
|
|
- detail.setSalesAmount(salesAmount.add(detail.getFreight()).subtract(freightR));
|
|
|
- detail.setReturnAmount(new BigDecimal("0").subtract(returnAmount).subtract(freightR).subtract(freightR1));
|
|
|
- detail.setSalesProfit(salesProfit.add(detail.getFreight()).subtract(freightR));
|
|
|
+ detail.setSalesAmount(salesAmount.add(detail.getFreight()));
|
|
|
+ detail.setReturnAmount(new BigDecimal("0").subtract(returnAmount));
|
|
|
+ detail.setSalesProfit(salesProfit);
|
|
|
salespersonCustomerList.add(detail);
|
|
|
}
|
|
|
}
|
|
|
@@ -1217,9 +1362,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
orders = orderList.stream().filter(e -> e.getCustomerName().equals(item.getCustomerName())).collect(Collectors.toList());
|
|
|
}
|
|
|
if (!orders.isEmpty()) {
|
|
|
- freight = freight.add(orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
- "!已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- freightR1 = freightR1.add(orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
+ freight = freight.add(orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
+ !"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ freightR1 = freightR1.add(orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
List<Long> idList = orders.stream().filter(e -> "XS".equals(e.getBsType())).map(PjOrder::getId).collect(Collectors.toList());
|
|
|
List<Long> idListR = orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
@@ -1274,12 +1419,12 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- map.put("salesAmount", salesAmount.add(freight).subtract(freightR));
|
|
|
+ map.put("salesAmount", salesAmount.setScale(0, RoundingMode.HALF_UP));
|
|
|
map.put("salesQuantity", salesQuantity);
|
|
|
- map.put("returnAmount", returnAmount.add(freightR).add(freightR1));
|
|
|
+ map.put("returnAmount", returnAmount.setScale(0, RoundingMode.HALF_UP));
|
|
|
map.put("returnQuantity", returnQuantity);
|
|
|
- map.put("salesProfit", salesProfit.add(freight).subtract(freightR));
|
|
|
- map.put("freight", freight);
|
|
|
+ map.put("salesProfit", salesProfit.setScale(0, RoundingMode.HALF_UP));
|
|
|
+ map.put("freight", freight.setScale(0, RoundingMode.HALF_UP));
|
|
|
return R.data(map);
|
|
|
}
|
|
|
|
|
|
@@ -1302,8 +1447,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd()+"'");
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd() + "'");
|
|
|
if ("2".equals(saleDetailDto.getBsType())) {
|
|
|
lambdaQueryWrapper.isNotNull(PjOrder::getSalerId);
|
|
|
lambdaQueryWrapper.groupBy(PjOrder::getSalerName);
|
|
|
@@ -1328,8 +1473,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
|
|
|
.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart()+"'")
|
|
|
- .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()),"DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd()+"'");
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateStart() + "'")
|
|
|
+ .apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' ) >= '" + saleDetailDto.getDateEnd() + "'");
|
|
|
if ("2".equals(saleDetailDto.getBsType())) {
|
|
|
orderLambdaQueryWrapper.apply("find_in_set(saler_name,'" + name + "')");
|
|
|
} else {
|
|
|
@@ -1357,9 +1502,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
orders = orderList.stream().filter(e -> e.getCustomerName().equals(item.getCustomerName())).collect(Collectors.toList());
|
|
|
}
|
|
|
if (!orders.isEmpty()) {
|
|
|
- detail.setFreight(orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
- "!已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- BigDecimal freightR1 = orders.stream().filter(e -> "XS".equals(e.getBsType())&&
|
|
|
+ detail.setFreight(orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
+ !"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ BigDecimal freightR1 = orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
"已取消".equals(e.getStatus())).map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
List<Long> idList = orders.stream().filter(e -> "XS".equals(e.getBsType())).map(PjOrder::getId).collect(Collectors.toList());
|
|
|
List<Long> idListR = orders.stream().filter(e -> "XS".equals(e.getBsType()) &&
|
|
|
@@ -1418,9 +1563,9 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
detail.setSalesQuantity(salesQuantity);
|
|
|
detail.setReturnQuantity(new BigDecimal("0").subtract(returnQuantity));
|
|
|
- detail.setSalesAmount(salesAmount.add(detail.getFreight()).subtract(freightR));
|
|
|
- detail.setReturnAmount(new BigDecimal("0").subtract(returnAmount).subtract(freightR).subtract(freightR1));
|
|
|
- detail.setSalesProfit(salesProfit.add(detail.getFreight()).subtract(freightR));
|
|
|
+ detail.setSalesAmount(salesAmount);
|
|
|
+ detail.setReturnAmount(new BigDecimal("0").subtract(returnAmount));
|
|
|
+ detail.setSalesProfit(salesProfit);
|
|
|
salespersonCustomerList.add(detail);
|
|
|
}
|
|
|
}
|