|
@@ -361,7 +361,39 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据供应商查询采购合同
|
|
|
+ * 根据供应商查询无发票的采购合同
|
|
|
+ *
|
|
|
+ * @param supplyId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Purchase> getNoInvoiceListBySupplyId(String supplyId) {
|
|
|
+ if (StringUtils.isEmpty(supplyId)) {
|
|
|
+ throw new ServiceException("供应商ID不能为空");
|
|
|
+ }
|
|
|
+ List<Purchase> list = this.list(Wrappers.<Purchase>query().lambda().eq(Purchase::getSupplyId, supplyId).eq(Purchase::getPurchaseStatus, PurchaseStatusEnum.PASS.getKey()).ne(Purchase::getInvoiceType,"0"));
|
|
|
+ List<Long> ids = list.stream().distinct().map(Purchase::getId).collect(Collectors.toList());
|
|
|
+ List<InvoiceDetailsVo> invoiceDetailsList = invoiceDetailsService.getSumMoneyByPurchaseIds(ids);
|
|
|
+ Map<Long, BigDecimal> invoiceMap = invoiceDetailsList.stream().collect(Collectors.toMap(InvoiceDetailsVo::getPurchaseId, InvoiceDetailsVo::getSumMoney));
|
|
|
+ List<PayDetailVo> payDetailVoList = payDetailService.getSumMoneyByPurchaseIds(ids);
|
|
|
+ Map<Long, BigDecimal> payMap = payDetailVoList.stream().collect(Collectors.toMap(PayDetailVo::getPurchaseId, PayDetailVo::getSumMoney));
|
|
|
+ for (Purchase p : list) {
|
|
|
+ if (MapUtils.isNotEmpty(invoiceMap)) {
|
|
|
+ p.setSumInvoiceMoney(invoiceMap.getOrDefault(p.getId(), BigDecimal.ZERO));
|
|
|
+ } else {
|
|
|
+ p.setSumInvoiceMoney(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ if (MapUtils.isNotEmpty(payMap)) {
|
|
|
+ p.setSumPayMoney(payMap.getOrDefault(p.getId(), BigDecimal.ZERO));
|
|
|
+ } else {
|
|
|
+ p.setSumPayMoney(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 根据供应商查询无发票的采购合同
|
|
|
*
|
|
|
* @param supplyId
|
|
|
* @return
|