From 4fe5febdb00a28e21eccd56d4b333f255c1fa284 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com>
Date: Fri, 3 Apr 2026 09:11:16 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E8=AE=A1=E7=AE=97;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mhd-modules/mhd-system/pom.xml | 9 ++-
.../ContractManageApplicationService.java | 63 +++++++++++++++++--
.../BillingParamsDetailDTO.java | 36 +++++++++++
.../DynamicCalculationUtil.java | 41 ++++++++++++
.../contractManage/SubjectAndPriceReturn.java | 15 +++++
.../contractManage/ContractManageApi.java | 12 ++++
6 files changed, 168 insertions(+), 8 deletions(-)
create mode 100644 mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/BillingParamsDetailDTO.java
create mode 100644 mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/DynamicCalculationUtil.java
create mode 100644 mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/SubjectAndPriceReturn.java
diff --git a/mhd-modules/mhd-system/pom.xml b/mhd-modules/mhd-system/pom.xml
index b58151899..0105f9288 100644
--- a/mhd-modules/mhd-system/pom.xml
+++ b/mhd-modules/mhd-system/pom.xml
@@ -104,7 +104,12 @@
org.springframework.boot
spring-boot-starter-websocket
-
+
+
+ jep
+ jep
+ 2.24
+
@@ -163,4 +168,4 @@
-
+
\ No newline at end of file
diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java
index 4fd467487..d9ea39ff7 100644
--- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java
+++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java
@@ -19,8 +19,7 @@ import com.mhd.basic.domain.contractManageDetail.repository.todo.ContractManageD
import com.mhd.basic.domain.contractManageDetail.service.ContractManageDetailDomainService;
import com.mhd.basic.domain.expenseAccount.repository.po.ExpenseAccountPO;
import com.mhd.basic.domain.expenseAccount.service.ExpenseAccountDomainService;
-import com.mhd.basic.interfaces.dto.contractManage.ContractManageDTO;
-import com.mhd.basic.interfaces.dto.contractManage.SubjectAndPriceDTO;
+import com.mhd.basic.interfaces.dto.contractManage.*;
import com.mhd.basic.interfaces.dto.contractManageDetail.ContractManageDetailDTO;
import com.mhd.common.core.domain.po.*;
import com.mhd.common.core.enums.DictCode;
@@ -44,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -129,6 +129,54 @@ public class ContractManageApplicationService {
return contractManageDomainService.queryList(contractManageDO);
}
+ public BigDecimal getAmount(List subjectAndPriceReturnList) {
+ if (subjectAndPriceReturnList == null || subjectAndPriceReturnList.size() == 1) {
+ SubjectAndPriceReturn subjectAndPriceReturn = subjectAndPriceReturnList.get(0);
+ Long billingRulesId = subjectAndPriceReturn.getBillingRulesId();
+ String name = subjectAndPriceReturn.getName();
+ BillingRulesPO billingRule = contractManageDetailMapper.getBillingRules(billingRulesId);
+ List billingParams = contractManageDetailMapper.getBillingParams(billingRulesId);
+ if (billingParams != null && billingParams.size() > 0) {
+ BillingParamsPO billingParam = billingParams.get(0);
+ String billingParamsJson = billingParam.getBillingParamsJson();
+ String preSetRules = billingParam.getPreSetRules();
+ List