Bläddra i källkod

加入 报表 脏数据清理功能 以免测试影响脏数据

java110 3 år sedan
förälder
incheckning
6a6962e963

+ 11 - 1
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml

@@ -105,6 +105,7 @@
         </if>
     </update>
 
+
     <!-- 修改费用月统计信息 add by wuxw 2018-07-03 -->
     <update id="updateReportFeeMonthStatisticsInfo" parameterType="Map">
         update report_fee_month_statistics t set t.status_cd = #{statusCd}
@@ -2600,5 +2601,14 @@
     </select>
 
 
-
+    <!--清理报表 无效数据-->
+    <update id="deleteInvalidFee" parameterType="Map">
+        delete from report_fee_month_statistics where fee_id not in (
+        select t.fee_id from pay_fee t
+        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
+        where t.status_cd = '0'
+        and t.community_id= #{communityId}
+        )
+        and community_id = #{communityId}
+    </update>
 </mapper>

+ 13 - 0
java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml

@@ -171,6 +171,8 @@
         </if>
     </update>
 
+
+
     <!-- 查询欠费统计数量 add by wuxw 2018-07-03 -->
     <select id="queryReportOweFeesCount" parameterType="Map" resultType="Map">
         select count(distinct(t.payer_obj_id)) count
@@ -661,4 +663,15 @@
         GROUP BY t.config_id,t.config_name
     </select>
 
+
+    <update id="deleteInvalidFee" parameterType="Map">
+        delete from report_owe_fee where fee_id not in (
+        select t.fee_id from pay_fee t
+        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
+        where t.status_cd = '0'
+        and t.community_id= #{communityId}
+        )
+        and community_id = #{communityId}
+    </update>
+
 </mapper>

+ 11 - 0
java110-interface/src/main/java/com/java110/intf/report/IReportOweFeeInnerServiceSMO.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName IReportOweFeeInnerServiceSMO
@@ -81,4 +82,14 @@ public interface IReportOweFeeInnerServiceSMO {
     double computeReportOweFeeTotalAmount(@RequestBody ReportOweFeeDto reportOweFeeDto);
     @RequestMapping(value = "/computeReportOweFeeItemAmount", method = RequestMethod.POST)
     List<ReportOweFeeItemDto> computeReportOweFeeItemAmount(@RequestBody ReportOweFeeDto reportOweFeeDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param reportOweFeeDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/deleteInvalidFee", method = RequestMethod.POST)
+    int deleteInvalidFee(@RequestBody Map reportOweFeeDto);
+
 }

+ 13 - 0
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java

@@ -27,7 +27,9 @@ import com.java110.utils.util.ExceptionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName GenerateOwnerBillTemplate
@@ -95,6 +97,11 @@ public class GenerateOweFeeTemplate extends TaskSystemQuartz {
      */
     private void GenerateOweFee(TaskDto taskDto, CommunityDto communityDto) {
 
+
+        //删除无用数据
+
+        feeDataFiltering(communityDto.getCommunityId());
+
         //查询费用项
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(communityDto.getCommunityId());
@@ -117,6 +124,12 @@ public class GenerateOweFeeTemplate extends TaskSystemQuartz {
 
     }
 
+    private void feeDataFiltering(String communityId) {
+        Map reportFeeDto = new HashMap();
+        reportFeeDto.put("communityId", communityId);
+        reportOweFeeInnerServiceSMOImpl.deleteInvalidFee(reportFeeDto);
+    }
+
     /**
      * 按费用项来出账
      *

+ 2 - 0
service-report/src/main/java/com/java110/report/dao/IReportFeeMonthStatisticsServiceDao.java

@@ -341,4 +341,6 @@ public interface IReportFeeMonthStatisticsServiceDao {
      * @return
      */
     List<Map> queryRoomAndParkingSpace(Map info);
+
+    int deleteInvalidFee(Map info);
 }

+ 1 - 0
service-report/src/main/java/com/java110/report/dao/IReportFeeServiceDao.java

@@ -43,4 +43,5 @@ public interface IReportFeeServiceDao {
      * @return
      */
     double getFeeReceivedAmount(ReportFeeDetailDto reportFeeDetailDto);
+
 }

+ 2 - 0
service-report/src/main/java/com/java110/report/dao/IReportOweFeeServiceDao.java

@@ -82,4 +82,6 @@ public interface IReportOweFeeServiceDao {
     double computeReportOweFeeTotalAmount(Map beanCovertMap);
 
     List<Map> computeReportOweFeeItemAmount(Map beanCovertMap);
+
+    int deleteInvalidFee(Map reportFeeDto);
 }

+ 9 - 0
service-report/src/main/java/com/java110/report/dao/impl/ReportFeeMonthStatisticsServiceDaoImpl.java

@@ -598,4 +598,13 @@ public class ReportFeeMonthStatisticsServiceDaoImpl extends BaseServiceDao imple
     }
 
 
+    public int deleteInvalidFee(Map info){
+        logger.debug("deleteInvalidFee 入参 info : {}", info);
+
+        int saveFlag = sqlSessionTemplate.update("reportFeeMonthStatisticsServiceDaoImpl.deleteInvalidFee", info);
+
+        return saveFlag;
+    }
+
+
 }

