From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能
---
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
index 6e043f5..d341301 100644
--- a/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
@@ -14,9 +14,7 @@
import java.math.BigDecimal;
import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
@Service("getReportOweFeeBMOImpl")
public class GetReportOweFeeBMOImpl implements IGetReportOweFeeBMO {
@@ -38,15 +36,62 @@
if (count > 0) {
reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportOweFees(reportOweFeeDto);
refreshReportOwe(reportOweFeeDtos, reportOweFeeDto.getConfigIds());
+ //鏌ヨ澶ц 鍚堣
+ dealTheOweFeeSumAmount(reportOweFeeDtos, reportOweFeeDto);
} else {
reportOweFeeDtos = new ArrayList<>();
}
-
+ //鎸夌収 amountOwed 闄嶅簭鎺掑垪
+ // reportOweFeeDtos.sort(Comparator.comparing(ReportOweFeeDto :: getAmountOwed).reversed());
+ Collections.sort(reportOweFeeDtos, new Comparator<ReportOweFeeDto>() {
+ @Override
+ public int compare(ReportOweFeeDto o1, ReportOweFeeDto o2) {
+ //闄嶅簭
+ return o2.getAmountOwed().compareTo(o1.getAmountOwed());
+ }
+ });
ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportOweFeeDto.getRow()), count, reportOweFeeDtos);
ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
return responseEntity;
+ }
+
+ /**
+ * 鏌ヨ澶ц 鎬绘瑺璐� 鍜� 鍚勪釜璐圭敤椤规�绘瑺璐�
+ *
+ * @param reportOweFeeDtos
+ * @param reportOweFeeDto
+ */
+ private void dealTheOweFeeSumAmount(List<ReportOweFeeDto> reportOweFeeDtos, ReportOweFeeDto reportOweFeeDto) {
+ if (reportOweFeeDtos == null || reportOweFeeDtos.size() < 1) {
+ return;
+ }
+ //鏌ヨ鎬昏
+ double totalAmount = 0.0;
+ if (reportOweFeeDto.getConfigIds() == null || reportOweFeeDto.getConfigIds().length < 1) {
+ totalAmount = reportOweFeeInnerServiceSMOImpl.computeReportOweFeeTotalAmount(reportOweFeeDto);
+ for (ReportOweFeeDto reportOweFeeDto1 : reportOweFeeDtos) {
+ reportOweFeeDto1.setTotalOweAmount(totalAmount);
+ }
+ return;
+ }
+
+ //璁$畻鍒嗛」鐨勭疮璁″��
+ List<ReportOweFeeItemDto> reportOweFeeItemDtos = reportOweFeeInnerServiceSMOImpl.computeReportOweFeeItemAmount(reportOweFeeDto);
+
+ if (reportOweFeeItemDtos == null || reportOweFeeItemDtos.size() < 1) {
+ return;
+ }
+ BigDecimal totalAmountDes = new BigDecimal(totalAmount);
+ for (ReportOweFeeItemDto tmpReportOweFeeItemDto : reportOweFeeItemDtos) {
+ totalAmountDes = totalAmountDes.add(new BigDecimal(tmpReportOweFeeItemDto.getTotalOweAmount())).setScale(2, BigDecimal.ROUND_HALF_UP);
+ }
+
+ for (ReportOweFeeDto reportOweFeeDto1 : reportOweFeeDtos) {
+ reportOweFeeDto1.setItemTotalOweAmounts(reportOweFeeItemDtos);
+ reportOweFeeDto1.setTotalOweAmount(totalAmountDes.doubleValue());
+ }
}
/**
@@ -142,10 +187,12 @@
List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByRoom(reportOwe);
reportOweFee.setOweId(reportOweFees.get(0).getOweId());
reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
+ reportOweFee.setOwnerTel(reportOweFees.get(0).getOwnerTel());
} else if (reportOweFee.getPayerObjType().equals("6666")) {
List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByCar(reportOwe);
reportOweFee.setOweId(reportOweFees.get(0).getOweId());
reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
+ reportOweFee.setOwnerTel(reportOweFees.get(0).getOwnerTel());
}
reportOweFeeDtos.add(reportOweFee);
}
@@ -153,6 +200,7 @@
dealItem(tmpReportOweFeeDto, reportOweFeeDtos);
}
+
if (configIds == null || configIds.length < 1) {
return;
}
--
Gitblit v1.8.0