From 0e0e1f080d4a986ca75cde7cf5d23b2f8539fb10 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 17 五月 2023 12:25:35 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java b/service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java
index e7dd2ee..8c3cc54 100644
--- a/service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java
@@ -69,6 +69,7 @@
 
     public void doGeneratorOrRefreshFeeMonth(FeeDto feeDto, String communityId) {
 
+
         //todo 璁$畻姣忔湀鍗曚环
         Double feePrice = payFeeMonthHelp.getMonthFeePrice(feeDto);
 
@@ -77,6 +78,7 @@
 
         //todo 绂绘暎start_time 鎴栬�� pay_fee_detail_month 鏈�澶ф湀浠� 鍒�  deadlineTime 鐨勬暟鎹�
         maxMonthDateToDeadlineTimeData(feeDto, payFeeMonthOwnerDto, feePrice);
+
 
     }
 
@@ -97,8 +99,10 @@
         if (payFeeDetailMonthDtos == null || payFeeDetailMonthDtos.size() < 1) {
             startTime = feeDto.getStartTime();
         } else {
-            startTime = DateUtil.getDateFromStringA(payFeeDetailMonthDtos.get(0).getCurMonthTime());
-
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(DateUtil.getDateFromStringA(payFeeDetailMonthDtos.get(0).getCurMonthTime()));
+            calendar.add(Calendar.MONTH, 1);
+            startTime = calendar.getTime();
         }
 
         // todo 鐢熸垚涓�娈垫椂闂村唴鐨勬暟鎹�
@@ -121,6 +125,7 @@
         //todo 鐢熸垚 鏈堢鏁f暟鎹�
         PayFeeDetailMonthPo tmpPayFeeDetailMonthPo;
         List<PayFeeDetailMonthPo> payFeeDetailMonthPos = new ArrayList<>();
+        double receivableAmount = 0.0;
         for (int month = 0; month < maxMonth; month++) {
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(startTime);
@@ -132,9 +137,17 @@
             tmpPayFeeDetailMonthPo.setDetailId(payFeeMonthHelp.getFeeDetailId(feeDetailDtos, calendar.getTime()));
             tmpPayFeeDetailMonthPo.setDetailYear(calendar.get(Calendar.YEAR) + "");
             tmpPayFeeDetailMonthPo.setDetailMonth((calendar.get(Calendar.MONTH) + 1) + "");
-            tmpPayFeeDetailMonthPo.setReceivableAmount(payFeeMonthHelp.getReceivableAmount(feeDetailDtos, feePrice, calendar.getTime(), feeDto) + "");
+            receivableAmount = payFeeMonthHelp.getReceivableAmount(feeDetailDtos, feePrice, calendar.getTime(), feeDto);
+            //todo 搴旀敹灏忎簬绛変簬0 涓嶇粺璁�
+            if(receivableAmount <=0){
+                continue;
+            }
+            tmpPayFeeDetailMonthPo.setReceivableAmount( receivableAmount + "");
             tmpPayFeeDetailMonthPo.setReceivedAmount(payFeeMonthHelp.getReceivedAmount(feeDetailDtos, feePrice, calendar.getTime(), feeDto) + "");
-            tmpPayFeeDetailMonthPo.setDiscountAmount(payFeeMonthHelp.getDiscountAmount(feePrice, Double.parseDouble(tmpPayFeeDetailMonthPo.getReceivedAmount()), calendar.getTime(), feeDto) + "");
+            tmpPayFeeDetailMonthPo.setDiscountAmount(
+                    payFeeMonthHelp.getDiscountAmount(Double.parseDouble(tmpPayFeeDetailMonthPo.getReceivableAmount()),
+                            Double.parseDouble(tmpPayFeeDetailMonthPo.getReceivedAmount()),
+                            calendar.getTime(), feeDto) + "");
             tmpPayFeeDetailMonthPo.setMonthId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_monthId));
             tmpPayFeeDetailMonthPo.setRemark("绋嬪簭璁$畻鐢熸垚");
             tmpPayFeeDetailMonthPo.setObjName(payFeeMonthOwnerDto.getObjName());
@@ -178,7 +191,7 @@
 
         //todo  姣忔鎸�200鏉″鐞�
         for (int pageIndex = 0; pageIndex < page; pageIndex++) {
-            feeDto.setPage(pageIndex * max + 1);
+            feeDto.setPage(pageIndex + 1);
             feeDto.setRow(max);
             List<FeeDto> tmpFeeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
             // 绂绘暎璐圭敤
@@ -228,6 +241,15 @@
         doGeneratorTimeMonthData(feeDto, payFeeMonthOwnerDto, feePrice, feeDetailDtos.get(0).getStartTime(), feeDetailDtos.get(0).getEndTime());
     }
 
+    @Override
+    public void deleteFeeMonth(String feeId, String communityId) {
+
+        PayFeeDetailMonthPo payFeeDetailMonthPo = new PayFeeDetailMonthPo();
+        payFeeDetailMonthPo.setFeeId(feeId);
+        payFeeDetailMonthPo.setCommunityId(communityId);
+        payFeeDetailMonthInnerServiceSMOImpl.deletePayFeeDetailMonth(payFeeDetailMonthPo);
+    }
+
     /**
      * 鍒犻櫎缂磋垂鑼冨洿鍐呯殑鏁版嵁
      *

--
Gitblit v1.8.0