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/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java |   80 ++++++++++++++++++++++++++-------------
 1 files changed, 53 insertions(+), 27 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
index 11d5ea7..9ffd407 100644
--- a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
@@ -1,29 +1,19 @@
 package com.java110.report.smo.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.smo.IComputeFeeSMO;
-import com.java110.dto.RoomDto;
+import com.java110.dto.community.CommunityDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.logSystemError.LogSystemErrorDto;
-import com.java110.dto.report.ReportCarDto;
-import com.java110.dto.report.ReportFeeDetailDto;
 import com.java110.dto.report.ReportFeeDto;
-import com.java110.dto.report.ReportRoomDto;
-import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
-import com.java110.dto.reportFeeYearCollection.ReportFeeYearCollectionDto;
-import com.java110.dto.reportFeeYearCollectionDetail.ReportFeeYearCollectionDetailDto;
 import com.java110.dto.reportOweFee.ReportOweFeeDto;
-import com.java110.dto.task.TaskDto;
-import com.java110.intf.report.IGeneratorFeeYearStatisticsInnerServiceSMO;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.report.IGeneratorOweFeeInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.po.logSystemError.LogSystemErrorPo;
 import com.java110.po.reportFeeMonthStatistics.ReportFeeMonthStatisticsPo;
-import com.java110.po.reportFeeYearCollection.ReportFeeYearCollectionPo;
-import com.java110.po.reportFeeYearCollectionDetail.ReportFeeYearCollectionDetailPo;
 import com.java110.po.reportOweFee.ReportOweFeePo;
 import com.java110.report.dao.IReportCommunityServiceDao;
 import com.java110.report.dao.IReportFeeServiceDao;
@@ -31,23 +21,16 @@
 import com.java110.report.dao.IReportFeeYearCollectionServiceDao;
 import com.java110.report.dao.IReportOweFeeServiceDao;
 import com.java110.service.smo.ISaveSystemErrorSMO;
-import com.java110.utils.cache.CommonCache;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.ExceptionUtil;
-import com.java110.utils.util.ListUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.util.Calendar;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -94,10 +77,23 @@
     @Autowired
     private IReportOweFeeServiceDao reportOweFeeServiceDaoImpl;
 
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
     @Override
     public int generatorOweData(@RequestBody ReportFeeMonthStatisticsPo reportFeeMonthStatisticsPo) {
 
-        doGeneratorData(reportFeeMonthStatisticsPo);
+        CommunityDto communityDto = new CommunityDto();
+
+//        List<CommunityDto> communityDtos = BeanConvertUtil.covertBeanList(
+//                reportCommunityServiceDaoImpl.getCommunitys(BeanConvertUtil.beanCovertMap(communityDto)), CommunityDto.class);
+
+        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        for (CommunityDto tmpCommunityDto : communityDtos) {
+            reportFeeMonthStatisticsPo.setCommunityId(tmpCommunityDto.getCommunityId());
+            doGeneratorData(reportFeeMonthStatisticsPo);
+        }
         return 0;
     }
 
@@ -107,11 +103,15 @@
 
         Assert.hasLength(communityId, "鏈寘鍚皬鍖轰俊鎭�");
 
+        //
+        feeDataFiltering(communityId);
+
         //鏌ヨ璐圭敤椤�
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(communityId);
 
-        List<FeeConfigDto> feeConfigDtos = reportFeeServiceDaoImpl.getFeeConfigs(feeConfigDto);
+        List<FeeConfigDto> feeConfigDtos = BeanConvertUtil.covertBeanList(reportFeeServiceDaoImpl.getFeeConfigs(
+                BeanConvertUtil.beanCovertMap(feeConfigDto)), FeeConfigDto.class);
 
         for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
             try {
@@ -127,6 +127,32 @@
         }
 
     }
+    private void feeDataFiltering(String communityId) {
+
+        Map reportFeeDto = new HashMap();
+        reportFeeDto.put("communityId", communityId);
+        List<Map> feeDtos = reportOweFeeServiceDaoImpl.queryInvalidOweFee(reportFeeDto);
+
+        List<String> feeIds = new ArrayList<>();
+        for (Map feeDto : feeDtos) {
+            if (!feeDto.containsKey("feeId") || StringUtil.isNullOrNone(feeDto.get("feeId"))) {
+                continue;
+            }
+
+            feeIds.add(feeDto.get("feeId").toString());
+
+            if (feeIds.size() >= 50) {
+                reportFeeDto.put("feeIds", feeIds);
+                reportOweFeeServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+                feeIds = new ArrayList<>();
+            }
+        }
+        reportFeeDto.put("feeIds", feeIds);
+        if (feeIds.size() > 0) {
+            reportOweFeeServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+        }
+    }
+
 
     /**
      * 鎸夎垂鐢ㄩ」鏉ュ嚭璐�
@@ -143,7 +169,7 @@
         List<ReportFeeDto> feeDtos = reportFeeServiceDaoImpl.getFees(feeDto);
 
         //娌℃湁鍏宠仈璐圭敤
-        if (feeDto == null || feeDtos.size() < 1) {
+        if (feeDtos == null || feeDtos.size() < 1) {
             return;
         }
         for (ReportFeeDto tmpFeeDto : feeDtos) {
@@ -168,7 +194,7 @@
      */
     private void generateFee(ReportFeeDto reportFeeDto, FeeConfigDto feeConfigDto) {
 
-        FeeDto feeDto = BeanConvertUtil.covertBean(reportFeeDto,FeeDto.class);
+        FeeDto feeDto = BeanConvertUtil.covertBean(reportFeeDto, FeeDto.class);
         //鍒峰叆娆犺垂閲戦
         computeFeeSMOImpl.computeEveryOweFee(feeDto);
 

--
Gitblit v1.8.0