|
@@ -44,6 +44,7 @@ import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
|
|
|
+import com.fjhx.purchase.entity.pay.po.Pay;
|
|
|
import com.fjhx.purchase.entity.purchase.po.Purchase;
|
|
|
import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
|
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseDetailVo;
|
|
@@ -1560,18 +1561,48 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
v.setAccountPaid(BigDecimal.ZERO);
|
|
|
return;
|
|
|
}
|
|
|
+ List<Long> purchaseIds = purchaseList.stream().map(EhsdPurchase::getId).collect(Collectors.toList());
|
|
|
if(MapUtils.isNotEmpty(assignCurrencyRatesMap)){
|
|
|
for (EhsdPurchase c : purchaseList) {
|
|
|
purchaseSumMoney = purchaseSumMoney.add(c.getAmount().multiply(assignCurrencyRatesMap.getOrDefault(c.getCurrency(),BigDecimal.ONE)));
|
|
|
}
|
|
|
+
|
|
|
+ * 处理支付款金额
|
|
|
+ */
|
|
|
+ List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
|
|
|
+ if (CollectionUtils.isNotEmpty(payList)) {
|
|
|
+ BigDecimal payAmount = payList.stream().map(pay -> {
|
|
|
+
|
|
|
+ BigDecimal rate = assignCurrencyRatesMap.getOrDefault(pay.getCurrency(),BigDecimal.ONE);
|
|
|
+
|
|
|
+ BigDecimal money = pay.getAmount();
|
|
|
+
|
|
|
+ return rate.multiply(money);
|
|
|
+ }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ v.setAccountPaid(payAmount);
|
|
|
+ }
|
|
|
}else{
|
|
|
for (EhsdPurchase c : purchaseList) {
|
|
|
purchaseSumMoney = purchaseSumMoney.add(c.getAmount().multiply(c.getRate()));
|
|
|
}
|
|
|
+ v.setSumPurchaseContractMoney(purchaseSumMoney);
|
|
|
+
|
|
|
+ * 处理支付款金额
|
|
|
+ */
|
|
|
+ List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
|
|
|
+ if (CollectionUtils.isNotEmpty(payList)) {
|
|
|
+ BigDecimal payAmount = payList.stream().map(pay -> {
|
|
|
+
|
|
|
+ BigDecimal rate = pay.getRate()==null?BigDecimal.ONE:pay.getRate();
|
|
|
+
|
|
|
+ BigDecimal money = pay.getAmount();
|
|
|
+
|
|
|
+ return rate.multiply(money);
|
|
|
+ }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ v.setAccountPaid(payAmount);
|
|
|
+ }
|
|
|
}
|
|
|
- v.setSumPurchaseContractMoney(purchaseSumMoney);
|
|
|
- List<Long> purchaseIds = purchaseList.stream().map(EhsdPurchase::getId).collect(Collectors.toList());
|
|
|
- v.setAccountPaid(payDetailService.getSumMoney(purchaseIds));
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|