|
|
@@ -567,32 +567,47 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
List<PjOrder> pjOrderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(ord_no,'" + billNo + "')"));
|
|
|
+ .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())
|
|
|
+ .ge(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateStart())
|
|
|
+ .le(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateEnd())
|
|
|
+ );
|
|
|
List<Long> pids = pjOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
- List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
- .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
- .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(PjOrderItems::getPid, pids));
|
|
|
+ List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
|
|
|
+ if (!pids.isEmpty()) {
|
|
|
+ pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
+ .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
+ .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(PjOrderItems::getPid, pids));
|
|
|
+ }
|
|
|
for (PjOrder item : pjOrderList) {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoIPage.getRecords().stream()
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
- BigDecimal amount = item.getPaymentAmountTl();
|
|
|
+ BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())).map(PjOrderItems::getReturnsAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
amount = amount.abs();
|
|
|
for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
- PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
- if (orderItems != null) {
|
|
|
- items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
- items.setPrice(orderItems.getPrice());
|
|
|
- items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
- 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());
|
|
|
+ if (!pjOrderItemsList.isEmpty()) {
|
|
|
+ PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
+ if (orderItems != null) {
|
|
|
+ items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
+ items.setPrice(orderItems.getPrice());
|
|
|
+ items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
+ 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());
|
|
|
+ }
|
|
|
}
|
|
|
if ("已取消".equals(items.getStatus())) {
|
|
|
items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
@@ -610,9 +625,9 @@ 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.getGoodsNum()));
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00").subtract(items.getReturnsNumber()));
|
|
|
items.setProfit(new BigDecimal("0.00").subtract(items.getProfit()));
|
|
|
- items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getSubTotalMoney()));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getReturnsAmount()));
|
|
|
items.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
items.setCostprie(new BigDecimal("0.00").subtract(items.getCostprie()));
|
|
|
} else {
|
|
|
@@ -645,37 +660,54 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
List<PjOrder> pjOrderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(ord_no,'" + billNo + "')"));
|
|
|
+ .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())
|
|
|
+ .ge(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateStart())
|
|
|
+ .le(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateEnd())
|
|
|
+ );
|
|
|
List<Long> pids = pjOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
- List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
- .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
- .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(PjOrderItems::getPid, pids));
|
|
|
+ List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
|
|
|
+ if (!pids.isEmpty()) {
|
|
|
+ pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
+ .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
+ .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(PjOrderItems::getPid, pids));
|
|
|
+ }
|
|
|
for (PjOrder item : pjOrderList) {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoList.stream()
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
- BigDecimal amount = item.getPaymentAmountTl();
|
|
|
+ BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())).map(PjOrderItems::getReturnsAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
amount = amount.abs();
|
|
|
for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
- PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
- if (orderItems != null) {
|
|
|
- items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
- items.setPrice(orderItems.getPrice());
|
|
|
- items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
- 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());
|
|
|
+ if (!pjOrderItemsList.isEmpty()) {
|
|
|
+ PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
+ if (orderItems != null) {
|
|
|
+ items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
+ items.setPrice(orderItems.getPrice());
|
|
|
+ items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
+ 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());
|
|
|
+ }
|
|
|
}
|
|
|
if ("已取消".equals(items.getStatus())) {
|
|
|
items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
} else {
|
|
|
if ("TKXS".equals(item.getBsType())) {
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00").subtract(items.getReturnsNumber()));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getReturnsAmount()));
|
|
|
// items.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
if (amount.compareTo(items.getSubTotalMoney().abs()) >= 0) {
|
|
|
items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
@@ -700,69 +732,69 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
}
|
|
|
BigDecimal goodsNumCancel = saleDetailDtoList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getGoodsNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal subTotalMoneyCancel = saleDetailDtoList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getSubTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getSubTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal costprieCancel = saleDetailDtoList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getCostprie).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal profitCancel = saleDetailDtoList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getProfit).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal freightCancel = pjOrderList.stream().filter(e -> "已取消".equals(e.getStatus()))
|
|
|
- .map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(PjOrder::getFreight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
|
|
|
BigDecimal goodsNumActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getGoodsNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal subTotalMoneyActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getSubTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getSubTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal costprieActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getCostprie).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal profitActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getProfit).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal freight = pjOrderList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(PjOrder::getFreight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal outGoodsTotalShipNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getOutGoodsTotalShipNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getOutGoodsTotalShipNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal outGoodsTotalShipAmount = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getOutGoodsTotalShipAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getOutGoodsTotalShipAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal primaryGoodsTotalNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getPrimaryGoodsTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getPrimaryGoodsTotalNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal primaryGoodsTotalMoney = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getPrimaryGoodsTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getPrimaryGoodsTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal surplusNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getSurplusNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getSurplusNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
BigDecimal surplusAmount = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getSurplusAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getSurplusAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP);
|
|
|
|
|
|
BigDecimal freightReturns = pjOrderList.stream().filter(e -> "已完成".equals(e.getStatus()))
|
|
|
- .map(PjOrder::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(PjOrder::getFreight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal goodsNumReturns = saleDetailDtoList.stream().filter(e -> "已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getGoodsNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal subTotalMoneyReturns = saleDetailDtoList.stream().filter(e -> "已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getSubTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getSubTotalMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal costprieReturns = saleDetailDtoList.stream().filter(e -> "已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getCostprie).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
BigDecimal profitReturns = saleDetailDtoList.stream().filter(e -> "已完成".equals(e.getStatus()))
|
|
|
- .map(SaleDetailDto::getProfit).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .map(SaleDetailDto::getProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
.setScale(0, RoundingMode.HALF_UP).abs();
|
|
|
|
|
|
if ("TKXS".equals(saleDetailDto.getBsType()) || "TKCG".equals(saleDetailDto.getBsType())) {
|
|
|
@@ -851,32 +883,47 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
List<PjOrder> pjOrderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(ord_no,'" + billNo + "')"));
|
|
|
+ .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())
|
|
|
+ .ge(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateStart())
|
|
|
+ .le(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateEnd())
|
|
|
+ );
|
|
|
List<Long> pids = pjOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
- List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
- .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
- .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .in(PjOrderItems::getPid, pids));
|
|
|
+ List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
|
|
|
+ if (!pids.isEmpty()) {
|
|
|
+ pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
|
|
|
+ .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
+ .eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(PjOrderItems::getPid, pids));
|
|
|
+ }
|
|
|
for (PjOrder item : pjOrderList) {
|
|
|
List<SaleDetailDto> saleDetailDtoList1 = saleDetailDtoIPage.stream()
|
|
|
.filter(e -> e.getOrdNo().equals(item.getOrdNo())).collect(Collectors.toList());
|
|
|
if (!saleDetailDtoList1.isEmpty()) {
|
|
|
- BigDecimal amount = item.getPaymentAmountTl();
|
|
|
+ BigDecimal returnsAmount = pjOrderItemsList.stream().filter(e -> e.getPid().equals(item.getId())).map(PjOrderItems::getReturnsAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
|
|
+ BigDecimal amount = item.getPaymentAmountTl().subtract(returnsAmount);
|
|
|
amount = amount.abs();
|
|
|
for (SaleDetailDto items : saleDetailDtoList1) {
|
|
|
- PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
- if (orderItems != null) {
|
|
|
- items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
- items.setPrice(orderItems.getPrice());
|
|
|
- items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
- 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());
|
|
|
+ if (!pjOrderItemsList.isEmpty()) {
|
|
|
+ PjOrderItems orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(items.getItemId())).findFirst().orElse(null);
|
|
|
+ if (orderItems != null) {
|
|
|
+ items.setGoodsNum(orderItems.getGoodsNum());
|
|
|
+ items.setPrice(orderItems.getPrice());
|
|
|
+ items.setSubTotalMoney(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
|
|
|
+ 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());
|
|
|
+ }
|
|
|
}
|
|
|
if ("已取消".equals(items.getStatus())) {
|
|
|
items.setBalanceAmount(new BigDecimal("0.00"));
|
|
|
@@ -894,9 +941,9 @@ 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.getGoodsNum()));
|
|
|
+ items.setGoodsNum(new BigDecimal("0.00").subtract(items.getReturnsNumber()));
|
|
|
+ items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getReturnsAmount()));
|
|
|
items.setProfit(new BigDecimal("0.00").subtract(items.getProfit()));
|
|
|
- items.setSubTotalMoney(new BigDecimal("0.00").subtract(items.getSubTotalMoney()));
|
|
|
items.setFreight(new BigDecimal("0.00").subtract(items.getFreight()));
|
|
|
items.setCostprie(new BigDecimal("0.00").subtract(items.getCostprie()));
|
|
|
} else {
|
|
|
@@ -932,7 +979,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getCustomerName()), PjOrder::getCustomerName, saleDetailDto.getCustomerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getSalerName()), PjOrder::getSalerName, saleDetailDto.getSalerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
@@ -961,7 +1008,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.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())
|
|
|
@@ -1010,14 +1057,24 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
BigDecimal salesProfit = new BigDecimal("0");
|
|
|
for (PjOrderItems items : itemsList) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.add(subAmount);
|
|
|
salesQuantity = salesQuantity.add(items.getGoodsNum());
|
|
|
salesProfit = salesProfit.add(subAmount.subtract(subCostprie));
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListR) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getGoodsNum());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1026,7 +1083,12 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListTK) {
|
|
|
BigDecimal subAmount = items.getReturnsNumber().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getReturnsNumber());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1070,7 +1132,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getCustomerName()), PjOrder::getCustomerName, saleDetailDto.getCustomerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getSalerName()), PjOrder::getSalerName, saleDetailDto.getSalerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
@@ -1097,7 +1159,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.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())
|
|
|
@@ -1139,14 +1201,24 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
List<PjOrderItems> itemsListTK = pjOrderItemsList.stream().filter(e -> idListTK.contains(e.getPid())).collect(Collectors.toList());
|
|
|
for (PjOrderItems items : itemsList) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.add(subAmount);
|
|
|
salesQuantity = salesQuantity.add(items.getGoodsNum());
|
|
|
salesProfit = salesProfit.add(subAmount.subtract(subCostprie));
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListR) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getGoodsNum());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1155,7 +1227,12 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListTK) {
|
|
|
BigDecimal subAmount = items.getReturnsNumber().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getReturnsNumber());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1187,7 +1264,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getCustomerName()), PjOrder::getCustomerName, saleDetailDto.getCustomerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getSalerName()), PjOrder::getSalerName, saleDetailDto.getSalerName())
|
|
|
.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
|
|
|
@@ -1215,7 +1292,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.apply(" find_in_set(bs_type,'XS,TKXS')")
|
|
|
- .apply(" find_in_set(status,'已发货,已取消,已完成')")
|
|
|
+ .apply(" find_in_set(status,'已发货,已取消,已完成,已收货')")
|
|
|
.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())
|
|
|
@@ -1264,14 +1341,24 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
BigDecimal salesProfit = new BigDecimal("0");
|
|
|
for (PjOrderItems items : itemsList) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.add(subAmount);
|
|
|
salesQuantity = salesQuantity.add(items.getGoodsNum());
|
|
|
salesProfit = salesProfit.add(subAmount.subtract(subCostprie));
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListR) {
|
|
|
BigDecimal subAmount = items.getGoodsNum().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getGoodsNum().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getGoodsNum());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1280,7 +1367,12 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
}
|
|
|
for (PjOrderItems items : itemsListTK) {
|
|
|
BigDecimal subAmount = items.getReturnsNumber().multiply(items.getPrice());
|
|
|
- BigDecimal subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ BigDecimal subCostprie;
|
|
|
+ if ("1".equals(saleDetailDto.getWhetherRebate())){
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getRebatePrice());
|
|
|
+ }else{
|
|
|
+ subCostprie = items.getReturnsNumber().multiply(items.getCostpriePrice());
|
|
|
+ }
|
|
|
salesAmount = salesAmount.subtract(subAmount);
|
|
|
salesQuantity = salesQuantity.subtract(items.getReturnsNumber());
|
|
|
returnAmount = returnAmount.add(subAmount);
|
|
|
@@ -1311,67 +1403,33 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
|
|
map.put("totalMoney", totalMoney);
|
|
|
map.put("fundingAmount", fundingAmount);
|
|
|
map.put("bondAmount", totalMoney.subtract(fundingAmount));
|
|
|
- PjpfFunding funding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
|
|
|
- .eq(PjpfFunding::getIsDeleted, 0)
|
|
|
- .eq(PjpfFunding::getTenantId, AuthUtil.getTenantId())
|
|
|
- .last("limit 1"));
|
|
|
- if (funding != null) {
|
|
|
- map.put("amount", funding.getAvailableAmount());
|
|
|
- map.put("interest", funding.getInterest());
|
|
|
- } else {
|
|
|
- map.put("amount", "0.00");
|
|
|
- map.put("interest", "0.00");
|
|
|
- }
|
|
|
- List<PjpfBalanceReset> balanceResetList = pjpfBalanceResetService.list(new LambdaQueryWrapper<PjpfBalanceReset>()
|
|
|
- .eq(PjpfBalanceReset::getIsDeleted, 0)
|
|
|
- .eq(PjpfBalanceReset::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjpfBalanceReset::getStatus, 1)
|
|
|
- .apply("DATE_FORMAT(confirming_person_date,'%Y') = '" + date + "'")
|
|
|
- );
|
|
|
- if (!balanceResetList.isEmpty()) {
|
|
|
- map.put("repayment", balanceResetList.stream().map(PjpfBalanceReset::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- } else {
|
|
|
- map.put("repayment", "0.00");
|
|
|
- }
|
|
|
} else {
|
|
|
map.put("totalMoney", "0.00");
|
|
|
map.put("fundingAmount", "0.00");
|
|
|
map.put("bondAmount", "0.00");
|
|
|
- map.put("amount", "0.00");
|
|
|
- map.put("interest", "0.00");
|
|
|
+ }
|
|
|
+ List<PjpfBalanceReset> balanceResetList = pjpfBalanceResetService.list(new LambdaQueryWrapper<PjpfBalanceReset>()
|
|
|
+ .eq(PjpfBalanceReset::getIsDeleted, 0)
|
|
|
+ .eq(PjpfBalanceReset::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjpfBalanceReset::getStatus, 1)
|
|
|
+ .apply("DATE_FORMAT(confirming_person_date,'%Y') = '" + date + "'")
|
|
|
+ );
|
|
|
+ if (!balanceResetList.isEmpty()) {
|
|
|
+ map.put("repayment", balanceResetList.stream().map(PjpfBalanceReset::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ } else {
|
|
|
map.put("repayment", "0.00");
|
|
|
}
|
|
|
-
|
|
|
- /*List<PjpfFunding> fundingList = pjpfFundingService.list(new LambdaQueryWrapper<PjpfFunding>()
|
|
|
+ PjpfFunding funding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
|
|
|
+ .eq(PjpfFunding::getIsDeleted, 0)
|
|
|
.eq(PjpfFunding::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjpfFunding::getIsDeleted, 0));
|
|
|
- if (!fundingList.isEmpty()) {
|
|
|
- map.put("corpName", fundingList.get(0).getFundingPartyName());
|
|
|
-// map.put("surplusFundingAmount", fundingList.stream().map(PjpfFunding::getSurplusFundingAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- map.put("bondAmount", fundingList.stream().map(PjpfFunding::getBondAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- map.put("availableAmount", fundingList.stream().map(PjpfFunding::getAvailableAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- map.put("sumAmount", orderService.list(new LambdaQueryWrapper<PjOrder>().eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjOrder::getIsDeleted, 0).eq(PjOrder::getBsType, "RZCG").eq(PjOrder::getWhetherRedeem, 0)
|
|
|
- .apply("FIND_IN_SET(status,'待收货,已收货')"))
|
|
|
- .stream().map(PjOrder::getGoodsTotalShipAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- BigDecimal goodsTotalShipAmount = orderService.list(new LambdaQueryWrapper<PjOrder>().eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjOrder::getIsDeleted, 0).eq(PjOrder::getBsType, "RZCG").eq(PjOrder::getWhetherRedeem, 0)
|
|
|
- .apply("FIND_IN_SET(status,'待收货,已收货')"))
|
|
|
- .stream().map(PjOrder::getGoodsTotalShipAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal outGoodsTotalShipAmount = orderService.list(new LambdaQueryWrapper<PjOrder>().eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjOrder::getIsDeleted, 0).eq(PjOrder::getBsType, "RZCG").eq(PjOrder::getWhetherRedeem, 0)
|
|
|
- .apply("FIND_IN_SET(status,'待收货,已收货')"))
|
|
|
- .stream().map(PjOrder::getOutGoodsTotalShipAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- map.put("surplusFundingAmount", goodsTotalShipAmount.subtract(outGoodsTotalShipAmount));
|
|
|
- map.put("primaryFundingAmount", fundingList.stream().map(PjpfFunding::getSurplusFundingAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ .last("limit 1"));
|
|
|
+ if (funding != null) {
|
|
|
+ map.put("amount", funding.getAvailableAmount());
|
|
|
+ map.put("interest", funding.getInterest());
|
|
|
} else {
|
|
|
- map.put("corpName", "");
|
|
|
- map.put("surplusFundingAmount", "0.00");
|
|
|
- map.put("bondAmount", "0.00");
|
|
|
- map.put("availableAmount", "0.00");
|
|
|
- map.put("sumAmount", "0.00");
|
|
|
- map.put("primaryFundingAmount", "0.00");
|
|
|
- }*/
|
|
|
+ map.put("amount", "0.00");
|
|
|
+ map.put("interest", "0.00");
|
|
|
+ }
|
|
|
return R.data(map);
|
|
|
}
|
|
|
|