From 4356029f74f35f4df426f223e1c774f4912984a6 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 26 二月 2024 22:44:24 +0800
Subject: [PATCH] 优化结束时间
---
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 insertions(+), 1 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
index 37fd766..b4ed3cf 100755
--- a/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
+++ b/java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java
@@ -117,6 +117,46 @@
computeFeePrice(tmpFeeDto, roomDto);
}
+ /**
+ * 璁惧畾缁撴潫鏃堕棿
+ *
+ * @param feeDto
+ * @param targetEndTime
+ */
+ @Override
+ public void computeEveryOweFeeByTargetEndTime(FeeDto feeDto, String targetEndTime) {
+
+ Date targetEndDate = DateUtil.getDateFromStringB(targetEndTime);
+ double oweMonth = 1.0;
+ if (feeDto.getEndTime().getTime() > targetEndDate.getTime()) {
+ targetEndDate = feeDto.getEndTime();
+ }
+ if (feeDto.getEndTime().getTime() < targetEndDate.getTime()) {
+ // 鐩爣鍒版湡鏃堕棿 - 鍒版湡鏃堕棿 = 娆犺垂鏈堜唤
+ oweMonth = DateUtil.dayCompare(feeDto.getEndTime(), targetEndDate);
+ }
+
+ String computingFormula = feeDto.getComputingFormula();
+ Map feePriceAll = getFeePrice(feeDto, null);
+ feeDto.setFeePrice(Double.parseDouble(feePriceAll.get("feePrice").toString()));
+
+ BigDecimal price = new BigDecimal(feeDto.getFeePrice());
+ price = price.multiply(new BigDecimal(oweMonth));
+ feeDto.setFeeTotalPrice(price.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+ feeDto.setDeadlineTime(targetEndDate);
+
+ //鍔ㄦ�佽垂鐢�
+ if ("4004".equals(computingFormula)
+ && FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())
+ && !FeeDto.STATE_FINISH.equals(feeDto.getState())) {
+ feeDto.setAmountOwed(feeDto.getFeeTotalPrice() + "");
+ //feeDto.setDeadlineTime(DateUtil.getCurrentDate()); 娆犺垂鏃ユ湡涓嶅鍏堟敞閲�
+ }
+
+ //todo 鑰冭檻绉熼噾閫掑
+ dealRentRate(feeDto);
+ }
+
/**
* 璁$畻娆犺垂閲戦
@@ -2144,7 +2184,6 @@
// todo 鏈�澶у懆鏈�
double maxCycle = Math.ceil(rateMonth / rateCycle);
-
// todo 澧為暱鍓嶇殑娆犺垂
--
Gitblit v1.8.0