|
@@ -28,6 +28,7 @@ import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
|
|
|
import com.fjhx.purchase.entity.purchase.po.Purchase;
|
|
|
import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
|
|
|
import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
|
|
|
+import com.fjhx.purchase.entity.purchase.po.PurchaseRefundRecord;
|
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseDocumentaryVo;
|
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseVo;
|
|
|
import com.fjhx.purchase.entity.subscribe.po.Subscribe;
|
|
@@ -39,6 +40,7 @@ import com.fjhx.purchase.service.invoice.InvoiceDetailsService;
|
|
|
import com.fjhx.purchase.service.pay.PayDetailService;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseDetailService;
|
|
|
import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
|
|
|
+import com.fjhx.purchase.service.purchase.PurchaseRefundRecordService;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseService;
|
|
|
import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
|
import com.fjhx.purchase.service.subscribe.SubscribeService;
|
|
@@ -118,6 +120,8 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
|
|
|
|
|
|
@Autowired
|
|
|
private StockService stockService;
|
|
|
+ @Autowired
|
|
|
+ private PurchaseRefundRecordService purchaseRefundRecordService;
|
|
|
|
|
|
/**
|
|
|
* 列表
|
|
@@ -282,6 +286,19 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
|
|
|
BigDecimal paidAmount = purchasePayRecords.stream().map(PurchasePayRecordDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
purchaseVo.setPaidAmount(paidAmount);
|
|
|
}
|
|
|
+ //赋值退款金额
|
|
|
+ Map<Long, List<PurchaseRefundRecord>> refundRecordMap = purchaseRefundRecordService.mapKGroup(PurchaseRefundRecord::getPurchaseId,
|
|
|
+ q -> q.in(PurchaseRefundRecord::getPurchaseId, purchaseIds));
|
|
|
+ for (PurchaseVo purchaseVo : list) {
|
|
|
+ List<PurchaseRefundRecord> purchaseRefundRecords = refundRecordMap.get(purchaseVo.getId());
|
|
|
+ if (ObjectUtils.isEmpty(purchaseRefundRecords)) {
|
|
|
+ purchaseVo.setRefundAmount(BigDecimal.ZERO);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //求和已退款
|
|
|
+ BigDecimal refundAmount = purchaseRefundRecords.stream().map(PurchaseRefundRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ purchaseVo.setRefundAmount(refundAmount);
|
|
|
+ }
|
|
|
|
|
|
return page;
|
|
|
}
|