wuxw лет назад: 2
Родитель
Сommit
490ae2c0bc

+ 4 - 3
java110-db/src/main/resources/mapper/fee/PayFeeRuleBillV1ServiceDaoImplMapper.xml

@@ -112,9 +112,7 @@
         </if>
 
 
-        <if test="batchId !=null and batchId != ''">
-            , t.batch_id= #{batchId}
-        </if>
+
 
         where 1=1
         <if test="billId !=null and billId != ''">
@@ -129,6 +127,9 @@
         <if test="ruleId !=null and ruleId != ''">
             and t.rule_id= #{ruleId}
         </if>
+        <if test="batchId !=null and batchId != ''">
+            and t.batch_id= #{batchId}
+        </if>
 
     </update>
 

+ 1 - 1
java110-interface/src/main/java/com/java110/intf/report/IGeneratorOweFeeInnerServiceSMO.java

@@ -23,7 +23,7 @@ public interface IGeneratorOweFeeInnerServiceSMO {
 
 
     @RequestMapping(value = "/generatorOweData", method = RequestMethod.POST)
-    public int generatorOweData(@RequestBody ReportFeeMonthStatisticsPo reportFeeMonthStatisticsPo);
+    int generatorOweData(@RequestBody ReportFeeMonthStatisticsPo reportFeeMonthStatisticsPo);
 
     /**
      * 计算单个费用欠费

+ 20 - 5
service-fee/src/main/java/com/java110/fee/cmd/fee/DeleteFeeCmd.java

@@ -2,21 +2,21 @@ package com.java110.fee.cmd.fee;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.Environment;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.payFeeRuleBill.PayFeeRuleBillDto;
 import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IPayFeeDetailV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
 import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.fee.PayFeePo;
+import com.java110.po.payFeeRuleBill.PayFeeRuleBillPo;
 import com.java110.po.reportFee.ReportOweFeePo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
@@ -50,6 +50,9 @@ public class DeleteFeeCmd extends Cmd {
     @Autowired
     private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeRuleBillV1InnerServiceSMO payFeeRuleBillV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Environment.isDevEnv();
@@ -85,6 +88,7 @@ public class DeleteFeeCmd extends Cmd {
     }
 
     @Override
+    @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         JSONObject businessUnit = new JSONObject();
         businessUnit.put("feeId", reqJson.getString("feeId"));
@@ -98,13 +102,24 @@ public class DeleteFeeCmd extends Cmd {
 
         PayFeeDetailPo payFeeDetailPo = BeanConvertUtil.covertBean(businessUnit, PayFeeDetailPo.class);
         List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(BeanConvertUtil.covertBean(payFeeDetailPo, FeeDetailDto.class));
-        if(feeDetailDtos != null && feeDetailDtos.size() > 0) {
+        if(feeDetailDtos != null && !feeDetailDtos.isEmpty()) {
             int flag2 = payFeeDetailV1InnerServiceSMOImpl.deletePayFeeDetailNew(payFeeDetailPo);
             if (flag2 < 1) {
                 throw new IllegalArgumentException("删除失败");
             }
         }
 
+        //todo 检查费用是否有账单数据 如果有直接删除
+        PayFeeRuleBillDto payFeeRuleBillDto = new PayFeeRuleBillDto();
+        payFeeRuleBillDto.setFeeId(payFeePo.getFeeId());
+        payFeeRuleBillDto.setCommunityId(payFeePo.getCommunityId());
+        List<PayFeeRuleBillDto> payFeeRuleBillDtos = payFeeRuleBillV1InnerServiceSMOImpl.queryPayFeeRuleBills(payFeeRuleBillDto);
+        if(payFeeRuleBillDtos != null && !payFeeRuleBillDtos.isEmpty()) {
+            PayFeeRuleBillPo payFeeRuleBillPo = new PayFeeRuleBillPo();
+            payFeeRuleBillPo.setBillId(payFeeRuleBillDtos.get(0).getBillId());
+            payFeeRuleBillPo.setCommunityId(payFeeRuleBillDtos.get(0).getCommunityId());
+            payFeeRuleBillV1InnerServiceSMOImpl.deletePayFeeRuleBill(payFeeRuleBillPo);
+        }
         // todo 删除欠费信息
         ReportOweFeePo reportOweFeePo = new ReportOweFeePo();
         reportOweFeePo.setFeeId(payFeePo.getFeeId());

+ 21 - 3
service-fee/src/main/java/com/java110/fee/cmd/payFeeBatch/UpdatePayFeeBatchCmd.java

@@ -22,11 +22,11 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.meter.MeterWaterDto;
 import com.java110.dto.payFee.PayFeeBatchDto;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IMeterWaterV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.payFee.PayFeeBatchPo;
+import com.java110.po.payFeeRule.PayFeeRulePo;
+import com.java110.po.payFeeRuleBill.PayFeeRuleBillPo;
 import com.java110.utils.constant.StateConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -62,6 +62,12 @@ public class UpdatePayFeeBatchCmd extends Cmd {
     @Autowired
     private IMeterWaterV1InnerServiceSMO meterWaterV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeRuleBillV1InnerServiceSMO payFeeRuleBillV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IPayFeeRuleV1InnerServiceSMO payFeeRuleV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "batchId", "batchId不能为空");
@@ -104,6 +110,18 @@ public class UpdatePayFeeBatchCmd extends Cmd {
         meterWaterDto.setBatchId(payFeeBatchPo.getBatchId());
         meterWaterV1InnerServiceSMOImpl.deleteMeterWaterByBatch(meterWaterDto);
 
+        //todo 删除账单费用数据
+        PayFeeRuleBillPo payFeeRuleBillPo = new PayFeeRuleBillPo();
+        payFeeRuleBillPo.setCommunityId(payFeeBatchPo.getCommunityId());
+        payFeeRuleBillPo.setBatchId(payFeeBatchPo.getBatchId());
+        payFeeRuleBillV1InnerServiceSMOImpl.deletePayFeeRuleBill(payFeeRuleBillPo);
+
+        //todo 删除账单数据
+        PayFeeRulePo payFeeRulePo = new PayFeeRulePo();
+        payFeeRulePo.setCommunityId(payFeeBatchPo.getCommunityId());
+        payFeeRulePo.setBatchId(payFeeBatchPo.getBatchId());
+        payFeeRuleV1InnerServiceSMOImpl.deletePayFeeRule(payFeeRulePo);
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 1 - 1
service-job/src/main/java/com/java110/job/task/report/GenerateFeeMonthStatisticsPrepaymentTemplate.java

@@ -1,4 +1,4 @@
-package com.java110.job.task.report;
+package com.java110.job.task.fee;
 
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.community.CommunityDto;

+ 1 - 1
service-job/src/main/java/com/java110/job/task/report/GenerateFeeMonthStatisticsTemplate.java

@@ -1,4 +1,4 @@
-package com.java110.job.task.report;
+package com.java110.job.task.fee;
 
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.task.TaskDto;

+ 1 - 1
service-job/src/main/java/com/java110/job/task/report/GenerateFeeYearStatisticsTemplate.java

@@ -1,4 +1,4 @@
-package com.java110.job.task.report;
+package com.java110.job.task.fee;
 
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.task.TaskDto;

+ 1 - 1
service-job/src/main/java/com/java110/job/task/report/GenerateOweFeeNewTemplate.java

@@ -1,4 +1,4 @@
-package com.java110.job.task.report;
+package com.java110.job.task.fee;
 
 import com.java110.dto.task.TaskDto;
 import com.java110.intf.report.IGeneratorOweFeeInnerServiceSMO;

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

@@ -82,7 +82,7 @@ public class ReportOweFeeServiceDaoImpl extends BaseServiceDao implements IRepor
      */
     @Override
     public int deleteReportOweFeeInfo(Map info) throws DAOException {
-        logger.debug("修改欠费统计信息Instance 入参 info : {}", info);
+        logger.debug("deleteReportOweFeeInfo : {}", info);
 
         int saveFlag = sqlSessionTemplate.update("reportOweFeeServiceDaoImpl.deleteReportOweFeeInfo", info);
 

+ 24 - 22
service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java

@@ -137,26 +137,28 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
 
         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);
-        }
+        reportOweFeeServiceDaoImpl.deleteReportOweFeeInfo(reportFeeDto);
+//        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);
+//        }
     }
 
 
@@ -210,9 +212,6 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
         //刷入欠费金额
         computeFeeSMOImpl.computeEveryOweFee(feeDto);
 
-        //考虑租金递增
-        //computeFeeSMOImpl.dealRentRate(feeDto);
-
         //保存数据
         ReportOweFeePo reportOweFeePo = new ReportOweFeePo();
         reportOweFeePo.setAmountOwed(feeDto.getFeeTotalPrice() + "");
@@ -235,6 +234,9 @@ public class GeneratorOweFeeInnerServiceSMOImpl implements IGeneratorOweFeeInner
         reportOweFeeDto.setPayerObjId(feeDto.getPayerObjId());
         List<Map> reportOweFeeDtos = reportOweFeeServiceDaoImpl.queryReportAllOweFees(BeanConvertUtil.beanCovertMap(reportOweFeeDto));
         if (reportOweFeeDtos == null || reportOweFeeDtos.size() < 1) {
+            if (feeDto.getFeeTotalPrice() == 0) { //todo 如果欠费金额为0 不写入,减轻 欠费表的压力
+                return;
+            }
             reportOweFeePo.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
             reportOweFeeServiceDaoImpl.saveReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
         } else {