From b5e47a74ad88c453bf82fb8b870b69ac9d45503f Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 06 八月 2021 16:08:51 +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 | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 205 insertions(+), 16 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
old mode 100644
new mode 100755
index 6706d60..69f646c
--- 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,8 +1,10 @@
package com.java110.report.bmo.reportFeeMonthStatistics.impl;
import com.alibaba.fastjson.JSONObject;
+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.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto;
import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO;
@@ -57,9 +59,18 @@
public ResponseEntity<String> queryReportFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryCount(reportFeeMonthStatisticsDto);
- List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
+ List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = new ArrayList<>();
if (count > 0) {
- reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummary(reportFeeMonthStatisticsDto);
+ List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummary(reportFeeMonthStatisticsDto);
+ for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsList) {
+ //鑾峰彇搴旀敹閲戦
+ double receivableAmount = Double.parseDouble(reportFeeMonthStatistics.getReceivableAmount());
+ //鑾峰彇瀹炴敹閲戦
+ double receivedAmount = Double.parseDouble(reportFeeMonthStatistics.getReceivedAmount());
+ double chargeRate = (receivedAmount / receivableAmount) * 100.0;
+ reportFeeMonthStatistics.setChargeRate(String.format("%.2f", chargeRate) + "%");
+ reportFeeMonthStatisticsDtos.add(reportFeeMonthStatistics);
+ }
} else {
reportFeeMonthStatisticsDtos = new ArrayList<>();
}
@@ -193,6 +204,7 @@
@Override
public ResponseEntity<String> queryPayFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+
JSONObject countInfo = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetailCount(reportFeeMonthStatisticsDto);
int count = Integer.parseInt(countInfo.get("count").toString());
@@ -279,9 +291,8 @@
totalPreferentialAmount = totalPreferentialAmount + discountPrice;
//浼樻儬閲戦
reportFeeMonthStatistics.setPreferentialAmount(reportFeeMonthStatistics.getDiscountPrice());
- }else{
+ } else {
reportFeeMonthStatistics.setPreferentialAmount("0");
-
}
//鍑忓厤閲戦
if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("2")) {
@@ -290,17 +301,17 @@
totalDeductionAmount = totalDeductionAmount + discountPrice;
//鍑忓厤閲戦
reportFeeMonthStatistics.setDeductionAmount(reportFeeMonthStatistics.getDiscountPrice());
- }else{
+ } else {
reportFeeMonthStatistics.setDeductionAmount("0");
}
//婊炵撼閲�
if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) {
//鑾峰彇婊炵撼閲戦噾棰�
- Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
+ Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())) * (-1);
totalLateFee = totalLateFee + discountPrice;
//婊炵撼閲�
reportFeeMonthStatistics.setLateFee(reportFeeMonthStatistics.getDiscountPrice());
- }else{
+ } else {
reportFeeMonthStatistics.setLateFee("0");
}
//绌虹疆鎴挎墦鎶�
@@ -310,7 +321,7 @@
totalVacantHousingDiscount = totalVacantHousingDiscount + discountPrice;
//绌虹疆鎴挎墦鎶�
reportFeeMonthStatistics.setVacantHousingDiscount(reportFeeMonthStatistics.getDiscountPrice());
- }else{
+ } else {
reportFeeMonthStatistics.setVacantHousingDiscount("0");
}
//绌虹疆鎴垮噺鍏�
@@ -320,22 +331,22 @@
totalVacantHousingReduction = totalVacantHousingReduction + discountPrice;
//绌虹疆鎴垮噺鍏�
reportFeeMonthStatistics.setVacantHousingReduction(reportFeeMonthStatistics.getDiscountPrice());
- }else{
+ } else {
reportFeeMonthStatistics.setVacantHousingReduction("0");
}
-
if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportFeeMonthStatistics.getPayerObjType())) {
reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getFloorNum()
+ "鏍�" + reportFeeMonthStatistics.getUnitNum()
+ "鍗曞厓" + reportFeeMonthStatistics.getRoomNum() + "瀹�");
- } else {
+ } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(reportFeeMonthStatistics.getPayerObjType())) {
reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getCarNum());
- }
+ } else {
+ reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getContractCode());
+ }
if (!StringUtil.isEmpty(reportFeeMonthStatistics.getImportFeeName())) {
reportFeeMonthStatistics.setFeeName(reportFeeMonthStatistics.getImportFeeName());
}
-
//璐圭敤椤圭洰
reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos);
reportList.add(reportFeeMonthStatistics);
@@ -373,9 +384,6 @@
reportList.addAll(reportFeeMonthStatisticsDtos);
reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto();
}
-
- /*FeeDetailResultVo resultVo = new FeeDetailResultVo(countInfo.getDouble("totalReceivableAmount"), countInfo.getDouble("totalReceivedAmount"),
- (int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList);*/
ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList, reportFeeMonthStatisticsTotalDto);
@@ -461,6 +469,187 @@
return responseEntity;
}
+ /**
+ * 鏌ヨ鎶ヨ〃涓撳 缁熻淇℃伅
+ *
+ * @param reportFeeMonthStatisticsDto
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> queryReportProficientCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+ JSONObject result = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto);
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(result.toString(), HttpStatus.OK);
+
+ return responseEntity;
+ }
+
+ /**
+ * 鏌ヨ鎶ヤ慨淇℃伅
+ *
+ * @param repairUserDto
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> queryRepair(RepairUserDto repairUserDto) {
+ //鏌ヨ鍛樺伐鎶ヤ慨琛ㄥ憳宸ヤ俊鎭�
+ List<RepairUserDto> repairUsers = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+ int count = repairUsers.size();
+ //鑾峰彇鍛樺伐id鍜屽鍚嶉泦鍚�
+ List<RepairUserDto> staffs;
+ if (StringUtil.isEmpty(repairUserDto.getStaffId())) {
+ repairUserDto.setPage(-1);
+ staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+ } else {
+ repairUserDto.setPage(-1);
+ repairUserDto.setStaffId(null);
+ staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto);
+ }
+ List<RepairUserDto> repairUserList = new ArrayList<>();
+ //澶勭悊涓�绘暟閲�
+ int dealNumber = 0;
+ //缁撳崟鎬绘暟閲�
+ int statementNumber = 0;
+ //閫�鍗曟�绘暟閲�
+ int chargebackNumber = 0;
+ //杞崟鎬绘暟閲�
+ int transferOrderNumber = 0;
+ //娲惧崟鎬绘暟閲�
+ int dispatchNumber = 0;
+ //宸插洖璁挎�绘暟閲�
+ int returnNumber = 0;
+ if (count > 0) {
+ for (RepairUserDto repairUser : repairUsers) {
+ RepairUserDto repairUserInfo = new RepairUserDto();
+ //鍛樺伐id
+ repairUserDto.setStaffId(repairUser.getStaffId());
+ List<RepairUserDto> repairUserDtoList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairWithOutPage(repairUserDto);
+ if (repairUserDtoList != null && repairUserDtoList.size() > 0) {
+ //澶勭悊涓暟閲�
+ int dealAmount = 0;
+ //缁撳崟鏁伴噺
+ int statementAmount = 0;
+ //閫�鍗曟暟閲�
+ int chargebackAmount = 0;
+ //杞崟鏁伴噺
+ int transferOrderAmount = 0;
+ //娲惧崟鏁伴噺
+ int dispatchAmount = 0;
+ //鍥炶鏁伴噺
+ int returnAmount = 0;
+ //璇勫垎
+ String score = "";
+ for (RepairUserDto repair : repairUserDtoList) {
+ //澶勭悊涓姸鎬�
+ if (repair.getState().equals("10001")) {
+ //鑾峰彇鏁伴噺
+ int amount = Integer.parseInt(repair.getAmount());
+ dealAmount = dealAmount + amount;
+ } else if (repair.getState().equals("10002")) { //缁撳崟鐘舵��
+ //鑾峰彇鏁伴噺
+ int amount = Integer.parseInt(repair.getAmount());
+ statementAmount = statementAmount + amount;
+ } else if (repair.getState().equals("10003")) { //閫�鍗曠姸鎬�
+ //鑾峰彇鏁伴噺
+ int amount = Integer.parseInt(repair.getAmount());
+ chargebackAmount = chargebackAmount + amount;
+ } else if (repair.getState().equals("10004")) { //杞崟鐘舵��
+ //鑾峰彇鏁伴噺
+ int amount = Integer.parseInt(repair.getAmount());
+ transferOrderAmount = transferOrderAmount + amount;
+ } else if (repair.getState().equals("10006")) { //娲惧崟鐘舵��
+ int amount = Integer.parseInt(repair.getAmount());
+ dispatchAmount = dispatchAmount + amount;
+ } else if (repair.getState().equals("10008")) { //宸插洖璁跨姸鎬�
+ int amount = Integer.parseInt(repair.getAmount());
+ returnAmount = returnAmount + amount;
+ }
+ if (!StringUtil.isEmpty(repair.getScore())) {
+ score = repair.getScore();
+ }
+ }
+ //鍛樺伐id
+ repairUserInfo.setStaffId(repairUser.getStaffId());
+ //鍛樺伐濮撳悕
+ repairUserInfo.setStaffName(repairUser.getStaffName());
+ //澶勭悊涓姤淇暟閲�
+ repairUserInfo.setDealAmount(Integer.toString(dealAmount));
+ //澶勭悊涓姤淇�绘暟閲�
+ repairUserInfo.setDealNumber(Integer.toString(dealNumber));
+ //缁撳崟鎶ヤ慨鏁伴噺
+ repairUserInfo.setStatementAmount(Integer.toString(statementAmount));
+ //缁撳崟鎶ヤ慨鎬绘暟閲�
+ repairUserInfo.setStatementNumber(Integer.toString(statementNumber));
+ //閫�鍗曟姤淇暟閲�
+ repairUserInfo.setChargebackAmount(Integer.toString(chargebackAmount));
+ //閫�鍗曟姤淇�绘暟閲�
+ repairUserInfo.setChargebackNumber(Integer.toString(chargebackNumber));
+ //杞崟鎶ヤ慨鏁伴噺
+ repairUserInfo.setTransferOrderAmount(Integer.toString(transferOrderAmount));
+ //杞崟鎶ヤ慨鎬绘暟閲�
+ repairUserInfo.setTransferOrderNumber(Integer.toString(transferOrderNumber));
+ //娲惧崟鎶ヤ慨鏁伴噺
+ repairUserInfo.setDispatchAmount(Integer.toString(dispatchAmount));
+ //娲惧崟鎶ヤ慨鎬绘暟閲�
+ repairUserInfo.setDispatchNumber(Integer.toString(dispatchNumber));
+ //鍥炶鏁伴噺
+ repairUserInfo.setReturnAmount(Integer.toString(returnAmount));
+ //鍥炶鎬绘暟閲�
+ repairUserInfo.setReturnNumber(Integer.toString(returnNumber));
+ //鍛樺伐id鍜屽鍚嶄俊鎭泦鍚�
+ repairUserInfo.setRepairList(staffs);
+ //鍛樺伐璇勫垎
+ repairUserInfo.setScore(score);
+ repairUserList.add(repairUserInfo);
+ } else {
+ continue;
+ }
+ dealNumber = Integer.parseInt(repairUserInfo.getDealAmount()) + dealNumber;
+ statementNumber = Integer.parseInt(repairUserInfo.getStatementAmount()) + statementNumber;
+ chargebackNumber = Integer.parseInt(repairUserInfo.getChargebackAmount()) + chargebackNumber;
+ transferOrderNumber = Integer.parseInt(repairUserInfo.getTransferOrderAmount()) + transferOrderNumber;
+ dispatchNumber = Integer.parseInt(repairUserInfo.getDispatchAmount()) + dispatchNumber;
+ returnNumber = Integer.parseInt(repairUserInfo.getReturnAmount()) + returnNumber;
+ }
+ } else {
+ repairUserList = new ArrayList<>();
+ }
+
+ RepairUserDto repairUser = new RepairUserDto();
+ repairUser.setDealNumber(Integer.toString(dealNumber));
+ repairUser.setStatementNumber(Integer.toString(statementNumber));
+ repairUser.setChargebackNumber(Integer.toString(chargebackNumber));
+ repairUser.setTransferOrderNumber(Integer.toString(transferOrderNumber));
+ repairUser.setDispatchNumber(Integer.toString(dispatchNumber));
+ repairUser.setReturnNumber(Integer.toString(returnNumber));
+
+ //鑾峰彇鎬绘潯鏁�
+ int size = staffs.size();
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) repairUserDto.getRow()), repairUserList.size(), repairUserList, staffs, repairUser);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+ return responseEntity;
+ }
+
+ @Override
+ public ResponseEntity<String> queryNoFeeRooms(RoomDto roomDto) {
+ int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRoomsCount(roomDto);
+
+ List<RoomDto> roomDtos = null;
+ if (count > 0) {
+ roomDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRooms(roomDto);
+ } else {
+ roomDtos = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) roomDto.getRow()), count, roomDtos);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+ return responseEntity;
+ }
+
@Override
public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
--
Gitblit v1.8.0