From 38b7741d060048ebfd7be48cbc5980eeaeba287b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 16 六月 2021 19:10:12 +0800
Subject: [PATCH] 加入抄表动态单价功能
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 42 ++++++++++++++++++++++++++++++++----------
1 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
index 6de3842..85b4efe 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -31,12 +31,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@Service
public class QueryOweFeeImpl implements IQueryOweFee {
@@ -187,8 +182,8 @@
int threadNum = Java110ThreadPoolFactory.JAVA110_DEFAULT_THREAD_NUM;
tempRooms.addAll(doGetTmpRoomDto(roomDtos, feeDto, threadNum));
- for(RoomDto tmpRoomDto:tempRooms){
- if(tmpRoomDto == null){
+ for (RoomDto tmpRoomDto : tempRooms) {
+ if (tmpRoomDto == null) {
continue;
}
tmpRoomDtos.add(tmpRoomDto);
@@ -422,6 +417,19 @@
.add(additionalAmount)
.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
}
+ } else if ("9009".equals(computingFormula)) { //(鏈湡搴︽暟-涓婃湡搴︽暟)*鍔ㄦ�佸崟浠�+闄勫姞璐�
+ if (StringUtil.isEmpty(feeDto.getCurDegrees())) {
+ feePrice = -1.00;
+ } else {
+ BigDecimal curDegree = new BigDecimal(Double.parseDouble(feeDto.getCurDegrees()));
+ BigDecimal preDegree = new BigDecimal(Double.parseDouble(feeDto.getPreDegrees()));
+ BigDecimal squarePrice = new BigDecimal(Double.parseDouble(feeDto.getMwPrice()));
+ BigDecimal additionalAmount = new BigDecimal(Double.parseDouble(feeDto.getAdditionalAmount()));
+ BigDecimal sub = curDegree.subtract(preDegree);
+ feePrice = sub.multiply(squarePrice)
+ .add(additionalAmount)
+ .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+ }
} else {
feePrice = 0.00;
}
@@ -521,6 +529,20 @@
.add(additionalAmount)
.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
}
+ } else if ("9009".equals(computingFormula)) {
+
+ if (StringUtil.isEmpty(feeDto.getCurDegrees())) {
+ feePrice = -1.00;
+ } else {
+ BigDecimal curDegree = new BigDecimal(Double.parseDouble(feeDto.getCurDegrees()));
+ BigDecimal preDegree = new BigDecimal(Double.parseDouble(feeDto.getPreDegrees()));
+ BigDecimal squarePrice = new BigDecimal(Double.parseDouble(feeDto.getMwPrice()));
+ BigDecimal additionalAmount = new BigDecimal(Double.parseDouble(feeDto.getAdditionalAmount()));
+ BigDecimal sub = curDegree.subtract(preDegree);
+ feePrice = sub.multiply(squarePrice)
+ .add(additionalAmount)
+ .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+ }
} else {
feePrice = 0.00;
}
@@ -581,9 +603,9 @@
return targetEndDateAndOweMonth;
}
if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
- if(feeDto.getDeadlineTime() != null){
+ if (feeDto.getDeadlineTime() != null) {
targetEndDate = feeDto.getDeadlineTime();
- }else if(!StringUtil.isEmpty(feeDto.getCurDegrees())) {
+ } else if (!StringUtil.isEmpty(feeDto.getCurDegrees())) {
targetEndDate = feeDto.getCurReadingTime();
} else if (feeDto.getImportFeeEndTime() == null) {
targetEndDate = feeDto.getConfigEndTime();
--
Gitblit v1.8.0