|
@@ -325,6 +325,10 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
|
|
|
|
|
|
wrapper.eq("t1.contract_type", dto.getContractType());
|
|
|
+
|
|
|
+
|
|
|
+ wrapper.ge(Contract::getCreateTime, dto.getBeginTime());
|
|
|
+ wrapper.le(Contract::getCreateTime, dto.getEndTime());
|
|
|
}
|
|
|
|
|
|
|
|
@@ -473,6 +477,13 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
private void statisticCommon(List<ContractBudgetVo> list) {
|
|
|
|
|
|
List<Long> contractIds = list.stream().map(ContractBudgetVo::getContractId).collect(Collectors.toList());
|
|
|
+
|
|
|
+
|
|
|
+ Map<Long, List<EhsdPurchase>> ehsdPurchaseMap = ehsdPurchaseService.mapKGroup(EhsdPurchase::getDataResourceId, q -> q
|
|
|
+ .in(EhsdPurchase::getStatus, 10, 30)
|
|
|
+ .in(EhsdPurchase::getDataResourceId, contractIds)
|
|
|
+ );
|
|
|
+
|
|
|
List<EhsdPurchaseProductVo> ehsdAmountList = ehsdPurchaseProductService.getPurchaseByContractId(contractIds);
|
|
|
Map<Long, List<EhsdPurchaseProductVo>> ehsdAmountMap = ehsdAmountList.stream().collect(Collectors.groupingBy(EhsdPurchaseProductVo::getDataResourceId));
|
|
|
for (ContractBudgetVo v : list) {
|
|
@@ -494,7 +505,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
BigDecimal money = e.getAmount();
|
|
|
|
|
|
BigDecimal amount = rate.multiply(money);
|
|
|
- purchaseAmount = purchaseAmount.add(amount);
|
|
|
+
|
|
|
if (ObjectUtil.isNotEmpty(e.getProductCategoryIds())) {
|
|
|
if (e.getProductCategoryIds().contains("1685534140512616449") || e.getProductCategoryId() == 1685534140512616449L) {
|
|
|
peritectoidAmount = peritectoidAmount.add(amount);
|
|
@@ -504,6 +515,19 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ List<EhsdPurchase> contractPurchasesList = ehsdPurchaseMap.get(v.getContractId());
|
|
|
+ for (EhsdPurchase ehsdPurchase : contractPurchasesList) {
|
|
|
+
|
|
|
+ BigDecimal rate = map.getOrDefault(ehsdPurchase.getCurrency(), BigDecimal.ONE);
|
|
|
+
|
|
|
+ BigDecimal money = ehsdPurchase.getAmount();
|
|
|
+
|
|
|
+ BigDecimal amount = rate.multiply(money);
|
|
|
+ purchaseAmount = purchaseAmount.add(amount);
|
|
|
+ }
|
|
|
+
|
|
|
v.setEhsdSumAmount(purchaseAmount);
|
|
|
v.setPeritectoidAmount(peritectoidAmount);
|
|
|
v.setAccessoriesAmount(accessoriesAmount);
|
|
@@ -536,7 +560,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
BigDecimal money = e.getAmount();
|
|
|
|
|
|
BigDecimal amount = rate.multiply(money);
|
|
|
- purchaseAmount = purchaseAmount.add(amount);
|
|
|
+
|
|
|
if (ObjectUtil.isNotEmpty(e.getProductCategoryIds())) {
|
|
|
if (e.getProductCategoryIds().contains("1685534140512616449") || e.getProductCategoryId() == 1685534140512616449L) {
|
|
|
peritectoidAmount = peritectoidAmount.add(amount);
|
|
@@ -546,6 +570,19 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ List<EhsdPurchase> contractPurchasesList = ehsdPurchaseMap.get(v.getContractId());
|
|
|
+ for (EhsdPurchase ehsdPurchase : contractPurchasesList) {
|
|
|
+
|
|
|
+ BigDecimal rate = ehsdPurchase.getRate();
|
|
|
+
|
|
|
+ BigDecimal money = ehsdPurchase.getAmount();
|
|
|
+
|
|
|
+ BigDecimal amount = rate.multiply(money);
|
|
|
+ purchaseAmount = purchaseAmount.add(amount);
|
|
|
+ }
|
|
|
+
|
|
|
v.setEhsdSumAmount(purchaseAmount);
|
|
|
v.setPeritectoidAmount(peritectoidAmount);
|
|
|
v.setAccessoriesAmount(accessoriesAmount);
|
|
@@ -1772,6 +1809,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
*/
|
|
|
private BigDecimal getSumClaimMoney(List<ClaimContract> claimContractList, Map<String, BigDecimal> assignCurrencyRatesMap) {
|
|
|
BigDecimal sumClaimMoney = BigDecimal.ZERO;
|
|
|
+ if (ObjectUtil.isEmpty(claimContractList)) {
|
|
|
+ return BigDecimal.ZERO;
|
|
|
+ }
|
|
|
for (ClaimContract c : claimContractList) {
|
|
|
BigDecimal rate = c.getRate();
|
|
|
if (MapUtils.isNotEmpty(assignCurrencyRatesMap)) {
|