Ver código fonte

对账单生成校验

skyline 2 anos atrás
pai
commit
b7c59cbbba

+ 11 - 0
service/src/main/java/com/kym/service/admin/impl/StatementsServiceImpl.java

@@ -2,6 +2,7 @@ package com.kym.service.admin.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kym.common.utils.CommUtil;
 import com.kym.entity.admin.InvestorInfo;
 import com.kym.entity.admin.Statements;
 import com.kym.entity.admin.StationStatMonth;
@@ -41,11 +42,21 @@ public class StatementsServiceImpl extends ServiceImpl<StatementsMapper, Stateme
         var statMonthInfo = stationStatMonthService.lambdaQuery()
                 .eq(StationStatMonth::getId, statMonthId)
                 .one();
+
+        // 校验站点月统计信息已填写实际抄表电量和实际抄表电费金额
+        if (statMonthInfo.getActualPower() == null || statMonthInfo.getActualElecMoney() == null) {
+            throw new RuntimeException("请先完善月统计实际抄表电量和实际抄表电费金额");
+        }
+
         // 站点关联客户和物业信息
         var investorInfoList = investorInfoService.lambdaQuery()
                 .eq(InvestorInfo::getStationId, statMonthInfo.getStationId())
                 .list();
 
+        if (CommUtil.isEmptyOrNull(investorInfoList)) {
+            throw new RuntimeException("请先完善站点相关投资者/物业信息");
+        }
+
         // 创建客户对账单
         var res = investorInfoList.stream().map(investorInfo -> {
             // 实际参与分成的服务费=总服务费-优惠金额-电损电费