From 2926d12eb0cc5f4490325fded6d35a91d8d76e77 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 12 十一月 2021 11:15:34 +0800
Subject: [PATCH] 优化代码
---
service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 106 insertions(+), 2 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java b/service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java
old mode 100644
new mode 100755
index 58179cc..9d4ec84
--- a/service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java
@@ -4,6 +4,8 @@
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.reportFeeYearCollection.ReportFeeYearCollectionDto;
+import com.java110.dto.reportFeeYearCollectionDetail.ReportFeeYearCollectionDetailDto;
+import com.java110.intf.report.IReportFeeYearCollectionDetailInnerServiceSMO;
import com.java110.intf.report.IReportFeeYearCollectionInnerServiceSMO;
import com.java110.po.reportFeeYearCollection.ReportFeeYearCollectionPo;
import com.java110.report.dao.IReportFeeYearCollectionServiceDao;
@@ -12,7 +14,9 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* @ClassName FloorInnerServiceSMOImpl
@@ -27,6 +31,9 @@
@Autowired
private IReportFeeYearCollectionServiceDao reportFeeYearCollectionServiceDaoImpl;
+
+ @Autowired
+ private IReportFeeYearCollectionDetailInnerServiceSMO reportFeeYearCollectionDetailInnerServiceSMOImpl;
@Override
@@ -47,7 +54,7 @@
public int deleteReportFeeYearCollection(@RequestBody ReportFeeYearCollectionPo reportFeeYearCollectionPo) {
int saveFlag = 1;
reportFeeYearCollectionPo.setStatusCd("1");
- reportFeeYearCollectionServiceDaoImpl.updateReportFeeYearCollectionInfo(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionPo));
+ reportFeeYearCollectionServiceDaoImpl.deleteReportFeeYearCollectionInfo(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionPo));
return saveFlag;
}
@@ -57,14 +64,101 @@
//鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
int page = reportFeeYearCollectionDto.getPage();
+ List<ReportFeeYearCollectionDto> reportFeeYearCollections = null;
+
+ //涓嶅垎椤电洿鎺ユ煡鍏ㄩ噺鏁版嵁
+ if (reportFeeYearCollectionDto.getRow() > 10000) {
+ List<Map> reportFeeYearCollectionMaps =
+ reportFeeYearCollectionServiceDaoImpl.getReportFeeYearCollectionInfos(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionDto));
+
+ reportFeeYearCollections = doCreateReportFeeYearCollections(reportFeeYearCollectionMaps);
+ return reportFeeYearCollections;
+ }
if (page != PageDto.DEFAULT_PAGE) {
reportFeeYearCollectionDto.setPage((page - 1) * reportFeeYearCollectionDto.getRow());
}
- List<ReportFeeYearCollectionDto> reportFeeYearCollections = BeanConvertUtil.covertBeanList(reportFeeYearCollectionServiceDaoImpl.getReportFeeYearCollectionInfo(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionDto)), ReportFeeYearCollectionDto.class);
+ reportFeeYearCollections = BeanConvertUtil.covertBeanList(reportFeeYearCollectionServiceDaoImpl.getReportFeeYearCollectionInfo(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionDto)), ReportFeeYearCollectionDto.class);
+ freshDetails(reportFeeYearCollections);
return reportFeeYearCollections;
+ }
+
+ /**
+ * 鍒涘缓瀵硅薄
+ *
+ * @param reportFeeYearCollectionMaps
+ * @return
+ */
+ private List<ReportFeeYearCollectionDto> doCreateReportFeeYearCollections(List<Map> reportFeeYearCollectionMaps) {
+ List<ReportFeeYearCollectionDto> reportFeeYearCollectionDtos = new ArrayList<>();
+ ReportFeeYearCollectionDto reportFeeYearCollectionDto = null;
+
+ for (Map reportFeeYearCollectionMap : reportFeeYearCollectionMaps) {
+ if (!hasReportFeeYearCollectionDto(reportFeeYearCollectionMap, reportFeeYearCollectionDtos)) {
+ reportFeeYearCollectionDto = BeanConvertUtil.covertBean(reportFeeYearCollectionMap, ReportFeeYearCollectionDto.class);
+ reportFeeYearCollectionDtos.add(reportFeeYearCollectionDto);
+ }
+ }
+ List<ReportFeeYearCollectionDetailDto> reportFeeYearCollectionDetailDtos = null;
+ ReportFeeYearCollectionDetailDto reportFeeYearCollectionDetailDto = null;
+ for (ReportFeeYearCollectionDto tmpReportFeeYearCollectionDto : reportFeeYearCollectionDtos) {
+ reportFeeYearCollectionDetailDtos = new ArrayList<>();
+ for (Map reportFeeYearCollectionMap : reportFeeYearCollectionMaps) {
+ if (tmpReportFeeYearCollectionDto.getCollectionId().equals(reportFeeYearCollectionMap.get("collectionId"))) {
+ reportFeeYearCollectionDetailDto = BeanConvertUtil.covertBean(reportFeeYearCollectionMap, ReportFeeYearCollectionDetailDto.class);
+ reportFeeYearCollectionDetailDtos.add(reportFeeYearCollectionDetailDto);
+ }
+ }
+ tmpReportFeeYearCollectionDto.setReportFeeYearCollectionDetailDtos(reportFeeYearCollectionDetailDtos);
+ }
+
+ return reportFeeYearCollectionDtos;
+ }
+
+ private boolean hasReportFeeYearCollectionDto(Map reportFeeYearCollectionMap, List<ReportFeeYearCollectionDto> reportFeeYearCollectionDtos) {
+
+ for (ReportFeeYearCollectionDto reportFeeYearCollectionDto : reportFeeYearCollectionDtos) {
+ if (reportFeeYearCollectionDto.getCollectionId().equals(reportFeeYearCollectionMap.get("collectionId"))) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private void freshDetails(List<ReportFeeYearCollectionDto> reportFeeYearCollections) {
+ if (reportFeeYearCollections == null || reportFeeYearCollections.size() < 1 || reportFeeYearCollections.size() > 20) {
+ return;
+ }
+
+ List<String> collectionIds = new ArrayList<>();
+ for (ReportFeeYearCollectionDto reportFeeYearCollectionDto : reportFeeYearCollections) {
+ collectionIds.add(reportFeeYearCollectionDto.getCollectionId());
+ }
+ ReportFeeYearCollectionDetailDto reportFeeYearCollectionDetailDto = new ReportFeeYearCollectionDetailDto();
+ reportFeeYearCollectionDetailDto.setCommunityId(reportFeeYearCollections.get(0).getCommunityId());
+ reportFeeYearCollectionDetailDto.setCollectionIds(collectionIds.toArray(new String[collectionIds.size()]));
+ List<ReportFeeYearCollectionDetailDto> reportFeeYearCollectionDetailDtos
+ = reportFeeYearCollectionDetailInnerServiceSMOImpl.queryReportFeeYearCollectionDetails(reportFeeYearCollectionDetailDto);
+
+ List<ReportFeeYearCollectionDetailDto> tmpReportFeeYearCollectionDetailDtos = null;
+ //寰幆 涓昏〃
+ for (ReportFeeYearCollectionDto reportFeeYearCollectionDto : reportFeeYearCollections) {
+ tmpReportFeeYearCollectionDetailDtos = new ArrayList<>();
+ for (ReportFeeYearCollectionDetailDto tmpReportFeeYearCollectionDetailDto : reportFeeYearCollectionDetailDtos) {
+ if (reportFeeYearCollectionDto.getCollectionId().equals(tmpReportFeeYearCollectionDetailDto.getCollectionId())) {
+ tmpReportFeeYearCollectionDetailDtos.add(tmpReportFeeYearCollectionDetailDto);
+ }
+ }
+ if (tmpReportFeeYearCollectionDetailDtos.size() > 0) {
+ reportFeeYearCollectionDto.setReceivableAmount(tmpReportFeeYearCollectionDetailDtos.get(0).getReceivableAmount());
+ } else {
+ reportFeeYearCollectionDto.setReceivableAmount("0");
+ }
+ reportFeeYearCollectionDto.setReportFeeYearCollectionDetailDtos(tmpReportFeeYearCollectionDetailDtos);
+ }
}
@@ -73,6 +167,16 @@
return reportFeeYearCollectionServiceDaoImpl.queryReportFeeYearCollectionsCount(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionDto));
}
+ @Override
+ public List<Map> getReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap) {
+ return reportFeeYearCollectionServiceDaoImpl.getReportFeeYearCollectionInfo(beanCovertMap);
+ }
+
+ @Override
+ public void saveReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap) {
+ reportFeeYearCollectionServiceDaoImpl.saveReportFeeYearCollectionInfo(beanCovertMap);
+ }
+
public IReportFeeYearCollectionServiceDao getReportFeeYearCollectionServiceDaoImpl() {
return reportFeeYearCollectionServiceDaoImpl;
}
--
Gitblit v1.8.0