From 4dbf61c9189796ec46d39ac4b839cfc064e70411 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 12 八月 2021 16:11:16 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 114 insertions(+), 1 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
index 69f646c..4bcd365 100755
--- a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
@@ -1,14 +1,18 @@
package com.java110.report.bmo.reportFeeMonthStatistics.impl;
import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.PageDto;
import com.java110.dto.RoomDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.repair.RepairUserDto;
+import com.java110.dto.report.ReportDeposit;
import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO;
import com.java110.report.bmo.reportFeeMonthStatistics.IGetReportFeeMonthStatisticsBMO;
+import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
@@ -19,9 +23,11 @@
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
@Service("getReportFeeMonthStatisticsBMOImpl")
@@ -31,6 +37,9 @@
@Autowired
private IReportFeeMonthStatisticsInnerServiceSMO reportFeeMonthStatisticsInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
/**
* @param reportFeeMonthStatisticsDto
@@ -230,9 +239,17 @@
Double allVacantHousingDiscount = 0.0;
//绌虹疆鎴垮噺鍏�(澶ц)
Double allVacantHousingReduction = 0.0;
+ int size = 0;
if (count > 0) {
//鏌ヨ缂磋垂鏄庣粏
reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto);
+ if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
+ //鏌ヨ鎵�鏈夌即璐规槑缁嗚褰�
+ ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 = BeanConvertUtil.covertBean(reportFeeMonthStatisticsDto, ReportFeeMonthStatisticsDto.class);
+ reportFeeMonthStatisticsDto1.setPage(PageDto.DEFAULT_PAGE);
+ List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos1 = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto1);
+ size = reportFeeMonthStatisticsDtos1.size();
+ }
//鏌ヨ搴旀敹銆佸疄鏀舵�婚噾棰�(澶ц)
List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryAllPayFeeDetail(reportFeeMonthStatisticsDto);
//鏌ヨ(浼樻儬銆佸噺鍏嶃�佹粸绾抽噾銆佺┖缃埧鎵撴姌銆佺┖缃埧鍑忓厤閲戦绛�)澶ц鎬婚噾棰�
@@ -385,7 +402,7 @@
reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto();
}
- ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList, reportFeeMonthStatisticsTotalDto);
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) reportFeeMonthStatisticsDto.getRow()), size, reportList, reportFeeMonthStatisticsTotalDto);
ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
@@ -651,6 +668,102 @@
}
@Override
+ public ResponseEntity<String> queryPayFeeDeposit(ReportDeposit reportDeposit) {
+ //鏌ヨ鎶奸噾
+ List<ReportDeposit> reportDeposits = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDeposit(reportDeposit);
+ //鏌ヨ鎶奸噾閫�璐规�婚噾棰�
+ List<ReportDeposit> reportDepositAmounts = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDepositAmount(reportDeposit);
+
+ //鏌ヨ鎶奸噾璐圭敤椤�
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setCommunityId(reportDeposit.getCommunityId());
+ feeConfigDto.setFeeTypeCd("888800010006");
+ List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+
+ List<ReportDeposit> newReportDeposits = new ArrayList<>();
+ BigDecimal unpaidfeeAmount = new BigDecimal(0);//鏈氦璐�
+ BigDecimal unpaidfeeAmounts = new BigDecimal(0);//鏈即璐规�婚噾棰�
+ BigDecimal paidfeeAmount = new BigDecimal(0);//宸茬即璐�
+ BigDecimal paidfeeAmounts = new BigDecimal(0);//宸茬即璐规�婚噾棰�
+ BigDecimal refundedAmount = new BigDecimal(0);//宸查��璐�
+ BigDecimal refundedAmounts = new BigDecimal(0);//宸查��璐规�婚噾棰�
+ BigDecimal refundInProgressAmount = new BigDecimal(0); //閫�璐逛腑
+ BigDecimal refundInProgressAmounts = new BigDecimal(0);//閫�璐逛腑鎬婚噾棰�
+ BigDecimal refundFailedAmount = new BigDecimal(0); //閫�璐瑰け璐�
+ BigDecimal refundFailedAmounts = new BigDecimal(0);//閫�璐瑰け璐ユ�婚噾棰�
+ for (ReportDeposit deposit : reportDeposits) {
+ deposit.setFeeConfigDtos(feeConfigDtos);
+ newReportDeposits.add(deposit);
+ if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(deposit.getPayerObjType())) {
+ deposit.setObjName(deposit.getFloorNum()
+ + "鏍�" + deposit.getUnitNum()
+ + "鍗曞厓" + deposit.getRoomNum() + "瀹�");
+ } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(deposit.getPayerObjType())) {
+ deposit.setObjName(deposit.getCarNum());
+ }
+ //鏀惰垂涓紙鏈氦璐癸級
+ if ("2008001".equals(deposit.getState())) {
+ unpaidfeeAmount = unpaidfeeAmount.add(new BigDecimal(deposit.getAdditionalAmount()));
+ }
+ //鏀惰垂缁撴潫锛堝凡鏀惰垂锛�
+ if ("2009001".equals(deposit.getState()) && !StringUtil.isEmpty(deposit.getDetailState()) && "1400".equals(deposit.getDetailState())) {
+ paidfeeAmount = paidfeeAmount.add(new BigDecimal(deposit.getAdditionalAmount()));
+ }
+ if (!StringUtil.isEmpty(deposit.getDetailState()) && "1100".equals(deposit.getDetailState())) {//宸查��璐�
+ refundedAmount = refundedAmount.add(new BigDecimal(deposit.getAdditionalAmount()));
+ }
+ if (!StringUtil.isEmpty(deposit.getDetailState()) && "1000".equals(deposit.getDetailState())) {//閫�璐逛腑
+ refundInProgressAmount = refundInProgressAmount.add(new BigDecimal(deposit.getAdditionalAmount()));
+ }
+ if (!StringUtil.isEmpty(deposit.getDetailState()) && "1200".equals(deposit.getDetailState())) {//閫�璐瑰け璐�
+ refundFailedAmount = refundFailedAmount.add(new BigDecimal(deposit.getAdditionalAmount()));
+ }
+ }
+ for (ReportDeposit reportDeposit1 : reportDepositAmounts) {
+ if (StringUtil.isEmpty(reportDeposit1.getAllAmount())) {
+ throw new IllegalArgumentException("鏌ヨ鎬婚噾棰濋敊璇紒");
+ }
+ //鑾峰彇鎬婚噾棰�
+ BigDecimal bd = new BigDecimal(reportDeposit1.getAllAmount());
+ if (StringUtil.isEmpty(reportDeposit1.getDetailState())) { //鑾峰彇鏈即璐规�婚噾棰�
+ unpaidfeeAmounts = bd;
+ } else if (reportDeposit1.getDetailState().equals("1000")) { //鑾峰彇閫�璐逛腑鎬婚噾棰�
+ refundInProgressAmounts = bd;
+ } else if (reportDeposit1.getDetailState().equals("1100")) { //鑾峰彇宸查��璐规�婚噾棰�
+ refundedAmounts = bd;
+ } else if (reportDeposit1.getDetailState().equals("1200")) { //鑾峰彇閫�璐瑰け璐ユ�婚噾棰�
+ refundFailedAmounts = bd;
+ } else if (reportDeposit1.getDetailState().equals("1400")) { //鑾峰彇宸茬即璐规�婚噾棰�
+ paidfeeAmounts = bd;
+ }
+ }
+ HashMap<String, String> mp = new HashMap<>();
+ mp.put("unpaidfeeAmount", unpaidfeeAmount.toString());
+ mp.put("paidfeeAmount", paidfeeAmount.toString());
+ mp.put("refundedAmount", refundedAmount.toString());
+ mp.put("refundInProgressAmount", refundInProgressAmount.toString());
+ mp.put("refundFailedAmount", refundFailedAmount.toString());
+ mp.put("unpaidfeeAmounts", unpaidfeeAmounts.toString());
+ mp.put("paidfeeAmounts", paidfeeAmounts.toString());
+ mp.put("refundedAmounts", refundedAmounts.toString());
+ mp.put("refundInProgressAmounts", refundInProgressAmounts.toString());
+ mp.put("refundFailedAmounts", refundFailedAmounts.toString());
+ int size = 0;
+ if (newReportDeposits != null && newReportDeposits.size() > 0) {
+ //鏌ヨ鎵�鏈夋潯鏁�
+ reportDeposit.setPage(PageDto.DEFAULT_PAGE);
+ List<ReportDeposit> reportDeposits1 = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDeposit(reportDeposit);
+ size = reportDeposits1.size();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) reportDeposit.getRow()), size, newReportDeposits, mp);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+ return responseEntity;
+ }
+
+ @Override
public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPrePaymentNewCount(reportFeeMonthStatisticsDto);
--
Gitblit v1.8.0