|
|
@@ -588,10 +588,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoIPage.getRecords().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);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl();
|
|
|
amount = amount.abs();
|
|
|
for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
items.setRemarks(item.getRemarks());
|
|
|
@@ -620,20 +617,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
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()));
|
|
|
@@ -641,6 +626,13 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
BigDecimal profit = items.getSubTotalMoney().abs().subtract(costprie);
|
|
|
items.setProfit(new BigDecimal("0.00").subtract(profit));
|
|
|
items.setCostprie(new BigDecimal("0.00").subtract(costprie));
|
|
|
+ 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");
|
|
|
+ }
|
|
|
} else {
|
|
|
if (amount.compareTo(items.getSubTotalMoney()) >= 0) {
|
|
|
items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
@@ -981,14 +973,11 @@ 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()) {
|
|
|
- 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);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl();
|
|
|
amount = amount.abs();
|
|
|
for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
items.setRemarks(item.getRemarks());
|
|
|
@@ -1017,86 +1006,15 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
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.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
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()));
|
|
|
- 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());
|
|
|
@@ -1104,13 +1022,6 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
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"));
|