+ 9 - 0
service-report/src/main/java/com/java110/report/dao/impl/ReportOweFeeServiceDaoImpl.java

@@ -152,5 +152,14 @@ public class ReportOweFeeServiceDaoImpl extends BaseServiceDao implements IRepor
         return businessReportOweFeeInfos;
     }
 
+    @Override
+    public int deleteInvalidFee(Map info) {
+        logger.debug("保deleteInvalidFee 入参 info : {}", info);
+
+        int saveFlag = sqlSessionTemplate.insert("reportOweFeeServiceDaoImpl.deleteInvalidFee", info);
+
+        return saveFlag;
+    }
+
 
 }

+ 9 - 0
service-report/src/main/java/com/java110/report/smo/impl/GeneratorFeeMonthStatisticsInnerServiceSMOImpl.java

@@ -71,6 +71,9 @@ public class GeneratorFeeMonthStatisticsInnerServiceSMOImpl implements IGenerato
 
         Assert.hasLength(communityId, "未包含小区信息");
 
+        //这里处理 报表中的费用是否被人为 取消 或者费用项是否被删除,这种数据 报表中做清理,以防影响 报表的准确度
+        feeDataFiltering(communityId);
+
         //处理房屋费用
         dealRoomFee(reportFeeMonthStatisticsPo);
 
@@ -81,6 +84,12 @@ public class GeneratorFeeMonthStatisticsInnerServiceSMOImpl implements IGenerato
         dealFinishFee(communityId);
     }
 
+    private void feeDataFiltering(String communityId) {
+        Map reportFeeDto = new HashMap();
+        reportFeeDto.put("communityId", communityId);
+        reportFeeMonthStatisticsServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+    }
+
     private void dealFinishFee(String communityId) {
         Map reportFeeDto = new HashMap();
         reportFeeDto.put("communityId", communityId);

+ 10 - 0
service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java

@@ -32,6 +32,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -104,6 +105,9 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
 
         Assert.hasLength(communityId, "未包含小区信息");
 
+        //
+        feeDataFiltering(communityId);
+
         //查询费用项
         FeeConfigDto feeConfigDto = new FeeConfigDto();
         feeConfigDto.setCommunityId(communityId);
@@ -125,6 +129,12 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
         }
 
     }
+    private void feeDataFiltering(String communityId) {
+        Map reportFeeDto = new HashMap();
+        reportFeeDto.put("communityId", communityId);
+        reportOweFeeServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+    }
+
 
     /**
      * 按费用项来出账

+ 13 - 0
service-report/src/main/java/com/java110/report/smo/impl/ReportOweFeeInnerServiceSMOImpl.java

@@ -11,9 +11,12 @@ import com.java110.report.dao.IReportOweFeeServiceDao;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -52,6 +55,16 @@ public class ReportOweFeeInnerServiceSMOImpl extends BaseServiceSMO implements I
         return saveFlag;
     }
 
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param reportOweFeeDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    public int deleteInvalidFee(@RequestBody Map reportOweFeeDto){
+        return reportOweFeeServiceDaoImpl.deleteInvalidFee(reportOweFeeDto);
+    }
+
     @Override
     public List<ReportOweFeeDto> queryReportOweFees(@RequestBody ReportOweFeeDto reportOweFeeDto) {