From 22e8a676ee42c0d78b3526bcd9a635abbe8dca03 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 28 六月 2022 11:28:21 +0800
Subject: [PATCH] 优化databus bug
---
service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java
index 0685c30..30c13dc 100755
--- a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java
@@ -71,6 +71,9 @@
Assert.hasLength(communityId, "鏈寘鍚皬鍖轰俊鎭�");
+ //杩欓噷澶勭悊 鎶ヨ〃涓殑璐圭敤鏄惁琚汉涓� 鍙栨秷 鎴栬�呰垂鐢ㄩ」鏄惁琚垹闄わ紝杩欑鏁版嵁 鎶ヨ〃涓仛娓呯悊锛屼互闃插奖鍝� 鎶ヨ〃鐨勫噯纭害
+ feeDataFiltering(communityId);
+
//澶勭悊鎴垮眿璐圭敤
dealRoomFee(reportFeeMonthStatisticsPo);
@@ -79,6 +82,12 @@
//澶勭悊缂磋垂缁撴潫鐨勬儏鍐�
dealFinishFee(communityId);
+ }
+
+ private void feeDataFiltering(String communityId) {
+ Map reportFeeDto = new HashMap();
+ reportFeeDto.put("communityId", communityId);
+ reportFeeMonthStatisticsServiceDaoImpl.deleteInvalidFee(reportFeeDto);
}
private void dealFinishFee(String communityId) {
@@ -776,6 +785,11 @@
}
Date endTime = ownerCarDtos.get(0).getEndTime();
+ Date maxEndDate = tmpReportFeeDto.getDeadlineTime();
+ if(FeeDto.FEE_FLAG_CYCLE.equals(tmpReportFeeDto.getFeeFlag())){
+ maxEndDate = tmpReportFeeDto.getConfigEndTime();
+ }
+
//1.0 璐圭敤鍒版湡鏃堕棿鍜岃垂鐢ㄧ粨鏉熸椂闂� 閮戒笉鍦ㄥ綋鏈�
if (!belongCurMonth(tmpReportFeeDto.getEndTime())
&& !belongCurMonth(endTime)
@@ -795,7 +809,7 @@
if (!belongCurMonth(tmpReportFeeDto.getEndTime())
&& belongCurMonth(endTime)) {
//绠楀ぉ鏁�
- double month = computeFeeSMOImpl.dayCompare(DateUtil.getFirstDate(), tmpReportFeeDto.getConfigEndTime());
+ double month = computeFeeSMOImpl.dayCompare(DateUtil.getFirstDate(), maxEndDate);
BigDecimal curDegree = new BigDecimal(month);
return curDegree.multiply(feePriceDec).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
}
@@ -841,16 +855,21 @@
return computeOnceFee(tmpReportFeeDto);
}
+ Date maxEndDate = tmpReportFeeDto.getDeadlineTime();
+ if(FeeDto.FEE_FLAG_CYCLE.equals(tmpReportFeeDto.getFeeFlag())){
+ maxEndDate = tmpReportFeeDto.getConfigEndTime();
+ }
+
//1.0 璐圭敤鍒版湡鏃堕棿鍜岃垂鐢ㄧ粨鏉熸椂闂� 閮戒笉鍦ㄥ綋鏈�
if (!belongCurMonth(tmpReportFeeDto.getEndTime())
- && !belongCurMonth(tmpReportFeeDto.getConfigEndTime())
+ && !belongCurMonth(maxEndDate)
&& tmpReportFeeDto.getEndTime().getTime() < DateUtil.getFirstDate().getTime()) {
return feePrice;
}
//2.0 璐圭敤鍒版湡鏃堕棿 鍦ㄥ綋鏈堬紝璐圭敤缁撴潫鏃堕棿涓嶅湪褰撴湀
if (belongCurMonth(tmpReportFeeDto.getEndTime())
- && !belongCurMonth(tmpReportFeeDto.getConfigEndTime())) {
+ && !belongCurMonth(maxEndDate)) {
//绠楀ぉ鏁�
double month = computeFeeSMOImpl.dayCompare(tmpReportFeeDto.getEndTime(), DateUtil.getNextMonthFirstDate());
BigDecimal curDegree = new BigDecimal(month);
@@ -858,9 +877,9 @@
}
//3.0 璐圭敤鍒版湡鏃堕棿 涓嶅湪褰撴湀锛岃垂鐢ㄧ粨鏉熸椂闂村湪褰撴湀
if (!belongCurMonth(tmpReportFeeDto.getEndTime())
- && belongCurMonth(tmpReportFeeDto.getConfigEndTime())) {
+ && belongCurMonth(maxEndDate)) {
//绠楀ぉ鏁�
- double month = computeFeeSMOImpl.dayCompare(DateUtil.getFirstDate(), tmpReportFeeDto.getConfigEndTime());
+ double month = computeFeeSMOImpl.dayCompare(DateUtil.getFirstDate(), maxEndDate);
BigDecimal curDegree = new BigDecimal(month);
return curDegree.multiply(feePriceDec).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
}
--
Gitblit v1.8.0